Как браузер знает, где заканчивается китайское слово? Что это за чёрная магия c? - PullRequest
0 голосов
/ 19 февраля 2020

Я столкнулся с неожиданным поведением браузера при выборе текста на странице html.

Давайте прочитаем текстовый блок на китайском языке. Пусть это будет:

Я не могу вставить здесь китайский текст, он помечен как спам !!! Извините. Ну, любой текст подойдет, вы можете посетить эту новостную статью и попробовать выполнить следующую процедуру: http://baijiahao.baidu.com/s?id=1658796629444274981

или использовать этот патрон, который я смог вставьте сюда.

Теперь 1015 *

Теперь выберите произвольную позицию в тексте и дважды щелкните по ней. Текст будет выбран (что ожидается). Но выборка будет содержать морфему (ну, проще говоря, слово) в тексте, где без пробелов ! Да, большинство слов на китайском языке являются двойными глифами, но некоторые - нет (например, 的 или 湖北省), и похоже, что эта процедура выбора знает, где заканчиваются слова!

Иногда он выбирает слова с 3 глифами, в другой раз он выбирает морфемы с 1 глифом (которые не могут быть словами), чаще всего с 2 глифами. Вам нужно нажать еще, чтобы увидеть, что происходит.

Тот же текст не будет выделен, как описано, если я положу его в Блокнот (windows10). Похоже, мой браузер (chrome) (надеюсь, ваш тоже) автоматически определяет границы слов в китайском тексте, что можно сделать только с помощью поиска в словаре. Я никогда не слышал об этом!

Итак, вопрос: действительно ли браузер выполняет поиск по словарю перед тем, как выбрать фрагмент текста для незападного текста (где нет символов для границ слов, таких как пробел в английском языке sh)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...