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ń