2

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

% echo "He asked, 'Why can't I quote?'" | hunspell
Hunspell 1.3.2
*
*
& 'Why 3 10: why, whey, whiny
*
*
*
& ' 15 29: 's, e, s, i, a, n, r, t, o, l, c, d, u, g, m

Аспелл понимает это правильно:

% echo "He asked, 'Why can't I quote?'" | aspell -a
@(#) International Ispell Version 3.1.20 (but really Aspell 0.60.7-20110707)
*
*
*
*
*
*

Я бы предпочел использовать hunspell, но чтобы он игнорировал начальные и конечные символы одинарных кавычек, сохраняя при этом встроенные символы кавычек, такие как «not».

Как я могу это сделать?

2 ответа2

1

Удалите все ' , за которыми следует не алфавитно-цифровая, или перед которой стоит не буквенно-цифровая, или в начале или в конце строки:

echo "He asked, 'Why can't I quote?'" | perl -pe 's/'"'"'(\W)/$1/g;s/(\W)'"'"'/$1/g;s/^'"'"'//;s/'"'"'$//;' | hunspell
1

Вам необходимо добавить следующую строку в файл аффикса словаря (т.е. /usr/share/hunspell/en_US.aff)

IGNORE '

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .