kzu_itype_font.h File Reference

Monotype's iType font. More...

Namespaces

 kanzi
 

Functions

kzsError kzuItypeSystemCreate (const struct KzcMemoryManager *memoryManager, kanzi::Domain *domain, struct KzuItypeSystem **out_itypeSystem)
 Creates an iType font system. More...
 
kzsError kzuItypeSystemDelete (struct KzuItypeSystem *itypeSystem)
 Deletes an iType font system. More...
 
void kzuItypeSystemSetShader (struct KzuItypeSystem *itypeSystem, kzBool useDistanceField, kanzi::ShaderProgramSharedPtr shader)
 Sets shader for iType system. More...
 
struct KzuItypeSystemkzuItypeSystemFromTruetypeSystem (struct KzuTruetypeSystem *truetypeSystem)
 Type casts a generic TrueType font system to more specific iType font system. More...
 
struct KzuTruetypeSystemkzuItypeSystemToTruetypeSystem (struct KzuItypeSystem *itypeSystem)
 Type casts an iType font system to more generic TrueType font system. More...
 
kzsError kzuItypeFontCreate (struct KzuItypeSystem *itypeSystem, kanzi::string_view name, struct KzuItypeFont **out_itypeFont)
 Creates new iType font. More...
 
kzsError kzuItypeFontCreateFromResource (const struct KzcMemoryManager *memoryManager, struct KzuItypeSystem *itypeSystem, kzString resourcePath, struct KzuItypeFont **out_itypeFont)
 Creates new iType font from resource. More...
 
kzsError kzuItypeFontCreateFromFile (const struct KzcMemoryManager *memoryManager, struct KzuItypeSystem *itypeSystem, kzString filePath, struct KzuItypeFont **out_itypeFont)
 Creates new iType font from file. More...
 
kzsError kzuItypeFontCreateFromMemory (const struct KzcMemoryManager *memoryManager, struct KzuItypeSystem *itypeSystem, const kzByte *data, kzUint size, kanzi::string_view name, bool createMemoryCopy, struct KzuItypeFont **out_itypeFont)
 Creates new iType font from memory. More...
 
kzsError kzuItypeFontLoadFromKZB (struct KzuItypeFont *itypeFont, struct KzcInputStream *inputStream, const struct KzuBinaryFileInfo *file)
 Loads iType font from KZB. More...
 
struct KzuItypeFontkzuItypeFontFromFont (struct KzuFont *font)
 Type casts generic font structure to iType font structure. More...
 
struct KzuFontkzuItypeFontToFont (struct KzuItypeFont *itypeFont)
 Type casts iType font structure to generic font structure. More...
 
kzsError kzuItypeFontSetSize (struct KzuItypeFont *itypeFont, kzFloat size)
 Sets the size of iType font (in pixels). More...
 
kzFloat kzuItypeFontGetSize (const struct KzuItypeFont *itypeFont)
 Returns the size of iType font. More...
 
void kzuItypeFontSetColor (struct KzuItypeFont *itypeFont, kanzi::ColorRGBA color)
 Sets the color of the font. More...
 
kanzi::ColorRGBA kzuItypeFontGetColor (const struct KzuItypeFont *itypeFont)
 Gets the color of the font. More...
 
kzFloat kzuItypeFontGetLineHeight (const struct KzuItypeFont *itypeFont)
 Returns the line height of iType font. More...
 
kzFloat kzuItypeFontGetAscender (const struct KzuItypeFont *itypeFont)
 Returns the ascender of iType font. More...
 
kzFloat kzuItypeFontGetDescender (const struct KzuItypeFont *itypeFont)
 Returns the descender of iType font. More...
 
kzUint kzuItypeFontGetGlyphIndex (const struct KzuItypeFont *itypeFont, kzUnicodeChar character)
 Returns the glyph index in the iType font for the given unicode code point. More...
 
