Введение

Код 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-парсер.

Коды языковых спецификаторов

Коды указания языка имеют префикс 0xFE. Допустимыми суффиксами являются 0x21–0x7E (соответствующие плоскостям 1–94) и 0x80–0xFE (для будущих плоскостей), многие из которых не назначены.

Специальные и эвакуационные коды

Специальные коды имеют префикс 0xFF.

Самолеты

Ниже приведены плоскости, выделенные для использования в коде TRON, вместе с соответствующими кодами языковых спецификаторов и описанием наборов символов, включенных в каждую плоскость.

Код спецификатора языка Плоскость Описание
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

Плоскости с 11 по 15 изначально были выделены для хранения набора символов Mojikyō, но из-за разногласий они были исключены. Все остальные плоскости до 31 в настоящее время зарезервированы для будущего использования.