Variabla och färgade OpenType-teckensnitt
HotPDF kan inspektera fvar-axlar och namngivna instanser, validera utvalda koordinater och producera en statisk instans före normal teckensnittsinstallation, undermängdning och beständig cachning
Arbetsflöde för variabla teckensnitt
PDF.InspectVariableFont(FontPath, Axes, Instances);
PDF.SetVariableFontAxis('wght', 650);
PDF.RegisterUnicodeTTF(FontPath);
CFF2-OpenType-teckensnitt instansieras internt vid standard- eller utvalda koordinater, inklusive fvar-, avar-1.0- och -2.0-mappning, per-teckensnittsordlista-vsindex-tillstånd, blend-utvärdering, rekursiva lokala och globala subrutiner samt HVAR-, VVAR- och MVAR-metrikdeltor
TrueType-variabla teckensnitt med glyf-konturer instansieras internt för icke-standardkoordinater. Pipelinen utvärderar delade och privata gvar-tupler, tillämpar IUP-interpolering, uppdaterar enkla konturer och kompositoffsetar, löser upp horisontella och vertikala fantompunktsmetriker, bakar in MVAR, bygger om kompakt glyfdata och loca samt tar bort variationstabeller ur den checksumma-korrekta statiska sfnt-filen
OnVariableFontInstance är valfritt för CFF2- och TrueType-variabla teckensnitt. Det kan åsidosätta en icke-standard intern instans genom att returnera en giltig statisk sfnt utan en fvar-tabell
De lösta koordinaterna förblir tillgängliga genom GetRegisteredVariableFontAxes och blir en del av det installerade och cachade teckensnittsinnehållet
Instansiering, undermängdning och säkerhet på låg nivå
HPDFIsCFF2Font, HPDFInstantiateCFF2Font, HPDFSubsetCFF2Font, HPDFIsTrueTypeVariableFont och HPDFInstantiateTrueTypeVariableFont exponerar byte-array-arbetsflöden för anropare som redan hanterar teckensnittsbehållare
Statisk utdata bevarar glyf-ID:n och ledtrådsprogram samtidigt som sfnt-tabeller och checksummor byggs om. CFF2-sökvägen bevarar även privatdata och teckensnittsmatriser per teckensnittsordlista
Felformaterade offsetar, ogiltiga variationsstrukturer, överdrivet subrutin-djup, operationsgränser och utökade CharString-gränser avslutas stängt i stället för att returnera ett delvis instansierat teckensnitt
Arbetsflöde för färgade glyfer
GetRegisteredColorGlyphInfo detekterar COLR- och CPAL-lager, SVG-glyfdokument, CBDT/CBLC-grader och sbix-grader för ett registrerat teckensnitt
DrawRegisteredColorGlyph ritar COLR v0-lager, begränsade COLR v1-målningsgrafer, begränsade säkra SVG-dokument, CBDT-PNG-bilder och sbix-PNG- eller -JPEG-bilder nativt
COLR v1 stöder lagerade glyfklipp, solida och flerstoppade linjära fyllningar, radiella fyllningar, svepfyllningar, affina transformationer, återanvändbara färgglyfer, käll- och destinationsordning samt PDF-blandningskompositer
Den nativa SVG-profilen stöder banor, rektanglar, cirklar, ellipser, linjer, polygoner, polylinjer, ärvda solida fyllningar och sträck, affina transformationer samt gzip-komprimerade SVG-dokument
THPDFColorGlyphRasterizeEvent är fortfarande fallback för icke-stödda SVG-funktioner, icke-stödda Porter-Duff-lägen, opacitet, gradienter och applikationsspecifik rasterutdata
THPDFOpenTypeColorGlyphInfo.COLRv1Paints exponerar den validerade platta DAG:en genom THPDFCOLRv1Paint-, THPDFCOLRv1ColorStop- och THPDFCOLRv1Transform-poster för inspektion utan att tolka om teckensnittsbyten
Anropare väljer palett och målpixelstorlek, så att gradval och rasterutdata förblir deterministiska