%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% CS/CSX Encoding User Doc for ITRANS (Version 4.00 and above)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[11pt]{article}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[preprocess]{itrans} % Ross Moore's extensions to latex2html

\usepackage{html} % from standard latex2html package
    % if you do not have html.sty in your machine, change the html to
    % htmlstub (htmlstub.sty is included in the ITRANS/lib directory)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#useshortmarkers	% ITRANS command. Allows me to use ##
			% instead of #indian and #endindian
			% June '98: changed all ## to #indian, to allow
			% the use of Ross Moore's latex2html ITRANS
			% extensions.

#usecsx			% ITRANS command. Accept CS/CSX encoded text.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% -- devanagari
#hindiifm=dvng.ifm	% ITRANS command
#hindifont=\fransdvng	% ITRANS command: argument specifies use of
			% Frans's font, fransdvng is a command defined
			% in idevn.tex (itrans.sty loads this)

%begin{latexonly}
\let\usedvng=\largedvng	% override the default size (normaldvng)
%end{latexonly}

% -- telugu
\newfont{\tlg}{tel18}
\hyphenchar\tlg=-1	% disable hyphenation using this font

#teluguifm=tlgutx.ifm
#telugufont=\tlg
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\portraitpage		% from itrans.sty/idevn.tex (also: \landscapepage)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\diatop[#1|#2]{{\setbox1=\hbox{{#1{}}}\setbox2=\hbox{{#2{}}}%
	\dimen0=\ifdim\wd1>\wd2\wd1\else\wd2\fi%
	\dimen1=\ht2\advance\dimen1by-1ex%
	\setbox1=\hbox to1\dimen0{\hss#1\hss}%
	\rlap{\raise1\dimen1\box1}%
	\hbox to1\dimen0{\hss#2\hss}}}%
%e.g. of use: \diatop[\'|{\=o}] gives u macron acute

\begin{document}

\footnotetext[0]{Last modification: \today}

\centerline{\bf Transliteration Map}
\medskip
\centerline{\LARGE\bf CS/CSX Encoding}
\medskip
\centerline{\bf itrans}
\smallskip
\centerline{\bf \copyright 1994--1998 Avinash Chopde}

\section{CS/CSX Encoding}

During the 8th World Sanskrit Conference, Vienna 1990, a panel
was held to discuss the standardization of Sanskrit for
electronic data transfer.
Dominik Wujastyk presented a paper, titled ``Standardization of Sanskrit for
Electronic Data Transfer and Screen Representation,'' which outlines the
Classical Sanskrit and Classical Sanskrit Extended Encoding.
The original paper is available in a .zip archive, named ``iass.zip''.
Use archie to locate FTP sites that store iass.zip, if you need the original
paper, as of this writing, it was available at:
{\verb= ftp.bcc.ac.uk:/pub/users/ucgadkw/indology=}.

{\sc itrans} now supports CS/CSX, in a limited form.

To turn on recognition of CS/CSX encoded text, use this command before
the CS encoded text:

{\tt \char35 usecsx}

If necessary, you can turn off recognition of CS/CSX encoded text (and revert
to ITRANS only encoding), by using this command:

{\tt \char35 ignorecsx}

Both 
{\tt \char35 usecsx}
and
{\tt \char35 ignorecsx}
apply to the text that follows in the file.

\subsection{Avoid Capitals or Uppercase Characters}

CS/CSX is a case-insensitive encoding, both uppercase and lowercase
characters have the same meaning, but ITRANS is case-sensitive.
Thus, an uppercase character in ITRANS is encoded to a different devanagari
character from its lowercase counterpart.

This means that when you create input text in CSX, do not use uppercase
characters. ITRANS differentiates between lower case and uppercase characters.
For example, entering {\tt la} results in #hindi  la#endhindi, but entering
{\tt La} results in a different character: #hindi  La#endhindi.

(If you already have input text that is in CS/CSX encoding and it also uses
uppercase characters, use some text editor or word processor to convert
all the uppercase characters to lowercase. This can be done easily using
the text editors such as emacs, or programs such as {\tt tr} (available
on UNIX machines, and also available for MS-DOS systems).)

Table~\ref{ienc} provides the complete input encoding
accepted by ITRANS.
Note that technically, this uppercase character limitation
applies only to the ASCII character codes (those
less than 128). CS/CSX character codes over 128 are handled correctly
in ITRANS (by correct, I mean handling them with CS/CSX meanings).
But, it is simpler to just avoid using any uppercase characters at all.
The tables in this document should clarify all this.

Table~\ref{csx} lists the non-ASCII character codes (128 to 255)
accepted by ITRANS.

%------------------------------------------------------------------------
\begin{htmlonly}
\subsection{CS/CSX Table of non-ASCII codes (128 to 255)}
\end{htmlonly}

% Table 1
\begin{table}[ht]
\begin{center}
\hspace*{-20pt}\begin{tabular}{cc}
\begin{makeimage}
\begin{tabular}{|c|c|c|}
\hline
devanagari & {\sc cs/csx} char & {\sc cs/csx} char code \\ \hline
{#hindi aa #endhindi} & {\a=a} & {\tt 224} \\ \hline
{#hindi aa #endhindi} & {\a=A} & {\tt 226} \\ \hline
{#hindi uu #endhindi} & {\a=u} & {\tt 229} \\ \hline
{#hindi uu #endhindi} & {\a=U} & {\tt 230} \\ \hline
{#hindi R^i #endhindi} & {\d r} & {\tt 231} \\ \hline
{#hindi R^i #endhindi} & {\d R} & {\tt 232} \\ \hline
{#hindi R^I #endhindi} & {\diatop[\a=|\d r]} & {\tt 233} \\ \hline
{#hindi R^I #endhindi} & {\diatop[\a=|\d R]} & {\tt 234} \\ \hline
{#hindi L^i #endhindi} & {\d l} & {\tt 235} \\ \hline
{#hindi L^i #endhindi} & {\d L} & {\tt 236} \\ \hline
{#hindi L^I #endhindi} & {\diatop[\a=|\d l]} & {\tt 237} \\ \hline
{#hindi L^I #endhindi} & {\diatop[\a=|\d L]} & {\tt 238} \\ \hline
{#hindi ~Na #endhindi} & {\.n} & {\tt 239} \\ \hline
{#hindi ~Na #endhindi} & {\.N} & {\tt 240} \\ \hline
{#hindi ~na #endhindi} & {\~ n} & {\tt 164} \\ \hline
{#hindi Ta #endhindi} & {\d t} & {\tt 241} \\ \hline
{#hindi Ta #endhindi} & {\d T} & {\tt 242} \\ \hline
{#hindi Tha #endhindi} & {\d th} & {\tt 241 + h} \\ \hline
{#hindi Tha #endhindi} & {\d Th} & {\tt 242 + h} \\ \hline
\multicolumn{3}{c}{ }
\end{tabular}
\end{makeimage}
&
\begin{makeimage}
\begin{tabular}{|c|c|c|}
\hline
devanagari & {\sc cs/csx} char & {\sc cs/csx} char code \\ \hline
{#hindi Da #endhindi} & {\d d} & {\tt 243} \\ \hline
{#hindi Da #endhindi} & {\d D} & {\tt 244} \\ \hline
{#hindi Dha #endhindi} & {\d dh} & {\tt 243 + h} \\ \hline
{#hindi Dha #endhindi} & {\d Dh} & {\tt 244 + h} \\ \hline
{#hindi Na #endhindi} & {\d n} & {\tt 245} \\ \hline
{#hindi Na #endhindi} & {\d N} & {\tt 246} \\ \hline
{#hindi sha #endhindi} & {\a's} & {\tt 247} \\ \hline
{#hindi sha #endhindi} & {\a'S} & {\tt 248} \\ \hline
{#hindi shha #endhindi} & {\d s} & {\tt 249} \\ \hline
{#hindi shha #endhindi} & {\d S} & {\tt 250} \\ \hline
{#hindi La #endhindi} & {\b l} & {\tt 215} \\ \hline
{#hindi .n #endhindi} & {\d m} & {\tt 252} \\ \hline
{#hindi .n #endhindi} & {\d M} & {\tt 253} \\ \hline
{#hindi .n #endhindi} & {\. m} & {\tt 167} \\ \hline
{#hindi H #endhindi} & {\d h} & {\tt 254} \\ \hline
{#hindi H #endhindi} & {\d H} & {\tt 255} \\ \hline
{#telugu Ra #endtelugu (telugu)} & {\b r} & {\tt 159} \\ \hline
\end{tabular}
\end{makeimage}
\end{tabular}
\end{center}
\caption {{\bf CS/CSX Mapping} (shows non-ASCII char codes only).}
\label{csx}
\end{table}

\subsection{Incomplete CS/CSX Support}

There are many characters in CS/CSX that are currently not mapped by ITRANS,
simply because I do not know what devanagari characters (if any) they
stand for.

For example, \~ l is present in the CS table, but I don't know what
it represents, so, it is currently unrecognized by ITRANS.
If you find such gaps and know what devanagari or tamil or telugu character
it stands for, please send me e-mail, so that I can include it in the
next release of ITRANS. My e-mail address is available elsewhere in this
document.
Feel free to send me mail on any other issues regarding CS/CSX support
in ITRANS, too.

\subsection{Breaking the lexical scan in ITRANS}

ITRANS always matches the largest possible input sequence when scanning
the input. Thus, in devanagari, {\tt sha} will produce #hindi  sha #endhindi even when
usecsx is in effect.
If instead you need ITRANS to recognize it as two different consonants,
you should use the lexical scan break character, the underscore.
Thus, typing {\tt s\_ha} will result in #hindi  s_ha #endhindi.

This is a thing to watch out for in all cases where some character has
a multiple letter mapping, and each letter by itself also represents some
other character.
In the above example, {\tt sh} is the two letter map, and both
{\tt s} and {\tt h} represent other characters.

\section{ITRANS Encoding Accepted along with CS/CSX}

Even when {\tt \char35usecsx} is in effect, the other ITRANS mappings
are still accepted.
Actually, even without the usecsx command, ITRANS will still accept all
the CS/CSX character codes. The only reason the usecsx command is needed
is to disambiguate the #hindi ca #endhindi and #hindi cha #endhindi characters. ITRANS by default
uses {\tt cha} and {\tt chha} to denote #hindi ca #endhindi and #hindi cha #endhindi, but CS/CSX
uses {\tt ca} and {\tt cha}. To handle this difference, the
{\tt \char35usecsx} command had to be introduced.

Though this document shows only the Devanagari script, CS/CSX can be used
in ITRANS with every Indic Script that ITRANS supports.
For more details on those languages, consult the documentation for that
specific language. For Devanagari, consult dnvc.itx or dvng.itx, for Tamil,
tamil.itx, for Bengali, beng.itx, for Telugu tlgutx.itx, for Punjabi
pundoc.itx, for Romanized Sanskrit romancsx.itx.

\subsection{Converting CSX Encoding to ITRANS Encoding}

Sometimes, it is useful to convert input text from the 8-bit CS/CSX encoding
to the 7-bit ITRANS Encoding (ASCII text).
Many computers still do not have good 8-bit editing tools, and even if
such tools are present, the CS/CSX font may not be available, in which case
editing CSX texts becomes cumbersome.

To convert input text from CS/CSX encoding to ITRANS encoding, the program
{\bf csx2i} has been provided. It is present in the {\tt src/} directory
of the ITRANS distribution. For x86 MS-DOS compatible machines, an executable
is also provided. Given a file called {\tt input.csx} which contains
text in CS/CSX encoding, to convert it to ITRANS encoding in a file called
{\tt output}, run it like this:

{\tt csx2i < input.csx > output}

C-source code to csx2i is provided, in file csx2i.c, and it should compile
easily on every platform.

Once the file {\tt output} is checked over for manual corrections, you
can embed that text in between ITRANS commands, and process it like any
other ITRANS input file.

\vfill

\subsection{Author}

\noindent
ITRANS has been developed by Avinash Chopde. \\
E-mail:
\htmladdnormallink{\texttt{avinash@acm.org}}{mailto:avinash@acm.org}. \\
Home page:
\htmladdnormallink{\texttt{http://www.aczone.com/}}{http://www.aczone.com/}

\bigskip
\hrule
%-------------------------------------------------------------------
\begin{htmlonly}
\section{Devanagari Table}
\end{htmlonly}

\begin{table}[hp]
\begin{center}
\begin{tabular}{c@{\hspace{1in}}c@{\hspace{1in}}c}
% --- first col is vowels inside a tabular
\begin{makeimage}
\begin{tabular}{|c|c|}
\multicolumn{2}{c}{Vowels} \\
\hline
{#hindi a #endhindi}	& {\tt a} \\ \hline
{#hindi aa #endhindi}	& {\tt aa {\it or} A} \\ \hline
{#hindi i #endhindi}	& {\tt i} \\ \hline
{#hindi ii #endhindi}	& {\tt ii {\it or} I} \\ \hline
{#hindi u #endhindi}	& {\tt u} \\ \hline
{#hindi uu #endhindi}	& {\tt uu {\it or} U} \\ \hline
{#hindi R^i #endhindi}	& {\tt RRi {\it or} R\char`^i} \\ \hline
{#hindi R^I #endhindi}	& {\tt RRI {\it or} R\char`^I} \\ \hline
{#hindi L^i #endhindi}	& {\tt LLi {\it or} L\char`^i} \\ \hline
{#hindi L^I #endhindi}	& {\tt LLI {\it or} L\char`^I} \\ \hline
{#hindi e #endhindi}	& {\tt e} \\ \hline
{#hindi ai #endhindi}	& {\tt ai} \\ \hline
{#hindi o #endhindi}	& {\tt o} \\ \hline
{#hindi au #endhindi}	& {\tt au} \\ \hline
{#hindi aM #endhindi}	& {\tt {\it a}M} \\ \hline
{#hindi aH #endhindi}	& {\tt {\it a}H} \\ \hline
\multicolumn{2}{c}{} \\
\multicolumn{2}{c}{} \\
\multicolumn{2}{c}{Digits} \\
\hline
{#hindi 0 #endhindi}	& {\tt 0} \\ \hline
{#hindi 1 #endhindi}	& {\tt 1} \\ \hline
{#hindi 2 #endhindi}	& {\tt 2} \\ \hline
{#hindi 3 #endhindi}	& {\tt 3} \\ \hline
{#hindi 4 #endhindi}	& {\tt 4} \\ \hline
{#hindi 5 #endhindi}	& {\tt 5} \\ \hline
{#hindi 6 #endhindi}	& {\tt 6} \\ \hline
{#hindi 7 #endhindi}	& {\tt 7} \\ \hline
{#hindi 8 #endhindi}	& {\tt 8} \\ \hline
{#hindi 9 #endhindi}	& {\tt 9} \\ \hline
\end{tabular}
\end{makeimage}
% --- end first col 
&
% --- second col is consonants 
\begin{makeimage}
\begin{tabular}{|c|c|}
\multicolumn{2}{c}{Consonants} \\
\hline
{#hindi ka  #endhindi}	& {\tt k{\it a}} \\ \hline
{#hindi kha  #endhindi}	& {\tt kh{\it a}} \\ \hline
{#hindi ga  #endhindi}	& {\tt g{\it a}} \\ \hline
{#hindi gha  #endhindi}	& {\tt gh{\it a}} \\ \hline
{#hindi ~Na  #endhindi}	& {\tt \char`~N{\it a or} N\char`^{\it a}} \\ \hline
{#hindi ca  #endhindi}	& {\tt c{\it a}} \\ \hline
{#hindi cha  #endhindi}	& {\tt ch{\it a or} chh{\it a}} \\ \hline
{#hindi ja  #endhindi}	& {\tt j{\it a}} \\ \hline
{#hindi jha  #endhindi}	& {\tt jh{\it a}} \\ \hline
{#hindi ~na  #endhindi}	& {\tt \char`~n{\it a or} JN{\it a}} \\ \hline
{#hindi Ta  #endhindi}	& {\tt T{\it a}} \\ \hline
{#hindi Tha  #endhindi}	& {\tt Th{\it a}} \\ \hline
{#hindi Da  #endhindi}	& {\tt D{\it a}} \\ \hline
{#hindi Dha  #endhindi}	& {\tt Dh{\it a}} \\ \hline
{#hindi Na  #endhindi}	& {\tt N{\it a}} \\ \hline
{#hindi ta  #endhindi}	& {\tt t{\it a}} \\ \hline
{#hindi tha  #endhindi}	& {\tt th{\it a}} \\ \hline
{#hindi da  #endhindi}	& {\tt d{\it a}} \\ \hline
{#hindi dha  #endhindi}	& {\tt dh{\it a}} \\ \hline
{#hindi na  #endhindi}	& {\tt n{\it a}} \\ \hline
{#hindi pa  #endhindi}	& {\tt p{\it a}} \\ \hline
{#hindi pha  #endhindi}	& {\tt ph{\it a}} \\ \hline
{#hindi ba  #endhindi}	& {\tt b{\it a}} \\ \hline
{#hindi bha  #endhindi}	& {\tt bh{\it a}} \\ \hline
{#hindi ma  #endhindi}	& {\tt m{\it a}} \\ \hline
{#hindi ya  #endhindi}	& {\tt y{\it a}} \\ \hline
{#hindi ra  #endhindi}	& {\tt r{\it a}} \\ \hline
{#hindi la  #endhindi}	& {\tt l{\it a}} \\ \hline
{#hindi va  #endhindi}	& {\tt v{\it a or} w{\it a}} \\ \hline
{#hindi sha  #endhindi}	& {\tt sh{\it a}} \\ \hline
{#hindi Sha  #endhindi}	& {\tt Sh{\it a or} shh{\it a}} \\ \hline
{#hindi sa  #endhindi}	& {\tt s{\it a}} \\ \hline
{#hindi ha  #endhindi}	& {\tt h{\it a}} \\ \hline
{#hindi La  #endhindi}	& {\tt ld{\it a or} L{\it a}} \\ \hline
{#hindi kSha  #endhindi}	& {\tt kSh{\it a or} x{\it a}} \\ \hline
{#hindi j~na  #endhindi}	& {\tt j\char`~n{\it a or} GY{\it a}} \\ \hline
\end{tabular}
\end{makeimage}
% --- end second col 
&
% --- third col of specials/accents inside a tabular
\begin{makeimage}
\begin{tabular}{|c|c|}
\multicolumn{2}{c}{Specials/Accents} \\
\hline
{#hindi qa  #endhindi}	& {\tt q{\it a}} \\ \hline
{#hindi Ka  #endhindi}	& {\tt K{\it a}} \\ \hline
{#hindi Ga  #endhindi}	& {\tt G{\it a}} \\ \hline
{#hindi za  #endhindi}	& {\tt J{\it a or} z{\it a}} \\ \hline
{#hindi fa  #endhindi}	& {\tt f{\it a}} \\ \hline
{#hindi .Da  #endhindi}	& {\tt .D{\it a}} \\ \hline
{#hindi .Dha  #endhindi}	& {\tt .Dh{\it a}} \\ \hline
{#hindi AUM #endhindi}	& {\tt AUM} or {\tt OM} \\ \hline
{#hindi Rga  #endhindi}	& {\tt R{\it ga}} \\ \hline
{#hindi rga #endhindi} & {\tt rga {\it or} {\it ga}\char`^r} \\ \hline
{#hindi ga.n #endhindi} & {\tt {\it ga}.n} \\ \hline
{#hindi aa.c #endhindi} & {\tt {\it aa}.c} \\ \hline
{#hindi Da.N #endhindi} & {\tt {\it Da}.N} \\ \hline
{#hindi D.h #endhindi} & {\tt {\it D}.h} \\ \hline
{#hindi duH #endhindi} & {\tt {\it du}H} \\ \hline
{#hindi .a #endhindi} & {\tt .a} \\ \hline
\end{tabular}
\end{makeimage}
\\
\end{tabular} % end the larger tabular encompassing all four tables
\hfill
\\
\end{center}
\caption {{\bf ITRANS: Devanagari to English with \char35usecsx} (in addition to Table 1).}
\label{ienc}
\end{table}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
