Spelling

Spell checkers

 * Ispell najstarsi spell checker. Uz sa dlhsiu dobu nevyvija, posledna verzia programu ispell-3.4.00, velky pocet dictionaries, ktore boli dlhodobo udrziavane, obnovovane. Ispell program a prislusne slovniky sa v Fedore uz dlho nenachadza. V podstate jediny zmysel pouzivania Ispell bola podpora ruskeho (Lebedev) slovnika, ktory sa vyvijal prave pre tento spell checker. Subory so samotnymi slovnikmi a  sa v Fedora default nachadzaju v  (zavisi od nastavenych ciest v  programe).


 * Aspell nahradza Ispell ako program alebo ako kniznica, najprv bol vyvijany ako Pspell. Od verzie 0.6 ma podporu unicode + affix compression. Pouziva "Ispell compatibility script for Aspell", ten sa vztahuje na samotny program, nie vsak na dictionaries, ktore sa znacne lisia od Ispell-ovskych, a ktore sa v Aspell nedaju pouzit. Transformacia Ispell na Aspell (ako aj na Hunspell) dictionaries znacne komplikovana, problem s affix suborom atd. V repozitaroch Fedory sa nachadza program aspell a jazykove slovniky, bohuzial jednotlive dictionaries nepatria prave k najaktualnejsim. V pripade potreby preto instalujeme len samotny program bez konkretnych slovnikov. Dictionaries subory  a  sa nachadzaju v.


 * MySpell kombinuje svojich dvoch predchodcov. Bol vyvinuty pre OpenOffice.org, pouzivala ho aj Mozilla. Od verzie OpenOffice.org 2.0.2, resp. aj Firefox 3 sa uz nepouziva a bol nahradeny Hunspell-om.


 * Hunspell najnovsi (dufajme, ze aj posledny) spell checker. Pouziva sa aktualne v LibreOffice, Mozilla, Chromium (upravene slovniky) atd. Je zalozeny na MySpell (kompatibilne dictionaries), pridava podporu Unicode a rozne nove vlastnosti. Hunspell dictionaries si v podstate kazdy projekt vytvara vlastne. Hunspell spell checker je uz v Fedore default nainstalovany (program vratane anglickeho slovnika). Aktualnost jednotlivych dictionaries v repozitaroch Fedory nie je prilis idealna, preto potrebne slovniky radsej nainstalovat manualne (z ineho zdroja). Subory  a  sa nachadzaju v.

Dictionaries

 * https://addons.mozilla.org/firefox/language-tools/
 * http://extensions.openoffice.org/dictionary

Slovak
Projekt sk-spell pravidelne aktualizovany, podpora vsetkych spell checker-ov (a nie len slovnikov), najme vsak najnovsi Hunspell. FTP server vsak neobsahuje vsetky subory, ktore sa v ramci projektu vytvaraju, aktualizuju.
 * https://addons.mozilla.org/firefox/addon/slovak-spell-checking-dictiona/

Russian
Словарь русского языка для ispell (автор Александр Лебедев) на основе которого сделанные практически все остальные словари. Включена полноценная поддержка буквы ё (другие словари просто заменяют букву ё на букву е). Самый последний словарь rus-ispell-0.99g5.tar.gz использует ~ 139.000 базовых слов или ~ 1.367.000 полное число образуемых из них словоформ (небольшая розница в числе в зависимости от буквы ё/е), KOI8-R кодировка.
 * https://addons.mozilla.org/firefox/addon/russian-hunspell-dictionary/
 * http://www.sisyphus.ru/ru/srpm/Sisyphus/ispell-ru-lebedev

