Skip to main content
Version: 4.16

InternalFlashFont

An InternalFlashFont has both glyph table and glyph data placed in a flash which supports random access read (i.e. not a NAND flash)

See: Font, ConstFont

Inherits from: ConstFont, Font

Public Functions#

virtual int8_tgetKerning(Unicode::UnicodeChar prevChar, const GlyphNode * glyph) const
Gets the kerning distance between two characters.
virtual const uint8_t *getPixelData(const GlyphNode * glyph) const
Gets the pixel date associated with this glyph.
InternalFlashFont(const GlyphNode list, uint16_t size, uint16_t height, uint8_t pixBelowBase, uint8_t bitsPerPixel, uint8_t byteAlignRow, uint8_t maxLeft, uint8_t maxRight, const uint8_t glyphDataInternalFlash, const KerningNode * kerningList, const Unicode::UnicodeChar fallbackChar, const Unicode::UnicodeChar ellipsisChar)
Initializes a new instance of the InternalFlashFont class.

Additional inherited members#

Public Functions inherited from ConstFont#

ConstFont(const GlyphNode * list, uint16_t size, uint16_t height, uint8_t pixBelowBase, uint8_t bitsPerPixel, uint8_t byteAlignRow, uint8_t maxLeft, uint8_t maxRight, const Unicode::UnicodeChar fallbackChar, const Unicode::UnicodeChar ellipsisChar)
Initializes a new instance of the ConstFont class.
const GlyphNode *find(Unicode::UnicodeChar unicode) const
Finds the glyph data associated with the specified unicode.
const GlyphNode *getGlyph(Unicode::UnicodeChar unicode)
Gets the glyph data associated with the specified Unicode.
virtual const GlyphNode *getGlyph(Unicode::UnicodeChar unicode, const uint8_t *& pixelData, uint8_t & bitsPerPixel) const
Gets the glyph data associated with the specified Unicode.
const GlyphNode *getGlyph(Unicode::UnicodeChar unicode, const uint8_t *& pixelData, uint8_t & bitsPerPixel)
Gets the glyph data associated with the specified Unicode.

Protected Attributes inherited from ConstFont#

const GlyphNode *glyphList
The list of glyphs.
uint16_tlistSize
The size of the list of glyphs.

Public Functions inherited from Font#

virtual FORCE_INLINE_FUNCTION uint8_tgetBitsPerPixel() const
Gets bits per pixel for this font.
virtual FORCE_INLINE_FUNCTION uint8_tgetByteAlignRow() const
Are the glyphs saved with each glyph row byte aligned?
virtual uint16_tgetCharWidth(const Unicode::UnicodeChar c) const
Gets the width in pixels of the specified character.
virtual Unicode::UnicodeChargetEllipsisChar() const
Gets ellipsis character for the given font.
virtual Unicode::UnicodeChargetFallbackChar() const
Gets fallback character for the given font.
virtual FORCE_INLINE_FUNCTION uint16_tgetFontHeight() const
Returns the height in pixels of this font.
virtual const GlyphNode *getGlyph(Unicode::UnicodeChar unicode) const
Gets the glyph data associated with the specified Unicode.
virtual const GlyphNode *getGlyph(Unicode::UnicodeChar unicode, const uint8_t *& pixelData, uint8_t & bitsPerPixel) const =0
Gets the glyph data associated with the specified Unicode.
virtual const uint16_t *getGSUBTable() const
Gets GSUB table.
FORCE_INLINE_FUNCTION uint8_tgetMaxPixelsLeft() const
Gets maximum pixels left of any glyph in the font.
FORCE_INLINE_FUNCTION uint8_tgetMaxPixelsRight() const
Gets maximum pixels right of any glyph in the font.
virtual uint16_tgetMaxTextHeight(const Unicode::UnicodeChar * text, ... ) const
Gets the height of the highest character in a given string.
virtual FORCE_INLINE_FUNCTION uint16_tgetMinimumTextHeight() const
Returns the minimum height needed for a text field that uses this font.
virtual uint16_tgetNumberOfLines(const Unicode::UnicodeChar * text, ... ) const
Count the number of lines in a given text.
virtual uint8_tgetSpacingAbove(const Unicode::UnicodeChar * text, ... ) const
Gets the number of blank pixels at the top of the given text.
virtual uint16_tgetStringWidth(const Unicode::UnicodeChar * text, ... ) const
Gets the width in pixels of the specified string.
virtual uint16_tgetStringWidth(TextDirection textDirection, const Unicode::UnicodeChar * text, ... ) const
Gets the width in pixels of the specified string.
virtual ~Font()
Finalizes an instance of the Font class.
FORCE_INLINE_FUNCTION boolisInvisibleZeroWidth(Unicode::UnicodeChar character)
Query if 'character' is invisible, zero width.

