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