{A short history of \TeX\ in China} {Jie Su \& Clerk Ma} {The original \TeX\ only supported an 8-bit input encoding, and only supported a limited number of characters in \acro{PK} fonts. When using \TeX\ to get kanji output in \DVI\ files, we need to handle four issues: (1)~encoding processing, (2)~kanji font processing, (3)~glue processing between kanji and other characters, (4)~kinsoku and mojikumi processing. First, encoding of \CJK\ languages must contain more than thousands of kanjis. In mainland China, people use the \acro{GB/T} encodings; in Taiwan, people use the Big5 encoding. A font is the general mechanism for mapping code points to glyphs. During the 1990s, in mainland China, many kanji fonts for computers were designed without using PostScript technology. Some of these fonts are bitmap fonts. Two preprocessors, \acro{CCT} and \acro{TY}, can produce \DVI\ by converting these Chinese bitmap fonts to \acro{PK} font. The glue processing is the first step to get breakable kanji text. Kinsoku and mojikumi processing is the second step to get correct output of kanji text with punctuations in proper position. \section{Poor Man's \TeX} The earliest way to process \acro{CJK} languages was Poor Man's \TeX. Several years later, the \acro{CJK} package has inherited Poor Man's \TeX's mechanism, and wraps it with a simple interface. The first step of Poor Man's \TeX\ is to switch the catcode of kanjis to 13 (active character). And then to define these kanjis as macros which contain a \cs{char} command and a font command to produce a glyph in kanji fonts. Without any extension to \MF, Poor Man's \TeX\ only split a big kanji font into several small fonts to avoid the limitations of \acro{PK} format. \section{\acro{CCT} and \acro{TY}: Two preprocessors} These preprocessors appeared in the 1990s. At that time, computers in China often ran a \acro{DOS} system. These preprocessors' mechanism is similar to that of Poor Man's \TeX, but modified for the tradition of Chinese typography. In China, \acro{CCT} has been accepted by the Chinese Mathematical Society (\acro{CMS}). Most magzines are produced by \acro{CCT}. \section{cw\TeX\ and chi\TeX: Another two prepocessors in Taiwan} These preprocessors are used in Taiwan, also using the Poor Man's \TeX\ mechanism. The cw\TeX\ developers have provided some patches for \ConTeXt\ \MkII\ to get kanji output. \section{\PUTeX: An extension of \TeX3} The \PUTeX\ project was started in 1997 and stopped in 2004. The project was developed by Chey Woei Tsay. The \acro{PU} in \PUTeX\ is the abbreviation of Providence University in Taiwan. Compared with the preprocessors above, \PUTeX\ provided an intelligent way to processing kanjis. \PUTeX\ can handle both \acro{GB/T} and Big5 encodings natively. On processing a font, \PUTeX\ have patched one kanji font to an alphabetic font defined by \cs{font}. Put another way, \PUTeX\ provided a fallback font mechanism. Regarding kinsoku and mojikumi processing, \PUTeX\ provided lots of primitives. In p\TeX, some processing of mojikumi is defined by a \acro{JFM} file. The different method of \PUTeX's mojikumi processing is caused by the complex punctuation system in China. The \PUTeX\ project have also provided a patched version of makeindex: \code{puidx}. Traditionally, index sorting in China is more complex than in alphabetic languages. The sorting method can be: (1)~by phonetic order, (2)~by Bopomofo order, (3)~by stroke count order, (4)~by radical/stroke order. The \code{puidx} program can do sorting by phonetic order and Bopomofo order. The \PUTeX\ project also provided a patched version of \code{dvipdfmx}: \code{cdi2pdf}. The general design of \PUTeX\ is comparable to that of p\TeX. Although these two engines have some differences in detail, they share some common concepts. \end{document}