Betuadatbazis
Lang Attila D.
lad at RENTAHOST.NET
2001. Okt. 31., Sze, 14:58:31 CET
TAMÁS
> Nana. Ha annyit kersz tole, hogy egy i beture tegyen ket pontot es
> ezzel slussz, valoszinuleg olcsobban meguszod, mint ha kifizeted azt
> a telefonszamlat, amit 50-60 meganyi fontkeszlet letoltese soran
> keletkezik...
De a _legolcsóbban_ akkor járok, ha valaki rajzolt egy nyolcbites
fontot, amiben a betűm megtalálható, és csak azt kell letölteni.
Amikor a valóságban kerestem ezt a betűt, ez az eset állt fenn: csak
meg kellett keresni a betűt egy alig két tucat fontot tartalmazó
könyvtárban.
A kulcsszó itt az, hogy valami _létezik-e már._ Ha meg van rajzolva a
kérdéses betű és ingyen letölthető a netről, akkor minden azon múlik,
hogy tudunk-e erről a tényről és meg tudjuk-e találni. Ugyanaz a
helyzet, mint a keresőprogramoknál, a szoftver-, kép- és
zenegyűjteményeknél. Ha megvan a neten a jakelimotu nyelvtan leírása
(megvan, elég bizarr nyelvcsinálmány), akkor azt meg lehet keresni és
el lehet sajátítani, nem kell megkérni egy anyanyelvi szintű beszélőt,
hogy ugyan készítse már el nekünk. Föl lehet lelni a
keresőprogramokkal a készet.
> Persze ha egy komplett fontkeszletet kell eloallitani -- lasd kazar
> fontok --, az mar nagyon draga lenne, de pont erre az esetre nem jo
> az otleted.
Hogyne lenne jó. Ha _van_ kész kazár font (talán egy nap lesz), akkor
egy nap az bekerülhet a betűadatbázisba és ott megtalálhatják.
> Mukodokepes, de nem kimondottan felhasznalobarat modszer. Hogy ugy
> mondjam, nem WYSIWYG... ;-)
Persze hogy nem. Ez a nyers adathalmaz, ami úgy néz ki, ahogy a
legegyszerűbb volt elkészíteni. De most már lehet írni hozzá egy
segédprogramot, ami szempillantás alatt megmondja, melyik betűk vannak
meg a fontban és melyikek nincsenek, vagy ha van ötszáz ilyen
listafile-od, akkor aszondod, hogy mondd meg nékem, melyikben van
farkas n betű és kiköp egy listát azokról, amelyikekben megtalálható.
Innentől ez megvalósítható, mert az ftp.unicode.orgon van egy txt
file, ami minden karakter nevét tartalmazza, kivéve a hangult és a
kínait, mert azok csak számozva vannak. Ebből a file-ból lehet venni a
neveket, az én file-omból a megvan--nem van meg adatait, s a program
csak összekombinálja a kettőt.
Viszont egyelőre nem érzek nagy kedvet arra, hogy tényleg megírjam a
programot, mert gyakorlati felhasználásra nem lenne igazán kényelmes.
Én nem tudok webprogramozni, csak olyan programot tudok írni, amit le
kell tölteni a saját gépünkre és ott fut DOS vagy Windows alatt. Tehát
le kellene tölteni a programot, a Unicode elég terjedelmes
listafile-ját és a fontleíró file-okat, aztán lehetne föltenni neki
kérdéseket. Ezenkívül pedig a képfile-okat nem tudnám megfelelő módon
szolgáltatni a jelenleg rendelkezésemre álló eszközökkel.
> Ha most atmennek a tordelok szobajaba meselni az otletedrol,
> valamennyien orulnenek a szolgaltatasnak, de harmuk kozul ketten
> ebben a formaban megvalositva bizonyosan nem hasznalnak. :-((
Abban a formában a Windowst se használta volna senki, ahogy az első
gépi kódú rutinok begépelése után megjelent egy ódon masina
képernyőjén valahol a Xeroxnál. Nem volt jó semmire. Aztán nekiálltak
fejleszteni, és már jó volt valamire: arra, hogy ellopja a
Microsoft...
CSABA
> Aha, mostmár értem, miért értettük félre egymást gif ügyileg. Én
> arra gondoltam, hogy a betűk nevei, képei és előfordulásai is benne
> lennének egy adatbázisban a megvizsgált fontkészletek mellett.
Nem értettük félre egymást, én is ezt szeretném -- csak ott még nem
tartunk. Nincs a kezemben olyan program, amivel a képeket könnyen és
gyorsan kinyerhetném (pedig ez más célra is fontos volna). A neveket
pedig nem kell kinyerni, legalábbis a unicode-os fontoknál nem, mert
megvannak egy egységes listában. Maguk a fontok nem is tartalmaznak
neveket. Ha rákeresel az arialuni.ttf huszonnégy megájában a Cyrillic
szóra, nem fogod megtalálni.
> név: bolgár keményjel
> unicode sorszám: nincs
> kép: chgfbr.gif
> előfordulás1: cirill23.ttf 164. pozíció
> előfordulás2: bolgár12.ttf 95. pozíció
Igen, de ez így túl bonyolult. Gondolj bele, hogyan fognak elkészülni
ezek az adatbázisok. Valaki fogja a bolgár12.ttf-et, betölti egy
fontnéző programba és elkezdi leírni, hogy milyen betűk találhatók
benne. 93-as pozíció: cirill s. Most elzarándokol az adatbázisban
ahhoz a helyhez, ahol a cirill s-ek sorakoznak, és beírja:
előfordulás2: bolgár12.ttf 93. pozíció
Veszi a következő karaktert: bolgár stá. Megint elzarándokol az
adatbázisban egy oldallal tovább, beírja:
előfordulás2: bolgár12.ttf 94. pozíció
Veszi a következő karaktert...
Ez így rengeteg fölösleges keresgélést és gépelést jelent. Ráadásul mi
van, ha ugyanebben a percben tőle ezer kilométerre egy másik kolléga a
szerb42.ttf-en dolgozik, és beleírja ugyanannak a file-nak egy másik
példányába, hogy:
előfordulás2: szerb42.ttf 119. pozíció
Hogyan egyesíted ezeket? Kellene rá írni egy külön programot.
Sokkal egyszerűbb, ha mindenki, aki az adatbázis bővítésén dolgozik,
készít egy-egy leírófile-t minden fonthoz. Ezek pár kilobyte-os
file-ocskák, gyorsan és könnyen kezelhetőek, és a végleges használat
szempontjából semmivel se rosszabbak, mint az egyetlen közös
adatbázis.
A módszerem annak a gyanúnak a figyelembe vételével készült, hogy nem
lesz össznépi mozgalom ennek az adatbázisnak a bővítése, nem fognak
netizenek ezrei félrehajítani minden egyéb elfoglaltságot azért, hogy
ezt építsék. Ezt kevesen fogják csinálni, idejüknek egy kicsiny
hányadában. Olyan módszert kell tehát választani, amivel ilyen kis
erőfeszítés mellett a lehető legtöbbet tudják elvégezni. Nem mindegy
például, hogy amikor egy fontról leírást készítünk, meg kell-e keresni
a karaktereket a Unicode-adatbázisban vagy sem. Először is ha ezer
karakter leírásához ezerszer kell fellapozni az adatbázist, az óriási
időveszteség; másodszor az adatbázis terjedelmes, és esetleg le kell
mondanunk emberek segítőkészségéről azért, mert ők nem tudják
letölteni az adatbázist. Jelen pillanatban egyetlen ember van, aki
ilyen fontleírások készítésére explicite vállalkozott: én. Ha most
akadna még egy ember, aki vállalkozna, de nem teheti, mert le kell
hozzá töltenie harminc mega pdf-et és egy Adobe Acrobatot, mert az
sincs a gépén, akkor elvesztettük az embereink felét egy technikai
követelmény miatt, amit pedig nem lett volna muszáj felállítani.
A módszer tehát a következőképpen fog működni. Unicode-os fontoknál
nem kell semmi többet felírni, mint hogy egy adott kódszámon _van-e_
megrajzolt karakter; és ha tízezer egymást követő kódszámon egyformán
meg vannak rajzolva vagy egyformán nincsenek, akkor csak tól--ig
formában kell megrajzolni. Nem unicode-os fontoknál pedig le kell
írni, hogy az egyes kódokon milyen betűk találhatók; erre kidolgozunk
egy egységes jelrendszert, ami lehet azonos a Unicode-éval és lehet
különböző tőle. (Még az is számíthat, hogy egy betűt "hacsekes kis s"
vagy "Latin small letter S with Caron" formában kell-e megnevezni,
mert száz font leírásánál már nagyon sokat számít, hogy mennyivel
többet kell gépelni!) Ezt a háziszabványt leírjuk egy file-ban, és aki
fontleírást készít, annak csak három dolgot kell kéznél tartania: a
szövegfile-t, amin dolgozik, a szövegfile-t, amiből a használati
utasítást veszi, és a fontnéző programot. Így biztosíthatjuk azt is,
hogy akármilyen platformon el tudják készíteni a file-jainkat.
Ha a fontleíró file-ok megvannak és valamilyen egységes formátumot
követnek, azokat már úgy konvertálgathatjuk, ahogy akarjuk.
Csinálhatunk belőlük egyetlen hatalmas adatbázist, ez lehet dbf-ben
vagy Excelben is akár, ha úgy tartja kedvünk.
Mindjárt csinálok egy fontleíró file-t nem unicode-os fonthoz is, hogy
lássátok, az milyen.
> Igaz, ez még nagyobb munka, mint az egyes fontkészletek általad
> javallott föltérképezése, viszont tényleg célravezetőbb keresést
> tesz lehetővé fölhasználói szemmel.
Az ráér, hogy a fölhasználó hogyan kereshet. Egyelőre legyenek
adataink, utána cifrázhatjuk őket ezerféleképpen.
> Viszont próbaképpen a hétvégén megpróbálom az egyik kedvenc ms
> fontomat, a Georgia-t az általad javallott módon leírni, hogy
> kiderítsem, mennyire menne nekem egy ilyen munka.
Ennek nagyon örülnék, Csaba, akkor kiderülhetne sokféle hiba, ami
esetleg tátong az elképzelésemben.
La'ng Attila D., iro <lad at rentahost.net> <http://lad.rentahost.net>
Negyezer arab futott a teve utan; hatszazezer fogat villogtattak. (Daudet)
További információk a(z) Mek-l levelezőlistáról