Magyarítások Portál
A csapat | Játékszinkron Stúdió | Közösségi fordítás | MorroHun Team | Steam | CoD klán | Fordítói oldalak

RSSBetűtípusok

Írta: tehasut - 2012-05-31 06:31 - 5 hozzászólás - KÖZÖSSÉG
Betűtípusok Mikor még volt időm fordítani, akkor emlékszem, hogy mennyi bonyodalmat jelentettek az ékezetes betűk megjelenítései és hogy ezek miatt bele kellett vetnem magam a betűtípusokba és azok szerkesztésébe. Szép és izgalmas feladat ez, mire a csúnya négyzetektől eljutunk a kívánt ő és ű karakterekig. Innentől tehasut írását olvashatjátok, a "Hogyan fordítsunk játékprogramokat" sorozat egyfajta leágazásaként.

Elvállaltam, hogy írok pár sort a játékok által használt betűtípusokról és ezek szerkesztéséről, úgyhogy bele is csapok a lecsóba.

A játékok bizonyos hányada az ékezetes karakterek egy részét ismeri (pl. á,ó,ú), de vannak olyan betűk, amiket csak nagyon ritkán (pl. ő, ű) támogatnak. Jobb esetben az ő és ű betűk helyett olyan o és u jelenik meg, aminek a tetején a két ékezet helyett hullámvonal (tilde) vagy „kalap” (circumflex) van. Rosszabb esetben viszont az ékezetes karakterek helyén téglalapokat, vagy egyéb kitöltő karaktereket jelenít meg a program.
Ha a játék több nyelvet is tartalmaz, akkor minden ékezetes betűnk meglesz, esetleg ő és ű nem, mivel ezek csak a magyar abc-ben használatosak.

Több módszer is ismeretes a betűk játékbeli tárolására és megjelenítésére, ezeket fogom most végigvenni és rajtuk keresztül bemutatom a szerkesztés menetét, konkrét játékbeli példákkal és pár módszer, trükk ismertetésével.

1. Játék betűtípusa true type fontként Legegyszerűbb, ha a játék true type fontokat használ a szövegek megjelenítésére. Ezek a ttf kiterjesztésű fájlok vektorosan tárolják a betűket, tehát minőségvesztés nélkül lehet őket nagyítani, kicsinyíteni. A Windows is ttf fájlokat használ, egy rakás található belőlük a windows\fonts mappában. Biztos találkozott mindenki olyan nevekkel, hogy arial, times new roman, lucinda console (alapból ezt használja pl. a legkirályabb alap windows program, a jegyzettömb is) ezek talán a legismertebbek.
A Windowsban alapból található, és a magyar nyelvű programcsomagok (pl. Office) által feltelepített true type fontok nagy részében, vannak magyar ékezetes karakterek, de ezeken kívül elég nehéz ilyeneket találni. A nagy internetes font adatbázisokban is ritka, mint a fehér holló, és ebből következik, hogy a ttf fontokkal operáló játékok nagy részében is kevés az esély, hogy minden betű rendesen meg fog jelenni. Ekkor bizony bele kell piszkálnunk a font fájlokba, ha szeretnénk minden ékezetes betűt a magyarításunkban viszontlátni. Ha megelégszünk kompromisszumos megoldással, akkor kihagyhatjuk a szerkesztgetést, elég keresni egy olyan ttf fájlt (akár a Windows által használtakat), ami tartalmaz minden ékezetes karaktert, átnevezni a játék által használt font nevére, berakni a helyére és már kész is.
Tény, hogy ha ezt a módszert alkalmazzuk, akkor megváltoztathatjuk a játék készítőinek eredeti elképzelését és ezzel együtt (még ha kis mértékben) a játék kinézetét, hangulatát is. Kis idő ráfordításával könnyen szerkeszthetjük a true type fontokat, szerintem megéri rászánni azt a pár percet.

