2016-12-07 3 views
0

Каков самый простой способ выяснить, какие системы письма (как, например, латинский, иврит, арабский, катакана, иероглифы) поддерживаются данным набором символов Unicode?Какие системы написания задают обложку набора символов

+0

Я думаю, что это википедия, или я неправильно понял этот вопрос? –

+0

@nick_gabpe - программно. Будут введены произвольные наборы символов, и поддерживаемые системы написания должны быть определены для каждого – Tony

ответ

1

Осмотрите Script и Script_Extensions свойства каждого символа в наборе, как указано в UAX #24.

+0

Спасибо за полезную ссылку. – Tony

1

Scripts and Blocks:

Unicode символы разделены на непересекающиеся диапазоны называемых блоков [Blocks]. Многие из этих блоков имеют имя, полученное от имени сценария, потому что символы этого сценария в основном кодируются в этом блоке. Однако, блоки и скрипты отличаются следующими способами:

  • блоков просто диапазоны и часто содержат элементы кода, которые присвоены.
  • Символы одного и того же сценария могут быть закодированы в нескольких разных блоках.
  • Символы из разных сценариев могут быть закодированы в одном блоке.

В результате использование названий блоков в качестве упрощенной замены для сценария идентичность обычно приводит к плохим результатам. Например, см. Приложение A, Символьные блоки, в Техническом стандарте Юникода №18, "Unicode Regular Expressions" [UTS18].

Внутри последнего документа [UTS18], обратите внимание на приоритет Письменность в сравнении с блоками в Annex A: Character Blocks.

+0

Да, зная блок, определенно недостаточно.До сих пор кажется, что выполнение проверок против отдельных символов неизбежно. – Tony

0

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

подход требуют два подготовительных этапов:

  1. сколотить набор систем письма (скрипты), поддерживаемых Unicode

  2. Для каждого сценария, определяет набор символов, содержащий символы этого сценария

Тогда я могу решить вопрос «имеет ли набор символов A поддерживает скрипт X» тестом «достаточно символов сценария X s набор символов также членов из набора символов A». Если я сделаю это для каждого скрипта с шага (1), я получаю список поддерживаемых скриптов.

Ссылка, предоставленная 一 二三, ссылается на data file, которая отображает символы Юникода в их соответствующие сценарии, что было бы неоценимо по этапам (1) и (2).