Protected Functions inherited from Font#

Font(uint16_t height, uint8_t pixBelowBase, uint8_t bitsPerPixel, uint8_t byteAlignRow, uint8_t maxLeft, uint8_t maxRight, const Unicode::UnicodeChar fallbackChar, const Unicode::UnicodeChar ellipsisChar)
Initializes a new instance of the Font class.
uint16_tgetStringWidthLTR(TextDirection textDirection, const Unicode::UnicodeChar * text, va_list pArg) const
Gets the width in pixels of the specified string.
uint16_tgetStringWidthRTL(TextDirection textDirection, const Unicode::UnicodeChar * text, va_list pArg) const
Gets the width in pixels of the specified string.

Protected Attributes inherited from Font#

uint8_tbAlignRow
The glyphs are saved with each row byte aligned.
uint8_tbPerPixel
The number of bits per pixel.
Unicode::UnicodeCharellipsisCharacter
The ellipsis character used for truncating long texts.
Unicode::UnicodeCharfallbackCharacter
The fallback character to use when no glyph exists for the wanted character.
uint16_tfontHeight
The font height in pixels.
uint8_tmaxPixelsLeft
The maximum number of pixels a glyph extends to the left.
uint8_tmaxPixelsRight
The maximum number of pixels a glyph extends to the right.
uint8_tpixelsBelowBaseline
The number of pixels below the base line.

Public Functions Documentation#

getKerning#

virtual int8_t getKerning(Unicode::UnicodeCharprevChar ,const
const GlyphNode *glyphconst
)const

Gets the kerning distance between two characters.

Parameters:
prevCharThe Unicode value of the previous character.
glyphthe glyph object for the current character.
Returns:

The kerning distance between prevChar and glyph char.

Reimplements: touchgfx::ConstFont::getKerning

getPixelData#

virtual const uint8_t * getPixelData(const GlyphNode *glyph)

Gets the pixel date associated with this glyph.

Parameters:
glyphThe glyph to get the pixels data from.
Returns:

Pointer to the pixel data of this glyph.

Reimplements: touchgfx::ConstFont::getPixelData

InternalFlashFont#

InternalFlashFont(const GlyphNode *list ,
uint16_tsize ,
uint16_theight ,
uint8_tpixBelowBase ,
uint8_tbitsPerPixel ,
uint8_tbyteAlignRow ,
uint8_tmaxLeft ,
uint8_tmaxRight ,
const uint8_t *glyphDataInternalFlash ,
const KerningNode *kerningList ,
const Unicode::UnicodeCharfallbackChar ,
const Unicode::UnicodeCharellipsisChar
)

Initializes a new instance of the InternalFlashFont class.

Parameters:
listThe array of glyphs known to this font.
sizeThe number of glyphs in list.
heightThe height in pixels of the highest character in this font.
pixBelowBaseThe maximum number of pixels that can be drawn below the baseline in this font.
bitsPerPixelThe number of bits per pixel in this font.
byteAlignRowThe glyphs are saved with each row byte aligned.
maxLeftThe maximum a character extends to the left.
maxRightThe maximum a character extends to the right.
glyphDataInternalFlashPointer to the glyph data for the font, placed in internal flash.
kerningListpointer to the kerning data for the font, placed in internal flash.
fallbackCharThe fallback character for the typography in case no glyph is available.
ellipsisCharThe ellipsis character used for truncating long texts.