Javított magyar mondatellenőrzés

 

A Lightproof magyar moduljának új, 1.5-ös kiadása a következő újdonságot és fontos javításokat tartalmazza:

  • Szóközökkel „r i t k í t o t t” szöveg felismerése (keskeny szóköz opció bekapcsolásánál), majd cserejavaslat nem törő keskeny szóközökre, ill. szóközök nélküli alakra. A funkciót Pénzes Dávid, a Neveléstudomány szerkesztője javasolta a kéziratokban gyakran előforduló közvetlen formázás gyors javítására.
  • A szavak hibás exponenciális idejű elemzésének javítása, amely nagyon hosszú szavaknál akár a LibreOffice lefagyását is okozhatta (a hibát a mondatellenőrző által használt CPython megszokotthoz képest kevésbé optimalizált regexp programkönyvtára, és a magyar nyelvi szabályokba csúszott leírási hiba együttese eredményezte, l. 72757-es hibajegy). A Lightproof lefagyását Pénzes Dávid, a LibreOffice lefagyását (amely akkor jelentkezik, ha a Python mondatellenőrző lefagyása után más Python komponenst, például a LibreLogót szeretnénk használni) Lakó Viktória jelezte.
  • Az elromlott (a menüben nem állítható) keskeny szóköz opció működésének helyreállítása;
  • tizedestört vagy sorszám ellenőrzése: a javított változat már nem figyelmeztet, ha pont követi, tehát sorszám;
  • nagy számok ezrestagolásánál többszörös illeszkedés javítása (nincs párhuzamos hibajelzés a szám elejére vonatkozóan).

A LibreOffice.org-ról letölthető, a magyar mondatellenőrzőt tartalmazó LibreOffice következő változatai (4.1.5, 4.2, beleértve a december 20-án már megjelent 4.2 RC1-es változatot) tartalmazzák a javításokat, illetve a fenti címről letöltött mondatellenőrző-kiterjesztés külön is telepíthető.

