O popisech písem Unicode

Jedno písmo Unicode font dokáže vzhledem ke svému znakovému rozsahu pokrýt většinu jazyků a všechny platformy. Definiční soubory tvarů Unicode se ve formátu a syntaxi prakticky shodují s definičními soubory běžných tvarů.

Hlavní rozdíl je v syntaxi záhlaví písma:

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

Parametry název-písma , nad , pod a režimy jsou stejné jako u běžných písem. Zbývající dva parametry jsou definovány následovně:

kódování

Kódování písma. Jedna z následujících hodnot.

0 Unicode

1 Zabalený multibajt 1

2 Soubor tvaru

typ

Informace o vložení písma. Určuje, zda je písmo pod licencí. Takové písmo nesmí být upravováno ani distribuováno. Bitově kódované hodnoty je možné přidat:

0 Písmo lze vložit.

1 Písmo nelze vložit.

2 Vložení je pouze pro čtení.

Dalším důležitým rozdílem je použití kódu 7 (odkaz na podtvar). Pokud definice tvaru obsahuje odkaz na podtvar (kód 7), data následující za tímto kódem jsou interpretována jako dvoubajtová. To má vliv na celkový počet datových bajtů ( defbajty ) v hlavičce popisu tvaru. Například v souboru romans.shp najdeme tento popis tvaru:

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

Druhé pole v záhlaví reprezentuje celkový počet bajtů v popisu tvaru. Pokud nepracujete s písmem UNICODE, můžete tíhnout k použití tří bajtů místo čtyř, to však může způsobit chybu při kompilaci souboru SHP. Děje se tak, i když číslo odkazovaného tvaru není v rozsahu dvou bajtů (pod 255); kompilátor vždy používá pro tuto hodnotu dva bajty, proto s tím musíte počítat v záhlaví.

Jediný rozdíl mezi definicemi tvaru Unifont a běžnými definicemi tvaru jsou čísla tvaru. V definicích tvarů Unifont poskytovaných aplikací je pro čísla tvarů místo desítkového zápisu používán šestnáctkový zápis. Ačkoli šestnáctkový zápis není povinný, usnadňuje jeho používání vytvoření křížových odkazů na čísla tvarů pomocí hodnot řídicího znaku \U+.