kzsError kzuItypeFontGetCharacterMetrics (const struct KzuItypeFont *itypeFont, kzUint glyphIndex, kzFloat *out_advanceX, kzFloat *out_advanceY, struct KzcRectangle *out_boundingBox)
 Returns the advance of given character using iType font. More...
 
kzsError kzuItypeFontGetKerning (const struct KzuItypeFont *itypeFont, kzUint previousGlyphIndex, kzUint glyphIndex, kzFloat *out_kerningX, kzFloat *out_kerningY)
 Returns the kerning of given character pair using iType font. More...
 
kzsError kzuItypeFontPrepareTextLayout (struct KzuTextLayout *textLayout, kanzi::Renderer *renderer)
 Prepares the given pre-layouted text for fast rendering using iType. More...
 
kzsError kzuItypeFontDrawTextLayout (struct KzuTextLayout *textLayout, kanzi::Renderer *renderer, kzFloat x, kzFloat y)
 Draw the given pre-layouted text using iType. More...
 
kzsError kzuItypeFontDrawTextLayout3D (struct KzuTextLayout *textLayout, kanzi::Renderer *renderer)
 Draw the given pre-layouted text in 3D space using iType. More...
 
kzsError kzuItypeFontFreeTextLayoutData (struct KzuTextLayout *textLayout)
 Frees the data and resources created by the prepare function. More...
 
kzsError kzuItypeFontLoadCharacterGlyph (const struct KzuItypeFont *itypeFont, kzUint glyphIndex, kzUint *out_width, kzUint *out_height, const kzByte **out_bitmapData, void **out_characterGlyph)
 Loads a bitmap data for a single character glyph. More...
 
kzsError kzuItypeFontReleaseCharacterGlyph (const struct KzuItypeFont *itypeFont, void *characterGlyph)
 Releases a loaded character glyph. More...
 
void * kzuItypeFontGetState (const struct KzuItypeFont *itypeFont)
 Returns the FS_STATE* object from iType font. More...
 

Variables

const KzuFontType KZU_FONT_TYPE_ITYPE
 Font type identifier for font iType fonts. More...
 

Detailed Description

Monotype's iType font.

Copyright 2008-2017 by Rightware. All rights reserved.

Function Documentation

kzsError kzuItypeSystemCreate ( const struct KzcMemoryManager memoryManager,
kanzi::Domain domain,
struct KzuItypeSystem **  out_itypeSystem 
)

Creates an iType font system.

kzsError kzuItypeSystemDelete ( struct KzuItypeSystem itypeSystem)

Deletes an iType font system.

void kzuItypeSystemSetShader ( struct KzuItypeSystem itypeSystem,
kzBool  useDistanceField,
kanzi::ShaderProgramSharedPtr  shader 
)

Sets shader for iType system.

struct KzuItypeSystem* kzuItypeSystemFromTruetypeSystem ( struct KzuTruetypeSystem truetypeSystem)

Type casts a generic TrueType font system to more specific iType font system.

struct KzuTruetypeSystem* kzuItypeSystemToTruetypeSystem ( struct KzuItypeSystem itypeSystem)

Type casts an iType font system to more generic TrueType font system.

kzsError kzuItypeFontCreate ( struct KzuItypeSystem itypeSystem,
kanzi::string_view  name,
struct KzuItypeFont **  out_itypeFont 
)

Creates new iType font.

kzsError kzuItypeFontCreateFromResource ( const struct KzcMemoryManager memoryManager,
struct KzuItypeSystem itypeSystem,
kzString  resourcePath,
struct KzuItypeFont **  out_itypeFont 
)

Creates new iType font from resource.

kzsError kzuItypeFontCreateFromFile ( const struct KzcMemoryManager memoryManager,
struct KzuItypeSystem itypeSystem,
kzString  filePath,
struct KzuItypeFont **  out_itypeFont 
)

Creates new iType font from file.

kzsError kzuItypeFontCreateFromMemory ( const struct KzcMemoryManager memoryManager,
struct KzuItypeSystem itypeSystem,
const kzByte data,
kzUint  size,
kanzi::string_view  name,
bool  createMemoryCopy,
struct KzuItypeFont **  out_itypeFont 
)

