Strike di Glifi a Colore Bitmap

GetRegisteredColorGlyphInfo e DrawRegisteredColorGlyph supportano i glifi a colore bitmap memorizzati nelle tabelle CBDT/CBLC o sbix

Selezione dello strike

TargetPixelsPerEm seleziona lo strike con la distanza ppem assoluta più piccola, mentre zero seleziona lo strike più grande disponibile per una maggiore conservazione dei dettagli

La selezione CBDT/CBLC supporta i formati di sottotabella di indice 1, 2, 3 e 5 più i formati immagine PNG 17, 18 e 19

La selezione sbix valida ogni finestra di strike rispetto a maxp.numGlyphs, accetta record grafici PNG, JPEG e TIFF e risolve i record dupe tramite una catena limitata a 16 livelli con rifiuto dei cicli

Posizionamento e decodifica

THPDFOpenTypeColorGlyphInfo.PixelsPerEmX e PixelsPerEmY riportano la dimensione dello strike selezionato, mentre OriginOffsetX e OriginOffsetY riportano l'offset in basso a sinistra della bitmap rispetto alla baseline del glifo in pixel di strike

La decodifica PNG nativa preserva il suo canale alfa ed emette una maschera morbida immagine, mentre la decodifica JPEG nativa emette dati RGB opachi

Il posizionamento scala i pixel decodificati di FontSize / PixelsPerEmY e applica l'origine di baseline memorizzata, così che i glifi misti vettoriali e bitmap si allineino in modo coerente

I record TIFF e ogni payload non supportato o non decodificabile continuano tramite OnColorGlyphRasterize con il loro tipo MIME e byte originali

Limiti delle risorse

Il parser accetta al massimo 4.096 strike sbix, 16 indirezioni duplicate e 64 MiB per risorsa bitmap estratta e rifiuta i record troncati, sovrapposti, fuori intervallo o con firma non corrispondente prima dell'output di pagina