Каков самый простой способ выяснить, какие системы письма (как, например, латинский, иврит, арабский, катакана, иероглифы) поддерживаются данным набором символов Unicode?Какие системы написания задают обложку набора символов
ответ
Unicode символы разделены на непересекающиеся диапазоны называемых блоков [Blocks]. Многие из этих блоков имеют имя, полученное от имени сценария, потому что символы этого сценария в основном кодируются в этом блоке. Однако, блоки и скрипты отличаются следующими способами:
- блоков просто диапазоны и часто содержат элементы кода, которые присвоены.
- Символы одного и того же сценария могут быть закодированы в нескольких разных блоках.
- Символы из разных сценариев могут быть закодированы в одном блоке.
В результате использование названий блоков в качестве упрощенной замены для сценария идентичность обычно приводит к плохим результатам. Например, см. Приложение A, Символьные блоки, в Техническом стандарте Юникода №18, "Unicode Regular Expressions" [UTS18].
Внутри последнего документа [UTS18], обратите внимание на приоритет Письменность в сравнении с блоками в Annex A: Character Blocks.
Да, зная блок, определенно недостаточно.До сих пор кажется, что выполнение проверок против отдельных символов неизбежно. – Tony
На данный момент я склоняюсь к тестированию, если в наборе символов появляется достаточное количество глифов из скрипта.
подход требуют два подготовительных этапов:
сколотить набор систем письма (скрипты), поддерживаемых Unicode
Для каждого сценария, определяет набор символов, содержащий символы этого сценария
Тогда я могу решить вопрос «имеет ли набор символов A поддерживает скрипт X» тестом «достаточно символов сценария X s набор символов также членов из набора символов A». Если я сделаю это для каждого скрипта с шага (1), я получаю список поддерживаемых скриптов.
Ссылка, предоставленная 一 二三, ссылается на data file, которая отображает символы Юникода в их соответствующие сценарии, что было бы неоценимо по этапам (1) и (2).
Я думаю, что это википедия, или я неправильно понял этот вопрос? –
@nick_gabpe - программно. Будут введены произвольные наборы символов, и поддерживаемые системы написания должны быть определены для каждого – Tony