Hyphen 2.4: nyomdai minőségű automatikus elválasztás

 ( nemethl | 2008. május 5., hétfő - 11:38 )

Megjelent a Debian, Fedora és az Ubuntu elválasztási programkönyvtára, a Hyphen (korábban OpenOffice.org LibHnj) magyar fejlesztésű 2.4-es változata. Az új Hyphen számottevő javulást ígér a magyar mellett a dán, holland, izlandi, német, norvég, svéd és más nyelvek automatikus elválasztásában. A felsorolt nyelvek helyesírásának közös vonása, hogy „szereti” az összetett szavakat. Mindez rengeteg nem szótári összetett szó használatát eredményezi, ami igencsak megnehezíti a helyes automatikus elválasztást.

A Hyphen 2.4 kibővített elválasztási algoritmusa nemcsak az összetett szavak elválasztásán képes pontosítani, hanem az elválasztási szótár vagy a felhasználó beállításaitól függően tiltja az összetételi határ közelében az elválasztást, előnyben részesítve az összetétel határát pl. a német helyesírásnak vagy a nyomdai minőségű magyar szövegszedés tipográfiai előírásainak megfelelően.

Donald Knuth nevezetes szedőrendszere, a TeX 80-as évek elején kidolgozott minta alapú elválasztási algoritmusának nem ez az első magyar bővítése. 2006-ban, a Debrecenben megrendezett EuroTeX konferencián került bemutatásra az OpenOffice.org javított elválasztási algoritmusa, amely képes a magyar kettőzött többjegyű mássalhangzók, és minden egyéb, az elválasztás során módosuló szó minta alapú elválasztására (részletes publikáció). A mostani bővítésben az algoritmus egy külön elválasztási szótárat használ az összetételi határon való rekurzív elválasztásra, az említett távolságkorlátok érvényesítésével. Mindez pontosabb automatikus magyar elválasztást és igényesebb szövegszedést fog eredményezni a tervezett új magyar elválasztási szótárral.

A fejlesztés sikeréhez jelentősen hozzájárult az FSF.hu Alapítvány, illetve az Alapítványon keresztül a magyar szabad szoftveres közösség támogatása.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Fel tudnátok homályosítani, hogy ez hogyan viszonyul a Nagy Bence-féle huhyphn-hez? Két konkurrens implementáció másmilyen szótárral, vagy egyik a másikon alapul, vagy egyik a másiknak utódja, vagy ez itt a lib az pedig a szótár és a kettő együtt alkot egy működő egészt, vagy mi egyéb? Előre is köszi!

Igen, a hírben csak a programkönyvtárról volt szó. A Huhyphn egy elválasztási szótár, pontosabban mintagyűjtemény. A Hyphen az elválasztóprogram, ami a Huhyphnt használja, pl. magyar szövegek elválasztása esetén az OpenOffice.org-ban. Ahhoz, hogy helyesírási vagy tipográfiai szempontból jobb elválasztást kapjunk az összetett szavak esetében a Hyphen 2.4-gyel, új elválasztási mintagyűjteményre van szükség, ami előállítható a Huhyphn forrásszótára alapján is, ha abban külön vannak jelölve az összetételi határok. Ehhez hasznos lesz az új mintageneráló eszköz kifejlesztése (a régi PatGen helyett), ami azt is figyelembe veszi, hogy az összetételi határok megállapítása rekurzívan történik: az összetételi határok felismerése után minden tagot megpróbál összetett szóként ismételten felbontani az elválasztóprogram. (Meg persze az sem fog ártani, ha az új PatGen kezeli a kettőzött többjegyű mássalhangzók elválasztását, ami most a PatGen-kimenet foltozásával van megoldva a Huhyphn OpenOffice.org-os foltjában).

A Hyphen 2.4 teljesen kompatibilis visszafele. A különbség az a szintaxisban, hogy megadhatunk új alapértelmezett szótári paramétereket (LEFTHYPHENMIN, RIGHTHYPHENMIN, COMPOUNDLEFTHYPHENMIN, COMPOUNDRIGHTHYPHENMIN). A két utóbbi paraméter, illetve az egész összetettszó-kezelés akkor él, ha előfordul a mintagyűjteményben valahol a NEXTLEVEL kulcsszó, ami után a minták egy külön elválasztási mintagyűjteménynek számítanak. A NEXTLEVEL előtti mintagyűjtemény az elválasztási határ megállapítására szolgál az említett rekurzív módon, az azutáni pedig a szavakon belüli elválasztásért felel.

Akkor most van hunspell meg magyar ispell. Az OpenOffice a hunspell-t használja (a Firefox fogja). Akkor most mit kell egy egyszeri halandónak tennie, hogy kihasználja a hyphen nyújtotta előnyöket (kicsit részletesebben annál, mint hogy "telepítse")? Rendszer: Gentoo.

