Betuadatbazis
Lang Attila D.
lad at RENTAHOST.NET
2001. Okt. 27., Szo, 22:45:33 CEST
File-formátum a fontleíró file-okhoz, 1.0
Minden fontot egy txt file ír le. A file neve közömbös, lehet azonos a
font nevével vagy képezheti részét egy számozott listának (1.txt,
2.txt stb.). A formátumnak olyannak kell lennie, ami kézzel, speciális
segédprogram nélkül is könnyen szerkeszthető, de később programból is
feldolgozható.
A leírás mezőkre oszlik, amelyeket egy mezőnév vezet be. Egy mező
általában egy sort foglal el. A mezőneveket nagybetűkkel írom a
leírásban, de egyébként ez közömbös. A mezők sorrendje is közömbös.
Egyes mezők jelenléte más mezők hiányát okozhatja. Mezők hiányozhatnak
azért is, mert az adat nem ismert vagy nem alkalmazható.
1. A fontok leírása
URL http://nimrud.eet.bme.hu/rovas/csengejb.zip
A font elérési helye. Többször is szerepelhet, ha a fontnak több
letölthető példányáról tudunk. (A példaként szereplő URL nem pontos,
valóban a megadott könyvtárban van a link a fontra, de azt most nem
néztem meg, hol van maga a font.)
FILE csengejb.ttf
A fontfile neve, amelyről a gépünkre installált példányt
azonosíthatjuk.
NAME CsengeJb
A font neve; a TrueType-ban Font Name címszó alatt nyilvántartott
információ.
FAMILY CsengeJb
FULL CsengeJb
A TrueType-ban nyilvántartott két további név, ezek egyes fontoknál
különböznek, például:
FONT Tempo Esperanto Normala
FAMILY Tempo Esperanto
FULL FontMonger:Tempo Esperanto Normala
Igazából nem érzem nagy szükségét mindhárom név feltüntetésének, de
könnyebb később eltávolítani a két további név megkövetelését az
ajánlásból, mint utólag észlelni azok hiányát.
AUTHOR N. N.
A font készítőjének neve. (A példaként kiválasztott fontban ez nincs
feltüntetve, de a honlapon valószínűleg ott van.)
VERSION 1.0
A font verziószáma.
TYPE ttf
A font formátuma; itt egyezményes rövidítéseket adunk meg, mint ttf,
mf, fon stb. A rövidítések feloldását máshol tároljuk.
CODE rovas
A szabvány (kódlap vagy karakterkészlet), amely szerint a font kódolva
van. Hivatkozást ad meg ugyanennek az adatbázisnak egy másik
rekordjára (jelen esetben a rovas nevű szabvány leírására), amely
közli az adott szabvánnyal kódolt fontok tartalmát; lásd a 2.
szakaszban. Ha a font egyedi kiosztást használ, a CODE helyett a
CONTENTS mező szerepel. Unicode-os fontoknál a UNICODE mezőt
használjuk helyette.
CONTENTS
Csak akkor szerepel, ha a font kódolása nem felel meg egy szabványos
jelkészletnek. Unicode-os fontoknál a UNICODE szót használjuk
helyette. A CONTENTS szót
kód név
szerkezetű sorok követik, ahol a kód a karakter decimális vagy
hexakódszáma, a név pedig a karakter egyezményes neve; lásd a 3.
szakaszban.
Példa:
CONTENTS
65 rovas a
66 rovas b
67 rovas c
68 rovas d
END
UNICODE
Csak unicode-os fontoknál szerepel: a Unicode-ajánlásból lefedett
tartományokat közli. A UNICODE szót
kód-kód ON
kód-kód OFF
szerkezetű sorok követik, ahol a két kódszám tól--ig értelemben áll;
az ON sorok azt közlik, hogy a fontban az adott kódtartomány
definiálva van, az OFF sorok azt, hogy nincsen. Példa az Arial Unicode
MS font egy részletéből (a h betű jelzi, hogy a kódszámok most hexában
vannak):
UNICODE h
100-217 ON
1f6-1f9 OFF
250-345 ON
2a9-2af, 2df, 2ea-2fe OFF
END
(Kényelmi célokat szolgál, hogy többféleképpen is meg lehet adni
ugyanazt. Ha egy tartomány közepéről hiányzik egy karakter, akkor
megadhatjuk két ON sorral a tartomány két felét, vagy egy sorral
bekapcsolhatjuk az egész tartományt és egy OFF-fal törölhetjük a
definiálatlan karaktert, tetszésünk szerint. Az eredmény ugyanaz.)
A leírásokban egyformán kezeljük azokat a karaktereket, amelyeket a
Unicode szabvány nem definiált és azokat, amelyek definiálva vannak,
de az adott fontból hiányoznak. Ez azért kell, mert amikor ezeket a
leírásokat készítjük, csak egy fontnéző program és egy
szövegszerkesztő lesz előttünk; értelmetlen lenne emiatt fellapoztatni
a Unicode-táblázatokat.
GLYPH név
Olyan karaktereknél, amelyeknek több egyenértékű alakváltozata van,
közli, hogy a font melyiket tartalmazza. Példa az Arial Unicode MS
fontból:
15f GLYPH comma
A mező szerepelhet a CONTENTS vagy UNICODE mezőbe beágyazva vagy
azokon kívül. Nem szerepelhet a kódlapokat leíró file-okban.
FACE n
A font betűtípusának jele: n, i, b, bi (normal, italic stb.).
STYLE stílusnév
A font stílusának neve(i): antikva, groteszk, kalligráfia stb.,
egyezményes jelekkel.
ERROR leírás
Hibákat közöl: rajzolási tévedéseket, eltéréseket a font általános
stílusától vagy az írásrendszer elfogadott normáitól. Példa az Arial
Unicode MS fontból:
530-589 ERROR Hibás stílus: Times
A mező szerepelhet a CONTENTS vagy UNICODE mezőbe beágyazva vagy
azokon kívül. Nem szerepelhet a kódlapokat leíró file-okban.
COMMENT megjegyzés
A font egészére vonatkozó megjegyzés vagy észrevétel.
2. A kódszabványok leírása
A kódszabványok leíró file-ok nem tartalmaznak olyan mezőt, ami a
fontokat leíró file-okban is szerepelhet, a CONTENTS kivételével.
CODENAME iso-8859-2
CODENAME 28592
CODENAME Latin-2
CODENAME Windows Central European
A szabvány neve vagy sorszáma. Többször is szerepelhet, ha a
szabványnak több alternatív neve van. A fontleíró file-ok az itt
megadott neveken hivatkozhatnak a szabványra.
CONTENTS
Ennek a mezőnek minden szabványleíró file-ban szerepelnie kell.
Szerkezete azonos a fontfile-okat leíró CONTENTS mezőével.
3. A karakternevek
Unicode-os fontok esetén nem kell karakternevet megadni, mert a
kódszámokból a nevek automatikusan következnek. A nem unicode-os
fontoknál azonban a definiált karaktereket meg kell adni. Ez az
adatbázis kritikus pontja: ha egy fontban szerepel például az "n with
diaeresis" név, de a felhasználó "n and umlaut"-ot keres, a keresés
sikertelen lesz. A később elkészítendő keresőrendszer számára
alternatív elnevezések listáit lehet felállítani. Amíg keresőrendszer
nincsen, a neveket többé-kevésbé egységesítetten kell megadni, ezekre
(minden írásrendszernél külön) szabványt kell felállítani, s ezt a
szabványt a felhasználók számára közzétenni. Ha lesz keresőrendszer,
az egységesített neveket ki lehet cserélni Unicode-kódszámokra,
illetve egyéb jelekre, amikhez a keresőrendszer hozzárendeli a
különféle névváltozatokat.
1. példa: amikor még nincs keresőrendszer
Részletek a héber Alefbet font leírásának CONTENTS mezőjéből:
65 hebrew pe
66 hebrew resh
67 hebrew shin with sin dot
194 hebrew tet with tsere
195 hebrew kaf with tsere
196 hebrew lamed with qubuts
és a hozzá tartozó magyarázat, amelyet a felhasználó rendelkezésére
bocsátunk, szükség esetén képi bemutatással együtt (részlet):
"A héber betűkre a következő nevekkel lehet keresni: alef, bet, gimel,
dalet [...]. A héber magánhangzójelekre a következő nevekkel lehet
keresni: hiriq, tsere, segol, patah, qamats [...]."
2. példa: amikor már van keresőrendszer
Részletek ugyanebből a fontleírásból -- most már a Unicode-kódokat
tartalmazza --:
65 05e4
66 05e8
67 fb2b
194 05d8 + 05b5
195 05db + 05b5
196 05dc + 05bb
és az ábécébe rendezett keresőfile vonatkozó részletei:
cere 05b5
kubuc 05bb
pe 05e4
pé 05e4
peh 05e4
qubuts 05bb
rés 05e8
resh 05e8
sin 05e9, fb2b
shin 05e9, fb2b
tsere 05b5
La'ng Attila D., iro <lad at rentahost.net> <http://lad.rentahost.net>
LAVINIA = Magas hegyekbol alazudulo fagylalt.
További információk a(z) Mek-l levelezőlistáról