Definizione di un file di font Big Font esteso

Per ridurre la dimensione dei caratteri Kanji composti, è possibile definire un file Big Font esteso. I file Big Font estesi utilizzano il codice della forma secondaria, immediatamente seguito da uno 0.

La prima riga di un file Big Font esteso è uguale a quella del file Big Font regolare. Il formato delle righe rimanenti del file è il seguente:

*0,5,font-name character-height, 0, modes, character-width,0
            . 
            . 
            . 
*shape-number,defbytes,shape-name
            . 
code,0,primitive#,basepoint-x,basepoint-y,width,height, 
            . 
            . 
code,0,primitive#,basepoint-x,basepoint-y,width,height, 
            . 
terminator

Nell'elenco riportato di seguito sono descritti i campi di un file di definizione Big Font:

character height

Insieme alla larghezza, indica il numero delle unità che definiscono i caratteri dei font.

character width

Insieme all'altezza, indica il numero delle unità che definiscono i caratteri dei font. I valori character-height e character-width vengono utilizzati per ridurre in scala le primitive del font. In questo contesto, le primitive sono i punti, le linee, i poligoni o le stringhe di caratteri del font geometricamente orientati in uno spazio 2D. Un carattere Kanji consiste di diverse primitive utilizzate ripetutamente in scale e combinazioni diverse.

modes

Il byte modes deve essere 0 per un font orientato in senso orizzontale e 2 per un font con orientamento doppio (orizzontale o verticale). Il codice di comando speciale 00E (14) viene utilizzato solo quando modes è impostato su 2.

shape-number

Codice del carattere.

bytedef

Dimensione in byte. È sempre di 2 byte, costituiti da un codice esadecimale oppure da una combinazione di codici decimali ed esadecimali.

shape-name

Nome del carattere.

code

Codice speciale di descrizione delle forme. È sempre 7 in modo che possa utilizzare la funzione della forma secondaria.

primitive#

Riferimento al numero della forma secondaria. È sempre 2.

basepoint-x

Origine X della primitiva.

basepoint-y

Origine Y della primitiva.

width

Scala della larghezza della primitiva.

height

Scala dell'altezza della primitiva.

terminator

Indicatore di fine file per la definizione della forma. È sempre 0.

Per raggiungere il fattore di scala, il programma riduce la primitiva ad un'unità quadrata, quindi la moltiplica per l'altezza e la larghezza per ottenere la forma del carattere. I codici dei caratteri, ossia i numeri delle forme, nel file di definizione della forma Big Font possono avere valori non superiori a 65535. Nella tabella riportata di seguito sono descritti i campi del file Big Font esteso.

Campi del file Big Font esteso

Variabile

Valore

Dimensione in byte

Descrizione

shape-number

xxxx

2 byte

Codice del carattere

code

7,0

2 byte

Definizione del font esteso

primitive#

xxxx

2 byte

Si riferisce a un numero di forma secondaria

basepoint-x

1 byte

Origine X della primitiva

basepoint-y

1 byte

Origine Y della primitiva

width

1 byte

Scala della larghezza della primitiva

height

1 byte

Scala dell'altezza della primitiva

terminator

0

1 byte

Fine della definizione della forma

La figura riportata di seguito è un esempio di stampa ad aghi 16 x 16 che consente di disegnare un Big Font esteso, ad esempio un carattere Kanji. Nell'esempio la distanza tra un punto e l'altro è di una unità. Il callout punta a un'unità quadrata.

Matrice quadrata per un carattere Kanji

La figura riportata di seguito presenta esempi di caratteri Kanji. Ciascun carattere occupa una matrice M×N (le matrici non devono essere quadrate) simile a quella illustrata nella figura precedente. I numeri riportati al di sopra di ciascuna figura sono i numeri di forma associati.

Esempi di caratteri Kanji

La figura riportata di seguito illustra le primitive Kanji.

Esempi di primitive Kanji

Nota: Non tutti i font sono definiti in una matrice quadrata, alcuni sono definiti in matrici rettangolari.

Esempio: file di definizione della forma per un Big Font esteso

*BIGFONT 50,1,080,09e
*0,5,Extended Font
15,0,2,15,0
*08D91,31,unspecified
2,0e,8,-7,-15,
7,0,08cfb,0,0,16,16,7,0,08bca,2,3,12,9,
2,8,18,0,2,0e,8,-11,-3,0
*08CD8,31,unspecified
2,0e,8,-7,-15,
7,0,08be0,0,0,8,16,7,0,08cc3,8,0,8,16,
2,8,18,0,2,0e,8,-11,-3,0
*08ADF,31,unspecified
2,0e,8,-7,-15,
7,0,089a4,0,0,8,16,7,0,08cb3,8,0,8,16,
2,8,18,0,2,0e,8,-11,-3,0
*08CE8,39,unspecified
2,0e,8,-7,-15,
7,0,089a4,0,1,5,14,7,0,08cc3,5,2,5,14,7,0,08c8e,9,0,7,
16,2,8,18,0,2,0e,8,-11,-3,0
*089A4,39,primitive
2,0e,8,-7,-15,2,8,1,14,1,0c0,
2,8,-11,-6,1,0a0,2,8,-12,-7,1,
0e0,2,8,-7,13,1,0dc,2,8,11,-1,
2,0e,8,-11,-3,0
*08BCA,41,primitive
2,0e,8,-7,-15,2,8,1,14,1,0c0,
2,8,-11,-6,1,0a0,2,8,-12,-8,1,
0e0,2,0e5,1,0ec,2,063,1,8,
2,-3,2,06f,2,0e,8,-11,-3,0
*08BE0,81,primitive
2,0e,8,-7,-15,2,8,3,9,1,080,
2,8,-10,-4,1,0c0,2,8,-13,-5,1,
0e0,2,8,-7,9,1,09c,2,8,-1,14,
1,8,-6,-5,2,8,8,5,1,8,6,-5,
2,8,-11,-6,1,8,1,-3,2,8,7,3,
1,8,-1,-3,2,8,-3,15,1,01a,2,
012,1,01e,2,8,10,-14,2,0e,8,
-11,-3,0
*08C8E,44,primitive
2,0e,8,-7,-15,2,8,3,15,1,090,0fc,038,
2,8,-6,11,1,090,2,8,-9,-5,1,
090,2,096,1,0ac,8,-1,-3,01a,01a,2,8,
18,0,2,0e,8,-11,-3,0
*08CB3,61,primitive
2,0e,8,-7,-15,2,042,1,02b,02a,018,2,
0d0,1,012,034,2,069,1,01e,040,2,8,
-8,6,1,02b,2,8,4,5,1,08c,2,8,
-3,8,1,03c,2,8,-5,3,1,0e0,2,8,
-12,5,1,0a0,2,8,6,-14,2,0e,8,
-11,-3,0
*08CC3,34,primitive
2,0e,8,-7,-15,2,0c1,1,06c,0a8,064,0a0,2,8,
-5,9,1,09c,2,8,-7,5,1,0e0,2,8,
4,-11,2,0e,8,-11,-3,0
*08CFB,22,primitive
2,0e,8,-7,-15,2,0d2,1,0cc,0c8,0c4,0c0,2,8,
5,-13,2,0e,8,-11,-3,0