After releasing Hunspell 1.7 with several improvements, including the fast and better spelling suggestion, I publish the extended version of my presentation at LiboCon, Tirana: LibreOffice Language Technology – News & Best practices. I suggest checking its content especially for members of native language groups. I have listed several ideas, examples and code pointers to improve the support of your language in LibreOffice, helping your LibreOffice users.
Szerző: Németh László
Build your LibreOffice development team!
Our success story in a nutshell and on 54 slides (extended version of my presentation at LiboCon, Tirana) : fixing more than 30 serious interoperability and usability problems of LibreOffice during 3 months, gallery of our nice results and introduction of our mentoring program with the secret sauce: Building a LibreOffice development team.
Magyar szoftverrel tanulnak programozni a német gyerekek
(Az FSF.hu Alapítvány támogatásával eljutva az ez évi LibreOffice konferenciára Tiranába, három előadást tartottam a LibreOffice-ban végzett fejlesztéseimről. Ebből a legrövidebb, mindössze 5 perces előadás a LibreLogóról szólt, az újabb fejlesztésekről, valamint a látványos sikerekről, amelyeket a következő sajtóhír foglal össze:)
A Cornelsen kiadó tankönyvsorozatának legújabb tagja, a februárban megjelenő 5–6. osztályos informatikai feladatgyűjtemény részben a magyar fejlesztésű LibreLogo programra épül, hangzott el az idei LibreOffice konferencia kapcsolódó előadásában.
Az előadásban említett német tankönyv szerzője, Mirek Hančl középiskolai tanár, a „Színpadon a tudomány!” (Science on Stage) EU-s oktatási hálózat németországi aktivistája, aki a LibreLogo mellett a Minecraft segítségével is oktatja a kémiát és az informatikát. A Minecrafttal ellentétben a LibreLogo nyílt forráskódú és ingyenes program, a LibreOffice irodai programcsomag része. Vektorgrafikus ábrák elkészítésére és a programozás elsajátítására is alkalmas eszköz, amely kis teljesítményű számítógépen, internetes hozzáférés nélkül is működik, így az EU elmaradott régióiban, kevésbé felszerelt iskolákban is megállja a helyét. Az előadás magyar példája mutatja, hogy a szűkös feltételek mellett is milyen kreatív módon lehet használni a LibreLogót: Kecskeméti Péter informatikatanár milliméterpapír mintájú háttérképpel kombinálta a LibreLogo munkaterületét, azaz a Writer dokumentum első oldalát, hogy matematikai pontossággal lehessen követni a teknőc útját, elősegítve a Logo program működésének megértését.
Az általános iskolai informatikatanárok és óvónők képzésében szerzett pozitív tapasztalatok alapján a Firenzei Egyetem szakemberei elkezdték az Európai Unió eTwinning oktatási platformján is népszerűsíteni a LibreLogót. Az eTwinning közel 200 ezer regisztrált iskolájából első körben 250 tanár jelentkezett a szeptemberi online LibreLogo kurzusra, amelyet Andreas Formiconi, az egyetem informatikai tanszékének docense tartott.
Az ingyenes és nyílt forráskódú szoftver kifejlesztését a magyar FSF.hu Alapítvány, és az EU-s támogatással létrehozott E-közigazgatási Szabad Szoftver Kompetencia Központ is segítette. A program honlapja, a LibreLogo.org oldal magyar és angol nyelvű oktatási anyagokat nyújt a programozás és annak oktatása iránt érdeklődők számára.
Új magyar dátumformátumok, gyorsabb helyesírási javaslatok
Az FSF.hu Alapítvány által támogatott ez évi szabad szoftveres magyar nyelvi fejlesztések méltó lezárásaként új magyar dátumformátumokkal bővül a LibreOffice, és villámgyorssá válik a hosszú hibás szavakra is a helyesírási javaslattevés (hibajegy: tdf#118162).
A következő videó az új toldalékolt, névelős, illetve számneves dátumformátumok használatát mutatja be, a több mint 30 formátum közül a „2018. július 27-én”, „szerdán”, „2017 júniusában” és a „kétezertizennyolcadik” dátumokon keresztül:
A „kétezertizennyolcadik” az új magyar helyesírásnak megfelelően az évszámok esetében kivételként kötőjel nélkül írandó, a számok esetében továbbra is a kötőjeles „kétezer-tizennyolcadik” a helyes forma. A LibreOffice mindkét formát helyesen kezeli, köszönhetően a libnumbertext programkönyvtárnak és az új NatNum12 számformátumkódnak. Hibajegy: tdf#115007.
Magyar szótövezés LibreOffice makróprogramozással
Az FSF.hu Alapítványon keresztül keresett meg Simonyi Béla egy érdekes feladattal: hogyan lehet szótöveket előállítani egy magyar szólistából? A Linux terjesztések részeként is elérhető Hunspell programmal egyszerűen:
echo "szótöveket előállítani szólistából" | hunspell -d hu_HU -s szótöveket szótő előállítani előállít szólistából szólista
De mi van, ha éppen nem áll rendelkezésre Linux? Használhatjuk a Windows alá elérhető Cygwin keretrendszer, vagy a macOS parancssorát, ahol ingyenesen is elérhető szabad szoftverekkel fordíthatjuk le a Hunspell programot.
A következő LibreOffice makróval még erre sincsen szükség, elég egy magyar LibreOffice, és annak beépített, tövezésre is alkalmassá tett magyar szótára:
“Magyar szótövezés LibreOffice makróprogramozással” bővebben
„10 Ft, azaz tíz forint” automatikusan
A szerződésekben, okiratokban szereplő számok automatikusan alakíthatók át számnevekké a LibreOffice fejlesztői változatában:
Mike Kaganski, a Collabora fejlesztője által bevezetett új NatNum12, (ideiglenesen még NatNum13 és NatNum14 is) natív számnévformátummal nemcsak a fejezet, oldal, ábra- és táblázatszámozásban, hanem az egyéni számformátumokban, dátumokban stb. is elérhetővé válnak a tőszámnévvé, sorszámnévvé és sorszámrövidítéssé való átalakítások. Sőt, tesztelés alatt áll a minden egyéb libnumbertext által biztosított függvényt elérhetővé tévő folt is, amely a tervek szerint a magyar esetében még a számok toldalékolását is magába foglalhatja a jövőben, automatizálva például a képletekre való automatikus hivatkozást egy készülő tankönyvben, pl. (5)-ben, (6)-ban, (7)-tel, (8)-cal stb.
A funkció jelenleg még fejlesztés alatt áll, például a nem végleges formátum mentése csak most vált elérhetővé a tesztelés számára, de a LibreOffice 6.1 előzetes változatában már kipróbálható lesz az új lehetőség.
Szabad magyar szótár 1.7, Zsort 1.0
A 2018. május 12-i Szabad szoftver konferencián került bejelentésre, és most megjelent az utóbbi évek legnagyobb magyar nyelvi vonatkozású szabad szoftveres fejlesztésének eredménye, a Szabad magyar szótár 1.7-es változata. A magyar szóalaktan leírását is tartalmazó szótár minden eddiginél pontosabb magyar helyesírás-ellenőrzést nyújt a LibreOffice, a Google Chrome, Mozilla Firefox, Scribus vagy akár az olyan kereskedelmi programok, mint a Google Dokumentumok, Adobe InDesign és macOS felhasználói számára.
A béta kiadások sokezres javításaihoz és szókincsbővítéséhez képest a végleges kiadás további 13 ezer szó-, morféma- és betűhatárra vonatkozó szótári bejegyzéssel bővült, amely lehetővé tette az első helyesen működő magyar betűrendbe soroló szabad szoftver, a Zsort elkészítését is.
A nyelvi fejlesztések a nyomdai minőségű automatikus magyar elválasztás megvalósításával folytatódhatnak a jövő évben. Kérjük, hogy ehhez adója 1%-ának felajánlásával segítse az FSF.hu Alapítványt, a magyar nyelvi fejlesztések fő támogatóját! A fejlesztések részletei:
Zsort 1.0
A Zsort (ejtsd zé-szort vagy zsort) a Szabad magyar szótár 1.7-es változatán és a Hunspell helyesírás-ellenőrzőn és morfológiai elemzőn, valamint a GNU sorton alapuló gAWK program, amely a következő előnyös tulajdonságokkal rendelkezik a helyesiras.MTA.hu akhsort webes betűrendbe soroló szolgáltatásához képest: (1) a felbontandó „ál-többjegyű” mássalhangzókat minden szótári szó (pl. más|szor) és heurisztikusan felismert összetett szó (pl. adás|szünet|kérés) esetében felismeri (2) 50 szónál több szó is rendezhető vele, akár több millió is (3) nem fagy le több szóból álló kifejezésekre, címekre, hanem helyesen képes azokat is rendezni (4) szabad program, így működése megismerhető, a kód módosítható és szabadon terjeszthető. További előnyei: (5) működése bár a GNU C Library-n (glibc) alapul, nem függ annak legújabb javításaitól (Koblinger Egmont javításaival a glibc 2.26 végre az IBM ICU/Unicode CLDR adatbázisához hasonlóan rendezi a kettőzött többjegyű mássalhangzók egyszerűsített alakjait). (6) A kifejezésekre vonatkozó rendezési szabályok mellett javítja a glibc különleges hibáját is, a zsanér, zsáner és a hasonlóan azonos alakú, csak a hosszú magánhangzók helyében eltérő szóalakok sorrendjének felcserélését is.
A Zsortot 4 millió különböző szóalakon összehasonlítva az IBM ICU/Unicode CLDR magyar rendezési algoritmusával, azonnal nyilvánvalóvá válik a különbség: 25 ezer szónak változik meg a pozíciója, amennyiben nem tekintünk minden cs, dz, dzs, gy, ly, ny, sz, ty, zs, ccs, ddzs, ggy, lly, nny, ssz, tty és zzs jelsorozatot automatikusan (kettőzött) többjegyű mássalhangzónak, hanem megvizsgáljuk a szavak tövét és toldalékolását, és annak megfelelően döntünk a szavak sorrendjéről, például a község, tizennyolc stb. szavak nem zs, vagy kettőzött ny betűt tartalmaznak. 5 további szó a 25 ezerből (sorkezdő mínuszjel jelöli a régi, és pluszjel jelöli a javított pozíciót):
--- szavak.icu 2018-05-17 15:36:53.958051037 +0200 +++ szavak.zsort 2018-05-17 15:37:07.209816339 +0200 @@ -1331,8 +1331,8 @@ ablakmélyedéseknél ablakmélyedési ablakmélyedésig -ablakmélyedést ablakmélyedésszerű +ablakmélyedést ablakmenedzserek ablakmenü ablakméret ... zsoldosseregre zsoldosseregünk zsoldosseregünkkel +zsoldosszellem +Zsoldosszerenádot +Zsoldosszerenádra zsoldost Zsoldost Zsoldostáborban @@ -4039942,9 +4039945,6 @@ zsoldosvezérről zsoldosvezért zsoldosvilág -zsoldosszellem -Zsoldosszerenádot -Zsoldosszerenádra zsoldosztás zsoldosztásra zsoldot @@ -4040806,11 +4040806,11 @@ zsongásról zsongássá zsongással +zsongásszerű zsongást zsongású zsongásuk zsongásunkat -zsongásszerű zsongat zsongatja zsongatják
A teljes lista itt tekinthető meg, a program félezer soros, a teszteseteket is tartalmazó forráskódja pedig itt.
Szabad magyar szótár 1.7.
A szótárfejlesztés kiemelt célja a legnépszerűbb, a magyar nyelv támogatásában is élen járó szabad irodai programcsomag, a LibreOffice, ahol a szótár az alapja a magyar szinonimaszótárban és a nyelvhelyesség-ellenőrzőben használt szótövezésnek, toldalékolásnak és morfológiai elemzésnek is, valamint az új toldalékoló felhasználói szótárnak. A legújabb szótár is úton van a LibreOffice 6.1 és 6.0-s változatába. A bevezetőben is felsorolt, Hunspell helyesírás-ellenőrzőt tartalmazó programok is a Szabad magyar szótár felhasználói, ahogy ez a szótár az alapja a Magyar Tudományos Akadémia helyesiras.mta.hu Helyes-e így? néven futó szolgáltatásának is. A Szabad magyar szótár bár nem helyesírási tanácsadó szolgáltatások üzemeltetésére készült, a legutóbbi fejlesztésekkel közelebb került ehhez: szótára, valamint a Hunspell program több ezer szótári szó esetében támogatja már a kiejtés alapú javaslattevést, pl. Niccse → Nietzsche, valamint a tipikus egybeírási hibák felismerését és pontos javítását: idegenszavakat → idegen szavakat, rákövetkező → rá következő, csirkefarhát → csirke far-hát stb.
Az új magyar helyesírási reform és a magyar szókincs változásainak követéséről, illetve a kapcsolódó fejlesztésekről részletesen szólnak a béta kiadások hírei.
A szótár- és programhibák a LibreOffice és a magyar fordítók OpenScope felületének hibabejelentője mellett most már a Szabad magyar szótár GitHub projektoldalán is bejelenthetők.
„Első fejezet” – új számozási stílusok
A LibreOffice 6.1 újdonságaként a fejezetcímekben és felsorolásokban magyar számneves számozási stílust is választhatunk már, ahogy ezt a következő videó bemutatja:
A fejlesztés az előző hírben már szereplő Numbertext programkönyvtáron alapul, amelynek LibreOffice integrációja az FSF.hu Alapítvány támogatásával valósult meg.
Angol, francia és német példa:
Kapcsolódó hibajegy: tdf#117171
Soros 2.0, Numbertext 1.0 béta

Új kiadás jelent meg a Soros programozási nyelvből, és a rá épülő LibreOffice-kiegészítőből a megújult Numbertext.org honlapon. A magyar fejlesztéssel több mint 30 nyelvre, és olyan különleges – az arab számok előtt használt – számrendszerekre alakíthatunk át számokat, mint a magyar számrovás és a kínai Szucsou számrendszer.
A reguláris kifejezéseken alapuló Soros nyelv a számok gyors és egyszerű számnévvé alakítására készült 2009-ben, illetve a BAHTTEXT (BAHTSZÖVEG) thai számnévre és pénznemre alakító ECMA/(MSZ) ISO OOXML (eredetileg MS Excel) táblázatkezelő függvény általánosítására. A LibreOffice-kiegészítő által telepített NUMBERTEXT() és MONEYTEXT() táblázatkezelő függvények használatát, és az új „de-CH” (svájci helyesírású német: „dreissig” „dreißig” helyett) nyelvi támogatást mutatja be a következő videó.
A nyelvi modulok a tőszámnevek mellett sorszámnevekkel (első, második, harmadik…) és sorszámokkal (az angolban 1st, 2nd, 3rd…, az új maláj modulban 1, ke-2, ke-3… stb.) is bővültek, hogy az OOXML-ből és a MS Wordből már ismerős tőszámneves, sorszámneves és sorszámos számozási stílusok a LibreOffice-ba is bekerüljenek a közeljövőben (pl. „Tizenkettedik fejezet”). A számok átalakítása interaktív módon is kipróbálható a honlapon, együtt az új sorszámneves és egyéb átalakításokkal, köztük az új magyar helyesírásnak megfelelő, kötőjel nélküli évszámokkal (a kétezer-tizennyolc tőszámnév helyett kétezertizennyolcat írunk évszámok esetében kivételesen).
A Soros programnyelv új nyelvi elemei nemcsak a javított specifikációból ismerhetők meg, hanem az új interaktív tananyagból is, amely egyben bevezet a szinte minden modern programnyelvben megtalálható reguláris kifejezések használatába is.
A Java, JavaScript és Python Soros interpreterek mellett az új C++ programkönyvtár is szabadon felhasználható az LGPL/BSD licenc szerint. A Soros programnyelv és a kapcsolódó fejlesztések olyan sikerre számíthatnak a jövőben, mint az FSF.hu Alapítvány által támogatott többi LibreOffice nyelvi eszköz: a Hunspell helyesírás-ellenőrző és a Szabad magyar szótár, amelyek sok más mellett a Magyar Tudományos Akadémia helyesírási tanácsadó oldala, a helyesiras.MTA.hu működésének alapját is biztosítják.
Betűrendbe sorolás javítása
A LibreOffice 6.1 a következő pontokon javítja a szavak, bekezdések és cellák szövegtartalmának magyar betűrendbe sorolását a helyesírási szabályoknak megfelelően:
– a ccs, ddz, ddzs, ggy, lly, nny, tty, ssz, zzs betűsorozatok mostantól kettőzött többjegyű mássalhangzóként kerülnek felbontásra a betűrendbe sorolásnál (kivéve ha az ssz, zzs a cssz, zssz, dzzs, szzs stb. része);
– a szóközök és kötőjelek nem számítanak a betűrendbe sorolásnál, pl. kistányér, kis virág. (Bekezdések rendezése esetén ez felülbírálható a szóköz mezőhatároló beállításával az Eszközök→Rendezés… menüponttal előhívható párbeszédablakban);
– homonimák, például csak a nagy kezdőbetűben különböző szavak esetén a kisbetűs alak megelőzi a nagybetűst, pl. tata, Tata.
A fentiek továbbra sem garantálják a helyes magyar betűrendbe sorolást, mivel nemcsak a kettőzött többjegyű mássalhangzók, de a többjegyű mássalhangzók sem egyértelműek: pl. pác|só, híd|zár, hód|zsír, meg|győző, levél|lyukasztó, ion|nyaláb, guvat|tyúk, alvás|zavar, köz|ség.
Mostantól viszont az automatikus besorolás minden esetben egyszerűen javítható: a kérdéses ponton a feltételes elválasztójel beszúrásával (Ctrl-kötőjel a Writerben). Az így javított szavak későbbi automatikus betűrendbe sorolásai már a magyar helyesírásnak felelnek meg, ahogy a következő videóban a meg|győződés szó példáján látható:
Kapcsolódó hibajegy és javítás: tdf#116666, c51973.
