Zmienne i kolorowe czcionki OpenType

HotPDF może przeglądać osie fvar i nazwane instancje, sprawdzać wybrane współrzędne oraz wytwarzać statyczną instancję przed normalną instalacją czcionek, podmianą podzbiorów i trwałą pamięcią podręczną

Przepływ pracy ze zmiennymi czcionkami

PDF.InspectVariableFont(FontPath, Axes, Instances);
PDF.SetVariableFontAxis('wght', 650);
PDF.RegisterUnicodeTTF(FontPath);

Czcionki OpenType CFF2 są instancjonowane wewnętrznie o współrzędnych domyślnych lub wybranych, w tym mapowanie fvar i avar 1.0 oraz 2.0, stan vsindex per słownik czcionki, ocena blend, rekurencyjne lokalne i globalne podprogramy oraz delty metryk HVAR, VVAR i MVAR

Zmienne czcionki TrueType z obrysami glyf są instancjonowane wewnętrznie dla współrzędnych niedomyślnych. Potok ocenia współdzielone i prywatne krotki gvar, stosuje interpolację IUP, aktualizuje proste obrysy i przesunięcia złożone, rozpoznaje metryki punktów fantomowych poziomych i pionowych, wtapia MVAR, przebudowuje zwarte dane glifów i loca oraz usuwa tabele zmienności z kontrolującego sumę kontrolną statycznego sfnt

OnVariableFontInstance jest opcjonalne dla czcionek zmiennych CFF2 i TrueType. Może zastąpić niedomyślną instancję wewnętrzną, zwracając prawidłowy statyczny sfnt bez tabeli fvar

Rozpoznane współrzędne pozostają dostępne przez GetRegisteredVariableFontAxes i stają się częścią zainstalowanej i zapisanej w pamięci podręcznej zawartości czcionki

Instancjonowanie niskiego poziomu, podzbiory i bezpieczeństwo

HPDFIsCFF2Font, HPDFInstantiateCFF2Font, HPDFSubsetCFF2Font, HPDFIsTrueTypeVariableFont i HPDFInstantiateTrueTypeVariableFont wystawiają przepływy pracy tablic bajtowych dla wywołujących, którzy już zarządzają kontenerami czcionek

Statyczne wyjście zachowuje identyfikatory glifów i programy podpowiadania podczas przebudowywania tabel sfnt i sum kontrolnych. Ścieżka CFF2 zachowuje również dane prywatne per słownik czcionki oraz macierze czcionek

Źle uformowane przesunięcia, nieprawidłowe struktury zmienności, nadmierna głębokość podprogramów, limity operacji i rozszerzone limity CharString zawodzą bezpiecznie zamiast zwracać częściowo zinstancjonowaną czcionkę

Przepływ pracy z kolorowymi glifami

GetRegisteredColorGlyphInfo wykrywa warstwy COLR i CPAL, dokumenty glifów SVG, odwzorowania CBDT/CBLC i odwzorowania sbix dla zarejestrowanej czcionki

DrawRegisteredColorGlyph rysuje warstwy COLR v0, ograniczone grafy malowania COLR v1, ograniczone bezpieczne dokumenty SVG, obrazy PNG CBDT i obrazy PNG lub JPEG sbix natywnie

COLR v1 obsługuje warstwowe przycięcia glifów, wypełnienia liniowe jednolite i wieloprzystankowe, wypełnienia promieniowe, wypełnienia miotłowe, transformacje afiniczne, wielokrotne kolorowe glify, kolejność źródła i celu oraz kompozyty mieszania PDF

Natywny profil SVG obsługuje ścieżki, prostokąty, koła, elipsy, linie, wielokąty, polilinie, dziedziczone wypełnienia liniowe i obrysy jednolite, transformacje afiniczne oraz dokumenty SVG skompresowane gzip

THPDFColorGlyphRasterizeEvent pozostaje wyjściem zapasowym dla nieobsługiwanych funkcji SVG, nieobsługiwanych trybów Porter-Duff, nieprzezroczystości, gradientów i wyjścia rastrowego specyficznego dla aplikacji

THPDFOpenTypeColorGlyphInfo.COLRv1Paints wystawia sprawdzony płaski DAG przez rekordy THPDFCOLRv1Paint, THPDFCOLRv1ColorStop i THPDFCOLRv1Transform do przeglądu bez ponownego analizowania bajtów czcionki

Wywołujący wybiera paletę i docelowy rozmiar pikseli, aby wybór odwzorowania i wyjście rastrowe pozostały deterministyczne