Программный интерфейс (API) проверки орфографии
API проверки орфографии является простой надстройкой над интерфейсом морфологического анализатора и обеспечивает традиционные алгоритмы подбора кандидатов на замену для любого поданного слова. Модуль доступен в исходных текстах, так что подробности реализации и использованные модели проще всего смотреть, читать и при необходимости модифицировать непосредственно «по месту».
1.Интерфейс морфологического анализатора
struct morphomodule { short (MLMA_API EXPORT *checkword)( const char*, unsigned short ); short (MLMA_API EXPORT *lemmatize)( const char*, unsigned short, char*, lexeme_t*, char*, unsigned short, unsigned short, unsigned short ); short (MLMA_API EXPORT *buildform)( const char*, lexeme_t, unsigned short, unsigned char, char*, unsigned short ); short (MLMA_API EXPORT *checkhelp)( const char*, char* ); };
Подробно этот интерфейс, общий для всех морфолоических анализаторов, и порядок работы с ним доступны в описаниях русского морфологического анализатора.2.Проверка правописания
int spellCheckWord( struct morphomodule* module, const char* pszstr );
Просто транслирует вызов, передавая аргументы и добавляя нулевые настройки, методу checkword интерфейса morphapi, переданного параметром module.3.Подбор кандидатов на замену
int spellCheckHelp( struct morphomodule* module, char* szbuff, unsigned ccbuff, const char* pszstr );
Функция применяет основные методы подбора кандидатов на замену в предположении, что переданная строка является ошибочным начертанием, восстанавливает найденные варианты замены в массив szbuff размерности ccbuff, разделяя их нулями, и возвращает количество построенных вариантов.