Введение
Код TRON — это многобайтовая кодировка символов, используемая в проекте TRON. Она похожа на Unicode, но не использует процесс унификации иероглифов в Unicode: каждый символ из каждого набора символов CJK кодируется отдельно, включая архаичные и исторические варианты современных символов. Это позволяет смешивать китайский, японский и корейский текст без какой-либо неоднозначности в отношении точной формы символов; однако это также означает, что многие символы с одинаковым значением будут кодироваться несколько раз, что усложняет некоторые операции. В TRON предусмотрено место для 150 миллионов кодовых точек. Для отдельных кодовых точек для китайских, корейских и японских вариантов более 70 000 иероглифов хань в Unicode 4.1 (если это будет признано необходимым) потребуется более 200 000 кодовых точек в TRON. TRON включает в себя символы, не являющиеся иероглифами хань, из Unicode 2.0, но не поддерживает актуальность последних версий Unicode, поскольку Unicode расширяется за пределы базовой многоязычной плоскости и добавляет символы в существующие системы письменности. Кодировка TRON была обновлена для включения других недавних обновлений кодовых страниц, таких как JIS X 0213. Шрифты для кодировки TRON доступны, но они имеют ограничения на коммерческое использование. Код TRON.
Структура
Каждый символ в TRON Code кодируется двумя байтами (при условии его наличия в текущей плоскости кодирования). Подобно ISO/IEC 2022, кодировка TRON обрабатывает символы из разных наборов символов в рамках единой кодировки, используя управляющие последовательности, называемые кодами спецификаторов языка, для переключения между плоскостями, каждая из которых содержит 48 400 кодовых точек. В TRON Code включены существующие наборы символов, такие как JIS X 0208 и GB 2312, а также другие источники символов, например, Dai Kan Wa Jiten, и некоторые письменности, не входящие в другие кодировки, такие как символы донгба. Благодаря включению целых наборов символов в TRON Code, многие символы с одинаковым значением кодируются несколько раз; например, все символы кандзи в шрифте GT получают собственные кодовые точки, несмотря на то, что многие из них дублируют символы из других наборов кандзи, уже включенных, например, JIS X 0208. Примером является символ 亜 (в Unicode расположен по U+4E9C), который встречается в области JIS X 0208 в , в области шрифта GT в , и в области Dai Kan Wa Jiten в .
Коды контроля
Байты в диапазоне от 0x00 до 0x20 и 0x7F зарезервированы для использования в управляющих кодах.
Коды символов
Символы в каждой плоскости разделены на четыре зоны. Каждая зона выделяется отдельно; например, в плоскости 1 символы JIS X 0208 находятся в зоне A, начиная с 0x2121, символы JIS X 0213 находятся как в зоне A, так и в зоне B, а символы GB 2312 находятся в зоне C, начиная с 0x2180. Зона Первый байт Второй байт Кол-во кодовых точек Зона A 0x21–0x7E 0x21–0x7E 94 × 94 = 8 836 Зона B 0x80–0xFD 0x21–0x7E 126 × 94 = 11 844 Зона C 0x21–0x7E 0x80–0xFD 94 × 126 = 11 844 Зона D 0x80–0xFD 0x80–0xFD 126 × 126 = 15 876 Всего на плоскость 220 × 220 = 48 400 Кодовые точки TRON обозначаются как "X YYYY", где "X" – номер плоскости в десятичной системе, а "YYYY" – кодовая точка в шестнадцатеричной системе. В качестве альтернативы можно использовать обозначение "0xNNYYYY", где "NN" – второй байт в шестнадцатеричном коде языкового спецификатора. Текстовый формат "&TNNYYYY;" может использоваться для обозначения кодовой точки TRON в тексте ASCII, аналогично числовым ссылкам на символы в HTML, SGML или XML. Однако стандартный и соответствующий стандартам HTML или XML-парсер будет рассматривать их как именованные сущности, которые нельзя напрямую и легко сопоставить с допустимыми и однозначными последовательностями кодовых точек в UCS без обширного DTD для их определения (возможно, с использованием некоторых символов частного использования для TRON-экранирований или селекторов вариантов Unicode, сопоставленных с символами TRON для кодирования различных символов TRON, представленных одним и тем же символом в UCS): для поддержки текстового формата TRON способом, совместимым со стандартными UTF для UCS, потребуется другой SGML-парсер.
TRON code points are notated as "X YYYY", where "X" is the plane number in decimal and "YYYY" is the code point in hexadecimal. Alternatively, the notation "0xNNYYYY" can be used, where "NN" is the second byte in hexadecimal of the language specifier code. A text format "&TNNYYYY;" can be used to denote a TRON code point in ASCII text, in a similar manner to numeric character references in HTML, SGML or XML. However, a standard and conforming HTML or XML parser would treat them as named entities, that can't be directly and easily mapped to valid and unambiguous sequences of code points in the UCS, without an extensive DTD to define them (possibly by using some private use characters for TRON escapes, or Unicode variation selectors mapped to TRON characters for encoding different TRON characters represented as the same character in the UCS): a different SGML based parser will be needed to support the TRON text format in a way interoperable with standard UTF's for the UCS.
Коды языковых спецификаторов
Коды указания языка имеют префикс 0xFE. Допустимыми суффиксами являются 0x21–0x7E (соответствующие плоскостям 1–94) и 0x80–0xFE (для будущих плоскостей), многие из которых не назначены.
Специальные и эвакуационные коды
Специальные коды имеют префикс 0xFF.
Самолеты
Ниже приведены плоскости, выделенные для использования в коде TRON, вместе с соответствующими кодами языковых спецификаторов и описанием наборов символов, включенных в каждую плоскость.
Planes 11 to 15 were originally allocated to store the Mojikyō character set, but disputes have led to the planes being excluded. All other planes up to 31 are currently reserved for future allocation.
Код спецификатора языка Плоскость Описание
1FE 21JIS X 0208, JIS X 0212, JIS X 0213, GB 2312, KS X 1001 и шрифт Брайля
2FE 22GT Символы шрифта
3FE 23GT Продолжение символов шрифта
6FE 26Big5
8FE 28Символы Dai Kan Wa Jiten
9FE 29Продолжение Dai Kan Wa Jiten, хентаигана и различные символы
10FE 2AРедкие письменности (символы Дунба)
16FE 30Unicode 2.0 (за исключением CJK Unified и Hangul)
17FE 31Продолжение Unicode 2.0 (за исключением CJK Unified и Hangul)
22FE 36GB 18030
23FE 37Продолжение GB 18030
Planes 11 to 15 were originally allocated to store the Mojikyō character set, but disputes have led to the planes being excluded. All other planes up to 31 are currently reserved for future allocation.
Плоскости с 11 по 15 изначально были выделены для хранения набора символов Mojikyō, но из-за разногласий они были исключены. Все остальные плоскости до 31 в настоящее время зарезервированы для будущего использования.
Planes 11 to 15 were originally allocated to store the Mojikyō character set, but disputes have led to the planes being excluded. All other planes up to 31 are currently reserved for future allocation.