Strikes de glifos coloridos em bitmap
GetRegisteredColorGlyphInfo e DrawRegisteredColorGlyph suportam glifos coloridos em bitmap armazenados em tabelas CBDT/CBLC ou sbix
Seleção de strike
TargetPixelsPerEm seleciona o strike com a menor distância absoluta de ppem, enquanto zero seleciona o maior strike disponível para retenção máxima de detalhes
A seleção CBDT/CBLC suporta formatos de sub-tabela de índice 1, 2, 3 e 5 mais formatos de imagem PNG 17, 18 e 19
A seleção sbix valida cada janela de strike contra maxp.numGlyphs, aceita registros gráficos PNG, JPEG e TIFF e resolve registros dupe por meio de uma cadeia limitada de 16 níveis com rejeição de ciclos
Posicionamento e decodificação
THPDFOpenTypeColorGlyphInfo.PixelsPerEmX e PixelsPerEmY relatam o tamanho do strike selecionado, enquanto OriginOffsetX e OriginOffsetY relatam o deslocamento inferior esquerdo do bitmap em relação à linha de base do glifo em pixels de strike
A decodificação PNG nativa preserva seu canal alfa e emite uma máscara suave de imagem, enquanto a decodificação JPEG nativa emite dados RGB opacos
O posicionamento dimensiona os pixels decodificados por FontSize / PixelsPerEmY e aplica a origem de linha de base armazenada para que glifos vetoriais e de bitmap mistos se alinhem de forma consistente
Registros TIFF e qualquer carga não suportada ou indecodável continuam por meio de OnColorGlyphRasterize com seu tipo MIME e bytes originais
Limites de recursos
O analisador aceita no máximo 4.096 strikes sbix, 16 indireções duplicadas e 64 MiB por ativo de bitmap extraído, e rejeita registros truncados, sobrepostos, fora do intervalo ou com assinatura incompatível antes da saída da página