hunspell

Библиотека для проверки орфографии, морфологического анализа и генерации слов, основанная на словарях с правилами аффиксов. Она предоставляет инструменты для анализа структуры слов, проверки их корректности и предложения исправлений. Изначально созданная для венгерского языка, библиотека теперь поддерживает множество языков и используется в различных приложениях, включая офисные пакеты, браузеры и текстовые редакторы.

Особенности

  • поддержка множества языков через загружаемые словари;
  • морфологический анализ;
  • генерация словоформ на основе заданной основы и аффиксов;
  • проверка орфографии и предложение исправлений;
  • поддержка пользовательских словарей и исключений.

Основные компоненты

Hunspell состоит из нескольких ключевых компонентов, которые обеспечивают все функции проверки орфографии и морфологического анализа (подробнее с документацией можно ознакомиться здесь).

Проверка орфографии

Библиотека предоставляет функции для проверки корректности слов на основе загруженного словаря. Проверка включает не только поиск слова в словаре, но и применение правил аффиксов для определения допустимых словоформ.

Основные функции проверки:

  • Hunspell_spell() — проверка, является ли слово корректным согласно словарю;
  • Hunspell_suggest() — генерация списка предложений для исправления опечаток;
  • Hunspell_suggest_auto() — автоматический выбор наилучшего исправления;
  • Поддержка составных слов и слов с дефисами для языков, где это допустимо.

Морфологический анализ

Hunspell выполняет морфологический анализ слов, разбивая их на основу и аффиксы. Это позволяет не только проверять орфографию, но и понимать структуру слова, что полезно для лингвистических приложений.

Функции морфологического анализа:

  • Hunspell_analyze() — возвращает морфологический разбор слова (список основ и аффиксов);
  • Hunspell_stem() — извлечение основы (основ) из слова;
  • Hunspell_get_dic_encoding() — получение кодировки словаря (например, UTF-8);
  • Поддержка нескольких вариантов разбора для омонимов.

Генерация словоформ

На основе заданной основы и правил аффиксов библиотека может генерировать допустимые словоформы. Это полезно для тестирования словарей, создания лингвистических ресурсов или расширения словарного запаса приложений.

Функции генерации:

  • Hunspell_generate() — генерация словоформ из основы и аффиксов;
  • Hunspell_generate2() — генерация с учётом заданных флагов аффиксов;
  • Поддержка генерации всех возможных форм или только конкретных (например, множественного числа).

Работа со словарями

Hunspell загружает словари, состоящие из файлов с расширениями .dic (список слов и их флаги) и .aff (правила аффиксов). Библиотека позволяет управлять несколькими словарями одновременно, включая пользовательские словари.

Функции управления словарями:

  • Hunspell_constructor() / Hunspell_destructor() — создание и уничтожение экземпляра Hunspell с загрузкой словаря;
  • Hunspell_add_dic() — добавление дополнительного словаря;
  • Hunspell_add() — добавление слова в пользовательский словарь (во время выполнения);
  • Hunspell_remove() — удаление слова из пользовательского словаря;
  • Hunspell_add_with_affix() — добавление слова с указанием примера для наследования аффиксов.

Обработка текста и кодировок

Библиотека корректно работает с различными кодировками текста, включая Unicode (UTF-8), что позволяет поддерживать множество языков. Внутренние преобразования обеспечивают совместимость между разными кодировками словарей и входного текста.

Функции обработки текста:

  • Автоматическое определение кодировки словаря;
  • Конвертация входного текста во внутреннюю кодировку при необходимости;
  • Поддержка работы с UTF-8 как основной кодировкой в современных версиях;
  • Функции для нормализации текста (например, приведение к нижнему регистру с учётом языка).

Использование в проекте

Документация по использованию Conan-пакетов для разработки приложений для ОС Аврора.

На сервере Conan библиотеки заранее собраны и размещены под различные версии ОС Аврора 4 и ОC Аврора 5. Для данных версий представлены архитектуры armv7hl, aarch64 и x84_64.

Библиотеку можно использовать в проекте с помощью данного conanfile.py

from conan import ConanFile

class Application(ConanFile):
    settings = "os", "compiler", "arch", "build_type"
    generators = "PkgConfigDeps"

    requires = (
        "hunspell/1.7.2@aurora",
    )    

Процесс локальной сборки описан в документации.

hunspell

Hunspell is a free spell checker and morphological analyzer library.
Лицензия
MPL-1.1
Версия
Автор
Daniil Markevich <d.markevich@omp.ru>
Домашняя страница
Скачать
armv7
371.18 Kb
MD5: f3a7444c3750dd99021452cb793e68a2
Updated: 04.09.2025, 11:36:25
armv8
390.09 Kb
MD5: 3aebf27ec09957406e85067ce83b2bf7
Updated: 04.09.2025, 11:36:15
x86_64
406.67 Kb
MD5: 7a6eb92aa096878b7bfe382dc3f961f1
Updated: 04.09.2025, 11:36:27
Использование в проекте

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.