Centaur
00:01 24-06-2005 [Soft] Извращаемся со словарями
В прошлом году, помнится, хотел я словарь. Кончилось тогда тем, что я нашёл ispell и словарь Лебедева, в котором все Ё на месте. Теперь пытаюсь всё это дело поставить и заюзать.

Итак, проблема первая. ispell — программа исходно Linux’овая. У неё есть немного компиляций под винду. Из них: одна нативная, вторая — под Cygwin, третья — под emx (DOS-расширитель). И все три пользовательский интерфейс строят на ESC-последовательностях DOS’овского драйвера ANSI.SYS. Гхым. В NT’шной консоли, разумеется, их видно как ←[2J и прочие трудночитаемые надписи.

Ну ладно, фиг с ним, с ispell’ом. Есть ещё такая штука, как aspell, у неё даже есть официальный порт под винду, с инсталлятором. Качаем, устанавливаем.

Да, но проблема вторая: aspell не совместим по словарю с ispell’ом. Русский словарь к aspell’у на сайте есть, но он без Ё. Мне такое не подходит.

Ага. Долго читаем Яндекс, находим ссылку на http://www.inp.nsk.su/~grozin/aspell/: Как отконвертировать ispell’овский словарь Лебедева в формат aspell’а. Ну и вперёд.

Проблема третья. aspell работает в некоей внутренней кодировке, а для работы с текстами ему надо ещё файлы кодировок. В комплекте идёт koi8-r. Нет, я понимаю, что под Linux’ом так принято, но, понимаете, у нас тут винда. А в входных файлах предполагаются «кавычки», —тире— и прочие специфичные для windows-1251 символы. Да и консоль отображает в основном cp866, изредка windows-1251.

Итак, нам нужен файл кодовой страницы windows-1251 для aspell’а. Нет ничего проще, в документации написано — хотите делать файлы кодовых страниц, качайте пакет aspell-lang.

Да, но те файлы кодовых страниц, которые делает mkchardata из aspell-lang, подходят для aspell 0.60 и выше. Проблема четвёртая: порт под винду сделан только для 0.50, а там они совершенно другого формата.

Читаем Гугл. Много думаем. Выходим на проект bgoffice — видимо, болгарский OpenOffice. Мда. Ну хорошо, что у них там кодировка тоже windows-1251. Вытаскиваем из CVS файл cp1251.dat. Прописываем его в качестве основной кодировки, собираем словарь. Словаря, между прочим, получается ни много ни мало 43 мегабайта.

Проверяем. Надо же, работает. Только не даёт редактировать неправильные слова, как Word, и не даёт откатывать назад. -ться/-тся, разумеется, тоже не поймает, но, в конце концов, это словарь, а не проверка грамматики.

Спрашивается, почему, прежде чем оно начнёт приемлемо работать, нужно оббежать пол-Интернета?