chromium dictionaries
Chromium, resp. Google Chrome sice pouziva Hunspell spell checker avsak samotne slovniky (koncovka ) pouzivaju vlastny optimalizovany format. Subor (binarny format) s optimalizovanym formatom je vytvoreny z klasickych hunspell slovnikov,  (a navyse , kde mozu byt ulozene dalsie, nove slova) pouzitim programu , ktory je sucastou Chromium browser project. Google Chrome si po vybere uzivatelom konkretneho jazyka vzdy sam stiahne konkretny, potrebny slovnik. Google Git hunspell_dictionaries repository obsahuje vsetky dictionaries. Napr. pre slovencinu si aktualne (marec 2019) stiahne subor sk-SK-3-0.bdic. Google Git powered by Gitiles neumoznuje priamo stiahnut raw subor, takze manualne stiahnut napr. samotny subor len nejak takto $ curl ' https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries.git/+/refs/heads/master/sk-SK-3-0.bdic?format=TEXT ' | base64 -d > sk-SK-3-0.bdic Tento subor (so slovnikom pre slovencinu) sa nachadza. Slovnik pre slovencinu je znacne historicky, verzia z roku 2005, pricom LibreOffice alebo Firefox pouzivaju najnovsiu verziu z roku 2013. Je teda max. ziaduce zamenit slovnik Google Chrome najnovsou verziou. Jedina moznost je pouzit program.
 * https://www.chromium.org/developers/how-tos/editing-the-spell-checking-dictionaries
 * https://chromium.googlesource.com/chromium/deps/hunspell_dictionaries/+/refs/heads/master/README.chromium

Kompilacia programu zo zdrojovych kodov Chromium browser project [musinsky@strela ~]$ pwd /home/musinsky [musinsky@strela ~]$ mkdir ~/CHROMIUM && cd ~/CHROMIUM [musinsky@strela CHROMIUM]$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git Cloning into 'depot_tools'... [musinsky@strela CHROMIUM]$ export PATH="$PATH:/home/musinsky/CHROMIUM/depot_tools/" [musinsky@strela CHROMIUM]$ fetch --no-history --nohooks chromium Running: gclient root [musinsky@strela CHROMIUM]$ cd src/ [musinsky@strela src]$ # ./build/install-build-deps.sh  # skip (not need, building only "convert_dict") [musinsky@strela src]$ gclient runhooks [musinsky@strela src]$ gn gen out/Default Done. Made 12193 targets from 1929 files in 4851ms [musinsky@strela src]$ autoninja -C out/Default convert_dict /home/musinsky/CHROMIUM/depot_tools/ninja -C out/Default convert_dict ninja: Entering directory `out/Default' [950/950] LINK ./convert_dict [musinsky@strela src]$ cd out/Default/ [musinsky@strela Default]$ ./convert_dict Usage: convert_dict Example: convert_dict en-US will read en-US.dic, en-US.dic_delta, and en-US.aff from the current directory and generate en-US.bdic [musinsky@strela Default]$
 * https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md
 * 1) about 5-10 minutes
 * 1) about 2-3 minutes
 * 1) about 2-3 minutes

Programom konvertujeme aktualne slovenske slovniky (original Hunspell dictionaries z LibreOffice alebo Firefox ), t.j. subory  a  (pripadne aj ), na Google Chrome vlastny optimalizovany format. Google Chrome neumoznuje pridat nejaky vlastny alebo novy slovnik, takze musime zamenit povodny slovensky (ale zastaraly) Google Chrome slovnik na tento aktualny, novo vytvoreny slovnik. $ cp -ip sk-SK.bdic $HOME/.config/google-chrome/Dictionaries/sk-SK-3-0.bdic cp: overwrite '/home/musinsky/.config/google-chrome/Dictionaries/sk-SK-3-0.bdic'? y

Analogicky takto mozeme vytvorit a pridat aj slovensky ASCII (bez diakritiky) slovnik. Kedze Google Chrome neumoznuje pridat vlastny slovnik, musime v samotnom prehliadaci pridat nejaky "iny jazyk" napr. cestinu, a potom, ako si prehliadac stiahne prislusny subor zo slovnikom, ho prepiseme nasim novo vytvorenym slovenskym ASCII slovnikom. $ cp -ip sk-SK-ascii.bdic $HOME/.config/google-chrome/Dictionaries/cs-CZ-3-0.bdic cp: overwrite '/home/musinsky/.config/google-chrome/Dictionaries/cs-CZ-3-0.bdic'? y

