Русский

Текст и повседневные инструменты · Текстовый инструментарий

Полноширинная пунктуация: почему 。 и ! имеют значение для регистра и подсчета предложений.

· Фон

текстовые инструменты Юникод cjk-пунктуация

Английские и японские предложения, разделенные ASCII и полноширинными знаками препинания.
Оригинальная векторная иллюстрация ToolAcre

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

Абзац на японском языке считается одним предложением — как инструменты, доступные только для ASCII, пропускают 。 и ! полностью

Вставьте `Release ready. 次の版です。確認してください!` в счетчик, который распознает только точку ASCII, и японская часть может быть объединена в один длинный остаток. Видимые знаки не являются декоративными вариантами: это границы, которые используют читатели, поэтому игнорирование их приводит к вводящему в заблуждение общему количеству предложений.

ToolAcre включает `.`, `!`, `?`, `。`, `!` и `?` в свой набор сопоставления предложений. Это исправляет конкретную ошибку, связанную только с ASCII, но не делает счетчик японским анализатором. Результат по-прежнему получается из фрагментов текста, разделенных распознаваемыми знаками препинания, без грамматической модели, определяющей, где заканчивается мысль.

Половинная и полная ширина — наследие набора текста с фиксированным шагом CJK и блоков Юникода, которые его несут.

«Полная ширина» описывает символы, предназначенные для занимания ширины, связанной с идеографической ячейкой в ​​восточноазиатском макете фиксированной ширины. Юникод сохраняет формы совместимости, такие как `!` и `?`, тогда как японский язык также использует идеографическую пунктуацию, включая `。` и `、`. Похожий внешний вид не означает идентичные кодовые точки или взаимозаменяемую семантику.

Стандарт Unicode помещает варианты ASCII полной ширины в блок форм половинной и полной ширины, а U+3002 IDEOGRAPHIC FULL STOP и U+3001 IDEOGRAPHIC COMMA принадлежит CJK Символы и пунктуация. Это различие важно для программного обеспечения: регулярное выражение должно называть или классифицировать фактические символы, которые оно намерено распознать.

Идеографическая точка и ее родственники — 。、!? и полноширинные формы знаков препинания ASCII.

`。` обычно завершает японское предложение, `、` разделяет материал внутри одного, а `!?` обеспечивает вопросительные и восклицательные формы, знакомые в современном тексте. Полноширинные `!` и `?` визуально соответствуют широким версиям знаков ASCII; они не конвертируются автоматически только потому, что редактор отображает их одинакового размера.

ToolAcre рассматривает `。!?` как ограничитель предложения, но не `、`, что соответствует его узкому правилу подсчета. Повторяющиеся терминаторы используются с предыдущим текстом как один совпадающий проход, поэтому `本当!?` вносит одно предложение, а не два. Цитаты, скобки и редакционные соглашения не получают отдельного лингвистического толкования.

Что необходимо для преобразования с учетом предложений — распознавание окончания предложений в сценариях перед использованием заглавных букв или подсчетом

Преобразование регистра предложения сначала преобразует весь ввод в нижний регистр. Затем он пишет строчную букву в начале или после одного из шести распознаваемых терминаторов только в том случае, если за этим терминатором следует пробел. Поэтому `hello。 world` становится `Hello。 World`, а `hello。world` оставляет второе английское слово в нижнем регистре.

Это условие пробелов корректирует более широкое утверждение схемы о том, что достаточно распознать окончание. В японском языке следующее предложение обычно начинается сразу после `。`, без пробела, а японские символы, как правило, вообще не имеют заглавной буквы. В смешанном тексте добавляйте пробелы только тогда, когда этого требует редакционный стиль; не вставляйте его только для того, чтобы повысить конверсию.

Что на самом деле распознает это преобразование предложения-регистра: терминатор, за которым следуют пробелы.

В слове «фигура» используются строки, разделенные пробелами. Таким образом, отрывок на японском языке без пробелов может считаться одним «словом», даже если читатель идентифицирует множество лексических единиц. И наоборот, знаки препинания без окружающих пробелов не разделяют серию: `end,start` — это одно слово в этом определении. Число является механическим, а не подсчетом токенов с учетом языка.

Подсчет предложений также основан на пунктуации. Точка в `Dr. Smith` может создать дополнительное предложение, а разрыв строки без пунктуации не создает новой границы предложения. Счетчик распознает терминаторы CJK и повторяющиеся знаки, но кавычки, сокращения, многоточия и неправильная пунктуация все равно могут привести к тому, что его результаты будут отличаться от решений редакции.

Пробелы, слова и подсчет знаков препинания: полезные цифры с явными ограничениями

Попробуйте `LAUNCH READY. 次の版です。 check names! FINAL PASS?` в Text Toolkit. Регистр предложения создает `Launch ready. 次の版です。 Check names! Final pass?`: весь текст в регистре сначала опускается, затем поднимаются начальные буквы после границ разделителя и пробела. Японский текст остается визуально неизменным, поскольку в нем нет различия по регистру.

Читайте статистику рядом с этим результатом как определения, а не как приговоры. Образец состоит из четырех предложений, разделенных знаками препинания, а общее количество слов соответствует пяти фрагментам, разделенным пробелами, а не японской морфологией. Общее количество символов использует кластеры графем, где доступен `Intl.Segmenter`, а общее количество без пробелов удаляет пробелы Unicode перед пересчетом.

Рабочий пример: проверьте преобразование и каждый подсчет вместо лингвистического анализа.

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

Оформление с учетом локали также выходит за рамки обещаний. Конвертер использует сопоставления Юникода по умолчанию JavaScript, имена собственные и акронимы в нижнем регистре и может ошибочно принять границу аббревиатуры за границу предложения, если за ней следует пробел. Возможна отмена, но редакционная проверка по-прежнему необходима для имен, использования заглавных букв бренда и двуязычных стилевых решений.

Вывод: вариант Sentence в Text Toolkit распознает окончание предложения полной ширины CJK, поэтому двуязычное копирование обрабатывается, а не обрабатывается наполовину.

Полноразмерная пунктуация имеет значение, поскольку код видит символы, а не визуальные намерения. ToolAcre явно включает `。!?` в свою систему сопоставления предложений на основе пунктуации, поэтому смешанная англо-японская копия не ограничивается окончаниями ASCII. Правило регистра предложений более узкое: использование заглавных букв происходит только в начале или после распознанного терминатора, за которым следует пробел.

Используйте Text Toolkit, чтобы быстро раскрыть эти правила, а затем интерпретировать каждый рисунок в контексте. Общее количество предложений представляет собой оценки разделителей, слова — это серии, разделенные пробелами, а символы — это графемы, воспринимаемые читателем, если это позволяет поддержка браузера. Эти прозрачные ограничения делают вывод полезным, не делая вид, что компактная функция браузера выполняет полный лингвистический анализ.