Um die Größe von zusammengesetzten Kanji-Zeichen zu verringern, können Sie eine erweiterte Big Font-Datei definieren. Erweiterte Big Fonts verwenden den Subsymbol-Code, auf den unmittelbar eine 0 folgt.
Die erste Zeile einer erweiterten Big Font-Datei ist identisch mit der einer normalen Big Font-Datei. Das Format der sich daran anschließenden Zeilen sieht folgendermaßen aus:
*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
Die folgende Liste beschreibt die Felder einer Definitionsdatei für einen Big Font:
Diese Angabe muss zusammen mit der Zeichenbreite verwendet werden, um die Zahl der Einheiten anzugeben, welche die Schriftzeichen definieren.
Diese Angabe muss zusammen mit der Zeichenhöhe verwendet werden, um die Zahl der Einheiten anzugeben, welche die Schriftzeichen definieren. Die Werte für character-height und character-width werden verwendet, um die Primitiven der Schrift zu skalieren. In diesem Zusammenhang sind Primitive die Punkte, Linien, Polygone oder Zeichenfolge der Schrift, die im zweidimensionalen Raum geometrisch ausgerichtet sind. Ein Kanji-Zeichen besteht aus mehreren Primitiven, die wiederholt in verschiedenen Größen und Kombinationen eingesetzt werden.
Das Byte modes muss für eine horizontal ausgerichtete Schrift den Wert 0 und für eine dual (horizontal oder vertikal) ausgerichtete Schrift den Wert 2 haben. Der Spezialbefehlscode 00E (14) wird nur berücksichtigt, wenn modes auf 2 gesetzt ist.
Zeichencode.
Bytegröße. Sie beträgt immer 2 Byte, die entweder aus einem Hexadezimalcode oder einer Kombination aus Dezimal- und Hexadezimalcode bestehen.
Zeichenname.
Spezieller Code für Symboldefinition. Er beträgt immer 7, sodass er die Subsymboleigenschaft verwenden kann.
Referenz auf die Subsymbolnummer. Es sind immer 2 Bytes.
X-Ursprung des Primitivs.
Y-Ursprung des Primitivs.
Breitenskalierung des Primitivs.
Höhenskalierung des Primitivs.
Datei-Ende-Indikator für die Symboldefinition. Er beträgt immer 0.
Um den Skalierfaktor zu erhalten, skaliert das Programm den Grundkörper auf eine Quadrateinheit und multipliziert ihn anschließend mit der Höhe und der Breite, um die Form des Zeichens zu erhalten. Zeichencodes (Symbolnummern) in den Symboldefinitionsdateien für Big Fonts können alle Werte bis maximal 65535 haben. Die folgende Tabelle beschreibt die Felder einer erweiterten Big Font-Datei.
Felder der erweiterten Big Font-Datei |
|||
---|---|---|---|
Variable |
Wert |
Bytegröße |
Beschreibung |
shape-number |
xxxx |
2 Byte |
Zeichencode |
Code |
7,0 |
2 Byte |
Erweiterte Schriftdefinition |
primitive# |
xxxx |
2 Byte |
Bezug auf Subsymbolnummer |
basepoint-x |
1 Byte |
X-Ursprung des Primitivs |
|
basepoint-y |
1 Byte |
Y-Ursprung des Primitivs |
|
width |
1 Byte |
Breitenskalierung des Primitivs |
|
height |
1 Byte |
Höhenskalierung des Primitivs |
|
terminator |
0 |
1 Byte |
Ende der Symboldefinition |
Die folgende Abbildung ist ein Beispiel für eine 16x16-Punktmatrix, die Sie zur Konstruktion eines erweiterten Big Fonts, wie zum Beispiel ein Kanji-Zeichen, verwenden können. In dem Beispiel beträgt der Abstand zwischen den einzelnen Punkten eine Einheit. Die Legende verweist auf eine Quadrateinheit.
Quadratmatrix für ein Kanji-Zeichen
Die folgende Abbildung zeigt Beispiele für Kanji-Zeichen. Jedes Zeichen benötigt eine M×N-Matrix, die der weiter oben abgebildeten ähnlich ist (Matrizen müssen nicht quadratisch sein). Die Zahlen über den einzelnen Abbildungen bezeichnen die zugehörigen Symbolnummern.
Beispiele für Kanji-Zeichen
Die folgende Abbildung stellt Kanji-Primitive dar.
Beispiel für Kanji-Primitive
*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