OpenType CFF2-utseenden för standardinstansen

Nativa byggare för plain-, rich-, shaped- och family-utseenden accepterar ett fullständigt OpenType-OTTOteckensnitt som innehåller CFF2-konturer vid sina standardvariationskoordinater

Det ursprungliga teckensnittet förblir källan för Unicode-teckenmappning, glyfindex, horisontella framsteg och formning; HarfBuzz löser dess standardinstanskonturer, inklusive konturer som väljs via flera teckensnittsordlistor

Byggaren omvandlar varje glyf till ett statiskt CID-nycklat CFF 1-program och bäddar in det som FontFile3 med Subtype CIDFontType0C, en Adobe Identity-samling och CID:ar lika med de ursprungliga glyfindexen

Den genererade kodningen, bredderna och ToUnicode-mappningen bevarar den ursprungliga glyfidentiteten och logiska Unicode-sekvenser, inklusive supplerande tecken, ligaturer och kombinerande diakritiska tecken

Detta producerar ett PDF 1.7-teckensnittsprogram som använder de CFF 1-strukturer som beskrivs i ISO 32000-1:2008 9.7 och 9.9; CFF2 bäddas inte in direkt i en PDF-teckensnittsström

Ett HarfBuzz-bibliotek med matchande arkitektur som exponerar hb_font_draw_glyph och oföränderliga rityteranrop krävs, även för oformad text; dessa API:er finns från HarfBuzz 7, och HOTPDF_HARFBUZZ_LIBRARY väljer ett uttryckligt bibliotek

Komplex formning använder även det befintliga FriBidi-beroendet och det befintliga scale-1000-heltalsavtalskontraktet; idealiska okvantiserade framsteg vid ursprunglig unitsPerEm är en separat precisionsbegränsning

Redigerbara utseenden kräver installable- eller editable-inbäddningsbehörighet; generering av skrivskyddade utseenden tillåter behörigheten preview-and-print, medan restricted och bitmap-only förblir avvisade

No-subsetting behåller varje ursprunglig glyf i det omvandlade programmet, inklusive oanvända glyfer; omvandlingen ändrar teckensnittsprogrammets format och lovar inte byte-för-byte-bevarande av den ursprungliga OpenType-behållaren

Det omvandlade programmet använder ett distinkt primärnamn och behåller läsbara upphovsrätts- och licensnotiser samt de ursprungliga namntabellsbytena

Gränser för källtypsnitt, arbetsbuffert, fullständig teckensnittslayout, objektstorlek, rik typsnittssumma, annullering och nativ rendering kontrolleras innan publicering; felaktiga program för saknade glyfer förblir fel medan giltiga tomma glyfer behålls

Type 2-utdata har 16.16-koordinatprecision och avgränsade operanddeltaer, högst 65 535 glyfer och högst 65 535 byte per glyfprogram

Fristående råa CFF2-tabeller, direkta CFF2-teckensnittsströmmar i befintliga PDF-standardutseenderesurser, val av icke-standardvariationsaxlar och bredare komplext textlayout ligger utanför denna backend

Befintlig OpenType-ingång av typen CFF 1 fortsätter använda kompakt utseende-backend, medan inbäddade Type1-, Type1C- och CIDFontType0C-annoteringsresurser använder återgång till ursprungliga råtypsnitt

TryGetCFF2FontTable är en avgränsad formatförmågefråga, inte en fullständig validering av konturer eller behörigheter

Se HPDFBuildHeadlessTextAppearance och THPDFTrueTypeData