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:
Insieme alla larghezza, indica il numero delle unità che definiscono i caratteri dei font.
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.
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.
Codice del carattere.
Dimensione in byte. È sempre di 2 byte, costituiti da un codice esadecimale oppure da una combinazione di codici decimali ed esadecimali.
Nome del carattere.
Codice speciale di descrizione delle forme. È sempre 7 in modo che possa utilizzare la funzione della forma secondaria.
Riferimento al numero della forma secondaria. È sempre 2.
Origine X della primitiva.
Origine Y della primitiva.
Scala della larghezza della primitiva.
Scala dell'altezza della primitiva.
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
*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