OpenType CFF2 default-instance appearances

Natywni buildery wyglądów plain, rich, shaped i family akceptują kompletny font OpenType OTTO zawierający kontury CFF2 w swoich domyślnych współrzędnych wariacji

Oryginalny font pozostaje źródłem mapowania znaków Unicode, indeksów glifów, poziomych przyrostów i shapingu; HarfBuzz rozpoznaje kontury instancji domyślnej, łącznie z konturami wybranymi przez wiele słowników fontu

Builder konwertuje każdy glif do statycznego programu CFF 1 kluczowanego CID i osadza go jako FontFile3 z Subtype CIDFontType0C, kolekcją Adobe Identity i CID równymi oryginalnym indeksom glifów

Wygenerowane kodowanie, szerokości i mapowanie ToUnicode zachowują oryginalną tożsamość glifów i logiczne sekwencje Unicode, łącznie ze znakami uzupełniającymi, ligaturami i znakami łączącymi

To daje program fontu PDF 1.7 używający struktur CFF 1 opisanych przez ISO 32000-1:2008 9.7 i 9.9; nie osadza bezpośrednio CFF2 w strumieniu fontu PDF

Wymagana jest pasująca architekturę biblioteka HarfBuzz odsłaniająca hb_font_draw_glyph i niemutowalne callbacki rysowania, także dla tekstu nieshape'owanego; te API są dostępne od HarfBuzz 7, a HOTPDF_HARFBUZZ_LIBRARY wybiera jawną bibliotekę

Złożony shaping używa też istniejącej zależności FriBidi i istniejącego kontraktu całkowitych przyrostów skali 1000; idealne niekwantyzowane przyrosty przy oryginalnym unitsPerEm to odrębne ograniczenie precyzji

Wyglądy edytowalne wymagają uprawnienia osadzania installable albo editable; generowanie wyglądów tylko do odczytu pozwala na uprawnienie preview-and-print, podczas gdy uprawnienia restricted i bitmap-only pozostają odrzucane

Brak subsetowania zachowuje każdy oryginalny glif w skonwertowanym programie, łącznie z nieużywanymi; konwersja zmienia format programu fontu i nie obiecuje byte-for-byte zachowania oryginalnego kontenera OpenType

Skonwertowany program używa odrębnej głównej nazwy i zachowuje czytelne noty copyright i licencji plus oryginalne bajty tabeli nazw

Granice fontu źródłowego, buforów roboczych, layoutu kompletnego fontu, rozmiarów obiektów, zagregowanych fontów rich, anulowania i natywnego renderowania są sprawdzane przed publikacją; wadliwe programy brakujących glifów pozostają błędami, a poprawne puste glify są zachowywane

Wyjście Type 2 ma precyzję współrzędnych 16.16 i ograniczone delty operandów, co najwyżej 65,535 glifów i co najwyżej 65,535 bajtów na program glifu

Samodzielne surowe tabele CFF2, bezpośrednie strumienie fontów CFF2 w istniejących zasobach domyślnego wyglądu PDF, wybór osi wariacji nie-domyślnej i szerszy layout złożonego tekstu są poza tym backendem

Istniejące wejście OpenType CFF 1 nadal używa kompaktowego backendu wyglądów, a osadzone zasoby adnotacji Type1, Type1C i CIDFontType0C używają oryginalnego fallbacku surowych fontów

TryGetCFF2FontTable to ograniczone odpytanie zdolności formatu, a nie pełna walidacja konturów albo uprawnień

Zobacz HPDFBuildHeadlessTextAppearance i THPDFTrueTypeData