Un unico font Unicode è in grado di supportare tutte le lingue e tutte le piattaforme, grazie al gruppo esteso di caratteri di cui è fornito. I file di definizione di forma Unicode hanno formato e sintassi praticamente identici a quelli dei file di definizione di forma normali.
La differenza principale sta nella sintassi dell'intestazione del font, come illustrato nel codice seguente:
*UNIFONT,6,font-name above,below,modes,encoding,type,0
I parametri nome-font , sopra , sotto e modalità sono gli stessi dei font regolari. I due parametri rimanenti sono definiti come segue:
Codifica font. Utilizza uno dei valori interi riportati di seguito.
0 Unicode
1 Multibyte compresso 1
2 File di forma
Informazioni sull'incorporamento di font. Specifica se il font è concesso in licenza. I font concessi in licenza non devono essere modificati o scambiati. È possibile aggiungere valori codificati in bit.
0 È possibile incorporare il font
1 Non è possibile incorporare il font
2 L'incorporamento è di sola lettura
Altra differenza importante che talvolta genera confusione è la gestione del riferimento forma secondaria di codice 7. Se una descrizione di forma include un riferimento forma secondaria di codice 7, i dati che seguono il codice 7 vengono interpretati come valore a 2 byte. Questo interferisce sul numero complessivo dei byte di dati ( bytedef ) presenti nell'intestazione della descrizione della forma. La descrizione di forma riportata di seguito, ad esempio, si trova nel file romans.shp:
*00080,4,keuroRef 7,020AC,0
Il secondo campo dell'intestazione rappresenta il numero complessivo di byte presenti nella descrizione della forma. Chi non è esperto nell'utilizzo delle descrizioni dei font Unicode potrebbe preferire l'utilizzo di 3 byte piuttosto che di 4, ma questo potrebbe determinare un errore durante la compilazione del file SHP. Ciò accade anche se il numero di forma al quale si fa riferimento non è compreso nell'intervallo di due byte (al di sotto di 255). Il compilatore utilizza sempre due byte per questo valore, pertanto nell'intestazione bisogna tenerne conto.
L'unica altra differenza tra le definizioni delle forme Unifont e le definizioni delle forme regolari consiste nei numeri delle forme. Le definizioni di forma Unifont fornite dal programma utilizzano numeri in forma esadecimale invece di valori decimali. Sebbene non necessario, l'utilizzo dei numeri esadecimali semplifica i riferimenti incrociati tra i numeri delle forme con i valori dei caratteri di controllo \U+.