Creates new iType font from memory.

kzsError kzuItypeFontLoadFromKZB ( struct KzuItypeFont itypeFont,
struct KzcInputStream inputStream,
const struct KzuBinaryFileInfo file 
)

Loads iType font from KZB.

struct KzuItypeFont* kzuItypeFontFromFont ( struct KzuFont font)

Type casts generic font structure to iType font structure.

struct KzuFont* kzuItypeFontToFont ( struct KzuItypeFont itypeFont)

Type casts iType font structure to generic font structure.

kzsError kzuItypeFontSetSize ( struct KzuItypeFont itypeFont,
kzFloat  size 
)

Sets the size of iType font (in pixels).

kzFloat kzuItypeFontGetSize ( const struct KzuItypeFont itypeFont)

Returns the size of iType font.

void kzuItypeFontSetColor ( struct KzuItypeFont itypeFont,
kanzi::ColorRGBA  color 
)

Sets the color of the font.

kanzi::ColorRGBA kzuItypeFontGetColor ( const struct KzuItypeFont itypeFont)

Gets the color of the font.

kzFloat kzuItypeFontGetLineHeight ( const struct KzuItypeFont itypeFont)

Returns the line height of iType font.

kzFloat kzuItypeFontGetAscender ( const struct KzuItypeFont itypeFont)

Returns the ascender of iType font.

kzFloat kzuItypeFontGetDescender ( const struct KzuItypeFont itypeFont)

Returns the descender of iType font.

kzUint kzuItypeFontGetGlyphIndex ( const struct KzuItypeFont itypeFont,
kzUnicodeChar  character 
)

Returns the glyph index in the iType font for the given unicode code point.

kzsError kzuItypeFontGetCharacterMetrics ( const struct KzuItypeFont itypeFont,
kzUint  glyphIndex,
kzFloat out_advanceX,
kzFloat out_advanceY,
struct KzcRectangle out_boundingBox 
)

Returns the advance of given character using iType font.

kzsError kzuItypeFontGetKerning ( const struct KzuItypeFont itypeFont,
kzUint  previousGlyphIndex,
kzUint  glyphIndex,
kzFloat out_kerningX,
kzFloat out_kerningY 
)

Returns the kerning of given character pair using iType font.

kzsError kzuItypeFontPrepareTextLayout ( struct KzuTextLayout textLayout,
kanzi::Renderer renderer 
)

Prepares the given pre-layouted text for fast rendering using iType.

kzsError kzuItypeFontDrawTextLayout ( struct KzuTextLayout textLayout,
kanzi::Renderer renderer,
kzFloat  x,
kzFloat  y 
)

Draw the given pre-layouted text using iType.

kzsError kzuItypeFontDrawTextLayout3D ( struct KzuTextLayout textLayout,
kanzi::Renderer renderer 
)

Draw the given pre-layouted text in 3D space using iType.

kzsError kzuItypeFontFreeTextLayoutData ( struct KzuTextLayout textLayout)

Frees the data and resources created by the prepare function.

kzsError kzuItypeFontLoadCharacterGlyph ( const struct KzuItypeFont itypeFont,
kzUint  glyphIndex,
kzUint out_width,
kzUint out_height,
const kzByte **  out_bitmapData,
void **  out_characterGlyph 
)

Loads a bitmap data for a single character glyph.

The returned character glyph needs to be released with a call to release. The bitmap data is returned as a greyscale image with 8 bits per pixel.

kzsError kzuItypeFontReleaseCharacterGlyph ( const struct KzuItypeFont itypeFont,
void *  characterGlyph 
)

Releases a loaded character glyph.

void* kzuItypeFontGetState ( const struct KzuItypeFont itypeFont)

Returns the FS_STATE* object from iType font.

Variable Documentation

const KzuFontType KZU_FONT_TYPE_ITYPE

Font type identifier for font iType fonts.