A ttf fájlok lehetnek valahol a játék egyik mappájában, vagy pedig össze vannak csomagolva a program egyéb részegységeivel, valami nagy fájlban, amit először ki kell valahogy csomagolnunk. A cikk előző részében erről már esett szó, úgyhogy ezt most nem fogom feszegetni.

Íme, egy pár játékbeli példa ötletadónak, a ttf fájlok helyére vonatkozóan.
 
King's Bounty: a data mappába kell másolni egy tetszőleges ttf fájlt, a data.kfs fájlból kicsomagolni a fonts.cfg nevű fájlt, az egyik sorába beszúrni az odamásolt font fájl nevét és innentől kezdve a játék ezt a betűtípust használta.

Drakensang: igaz, hogy van egy Drakensang nevű file a Fonts könyvtárban, de nincs kiterjesztése. Ha adunk neki ttf kiterjesztést, rögtön kiderül, hogy az egy true type font, csak a játékkészítők viccesen "elrejtették". Mehet a szerkesztés, vagy a kicserélés, utána viszont le kell szedni a kiterjesztést, mert a játék másképp nem fogja látni.

A Bunch of Heroes is tartogatott meglepetéseket. Ott szimplán kinyerhető ttf fájlok voltak, a játék egyik könyvtárában, megszerkesztettem az ékezetes betűket, de ennek ellenére a játékban nem jelentek meg. Kiderült, hogy a játék szövegfájljaiban nem szerepelhetnek ékezetes betűk, hanem minden ilyen karakternek volt egy kódja (pl. a szövegben az ő betű \18 volt). A szövegfájlban a betűket ezekre a kódokra cserélgetve végre minden ékezetes betű megjelent a játékban.

