Információk a kibővített Big Font-fájlok definiálásáról

Az összetett kandzsi karakterek méretének csökkentése érdekében létrehozhat bővített Big Font-fájlokat is. A bővített Big Fontok az alalak kódját használják, amelyet rögtön egy 0 követ.

A bővített Big Font-fájl első sora azonos az előzőekben ismertetett közönséges Big Font-fájléval. Az ezt követő sorok formátuma azonban más:

*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

A következő lista a Big Font leírófájl mezőit ismerteti:

karaktermagasság

A karakterszélességgel együtt jelzi a betűtípus karaktereinek definiálásához használt egységek számát.

karakterszélesség

A karaktermagassággal együtt jelzi a betűtípus karaktereinek definiálásához használt egységek számát. A karaktermagasság és a karakterszélesség határozza meg a betűtípus primitívjeinek méretarányát. Ebben az esetben primitíveknek azokat a pontokat, vonalakat, sokszögeket és karakterláncokat nevezzük, amelyek a 2D térben geometriailag tájolt betűtípust alkotják. A kandzsi karakterek több – különböző méretarányban és kombinációban ismétlődő – primitívből állnak.

módok

A módok bájt értéke vízszintes irányú betűtípusok esetében 0, kétirányú (vízszintes vagy függőleges) betűtípusok esetében 2. A 00E-s (14-es) speciális parancskód csak akkor érvényes, ha módok értéke 2.

alakszám

A karakter kódja.

defbájtok

Bájtméret. Minden esetben egy kétbájtos érték, amely hexadecimális vagy kombinált, decimális és hexadecimális kódokból áll.

alaknév

A karakter neve.

kód

Az alakleírás speciális kódja. Értéke mindig 7 az alalakok használata miatt.

primitív#

Az alalak számára történő hivatkozás. Ez mindig 2 bájt.

bázispont-x

A primitív kiindulópontjának X koordinátája.

bázispont-y

A primitív kiindulópontjának Y koordinátája.

szélesség

A primitív szélességének méretaránya.

magasság

A primitív magasságának méretaránya.

végjel

Az alakdefiníciós fájl végét jelölő jel. Értéke mindig 0.

A léptéktényező kiszámításához a program először lekicsinyíti a primitívet egy egységnyi négyzetbe, majd ezt a szélességgel és a magassággal megszorozva állítja elő a karakter alakját. A Big Font alakdefiníciós fájlban a karakterkódok (alakszámok) értéke 65535-ig terjedhet. A következő táblázat a bővített Big Font-fájl mezőit ismerteti.

Bővített Big Font-fájl mezői

Változó

Érték

Bájtméret

Leírás

alakszám

xxxx

2 bájt

Karakterkód

kód

7,0

2 bájt

Bővített betűtípus-definíció

primitív#

xxxx

2 bájt

Hivatkozás alalakra

bázispont-x

1 bájt

A primitív kiindulópontjának X koordinátája

bázispont-y

1 bájt

A primitív kiindulópontjának Y koordinátája

szélesség

1 bájt

A primitív szélességének léptéke

magasság

1 bájt

A primitív magasságának léptéke

végjel

0

1 bájt

Az alakdefiníció vége

A következő ábra egy 16x16-os pontmátrixot mutat be, amelyet bővített Big Fontok (mint például kandzsi karakterek) tervezésére használhat. A példában a pontok közötti távolság egy egység. A kiemelt rész egy egységnyi négyzetet mutat.

Kandzsi karakter négyzetes mátrixa

A következő ábra kandzsi karakterekre mutat példákat. Minden egyes karakter egy M×N méretű, az előző ábrán láthatóhoz hasonló mátrixot foglal el (a mátrixoknak nem kell feltétlenül négyzetesnek lenniük). Az alakok felett levő számok a megfelelő alakszámok.

Példák kandzsi karakterekre

A következő ábrán kandzsi primitívek láthatók.

Példák kandzsi primitívekre

Megjegyzés: A betűtípusok egy részét nem négyzetes, hanem téglalap alakú mátrixban definiálják.

Példa: Bővített Big Font alakdefiniáló fájlja

*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