!!! POZOR !!! ak by sa casom original Google Chrome slovnik obnovil (nejaky update v repository), tak sa nas subor s upravenym slovnikom prepise. Pre sk-SK slovnik len mozeme dufat, ze update bude na aktualnu verziu a teda cela tato procedura so zamenou odpadne. V pripade update cs-CZ slovnika (v skutocnosti nas sk-SK-ascii slovnik) musime potom tento subor manualne prepisat. Samozrejme idealna by bola moznost pridavat do Google Chrome vlastne slovniky.

aspell-ru
Najaktualnejsi build pre ruske (Lebedev) Aspell (Ispell a Hunspell) dictionaries. Zo suboru extrahujem vsetky subory z  a  do systemoveho. Linkujem pouzivanie sucasne slovnika aj s "yo" resp. "ye" $ ln -s ru-lebedev.dat ru.dat

$ aspell --lang=ru dump master ru-lebedev-io > ru-lebedev-io_utf8.txt $ iconv -f UTF8 -t KOI8-R ru-lebedev-io_utf8.txt > ru-lebedev-io_koi8-r.txt C:\> aspell --lang=ru create master ru_new.rws < ru-lebedev-io_koi8-r.txt
 * aspell dictionaries from Linux to Windows
 * export from Linux
 * import to Windows
 * install original (old) russian dictionary
 * must copy (rewrite) file from Linux to Windows

ispell-ru
Na vytvorenie ruskeho (Lebedev) slovnika je potrebna len utilita, ktora je sucastou ispell balika. Pre jej kompilaciu je potrebny parser generator $ wget wget https://www.cs.hmc.edu/~geoff/tars/ispell-3.4.00.tar.gz $ tar -xzvf ispell-3.4.00.tar.gz $ cd ispell-3.4.00/ $ make buildhash

Vytvorime aktualny rusky (Lebedev) slovnik (zo source files) s podporou ruskeho "yo", pripadne oddelene slovniky s "yo" resp. "ye" $ wget ftp://scon155.phys.msu.su/pub/russian/ispell/rus-ispell-0.99g5.tar.gz $ mkdir rus-ispell $ tar -xzvf rus-ispell-0.99g5.tar.gz -C rus-ispell $ cd rus-ispell $ sed -i 's/buildhash/..\/buildhash/g' Makefile  # use compiled ../buildhash (from parrent dir) $ make YO=1

cstocs

 * 1) get patch from debian cstocs package (changes to 3.42-3 are not really necessary)

Perl program cstocs sa nachadza v CPAN module Cstools, ale vo Fedore tento modul nie je, takze potrebna kompilacia, resp. instalacia

$ dnf install perl-ExtUtils-MakeMaker $ wget https://cpan.metacpan.org/authors/id/J/JA/JANPAZ/Cstools-3.42.tar.gz $ tar -xzvf Cstools-3.42.tar.gz $ cd Cstools-3.42/ $ perl Makefile.PL $ make; make test $ make install $ perl Makefile.PL PREFIX=$HOME/Cstools $ make; make test $ make install $ export PATH=$PATH:$HOME/Cstools/bin $ export PERL5LIB=$HOME/Cstools/share/perl5/  # add to @INC path, check with
 * 1) install as admin default to /usr/local
 * 1) install as user
 * 1) execute as user

$ cstocs Use of uninitialized value $ARGV[0] in pattern match (m//) at /home/musinsky/Cstools/bin/cstocs line 132. This is cstocs version 3.4. if ($ARGV[0] =~ /^--?i(npl)?.*?(\..+?$)?$/) { by line if (defined($ARGV[0]) &&  $ARGV[0] =~ /^--?i(npl)?.*?(\..+?$)?$/) {
 * small fix (with debian patch) in replace original line 132