Információk a Unicode betűtípus-leírásokról

Egyetlen Unicode betűtípus – kiterjedt karakterkészletének köszönhetően – lehetővé teszi az összes nyelv és platform használatát. A Unicode alakdefiníciós fájlok mind formátumban, mind szintaktikailag majdnem teljesen megegyeznek a szokványos alakdefiníciós fájlokkal.

A fő szintaktikai különbség a betűtípus fejlécének formájában van, amint ezt a következő kód mutatja:

*UNIFONT,6,font-name
above,below,modes,encoding,type,0 

A betűtípusnév , felett , alatt és módok paraméter ugyanolyan, mint a hagyományos betűtípusoknál. A két utolsó paraméter definíciója a következő:

kódolás

A betűtípus kódolása. A következő egész értékek egyikét használja:

0 Unicode

1 Packed multibyte 1

2 Alakfájl

típus

A betűtípus beágyazására vonatkozó információ. Azt jelzi, hogy a betűtípus használata speciális licenchez kötődik-e, mivel az ilyen betűtípusokat nem lehet módosítani, cserélni (bitkódolt értékek, összeadhatók).

0 A betűtípus beágyazható

1 A betűtípus nem ágyazható be

2 A beágyazás csak olvasható

Egy másik fontos különbség a 7-es kódú alalakokra vonatkozó hivatkozások kezelése. Ha egy alakleírás 7-es kódú alalakra vonatkozó hivatkozást tartalmaz, a 7-es kódot követő adatot a program kétbájtos értékként értelmezi. Ez hatással van az alakleíró fejlécében szereplő adatbájtok ( defbájtok ) darabszámára. A következő alakleírás például a romans.shp fájlban található:

*00080,4,keuroRef
7,020AC,0

A fejléc második mezője az alakleírásban szereplő bájtok számát mutatja. Ha még nem sokat dolgozott Unicode betűtípus-leírókkal, előfordulhat, hogy 3 bájtot próbál használni 4 helyett, de ez hibát okoz az SHP-fájl fordításakor. Ez akkor is igaz, ha a hivatkozott alakszám nem esik bele a 2 bájtos részbe (kisebb, mint 255), ugyanis a fordítóprogram mindig 2 bájtot használ ennél az értéknél – ezt mindig vegye figyelembe a fejlécnél.

Az egyetlen további különbség a Unifont és a szokványos alakleírások között az alakszámokban rejlik. A programban használt Unifont alakleírók hexadecimális alakszámokat használnak, nem pedig decimális értékeket. Bár a hexadecimális számok nem kötelezők, használatuk megkönnyíti a kereszthivatkozásokat a \U+ vezérlőkarakter-értékek esetében.