## Функции и использование различных методов обработки текста > Обычно в режиме HOOK иногда считывается неправильный текст, например, повторяющийся текст или другие беспорядочные тексты, в этом случае необходимо использовать обработку текста для решения проблемы. > Если есть очень сложные формы ошибок, можно активировать несколько методов обработки и настроить их порядок выполнения, чтобы получить богатый набор методов обработки. 1. #### Фильтрация символов, не входящих в японский набор символов в тексте Иногда считывается текст с глифами. Поскольку эта проблема обычно возникает в японских играх, этот метод заранее фильтрует **символы, которые не могут быть закодированы с использованием набора символов shift-jis**, например: `エマさんԟのイԠラストは全部大好き!` будет обработан в `エマさんのイラストは全部大好き!` 1. #### Фильтрация управляющих символов Этот метод фильтрует управляющие символы ASCII в тексте, такие как `` и т.д. 1. #### Фильтрация пунктуации на английском языке Этот метод фильтрует ```!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~``` в тексте. 1. #### Фильтрация других глифов Это требует настройки разрешенных кодировок символов или диапазонов Unicode в настройках. Символы, которые не разрешены, будут отфильтрованы. 1. #### Фильтрация символов вне「」 Например: `こなみ「ひとめぼれってやつだよね……」` будет обработан в `「ひとめぼれってやつだよね……」` 1. #### Удаление фигурных скобок {} Это не совсем соответствует буквальному значению, на самом деле это в основном используется для фильтрации японского фуриганы. Многие игровые сценарии используют {} и некоторые другие символы для добавления фуриганы к иероглифам. Поддерживаются два формата фуриганы: `{汉字/注音}` и `{汉字:注音}`, например: `「{恵麻/えま}さん、まだ{起き/おき}てる?」` или `「{恵麻:えま}さん、まだ{起き:おき}てる?」` будет обработан в `「恵麻さん、まだ起きてる?」` 1. #### Фильтрация или усечение по количеству слов Этот метод определяет, как обрабатывать текст, основываясь на его количестве слов. Если длина текста меньше минимального количества слов, текст будет отфильтрован. Например, в некоторых играх в статическом состоянии непрерывно обновляется один символ в виде перевернутого треугольника, который можно отфильтровать с помощью этого метода. Если длина текста превышает максимальное количество слов, и активирована опция **Усекать вместо фильтрации при превышении максимального количества слов**, текст будет усечен до указанного количества слов; в противном случае текст будет полностью отфильтрован. Если активирована опция **Обратное усечение при усечении**, при усечении будут сохранены последние `максимальное количество слов` слов; в противном случае будут сохранены первые `максимальное количество слов` слов. 1. #### Фильтрация или усечение по количеству строк Это похоже на предыдущий метод, но определяется на основе количества строк в тексте. Он может использоваться для усечения первых трех строк текста или последней строки текста, а также для фильтрации строк, которых слишком много или слишком мало. Если количество строк в тексте меньше минимального количества строк, текст будет отфильтрован. Если количество строк в тексте превышает максимальное количество строк, и активирована опция **Усекать вместо фильтрации при превышении максимального количества строк**, текст будет усечен до указанного количества строк; в противном случае текст будет полностью отфильтрован. Если активирована опция **Обратное усечение при усечении**, при усечении будут сохранены последние `максимальное количество строк` строк; в противном случае будут сохранены первые `максимальное количество строк` строк. 1. #### Удаление повторяющихся символов _AAAABBBBCCCC->ABC Это самый часто используемый фильтр. Из-за того, что игры иногда рисуют текст, затем тень, затем контур и т.д., режим HOOK может несколько раз извлекать повторяющиеся символы. Например, `恵恵恵麻麻麻さささんんんははは再再再びびび液液液タタタブブブへへへ視視視線線線ををを落落落とととすすす。。。` будет обработан в `恵麻さんは再び液タブへ視線を落とす。`. По умолчанию количество повторений равно `1`, автоматически анализирует количество повторяющихся символов, но также есть случаи неточного анализа, рекомендуется указать определенное количество повторений. 1. #### Фильтрация исторических повторений LRU Иногда способ повторного рисования игры не по одному символу, а по строкам, и, что еще более извращенно, в статическом состоянии непрерывно перерисовывается текущий отображаемый текст. Например, предположим, что текущий отображаемый текст - две строки `你好` и `哈哈`, если не использовать этот метод, будет повторяться вывод `你好哈哈你好哈哈你好哈哈你好哈哈……`. Используя этот метод, кэшируется несколько недавно выведенных текстов, когда кэш заполнен и появляется новый текст, удаляется самая старая запись в кэше, чтобы недавний текст не повторялся. 1. #### Удаление повторяющихся строк _ABCDABCDABCD->ABCD Это тоже довольно распространено, похоже на вышеупомянутое, но обычно не повторяется, а быстро обновляется несколько раз. Эффект: `恵麻さんは再び液タブへ視線を落とす。恵麻さんは再び液タブへ視線を落とす。恵麻さんは再び液タブへ視線を落とす。` станет `恵麻さんは再び液タブへ視線を落とす。`. Аналогично, по умолчанию количество повторений равно `1`, автоматически анализирует количество повторяющихся символов, но также есть случаи неточного анализа, рекомендуется указать определенное количество повторений. 1. #### Удаление повторяющихся строк _S1S1S1S2S2S2->S1S2 Это относительно сложно, иногда количество обновлений каждого предложения не одинаково, в этом случае только программа может полностью решить, как удалить дубликаты. Например, `恵麻さん……ううん、恵麻ははにかむように私の名前を呼ぶ。恵麻さん……ううん、恵麻ははにかむように私の名前を呼ぶ。恵麻さん……ううん、恵麻ははにかむように私の名前を呼ぶ。なんてニヤニヤしていると、恵麻さんが振り返った。私は恵麻さんの目元を優しくハンカチで拭う。私は恵麻さんの目元を優しくハンカチで拭う。`, где `恵麻さん……ううん、恵麻ははにかむように私の名前を呼ぶ。` повторяется 3 раза, `なんてニヤニヤしていると、恵麻さんが振り返った。` не повторяется, `私は恵麻さんの目元を優しくハンカチで拭う。` повторяется 2 раза, в конечном итоге анализ даст `恵麻さん……ううん、恵麻ははにかむように私の名前を呼ぶ。なんてニヤしていると、恵麻さんが振り返った。私は恵麻さんの目元を優しくハンカチで拭う。`, где из-за сложности может быть небольшая ошибка анализа, это неизбежно, но обычно можно получить правильный результат. 1. #### Фильтрация угловых скобок <> Это на самом деле фильтрация HTML-тегов, название написано так, чтобы избежать путаницы для новичков. Например, `