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 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[ which? ] characters with equivalent semantics will be encoded more than once, complicating some operations.
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]
Each character in TRON Code is encoded as two bytes (as long as it is present in the current encoding plane). 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.
Bytes in the range 0x00 to 0x20 and 0x7F are reserved for use in control 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 | Nb. of code points |
---|---|---|---|
Zone A | 0x21–0x7E | 0x21–0x7E | 94 × 94 = 8,836 |
Zone B | 0x80–0xFD | 0x21–0x7E | 126 × | 94 = 11,844
Zone C | 0x21–0x7E | 0x80–0xFD | 94 × 126 = 11,844 |
Zone D | 0x80–0xFD | 0x80–0xFD | 126 × 126 = 15,876 |
Total per plane | 220 × 220 = 48,400 |
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.
Language specifier codes are prefixed with 0xFE. Valid suffixes are 0x21 to 0x7E (referencing planes 1 to 94) and 0x80 to 0xFE (for future planes), many of which are unallocated.
Special codes are prefixed with 0xFF.
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.
Character encoding is the process of assigning numbers to graphical characters, especially the written characters of human language, allowing them to be stored, transmitted, and transformed using digital computers. The numerical values that make up a character encoding are known as "code points" and collectively comprise a "code space", a "code page", or a "character map".
While Hypertext Markup Language (HTML) has been in use since 1991, HTML 4.0 from December 1997 was the first standardized version where international characters were given reasonably complete treatment. When an HTML document includes special characters outside the range of seven-bit ASCII, two goals are worth considering: the information's integrity, and universal browser display.
UTF-16 (16-bit Unicode Transformation Format) is a character encoding capable of encoding all 1,112,064 valid code points of Unicode (in fact this number of code points is dictated by the design of UTF-16). The encoding is variable-length, as code points are encoded with one or two 16-bit code units. UTF-16 arose from an earlier obsolete fixed-width 16-bit encoding now known as UCS-2 (for 2-byte Universal Character Set), once it became clear that more than 216 (65,536) code points were needed, including most emoji and important CJK characters such as for personal and place names.
In computing, JIS encoding refers to several Japanese Industrial Standards for encoding the Japanese language. Strictly speaking, the term means either:
ISO/IEC 2022Information technology—Character code structure and extension techniques, is an ISO/IEC standard in the field of character encoding. It is equivalent to the ECMA standard ECMA-35, the ANSI standard ANSI X3.41 and the Japanese Industrial Standard JIS X 0202. Originating in 1971, it was most recently revised in 1994.
Shift JIS, known as PCK in Solaris contexts) is a character encoding for the Japanese language, originally developed by the Japanese company ASCII Corporation in conjunction with Microsoft and standardized as JIS X 0208 Appendix 1.
Extended Unix Code (EUC) is a multibyte character encoding system used primarily for Japanese, Korean, and simplified Chinese (characters).
GB/T 2312-1980 is a key official character set of the People's Republic of China, used for Simplified Chinese characters. GB2312 is the registered internet name for EUC-CN, which is its usual encoded form. GB refers to the Guobiao standards (国家标准), whereas the T suffix denotes a non-mandatory standard.
A numeric character reference (NCR) is a common markup construct used in SGML and SGML-derived markup languages such as HTML and XML. It consists of a short sequence of characters that, in turn, represents a single character. Since WebSgml, XML and HTML 4, the code points of the Universal Character Set (UCS) of Unicode are used. NCRs are typically used in order to represent characters that are not directly encodable in a particular document. When the document is interpreted by a markup-aware reader, each NCR is treated as if it were the character it represents.
JIS X 0201, a Japanese Industrial Standard developed in 1969, was the first Japanese electronic character set to become widely used. The character set was initially known as JIS C 6220 before the JIS category reform. Its two forms were a 7-bit encoding or an 8-bit encoding, although the 8-bit form was dominant until Unicode replaced it. The full name of this standard is 7-bit and 8-bit coded character sets for information interchange (7ビット及び8ビットの情報交換用符号化文字集合).
Half-width kana are katakana characters displayed compressed at half their normal width, instead of the usual square (1:1) aspect ratio. For example, the usual (full-width) form of the katakana ka is カ while the half-width form is カ. Half-width hiragana is included in Unicode, and it is usable on Web or in e-books via CSS's font-feature-settings: "hwid" 1
with Adobe-Japan1-6 based OpenType fonts. Half-width kanji is usable on modern computers, and is used in some receipt printers, electric bulletin board and old computers.
JIS X 0213 is a Japanese Industrial Standard defining coded character sets for encoding the characters used in Japan. This standard extends JIS X 0208. The first version was published in 2000 and revised in 2004 (JIS2004) and 2012. As well as adding a number of special characters, characters with diacritic marks, etc., it included an additional 3,625 kanji. The full name of the standard is 7-bit and 8-bit double byte coded extended KANJI sets for information interchange.
JIS X 0212 is a Japanese Industrial Standard defining a coded character set for encoding supplementary characters for use in Japanese. This standard is intended to supplement JIS X 0208. It is numbered 953 or 5049 as an IBM code page.
KPS 9566 is a North Korean standard specifying a character encoding for the Chosŏn'gŭl (Hangul) writing system used for the Korean language. The edition of 1997 specified an ISO 2022-compliant 94×94 two-byte coded character set. Subsequent editions have added additional encoded characters outside of the 94×94 plane, in a manner comparable to UHC or GBK.
JIS X 0208 is a 2-byte character set specified as a Japanese Industrial Standard, containing 6879 graphic characters suitable for writing text, place names, personal names, and so forth in the Japanese language. The official title of the current standard is 7-bit and 8-bit double byte coded KANJI sets for information interchange. It was originally established as JIS C 6226 in 1978, and has been revised in 1983, 1990, and 1997. It is also called Code page 952 by IBM. The 1978 version is also called Code page 955 by IBM.
KS X 1001, "Code for Information Interchange ", formerly called KS C 5601, is a South Korean coded character set standard to represent Hangul and Hanja characters on a computer.
Microsoft Windows code page 932, also called Windows-31J amongst other names, is the Microsoft Windows code page for the Japanese language, which is an extended variant of the Shift JIS Japanese character encoding. It contains standard 7-bit ASCII codes, and Japanese characters are indicated by the high bit of the first byte being set to 1. Some code points in this page require a second byte, so characters use either 8 or 16 bits for encoding.
IBM code page 936 is a character encoding for Simplified Chinese including 1880 user-defined characters (UDC), which was superseded in 1993. It is a combination of the single-byte Code page 903 and the double-byte Code page 928. Code page 946 uses the same double-byte component, but an extended single-byte component.
Volume 1 of the Association of Radio Industries and Businesses (ARIB) STD-B24 standard for Broadcast Markup Language specifies, amongst other details, a character encoding for use in Japanese-language broadcasting. It was introduced on 1999-10-26. The latest revision is version 6.3 as of 2016-07-06.
Several mutually incompatible versions of the Extended Binary Coded Decimal Interchange Code (EBCDIC) have been used to represent the Japanese language on computers, including variants defined by Hitachi, Fujitsu, IBM and others. Some are variable-width encodings, employing locking shift codes to switch between single-byte and double-byte modes. Unlike other EBCDIC locales, the lowercase basic Latin letters are often not preserved in their usual locations.