Egyébként a fontok cserélgetésének lehetősége akkor is jól jöhet, ha bár a játékban vannak rendes ékezetes betűk, de valamiért nem vagyunk megelégedve az alap betűtípussal.
Én ezt a Risennél használtam ki, mert zavaróan kicsinek, nehezen olvashatónak tartottam a betűket a játékban, ezért egy apró célprogrammal (úgy látszik, mást is zavartak a kis betűk) lecseréltem arialra és onnantól már minden klappolt.
A ttf formátum vektoros mivoltának köszönhetően bizonyos játékoknál (pl. King's Bounty sorozat) a fontok kicserélése nélkül is lehetséges a játékon belüli betűk méretének növelése a megfelelő érték átírásával valamelyik ini vagy cfg fájlban.

Ttf szerkesztő programokból több is fellelhető a neten, de én a High-Logic FontCreator-t ajánlanám, mert véleményem szerint az a legjobb. Bármit meg lehet vele csinálni, pofonegyszerű a kezelése. Egy baj van vele, hogy nem ingyenes.
A 30 napos próbaverziót innen lehet letölteni, de az mondjuk nem sokat ér, mert nem lehet vele elmenteni a szerkesztett fájlokat. (Én mondjuk megvettem a Home Editiont, az a 79 dolcsi szerintem nem annyira sok érte, tudom, hogy rengetegszer fogom még használni, és nekem jobb érzés egy jogtiszta szoftvert használni, mint egy warezt.)
http://www.high-logic.com/font-editor/fontcreator.html
Ingyenes megoldások közül a Type lightot ajánlom.
http://www.cr8software.net/typelight.html
Ezt sajnos messze nem olyan kényelmes használni, mint a High-Logic FontCreatort, és sokkal kevesebbet is tud.

Ha a kezünkben vannak a ttf fájlok, akkor már nincs más dolgunk, mint egy font editorral megpiszkálni őket. A betűk tetején a kalapokat és hullámokat ki kell kitörölgetni és helyükre egy meglévő ékezetes betűről odamásolni egy ékezetet és megduplázni. Jóval több meló van azokkal a true type fontokkal, amelyek egyáltalán semmiféle ékezetes karaktert nem tartalmaznak, mert ilyenkor a font editorral kreálni kell úgy betűobjektumokat (glyph), belemásolni a betű ékezettelen verzióját, rárakni az ékezetet (ha nincs egy ékezetes karakter sem, akkor a vesszőt, vagy az idézőjelet remekül lehet használni erre a célra) és hozzárendelni a karakterek kódját. A Windowsban a Karaktertábla (charmap.exe) nevű progi segíthet megtalálni a betűkhöz tartozó kódokat.

2. Játék betűtípusa képként (dds, png, tga, stb.) Kicsit bonyolultabb, ha a fontok képként tárolódnak, ekkor mindenképp valami grafikai programra van szükségünk a buheráláshoz. Ilyenkor a betűket tartalmazó képek a legtöbb esetben (szinte mindig) össze vannak csomagolva a játék egyéb fájljaival (általában a textúrákkal), úgyhogy itt is először a kicsomagolás az elsődleges feladat. Ezután keressünk tga, png vagy dds kiterjesztésű fájlokat (ezek a legelterjedtebbek).
Ebben az esetben, szokott lenni egy adatfájl, mely meghatározza, hogy melyik betű mettől meddig terjed a képen belül. Az esetek többségében vagy nem közvetlen a font textúra mellett van, ilyenkor nem biztos, hogy valaha előkerül, vagy ha ott is van, szerkeszthetetlen, vagy átláthatatlan a felépítése. Ritka az olyan eset, hogy ismert a felépítés, vagy mondjuk sima txt. Ilyen okból, érdemes meglévő karaktereket módosítani, mint újabbat betenni. Ha a játék csak angol karaktereket tartalmaz, akkor nem érdemes küzdeni vele, mert nem lehet új betűket létrehozni, mint a ttf-ek esetében.
A tga (Truevision Graphics Adapter, vagy más néven Targa) és a png ( Portable Network Graphics) elég elterjed képformátum, bármelyik képnéző program meg tudja nyitni ezeket, tehát ha a játék fájljaihoz hozzáfértünk, akkor könnyű lesz megtalálni és kiszúrni őket (feltéve, ha nincsenek kódolva, mert akkor nem lehet megnyitni őket előzetes hexa piszkálás nélkül).

A dds (DirectDraw Surface) fájlok már kicsit mások, de vannak nézőkék ehhez a típushoz is.
Ilyen pl. ez, amit ha feltelepítünk, akkor a dds fájlok Windowsban a miniatűrökként (thumbnail) is látszanak majd.
http://developer.nvidia.com/content/dds-viewer
Itt pedig egy apró (1 db exe az egész, telepíteni sem kell) nézőprogram:
http://developer.nvidia.com/content/windows-texture-viewer

Van egy remek kis program, amivel a játék fájljainak kicsomagolása és a fontokat tartalmazó képek keresgélése nélkül le lehet csekkolni, hogy az adott játék támogatja-e az ékezetes karaktereket. Ez a program a texmod. Sajnos csak directx 9-s játékokkal működik.
Itt találhattok egy magyar nyelvű leírást a használatáról, ahol van link a letöltéshez is:
http://www.tutorial.hu/texmod-tutorial/

Ha megtaláltuk a betűket tartalmazó képeket, jöhet a szerkesztés. Mindenképpen olyan grafikai programra van szükség, ami tudja kezelni az alfacsatornákat (alpha channel).
A tga és png fájlok szerkesztésével nem lesz gond, a dds már egy bonyolultabb eset.
A Photoshop és a Paint Shop Pro alapból nem ismeri a dds fájlokat, kell hozzá egy plugin, ami itt található:
http://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop

Ingyenes megoldásként megemlíthetem a Gimp nevű grafikai programot.
Innen lehet letölteni: http://www.gimp.org/downloads/
Itt pedig a dds plugin hozzá: http://registry.gimp.org/node/70

Ha nem akarunk a dds fájlokkal vesződni, konvertáljuk át őket ismertebb képformátumba (tga, png), aztán szerkesztés után vissza dds-be. Ezt a DDS converter nevű kis programmal lehet megtenni:
http://enforumom.net46.net/index.php?topic=98.0
Azt viszont mindenképp vegyük figyelembe, hogy az oda-vissza konvertálás során a kép minősége romolhat.

A grafikus szerkesztés részleteibe nem mélyednék bele, mert született pár éve egy remek cikk a témában, méghozzá itt a Portálon, amelyben Piedon korrektül kifejti a dolgot.
http://magyaritasok.hu/articles/2/a_magyar_betukeszlet_helyes_megjelenitese

Azért pár tanáccsal szolgálnék kiegészítésképp.
Figyeljünk arra, hogy az ékezetes karakterek magasabbak, mint a normál társaik. Ez a nagybetűknél fontos, mert ha túllépjük a betűk maximális méretét meghatározó keretet, akkor a játékban lemaradhat az ékezet teteje. Ilyenkor tegyük minél közelebb az ékezetet a betűhöz. Megoldást jelent az is, hogy a betű magasságát csökkentjük, mondjuk kinyesünk pár pixelt valahonnan. Itt arra figyeljünk, hogy a csökkentett magasságú betű ne váljon zavaróan torzzá, lapossá. A grafikai programon belüli átméretezés opcióval óvatosan bánjunk, mert ennek segítségével csökkentjük a betű méretét, akkor a betű homályossá válhat.
Nem árt, ha végignézzük, kipróbáljuk a többi ékezetes karaktert is, mert ha a játék készítői nem fordítanak figyelmet arra, hogy minden betűt leteszteljenek (és az ékezetesekkel miért is törődnének...), akkor a karaktertáblában alapból működő ékezetes betűk teteje is lemaradhat. (A Kingdoms of Amalur: Reckoning-ban és a Gothic 2-ben történt ilyen, helyre kellett pofoznom pár gyárilag működő ékezetes betűt is).

Ötletadóként, íme, pár konkrét példa, hogy a játék készítői milyen módszerekkel próbálják megnehezíteni szegény fordítók életét.
Az előbb említett Kingdoms of Amalur: Reckoning-ban a betűk dds fájlokban tárolódtak, de persze egybe voltak csomagolva a big fájlokban sok ezer egyéb textúra fájllal, a nevükben pedig csak számok szerepeltek, így ez alapján nem lehetett őket azonosítani. Hogy ne kelljen végignyálaznom a több tízezer fájlt, a nem hivatalos orosz fordításból merítve az ötleteket, sikerült megtalálnom az ominózus fontokat tartalmazó dds fájlokat. Sajnos azonban semmivel sem tudtam megnyitni azokat. A Xentax fórumának hála, kiderítettem, hogy először minden dds fájlt meg kell nyitni hex editorral, ki kell törölni az első 16 bájtot, és elmentés után már meg lehet nyitni a grafikus programokkal. Az átrajzolás után hex editorral vissza kell másolni a kitörölt 16 bájtnyi adatot, és úgy visszatömöríteni a big fájlokba, és így már tökéletesen működtek a játékban az átrajzol betűk. Később kiderült, hogy van még egy féle font, ami az oroszok fordításában sem szerepel, ezt meg kellett keresni több ezer dds fájl között, csak hát hex editálni kellett volna mindet, hogy végig tudjam nézni őket. Ennyi fájl egyenkénti hex editálása horribilis meló lenne, de a QuickBMS-sel a megfelelő szkript segítségével másodpercek alatt manipulálható sok ezer fájl pofonegyszerűen. Utána végig kellett nézni a fájlokat és ahogy a nagy könyvben meg van írva, a több 10 ezer fájl között a legutolsó volt a sorban, amit én kerestem...

A New Beginning című kalandjátékban a karaktertáblák png fájlokban tárolódnak, de a kicsomagolás során a QuickBMS titkosítva hagyta a képeket, ezért alapból nem lehetett megnyitni őket. Hex editorral át kellett írni a fájlok fejlécében 8 bájtot, és úgy már szerkeszthetők voltak. Lementés után vissza kellett írni a fejléceket, és QuickBMS-sel visszacsomagolva az egészet már megjelentek a karaktereket ért változtatások a játékban. Sajnos a játék az ű-ket a kalapos u-k átrajzolása után sem jelenítette meg, (úgy látszik, nem ismeri az ű karakter kódját), ezért a szövegfájlban az a kalapos u-kat kell írni és úgy már rendesen megjelentek a játékban. A már említett Karaktertábla segíthet megtalálni ezeket a speciális, magyar billentyűzeten nem szereplő betűket.

A Gothic 2-ben a data mappában található vdf fájl kicsomagolása után kapunk tex kiterjesztás képfájlokat. Ezek még nem szerkeszthetők, először egy célprogram segítségével át kell konvertálni tga-ba, utána mehet a Photoshop. Aztán vissza texbe, és visszacsomagolni a vdf-be.

A Last Half of Darkness-Society of the Serpent Moon című kalandjáték esetében a fontok a játék media könyvtárába vannak beömlesztve, ráadásul úgy, hogy minden betű külön képfájlban van. Ezek ebben az esetben a szokásostól eltérően bmp fájlok voltak.
Mivel a képek csak az angol abc betűit tartalmazzák, itt nincs mit átszerkeszteni, ezért a játék normális magyarítása lehetetlenné vált.

Előfordulnak persze pofonegyszerű dolgok is, ami a Scratches esetében esett meg, ott ugyanis a karaktertábla, átrajzolgatás helyett egy meglévő Windows ttf felhasználásával legenerálható volt Bitmap Font Builder vagy Bitmap Font Generator programmal. A végeredményt lementve tga-ba és visszacsomagolva tökéletesen működtek a játékban az ékezetes betűk.

3. Játék betűtípusa egyéb megoldásokkal.
Na, ezek a legrázósabbak. Ide sorolható, ha a játék készítői saját megoldást dolgoznak ki, de én ebbe a csoportba vettem az swf fontokat is.
Egyes játékok, szerencsére kevés, swf, azaz ShockWave fájlt használnak, mely hasonlóan a ttf fájlokhoz, vektorosak. Ezek szerkesztésére egyetlen hathatós módszer sem ismert. Az swf fájlokat elsősorban Adobe Flash programmal lehet generálni, de szerkeszteni nem. Vannak módszerek az swf visszaalakítására, fla formátumba, melyet a Flash is képes megnyitni, de egyik konvertáló sem tudja 100%-osan visszaadni a forrásfájlt.
Ezt a módszert például a Deus Ex Human Revolutionben alkalmazták

A játékfejlesztők által kidolgozott, saját megoldás használata se sokkal jobb, mert ha nem mellékelnek hozzá külön hozzá font editort, vagy a rajongók nem eszkábálnak egyet a játékhoz, akkor sajnos ezeket nem lehet megpiszkálni.

A Gabriel Knight fordítása során futottam bele ilyenbe, ez a játék fon kiterjesztésű fájlokat használt. Szerencse, hogy a régi Sierra kalandjátékok még mindig óriási rajongótáborral rendelkeznek, úgyhogy mindenféle editor elérhető, font szerkesztő is van, sőt még külön grafikus program is a játékok grafikáinak átrajzolásához.
A gazdag programellátottság ellenére is akadtak nehézségek a játék fordítása során, mert az ű betűt sehogy sikerült összehoznom, a játékban mindig téglalapok jelentek meg helyette, ráadásul nem volt a karakterkészletben kalapos u sem, amit átrajzolhattam volna. Kerestem egy olyan karaktert a karaktertáblázatban, amit a játék a szövegfájlokban biztosan nem használt (ez lett a @ (kukac)) és ezt rajzoltam át ű betűre. A lefordított szövegfájlokban pedig kicserélgettem az ű-ket kukacra és így már tökéletesen megjelentek ezek a betűk is.

Ennyi lett volna dióhéjban a téma. Ha valaki elakad a font fájlok felderítésében vagy szerkesztésében és megkeres privben, szívesen segítek neki.

Nagy köszönet illeti Evint, aki átnézte és pár helyen kiegészítette a hablatyolásomat. J

tehasut

Hozzászólások

VolvoFH12
2013-08-16 23:52
Chris, úgy fest, nekem sikerült megoldanom.
Véletlen találtam rá erre a (jó régi) kérdésedre, ha valaki rátalál erre a leletre, akkor lássa, megoldódott. El is kezdem fordítani a játékot, szép lassan.
Chri$19
2013-02-24 14:49
Sziasztok! egy olyan kérdésem lenne, hogy egy játéknak megvannak a szöveg fájljai, a karaktertáblán szerepelnek az ékezetes betűk, és bármit csináltam, cseréltem betűtípust vagy bármi egyszerűen a játék nem hajlandó az "ó" betűn kívül semmi más ékezetes betűt megjeleníteni. a játék neve: Symulator Jazdy 2. Pl nyelven érhető csak el egyenlőre. Ha valaki tud valami megoldást kérem jelezze. köszönöm
tehasut
2012-06-18 11:05
Biztos sokakat érdekel, csak annyira jók és részletesek a cikkek, hogy nem sok hozzátenni való van. smiley
Attila88b
2012-06-17 22:59
Köszönet, majd a végleges kiadásba, a pdf-be beletesszük. Újabb rész várható, bár látom sok embert nem érdekel smiley
Sunsetjoy
2012-06-01 16:42
A 3. változathoz egy saját példa.

Galactic Civilizations első rész. A fontok .fnt fájlban voltak, amelyeket a játék MTD módban tömörítve használt; ha kibontottad, lett belőle .SPR fájl, ami végül is valamiféle képformátum, de a karaktertábla volt benne elhelyezve.

A kicsomagolásra és becsomagolásra voltak programok, de maga a karaktertábla rossz volt az ékezetes karaktereknél. Ugyanis minden ékezetes karakter grafikája után 3-4 szóköznyi hely volt grafikailag kódolva.
Tehát így nézett ki: "teljes é k ezetmentesí té s".

Hiába segített más nyelvi változatokat küldve a játék vezető programozója (azt hiszem, francia illetve német fájlokkal), mindegyikben magyar ékezethiba volt. Így végül a szokásos átszerkesztéssel kellett megoldani, vagyis a hibáknál pixelre úgymond pontosan ki kellett vágni a feleslegeket. De az is kiderült hogy pár fájl megjelenítése így is máshogy alakult, ezért át kellett írni a játék hivatkozásait, hogy bizonyos helyeken a szerkesztett fonttípusokra hivatkozzon a nem szerkeszthetők helyett.

De végül sikerült.
Főmenü
Segítség
Szavazás
Mi az álom úti célod? #Európa


Szavazás állása
2014. április 24. - csütörtök
Splinter Cell Blacklist
Evin | 12 hozzászólás | 2013-08-27
.GFX/.SWF karakterkészlet szerkesztése
Bandris86, Evin | 9 hozzászólás | 2013-02-17
Dishonored
Panyi | 7 hozzászólás | 2012-12-05
Hogyan fordítsunk játékprogramokat? VIII.
TGWH | 28 hozzászólás | 2012-08-03
Hogyan fordítsunk játékprogramokat? VII.
TGWH | 4 hozzászólás | 2012-07-11
Programok
Evin | 4 hozzászólás | 2012-06-22
Partnerek
Creative Commons LicenseA Magyarítások Portál hírei, cikkei, blogjai a Creative Commons Nevezd meg!-Ne add el! 2.5 Hungary Licenc alatt állnak.