O definování souboru rozšířeného písma Big Font

Chcete-li omezit velikost složených znaků Kanji, můžete definovat soubor rozšířeného písma Big Font. Rozšířená písma Big Font používají kód podtvaru, následovaný okamžitě číslem 0.

První řádek souboru rozšířeného písma Big Font je stejný jako soubor běžného písma Big Font. Toto je formát zbývajících řádků souboru:

*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

Následující seznam popisuje pole souboru definic písma Big Font:

výška znaku

Použitím spolu se šířkou znaku označuje počet jednotek, které definují znaky písma.

šířka znaku

Použitím spolu s výškou znaku označuje počet jednotek, které definují znaky písma. Hodnoty výška-znaku a šířka-znaku se používají jako měřítko primitiv písma. V této souvislosti jsou primitiva body, úsečky, polygony nebo znakové řetězce písma orientované geometricky v dvojrozměrném prostoru. Znak Kanji se skládá z několika primitiv použitých opakovaně s různými měřítky a kombinacemi.

režimy

Bajt režimy by měl mít hodnotu 0 pro vodorovně orientované písmo a hodnotu 2 pro duálně orientované písmo (vodorovné nebo svislé). Zvláštní příkazový kód 00E (14) se uplatní pouze tehdy, pokud je parametr režimy nastaven na hodnotu 2.

číslo-tvaru

Kód znaku.

defbajty

Bajtová velikost. Je vždy 2 bajty, skládající se z šestnáctkových nebo kombinace desítkových a šestnáctkových kódů.

název-tvaru

Název znaku.

kód

Speciální kód popisu tvaru. Je vždy 7, aby bylo možné použít funkci podtvarů.

primitivum#

Odkaz na číslo podtvaru. Je vždy 2.

záklbod-x

X počátek primitiva.

záklbod-y

Y počátek primitiva.

tloušťka

Měřítko šířky primitiva.

výška

Měřítko výšky primitiva.

ukončení

Označení konce souboru pro definici tvaru. Nabývá vždy hodnoty 0.

Chcete-li se dostat k měřítku, aplikace zmenší měřítko primitiva na čtvercovou jednotku a potom ho vynásobí výškou a šířkou tvaru znaku. Kódy znaků (čísla tvarů) v definici písma Big Font mohou mít hodnoty až do 65535. Následující tabulka popisuje pole souboru rozšířeného písma Big Font.

Pole souboru rozšířeného písma Big Font

Proměnné

Hodnota

Velikost v bajtech

Popis

číslo-tvaru

xxxx

2 bajty

Kód znaku

kód

7,0

2 bajty

Definice rozšířeného písma

primitivum#

xxxx

2 bajty

Odkaz na číslo podtvaru

záklbod-x

1 bajt

Počátek X primitiva

záklbod-y

1 bajt

Počátek Y primitiva

šířka

1 bajt

Měřítko šířky primitiva

výška

1 bajt

Měřítko výšky primitiva

ukončení

0

1 bajt

Konec definice tvaru

Následující obrázek je příkladem matice 16 x 16 bodů, pomocí které můžete navrhnout rozšířené písmo Big Font, například znak Kanji. V tomto příkladu je vzdálenost mezi každým bodem jedna jednotka. Odkaz směřuje ke čtvereční jednotce.

Čtvercová matice pro znaky Kanji

Následující obrázek ukazuje příklad znaků Kanji. Každý znak zaujímá matici MxN bodů (matice nemusí být čtvercové) podobnou té, která je znázorněna na předchozím obrázku. Čísla nad každým obrázkem jsou asociovaná čísla tvaru.

Příklady znaků Kanji

Následující obrázek ukazuje primitiva Kanji.

Příklady primitiv Kanji

Poznámka: Ne všechna písma jsou definována ve čtvercové matrici; některá jsou definována v obdélníkových matricích.

Příklad: Soubor definice tvaru pro rozšířené písmo Big Font

*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