TRON (encoding)
TRON Code is a multi-byte character encoding used in the TRON project. It is similar to Unicode but does not use Unicode's Han unification process: each character from each CJK character set is encoded separately, including archaic and historical equivalents of modern characters. This means that Chinese, Japanese, and Korean text can be mixed without any ambiguity as to the exact form of the characters; however, it also means that many characters with equivalent semantics will be encoded more than once, complicating some operations.
Language(s) | English, Chinese, Japanese, Korean |
---|---|
Created by | TRON project |
Classification | DBCS |
Transforms / Encodes | JIS X 0208, JIS X 0212, JIS X 0213, GB 2312, KS X 1001, Big5, GB 18030, others |
TRON has room for 150 million code points. Separate code points for Chinese, Korean, and Japanese variants of the 70,000+ Han characters in Unicode 4.1 (if that were deemed necessary) would require more than 200,000 code points in TRON. TRON includes the non-Han characters from Unicode 2.0, but it has not been keeping up to date with recent editions to Unicode as Unicode expands beyond the Basic Multilingual Plane and adds characters to existing scripts. The TRON encoding has been updated to include other recent code page updates like JIS X 0213.[1]
Fonts for the TRON encoding are available, but they have restrictions for commercial use.[2]
Structure
Each character in TRON Code is two bytes. Similarly to ISO/IEC 2022, the TRON character encoding handles characters in multiple character sets within a single character encoding by using escape sequences, referred to as language specifier codes, to switch between planes of 48,400 code points. Character sets incorporated into TRON Code include existing character sets such as JIS X 0208 and GB 2312, as well as other character sources such as the Dai Kan-Wa Jiten, and some scripts not included in other encodings such as Dongba symbols.
Owing to the incorporation of entire character sets into TRON Code, many characters with equivalent semantics are encoded multiple times; for example, all of the kanji characters in the GT Typeface receive their own codepoints, despite many of them overlapping with other kanji character sets that are already included such as JIS X 0208. One such example is the character 亜 (located in Unicode at U+4E9C) which appears in the JIS X 0208 region at 1-3021, the GT Typeface region at 2-2464, and the Dai Kan-Wa Jiten region at 8-2373.
Control codes
Bytes in the range 0x00 to 0x20 and 0x7F are reserved for use in control codes.
Character codes
Characters in each plane are divided into four zones. Each zone is allocated separately; for example, in plane 1 JIS X 0208 characters reside in Zone A starting at 0x2121, JIS X 0213 characters reside in both Zone A and Zone B, and GB 2312 characters reside in Zone C starting at 0x2180.
Zone | First byte | Second byte |
---|---|---|
Zone A | 0x21 - 0x7E | 0x21 - 0x7E |
Zone B | 0x80 - 0xFD | 0x21 - 0x7E |
Zone C | 0x21 - 0x7E | 0x80 - 0xFD |
Zone D | 0x80 - 0xFD | 0x80 - 0xFD |
Codepoints are notated as X-YYYY, where X is the plane number in decimal and YYYY is the codepoint in hexadecimal. Alternatively, the notation 0xNNYYYY can be used, where NN is the second byte of the language specifier code. A text format "&TNNYYYY;" can be used to denote a TRON codepoint in ASCII text, in a similar manner to numeric character references in HTML.
Language specifier codes
Language specifier codes are prefixed with 0xFE. Valid suffixes are 0x21 to 0x7E and 0x80 to 0xFE, many of which are unallocated.
Special and escape codes
Special codes are prefixed with 0xFF.
Planes
The following are the planes allocated for use in TRON Code, along with their corresponding language specifier codes and a description of the character sets included in each plane.
Plane | Language specifier code | Description |
---|---|---|
1 | FE 21 |
JIS X 0208, JIS X 0212, JIS X 0213, GB 2312, KS X 1001 and Braille |
2 | FE 22 |
GT Typeface characters |
3 | FE 23 |
GT Typeface characters continued |
6 | FE 26 |
Big5 |
8 | FE 28 |
Dai Kan-Wa Jiten characters |
9 | FE 29 |
Dai Kan-Wa Jiten continued, hentaigana and miscellaneous characters |
10 | FE 2A |
Minority scripts (Dongba symbols) |
16 | FE 30 |
Unicode 2.0 (excluding CJK Unified and Hangul) |
17 | FE 31 |
Unicode 2.0 (excluding CJK Unified and Hangul) continued |
22 | FE 36 |
GB 18030 |
23 | FE 37 |
GB 18030 continued |
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.
See also
External links
- TRONコード体系 Tron code system in BTRON specification document
- TRON文字収録センター Tron character collection center
- 超漢字 Operating system with BTRON standard
- GT明朝 Tron GT-Mincho font
- ITRON Project Archive
- Active TRON character page
- The Handling of Chinese Characters and TRON Code
References
- "The name of T-Engine Forum was changed to TRON Forum". T-engine.org. 2015-04-01. Retrieved 2018-09-16.
- "Tフォントプロジェクト 利用規定". Charcenter.t-engine.org. Retrieved 2018-09-16.