Üdv,
Dw.

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."

Illetoleg van valami doksi, hogy pl. TeX-bol hogy lehet hasznalni?

+1
Ez engem is érdekel.

+1

Terv van, dokumentáció nincs még sajnos. A kettőzött többjegyű mássalhangzók automatikus elválasztása a TeX forrásszöveg jelölésével megoldható, de még nem készült ilyen segédalkalmazás, ami a LibHnj-t, Hyphent használná. A Huhyphn az esetek nagy részében jól választ el (illetve a kettőzött többjegyű mássalhangzókat nem választja el), persze olyat, hogy mondjuk összetételi határ közelében egy több-betűs szótag elválasztását kihagyja, nem tud, pedig lenne rá igény.

Gondolom, hogy az OOo forrásának is része lesz, illetve a Linux disztribúciók csomagolhatják, és a saját OOo buildjük használhatja, mint külső lib-et. Mivel szótár (azaz mintagyűjtemény) még nincs hozzá, nem igazán szükséges azonnal birtokba vennie az átlagfelhasználónak.

Mivel még nem készült el a magyar elválasztási szótár, még nem használható ki az előny, amit az új Hyphen nyújt. Az OpenOffice.org, Scribus, KWord, amiben várható, hogy frissülni fog a Libhnj a Hyphenre, főleg ha elsőként az új holland és a magyar elválasztási szótár elkészül.

Hát ez a nap meglepetése, jó ilyen eseményekről olvasni, gratulálok. A rossz hír viszont az, hogy a Huhyphn bemeneti szótárában nincsenek jelölve a szóösszetételi határok, viszont a nyomdai kívánalmaknak megfelelően az összetételek menti egybetűs határon le van tiltva az elválasztás.

Azt hiszem, buta vagyok, de nem értem, hogy mi az a "nyomdai minőségű automatikus elválasztás". Egy elválasztás lehet helyes vagy helytelen, nem?

Vannak itt finomságok. Pl. az is helyes, ha nem választom el, csak esetleg ronda lyukak lesznek a szövegtestben. Az is helyes, ha az összetett szavakat nem a szóhatáron választom el, csak nem szokás, mert rontja az olvashatóságot.

A közel 100%-os helyességet már korábban teljesítette ez a programkönyvtár és mintagyűjtemény. Most a minőség fokozására került sor.

Így már értem. Bár szerintem az, hogy az adott szót elválasztja-e vagy sem egy szoftver, már nem elválasztási kérdésnek tartom, hanem szövegkiegyenlítésinek :)
Azért köszi az infót.

A nyomdai azt jelenti itt, hogy nemcsak a helyesírási, hanem a tipográfiai követelményeknek is igyekszik megfelelni az elválasztás. Ezek egy részét egyébként a helyesírás is rögzíti, pl. a helyesírási szabályzat legalább 2 betű meghagyását írja elő nyomtatásban, az összetételi határ két oldalán is. (Így a Franci-aország elválasztás a magyar helyesírásnak sem felel meg.) Magyar tipográfiai szabály viszont, hogy az összetételi határtól egy szótagnyira sem szokás elválasztani, így a Franciaor-szág sem jó. Ezt most lehet szabályozni az új COMPOUNDLEFTHYPHENMIN és COMPOUNDRIGHTHYPHENMIN paraméterekkel (igaz, karakterszámra és nem szótagra vonatkozóan, de az eredmény sokkal jobb lesz, pl. 4 karakteres limit beállítása esetén, mint különben). Van még egy-két olyan finomság, ami szintén kezelhetőbbé válik, pl. a magánhangzóval kezdődő szótagot a tipográfia nem szereti a sor elején, hacsak nem összetételi határ is egyben.

Ilyen elválasztási kérdésekkel a magyar tipográfiai szakirodalom nem igazán foglalkozik (pl. tudtommal a Franci-aország elválasztás a helyesírás szabályai szerint nem helytelen, és az idősebb szakik kedvence, a Helyesírási és tipográfiai tanácsadó is csak annyit ír róla, hogy "nem kívánatos"). A szóösszetételi határok melletti szótagoknál történő elválasztások tiltása pedig már esztétikai kérdéssé emeli az ügyet: vajon az egyenletes szóközök biztosításának nem kell-e prioritást kapnia? Az elképzelés mindenféleképpen dicséretes, csak megfelelő tördelőrendszer (pl. TeX, InDesign) kell hozzá, amelyik több sort vizsgálva határozza meg az elválasztási pontokat, különben valószínűleg csak a szedésminőség fog romlani.