Hozzászólások

  1. Adamov András szerint:

    Kedves Writer felhasználók, fejlesztők!

    Nem tudja valaki véletlenül, hogy a helyesírás ellenőrzésben (hunspell), hogyan lehet bővíteni az ignorálandó karakterek listáját?
    Arra gondolok, hogy a “$szó” pl, helyesnek minősül, itt a $ karaktert ignorálja az ellenőrző.
    Szükségem lenne ascii 32 alatti karakterek használatára.
    A csere pl. \x03 –> \x03\x20 space beszúrása megoldja a dolgot, de nem túl elegáns, ráadásul egyéb programokban nem használható mint pl. subtitle edit.

    Köszönöm.

    • Kedves András!

      Szerintem ezeket mind ignorálja a helyesírás-ellenőrző (pontosabban a Writer), de a hu_HU.aff állományban (amely pl. Linuxokon lehet rendszerszinten is, l.

      locate hu_HU.aff

      parancs) az IGNORE után adhatók meg az ignorálandó (pl. a százalékjel), vagy cserélendő karakterek (pl. a hibás hullámvonalas õ elfogadható hosszú ő-ként is):

      IGNORE %
      ICONV 1
      ICONV õ ő

      Pontosan hol jelentkezik probléma, a parancssorban? Üdvözlettel: Laci

  2. Adamov András szerint:

    Kedves László!

    Köszönöm a választ, megtaláltam a fájlt, editálni még nem tudtam, de biztos, hogy jó lesz.

    A probléma úgy adódott, hogy win alól a Subtitle Edit (http://www.nikse.dk/SubtitleEdit/) programmal próbálom hívni a Libre beépített h.i. ellenőrzőjét.
    Ugyanez a helyzet, ha a Notepad++ 6.52 alá telepített hunspell plug-int használom.
    A Writernél a probléma elő sem kerül, az ugyanis lenyeli a betöltésnél a 32 alatti karaktereket és egy #-t rak be helyettük.

    Tehát a Writer-en kívülről hívott h. i. ellenőrzés a “\x07akármi”-nél alapból nem ignorálja a 7-es ascii karaktert. (és gondolom a többi 32 alattit sem.) a 2,3,6-ot biztos nem.

    Köszönöm a segítséget!

    Üdvözöl: András

  3. Adamov András szerint:

    Kipróbáltam, nem működik.

    Az IGNORE beszúrásával csak annyit értem el, hogy az addig helyes szavak némelyike,
    teljesen random helytelenre vált.

    IGNORE ASCII2 (nem engedi kiírni azért írom így.)
    IGNORE ASCII3
    IGNORE ASCII6
    IGNORE ASCII7

    Bizarr.

    • Kedves András! Kipróbáltam, működik az IGNORE (és a szavakon belül előforduló vezérlőjelek figyelmen kívül hagyására is alkalmas BREAK is). A jelzett hibát valószínűleg az okozza, hogy a szerkesztő program átalakítja az állomány kódolását (ami vegyes UTF-8/8-bit). Megoldást jelent az IGNORE-t tartalmazó sor külön állományban való elkészítése, és az aff állományhoz való hozzáfűzése (windowsos parancssorban

      TYPE állomány_az_egy_sorral.txt >>hu_HU.aff

      parancs).

      A BREAK-os részlet (ahol a szó eleji és végi előfordulásokat külön kell megadni:

      BREAK 6
      BREAK ^ASCII2
      BREAK ASCII2
      BREAK ASCII2$
      BREAK ^ASCII3
      BREAK ASCII3
      BREAK ASCII3$

      (A problémát pedig az oldaná meg igazán, ha a szerkesztő program (vagy talán az NHunspell .NET-es felület) elvégezné a szavakra tördelést, mivel azt a Hunspell programkönyvtár nem tartalmazza). Üdvözlettel: Laci

  4. Kenczler Mihály szerint:

    Tisztelt Németh László úr!
    Napi olvasószerkesztői munkám során néha (=kéthetente) előfordul, hogy hosszú összetételekben a “rendszer” szót az Ön ellenőrzőprogramja összetettnek veszi. (LibreOffice-t, illetve magyar nyelvre állított böngészőket használok.)
    A tünet: pirossal aláhúzza a hét vagy több szótagú, a “rendszer”-t tartalmazó szót akkor is, ha az összetétel két tagú, ha a rendszer szót egy szónak esszük. Például: rendszerszemléletűség.

    Úgy tudom, hogy a “rendszer” szó nem összetett, annak ellenére, hogy szótagjai értelmesek, és használatosak külön-külön is. Éppen emiatt nehéz megakadályozni, hogy egy szónak vegye az ellenőrzőprogram?

    Nem súlyos a dolog, de az online szoftverekbe ágyazott ellenőrzők nagyszámú felhasználója, a náluk esetleg berögződő helytelen szokás miatt esetleg érdemes lenne foglalkozni vele. (Nehogy fellépjen a “wordizmus”: ahogy az emberek tömegei a Word helytelen alapértelmezése nyomán nagybetűvel kezdték írni a hónapok és napok neveit…)
    Üdvözlettel:
    Kenczler Mihály

    • Kedves Kenczler Mihály Úr! A magyar helyesírás nincs tekintettel az összetett szavak ilyen mértékű jelentésváltozására sem, ezért jelenleg még így írandó: rendszer-szemléletűség, minőség-ellenőrzés stb. Viszont a figyelmeztetés korántsem alaptalan, az új helyesírási szabályzat már nemcsak a hagyományos alakok (pl. belügyminisztérium) esetében fogja megengedni az egybeírást, így a rendszer-szemléletűség tetszőlegesen írható lesz kötőjellel vagy anélkül is, talán már idéntől. Köszönettel: Németh László

  5. Németh Ferenc szerint:

    Üdvözletem mindenkinek
    Ha már a fejlesztésnél tartunk, had adjak egy javaslatot én is.
    Használok egy OCR programot, ami mostanában pdf felismerésnél olyan hibát követ el, hogy egyes szavak betűi közé szóközt rak, így “e g y b e t ű s szavak” jönnek létre. Nem sok, de valamennyi.
    Ezeket az egybetűs szavakat sem a helyesírás-ellenőrző, sem a lightproof nem jelzi hibának.

    Logikailag úgy lehetne megoldani, hogy az “a”, “A”, “s”, “S”, “I” karakterek kivételével hibának jelezze a többi karaktert (“a A s S” a magyar szövegekben fordul elő, “I” pedig az angolban).

    Azt, hogy a nyelvi beállítások szerint osztályozzon, nemtudom, hogy meg lehet-e oldani, de ez még egy hasznos funkció lehetne az egyébként is hasznos programba. Nemtudom, hogy hány felhasználónak lenne hasznos ez az apróság.
    Köszönettel: Feri

    • Kedves Feri! Most már hibának jelzi a Lightproof ezeket, ha a keskeny szóköz opció bekapcsolásra kerül az Eszközök»Kiterjesztéskezelő»Lightproof mondatellenőrző/grammar checker (magyar)»Beállítások menüben. Tényleg hasznos a névelőkre is figyelni, úgyhogy a következő változatban ez lehet, hogy kiegészítésre kerül. A PDF-ből átkerülő elválasztójelek kezelése, törlése, a következő szóval vagy szórészlettel való egybevonása hasonlóan hasznos lehet még esetleg! Köszönöm a javaslatot! Üdvözlettel: Laci