В базе данных CLDR есть наборы символов, используемые на разных языках.Его формат - LDML на основе XML, но вы можете найти альтернативные производные форматы или API для него, и вы можете найти ICU применимый.
Наборы указаны в символьных элементах , и вы можете найти сводных диаграмм существующего контента, хотя и в довольно неудобном формате (очень широкая таблица).
Пожалуй, лучший способ быстро проверить, соответствуют ли данные CLDR символамДля ваших целей полезно посмотреть на данные по некоторым локалям.Данные корневой локали содержат (как часть большой таблицы) следующую информацию о локали английского языка:
exemplarCharacters main: [a b c d e f g h i j k l m n o p q r s t u v w x y z]
exemplarCharacters auxiliary: [á à ă â å ä ã ā æ ç é è ĕ ê ë ē í ì ĭ î ï ī ñ ó ò ŏ ô ö ø ō œ ú ù ŭ û ü ū ÿ]
exemplarCharacters currencySymbol[a b c č d e f g h i j k l ł m n o º p q r s t u v w x y z]
exemplarCharacters punctuation: [\- ‐ – — , ; \: ! ? . … ' ‘ ’ " “ ” ( ) \[ \] @ * / \& # † ‡ ′ ″ §]
Я думаю, что это демонстрирует, что наборы обычно слишком широки.Например, основной набор (букв) для английского не содержит даже «ë» (подумайте о Бронте), а вспомогательный набор содержит, помимо букв, обычно используемых в английском, буквы, которые встречаются только в действительно иностранных словах, таких как«Ō».
Существует довольно расплывчатое описание того, для чего эти наборы.Различные варианты использования потребуют разных подходов.Например, было бы естественно использовать объединение этих наборов, чтобы решить, подходит ли шрифт для текстов на данном языке (т. Е. Он содержит все символы в приемлемой форме).Но на практике это исключило бы шрифты, которые просто отлично, но не имеют глифа для очень редко используемых символов.Точно так же, если вы используете информацию, чтобы решить, какие кодировки символов можно использовать, вы в конечном итоге придете к выводу, что для английского языка допустимы только кодировки Unicode.
В заключение, данные CLDR в символах являются полезной компиляцией, носледует использовать с осторожностью и осторожностью.