Ga naar inhoud

Matrix voor lettertype- en schriftondersteuning

Twee lettertypeklassen bepalen welke schriften kunnen worden weergegeven. Standard-14-lettertypen (Helvetica, Times, Courier) dekken alleen het WinAnsiEncoding-repertoire. Een geregistreerd ingebed TrueType- of OpenType-lettertype geeft een schrift alleen weer als zowel de tekentabel van het lettertype als het huidige vormgevingspad dat ondersteunen. Geen enkele lettertypeklasse dekt op zichzelf heel Unicode.

SchriftStandard-14-lettertypenGeregistreerd ingebed lettertype
West-Europees LatijnJa — het volledige WinAnsiEncoding-repertoire (Windows-1252)Ja
Latijnse accenten buiten WinAnsi, Grieks, CyrillischNeeAls de tekentabel van het lettertype ze dekt
Chinees, Japans, Koreaans (CJK)NeeAls de tekentabel van het lettertype ze dekt
Arabisch, Perzisch, UrduNeeMet contextuele vormgeving, als de tekentabel het blok Arabic Presentation Forms-B dekt
HebreeuwsNeeWordt herordend naar visuele volgorde; niet gevormd
Thai en andere complexe schriftenNeeAls de tekentabel ze dekt; geavanceerde vormgeving is beperkt

Standard-14-families — Helvetica, Times en Courier — geven het volledige WinAnsiEncoding-repertoire (Windows-codepagina 1252) weer: West-Europees Latijn met accenten, het euroteken en gangbare typografische interpunctie, waaronder en- en em-streepjes, gekrulde aanhalingstekens, het bulletteken, het beletselteken en het handelsmerkteken (ISO 32000-2 Annex D.2). Ze kunnen geen enkel ander schrift weergeven. Registreer een ingebed lettertype voor elk teken buiten dat repertoire. Symbol en ZapfDingbats zijn de twee standard-14-lettertypen die geen metrisch compatibele vervanger hebben; registreer een inbedbaar lettertype als je een van beide nodig hebt.

Zie Tekst samenstellen met lettertypen en uitlijning voor de standaardworkflow voor lettertypen.

Een geregistreerd TrueType- of OpenType-lettertype geeft Unicode alleen weer voor zover zowel de tekentabel van het geselecteerde lettertype als het huidige vormgevingspad dekking bieden. Alleen een lettertype registreren garandeert niet dat er voor elk code point een glyph beschikbaar is.

  • Dekking volgt de tekentabel. De engine tekent een code point alleen als het ingebedde lettertype dat aan een glyph toewijst. Een lettertype dat voor één schrift is gemaakt, kan een ander schrift niet weergeven.
  • Latijn, Grieks, Cyrillisch en CJK worden rechtstreeks vanuit de tekentabel weergegeven, één glyph per code point, als het lettertype ze dekt.
  • Arabisch vereist daarnaast contextuele vormgeving — initiële, mediale, finale en geïsoleerde lettervormen plus de Lam-Alef-ligatuur — en een lettertype waarvan de tekentabel het blok Arabic Presentation Forms-B dekt. Ondersteuning voor lettertypen die alleen op OpenType Glyph Substitution (GSUB) steunen en voor het HarfBuzz-vormgevingspad is toekomstig werk.
  • Schriften van rechts naar links (Arabisch, Hebreeuws, Perzisch, Urdu) worden herordend naar visuele volgorde volgens het Unicode Bidirectional Algorithm in Unicode Standard Annex (UAX) #9. Hebreeuws wordt herordend maar niet gevormd, wat correct is voor dat schrift.

Zie Arabische HTML van rechts naar links weergeven voor een uitgewerkt Arabisch voorbeeld en de huidige beperkingen voor tekst van rechts naar links.