Zestawy kolorowych glifów bitmapowych
GetRegisteredColorGlyphInfo i DrawRegisteredColorGlyph obsługują kolorowe glify bitmapowe przechowywane w tabelach CBDT/CBLC lub sbix
Wybór zestawu
TargetPixelsPerEm wybiera zestaw o najmniejszej bezwzględnej odległości ppem, a zero wybiera największy dostępny zestaw dla maksymalnie zachowanych szczegółów
Wybór CBDT/CBLC obsługuje formaty podtabel indeksu 1, 2, 3 i 5 oraz formaty obrazów PNG 17, 18 i 19
Wybór sbix weryfikuje każde okno zestawu względem maxp.numGlyphs, akceptuje rekordy graficzne PNG, JPEG i TIFF oraz rozwiązuje rekordy dupe przez ograniczony łańcuch 16 poziomów z odrzucaniem cykli
Rozmieszczenie i dekodowanie
THPDFOpenTypeColorGlyphInfo.PixelsPerEmX i PixelsPerEmY zgłaszają rozmiar wybranego zestawu, podczas gdy OriginOffsetX i OriginOffsetY zgłaszają przesunięcie dolnego-lewego rogu bitmapy od linii bazowej glifu w pikselach zestawu
Natywne dekodowanie PNG zachowuje jego kanał alfa i emituje miękką maskę obrazu, natomiast natywne dekodowanie JPEG emituje nieprzezroczyste dane RGB
Rozmieszczenie skaluje zdekodowane piksele przez FontSize / PixelsPerEmY i stosuje zapisane przesunięcie linii bazowej, aby mieszane glify wektorowe i bitmapowe wyrównywały się spójnie
Rekordy TIFF oraz wszelkie nieobsługiwane lub niekodowalne dane są przekazywane dalej do OnColorGlyphRasterize z ich oryginalnym typem MIME i bajtami
Limity zasobów
Parser przyjmuje co najwyżej 4 096 zestawów sbix, 16 pośrednich duplikatów i 64 MiB na wyodrębniony element bitmapy oraz odrzuca rekordy przycięte, nakładające się, spoza zakresu lub o niezgodnym podpisie przed wyjściem strony