Strikes de glifos de color de mapa de bits

GetRegisteredColorGlyphInfo y DrawRegisteredColorGlyph admiten glifos de color de mapa de bits almacenados en tablas CBDT/CBLC o sbix

Selección de strike

TargetPixelsPerEm selecciona el strike con la menor distancia absoluta de ppem, mientras que cero selecciona el strike disponible más grande para conservar el máximo detalle

La selección CBDT/CBLC admite los formatos de subtabla de índice 1, 2, 3 y 5 más los formatos de imagen PNG 17, 18 y 19

La selección sbix valida cada ventana de strike contra maxp.numGlyphs, acepta registros gráficos PNG, JPEG y TIFF y resuelve los registros dupe mediante una cadena acotada de 16 niveles con rechazo de ciclos

Colocación y decodificación

THPDFOpenTypeColorGlyphInfo.PixelsPerEmX y PixelsPerEmY informan del tamaño de strike seleccionado, mientras que OriginOffsetX y OriginOffsetY informan del desplazamiento inferior izquierdo del mapa de bits desde la línea base del glifo en píxeles de strike

La decodificación PNG nativa preserva su canal alfa y emite una máscara suave de imagen, mientras que la decodificación JPEG nativa emite datos RGB opacos

La colocación escala los píxeles decodificados por FontSize / PixelsPerEmY y aplica el origen de línea base almacenado para que los glifos vectoriales y de mapa de bits mixtos se alineen de forma coherente

Los registros TIFF y cualquier carga útil no admitida o no decodificable continúan mediante OnColorGlyphRasterize con su tipo MIME y bytes originales

Límites de recursos

El analizador acepta como máximo 4 096 strikes sbix, 16 indirecciones duplicadas y 64 MiB por activo de mapa de bits extraído, y rechaza registros truncados, superpuestos, fuera de rango o con firma no coincidente antes de la salida de página