OpenType CFF2 default-instance appearances
Nativní buildery plain, rich, shaped i family appearance přijmou kompletní OpenType OTTO písmo obsahující CFF2 obrysy ve výchozích variation souřadnicích
Původní písmo zůstává zdrojem mapování Unicode znaků, glyfových indexů, horizontálních advanců i shapingu; HarfBuzz rozřeší obrysy jeho default instance, tedy i obrysy vybrané přes vícenásobné fontové slovníky
Builder převede každý glyf na statický CID-keyed CFF 1 program a vloží ho jako FontFile3 se Subtype CIDFontType0C, kolekcí Adobe Identity a CID rovnými původním glyfovým indexům
Generované kódování, šířky i mapování ToUnicode si uchovávají původní glyfovou identitu i logické Unicode sekvence, tedy i supplementární znaky, ligatury i kombinující značky
Výsledkem je font program PDF 1.7 využívající struktury CFF 1 popsané v ISO 32000-1:2008 9.7 a 9.9; CFF2 se přímo do PDF font streamu nevkládá
Vyžaduje se HarfBuzz knihovna odpovídající architektury vystavující hb_font_draw_glyph a neměnné draw callbacky, tedy i pro neshapeovaný text; tyto API jsou dostupné od HarfBuzz 7 a HOTPDF_HARFBUZZ_LIBRARY vybere explicitní knihovnu
Složitý shaping navíc používá stávající závislost FriBidi i stávající kontrakt celočíselných advanců ve scale 1000; ideální nekvantované advancy při původním unitsPerEm zůstávají samostatným přesnostním omezením
Upravitelné appearance vyžadují embedding oprávnění installable či editable; generování read-only appearance dovolí oprávnění preview-and-print, zatímco restriktivní i jen bitmapové oprávnění zůstávají odmítnuté
No-subsetting ponechá v konvertovaném programu každý původní glyf, tedy i nepoužité; konverze mění formát font programu a neslibuje bajt za bajt zachování původní OpenType kontejnery
Konvertovaný program používá odlišný primární název a uchovává čitelné notice copyrightu a licence plus původní bajty name tabulky
Meze zdrojového písma, pracovních bufferů, layoutu kompletního písma, velikosti objektů, agregátních rich fontů, zrušení i nativního renderování se kontrolují dřív než publikace; poškozené programy chybějících glyfů zůstávají chybami, zatímco platné prázdné glyfy se zachovají
Výstup Type 2 má souřadnicovou přesnost 16.16 a ohraničené operandové delty, nejvýše 65 535 glyfů a nejvýše 65 535 bajtů na glyfový program
Samostatné surové CFF2 tabulky, přímé CFF2 font streamy ve stávajících PDF resource default appearance, výběr ne-výchozích variation os i širší complex-text layout leží mimo tento backend
Stávající OpenType vstup CFF 1 dál používá backend compact appearance, zatímco vložené anotační resource Type1, Type1C a CIDFontType0C používají původní raw-font fallback
TryGetCFF2FontTable je ohraničený dotaz na formátovou schopnost, nikoli úplná validace obrysů či oprávnění