2D Vector Graphics Engine
BLGlyphRun describes a set of consecutive glyphs and their placements.
BLGlyphRun should only be used to pass glyph IDs and their placements to the rendering context. The purpose of BLGlyphRun is to allow rendering glyphs, which could be shaped by various shaping engines (Blend2D, Harfbuzz, etc).
BLGlyphRun allows to render glyphs that are either stored in uint16_t or uint32_t array or part of a bigger structure (for example
hb_glyph_info_t used by HarfBuzz). Glyph placements at the moment use Blend2D's
BLPoint, but it's possible to extend the data type in the future.
BLGlyphRunPlacement for placement modes provided by Blend2D.
Glyph id data (abstract, incremented by
Glyph placement data (abstract, incremented by
Size of the glyph-run in glyph units.
Size of a
glyphId - must be either 2 (uint16_t) or 4 (uint32_t) bytes.
BLGlyphBufferhas always set
glyphSizeto 4. The possibility to render glyphs of size 2 is strictly for compatibility with text shapers that use 16-bit glyphs, which is sufficient for TrueType and OpenType fonts.
Type of placement, see