summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-05-18 22:26:31 +0000
committerKarl Berry <karl@freefriends.org>2013-05-18 22:26:31 +0000
commit0aa0f6c6a87f4b26e62809f03cdc0f0f17f5e27f (patch)
treee0d58e5ccd3385a17d4b0feb074ac4ce5808772e
parentde0e0e06760b6aefd3d8757c692204e76309a58d (diff)
babel-thai (18may13)
git-svn-id: svn://tug.org/texlive/trunk@30564 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/generic/babel-thai/thai.pdfbin0 -> 216258 bytes
-rw-r--r--Master/texmf-dist/source/generic/babel-thai/thai.dtx914
-rw-r--r--Master/texmf-dist/source/generic/babel-thai/thai.ins148
-rw-r--r--Master/texmf-dist/tex/generic/babel-thai/lthenc.def157
-rw-r--r--Master/texmf-dist/tex/generic/babel-thai/thai.ldf391
-rw-r--r--Master/texmf-dist/tex/generic/babel-thai/tis620.def108
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check4
-rw-r--r--Master/tlpkg/tlpsrc/babel-thai.tlpsrc0
-rw-r--r--Master/tlpkg/tlpsrc/collection-langcjk.tlpsrc2
9 files changed, 1721 insertions, 3 deletions
diff --git a/Master/texmf-dist/doc/generic/babel-thai/thai.pdf b/Master/texmf-dist/doc/generic/babel-thai/thai.pdf
new file mode 100644
index 00000000000..4401e38a20c
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/babel-thai/thai.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/generic/babel-thai/thai.dtx b/Master/texmf-dist/source/generic/babel-thai/thai.dtx
new file mode 100644
index 00000000000..6b30f049d19
--- /dev/null
+++ b/Master/texmf-dist/source/generic/babel-thai/thai.dtx
@@ -0,0 +1,914 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 1999 National Electronics and Computer Technology Center
+% (NECTEC), Thailand. All rights reserved.
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work is Theppitak Karoonboonyanan.
+%
+% This work consists of the files thai.dtx and thai.ins
+% and the derived file thai.ldf.
+%
+% \fi
+% \CheckSum{272}
+% \iffalse
+% Tell the \LaTeX\ system who we are and write an entry on the
+% transcript.
+%<*dtx>
+\ProvidesFile{thai.dtx}
+%</dtx>
+%<code>\ProvidesLanguage{thai}
+%\fi
+%\ProvidesFile{thai.dtx}
+ [2013/03/31 v1.8 Thai support from the babel system]
+%\iffalse
+%% File `thai.dtx'
+%% Thai Language Definition File
+%% Copyright (C) 1999 - 2013
+%% by Surapant Meknavin,
+%% Theppitak Karoonboonyanan (thep at linux.thai.net),
+%% Chanop Silpa-Anan (chanop at debian.org),
+%% Poonlap Veerathanabutr (poonlap at linux.thai.net)
+%% Thai Linux Working Group
+%% http://linux.thai.net/
+%%
+%% Please report errors to: Theppitak Karoonboonyanan
+%% (thep at linux.thai.net)
+%%
+%% This file is part of the babel system, it provides the source
+%% code for the Thai language definition file. The original version
+%% was written by Surapant Meknavin.
+%%
+%% It is currently maintained by Theppitak Karoonboonyanan
+%% (thep at linux.thai.net), Chanop Silpa-Anan (chanop at debian.org)
+%% and Poonlap Veerathanabutr (poonlap at linux.thai.net).
+%
+%<*filedriver>
+\documentclass{ltxdoc}
+\newcommand*\TeXhax{\TeX hax}
+\newcommand*\babel{\textsf{babel}}
+\newcommand*\langvar{$\langle \it lang \rangle$}
+\newcommand*\note[1]{}
+\newcommand*\Lopt[1]{\textsf{#1}}
+\newcommand*\file[1]{\texttt{#1}}
+\begin{document}
+ \DocInput{thai.dtx}
+\end{document}
+%</filedriver>
+%\fi
+% \GetFileInfo{thai.dtx}
+%
+% \changes{thai-1.0d}{2000/05/09}{Theppitak Karoonboonyanan:
+% Encoding changed from TIS to LTH, according to TeX convention.
+% Let `norasi' be Thai roman font, `dbttx' Thai sans serif.
+% Correct some Thai translations.}
+% \changes{thai-1.0d}{2001/12/04}{Theppitak Karoonboonyanan:
+% Add checks for \cs{thechapter} existence before redefining
+% digits as Thai.
+% Move thaitoday definitions into thainumber and remove
+% thainumber option.
+% Use \cs{ifcase} instead of nested \cs{if} in \cs{thaitranslate}.
+% Fix wrong encoding in heading for book style (as suggested by Chanop).}
+% \changes{thai-1.0d}{2001/12/04}{Chanop Silpa-Anan:
+% Add thainumber and thaitoday option}
+% \changes{thai-1.0d}{2002/01/16}{Theppitak Karoonboonyanan:
+% Fix extra spaces appearing in \cs{selectlanguage\{thai\}}
+% (as suggested by C. Visavakul)}
+% \changes{thai-1.0d}{2003/01/07}{Poonlap Veerathanabutr:
+% Change `dbttx' to `dbtt'}
+% \changes{thai-1.0d}{2003/02/26}{Theppitak Karoonboonyanan:
+% Run Thai number in part, subsubsection, paragraph,
+% subparagraph also}
+% \changes{thai-1.0d}{2003/06/02}{Chanop Silpa-Anan:
+% Use `garuda' for default Thai sans serif since
+% `dbtt' is still slightly buggy}
+% \changes{thai-1.0d}{2003/08/10}{Theppitak Karoonboonyanan:
+% Fix translation of \cs{prefacename}.
+% Redefine \cs{frontmatter} and \cs{mainmatter} for book class
+% so thainumber option applies to the page numbering styles.
+% (Experimental:) Add initialization of Thai character codes
+% to fix the \cs{MakeUppercase} and \cs{MakeLowercase} problem
+% also comment out the old workarounds.}
+% \changes{thai-1.0d}{2004/02/02}{Poonlap Veerathanabutr:
+% Fix \cs{lccode} and \cs{uccode}}
+% \changes{thai-1.0d}{2004/02/28}{Theppitak Karoonboonyanan:
+% Always use Thai alphabets for appendix (as suggested by K. chakkree01)}
+% \changes{thai-1.0d}{2004/03/04}{Theppitak Karoonboonyanan:
+% Use `pmono' as default Thai ttfamily}
+% \changes{thai-1.0d}{2004/03/06}{Theppitak Karoonboonyanan:
+% Use `garuda' instead of `dbtt' as default Thai sffamily}
+% \changes{thai-1.0d}{2004/03/18}{Theppitak Karoonboonyanan:
+% Move \cs{frontmatter} and \cs{mainmatter} redefinition back under
+% `thainumber' option (wrongly moved along with previous
+% appendix fix)}
+% \changes{thai-1.0d}{2004/04/08}{Theppitak Karoonboonyanan:
+% Borrow code from previous encoding fix to inhibit capitalizing
+% chapters \& sections in book headers. (proposed by P'Joy)}
+% \changes{thai-1.0d}{2004/11/15}{Theppitak Karoonboonyanan:
+% `pmono' is now `ttype'}
+% \changes{thai-1.1}{2006/07/05}{Theppitak Karoonboonyanan:
+% Create `thai.dtx' for documenting and generating `thai.ldf'.
+% Remove unnecessary workarounds for inhibition of capitalization
+% of headers, as the catcodes already do the job.
+% Also remove the mysterious redefinitions of figure and table counters.}
+% \changes{thai-1.2}{2009/07/27}{Theppitak Karoonboonyanan:
+% Re-encode Thai messages with unicode symbolic names, instead of explicit
+% TIS-620 bytes. Adjust documentation to cover UTF-8 support. Make
+% \cs{ttypist} the default typewriter font instead of \cs{ttype}.
+% Drop the obsolete \cs{\backslash{}thai} command.}
+% \changes{thai-1.3}{2011/03/17}{Theppitak Karoonboonyanan:
+% Add \cs{\backslash{}textpali} macro for typesetting Pali text with
+% descender-less Yo Ying and Tho Than. Update translation for
+% \cs{\backslash{}refname}}
+% \changes{thai-1.4}{2011/10/18}{Theppitak Karoonboonyanan:
+% Remove font-specific macros}
+% \changes{thai-1.4a}{2011/11/23}{Theppitak Karoonboonyanan:
+% Revise documentation}
+% \changes{thai-1.4b}{2011/12/16}{Theppitak Karoonboonyanan:
+% Remove extra space in \cs{\backslash{}wbr}. Word spacing is considered
+% suboptimal.}
+% \changes{thai-1.4c}{2011/12/19}{Theppitak Karoonboonyanan:
+% Revise documentation}
+% \changes{thai-1.4d}{2012/02/10}{Theppitak Karoonboonyanan:
+% Revise documentation. Add documentation for Thai line stretching.}
+% \changes{thai-1.5}{2013/01/29}{Theppitak Karoonboonyanan:
+% Add space stretching support.}
+% \changes{thai-1.6}{2013/03/12}{Theppitak Karoonboonyanan:
+% Fix crash on \cs{\backslash{}renewcommand} when \cs{thainumber} option
+% is used with section-less document classes, such as letter.}
+% \changes{thai-1.7}{2013/03/13}{Theppitak Karoonboonyanan:
+% Limit the scope of emergency stretch within Thai language by using
+% \cs{\backslash{}extrasthai} and \cs{\backslash{}noextrasthai}.}
+% \changes{thai-1.8}{2013/03/31}{Pruet Boonma:
+% Add \Lopt{thaiindentfirst} option to force indentation on section's
+% first paragraph.}
+%
+% \section{The Thai language}
+%
+% The file \file{\filename}\footnote{The file described in this section has
+% version number \fileversion\ and was last revised on \filedate. The
+% original author was Surapant Meknavin, and it was composed into
+% \file{\filename} and maintained by Theppitak Karoonboonyanan
+% (\texttt{thep@linux.thai.net}).}
+% defines language-specific macros for Thai language.
+%
+% \subsection{Input encoding}
+%
+% Thai documents supported by this language definition can be encoded in
+% either TIS-620 (ISO/IEC 8859-11) or UTF-8 with the aids of the
+% \texttt{inputenc} package.
+%
+% \DescribeMacro{\thaitext}
+% \DescribeMacro{\latintext}
+% The commands |\thaitext| and |\latintext| can be used to switch to Thai
+% or Latin fonts. These are declarations.
+%
+% \DescribeMacro{\textthai}
+% \DescribeMacro{\textlatin}
+% The commands |\textthai| and |\textlatin| both take one text argument
+% which is then typeset using the requested language settings.
+%
+% \DescribeMacro{\textpali}
+% The command |\textpali| takes one text argument which is then typeset
+% using Thai font, with special shapes for certain characters, such as
+% descender-less Yo Ying and Tho Than, as required by usual Pali-Sanskrit
+% transliteration.
+%
+% \subsection{Word breaks}
+%
+% Thai is written continuously without word delimitors. The word boundary
+% analysis is considered too complicated for rule-based approaches.
+% Most available good-quality word analysis tools employ special matching
+% algorithms against pre-defined dictionaries. Some even use
+% statistics-based contextual analysis to resolve ambiguities. Therefore,
+% no good hyphenation pattern is found to be comparable with those tools
+% yet.
+%
+% \DescribeMacro{\wbr}
+% What provided here for the word boundary problem is the |\wbr| command
+% for separating words. It delimits words without taking physical space,
+% so that the \TeX\ typesetter still wraps lines at word boundary like
+% when it typesets English text.
+%
+% Therefore, one can preprocess their Thai document using Thai word analysis
+% tools which automatically insert the |\wbr| commands between words, such
+% as:
+% \begin{itemize}
+% \item \emph{cttex} by Vuthichai Ampornaramveth
+% \item \emph{swath} by Phaisarn Charoenpornsawat, now maintained by Thai
+% Linux Working Group, which can be downloaded from:\\
+% \texttt{ftp://linux.thai.net/pub/thailinux/software/swath}
+%
+% To compile \emph{swath}, you need \emph{libdatrie} as the
+% dependency, which is provided under the \emph{libthai} project:\\
+% \texttt{ftp://linux.thai.net/pub/thailinux/software/libthai}
+% \end{itemize}
+%
+% \subsection{Thai paragraph}
+% \label{thai-paragraph}
+% Generally speaking, Thai paragraph uses the same rule as in English.
+% However, there are some differences, such as how to start the paragraph
+% in a new chapter or section.
+%
+% \DescribeEnv{thaiindentfirst}
+% As suggested by English writing guideline, the first paragraph in each
+% section shall not be indented. However, for Thai language, indenting the
+% first paragraph is more popular and widely suggested. The option
+% \Lopt{thaiindentfirst} can be used to control this behavior.
+%
+% \subsection{Thai numbering}
+% \label{thai-numbering}
+%
+% Some certain Thai documents use Thai digits instead of Arabic.
+% And Thai alphabetic numbering is also commonly used for appendices.
+% This file provides a number of numbering styles that can be applied
+% to \LaTeX\ |\pagenumbering| command:
+%
+% \begin{itemize}
+% \item |\thainum| for plain Thai digits
+% \item |\thaibracenum| for Thai digits in parentheses
+% \item |\thaialph| for Thai alphabetic numbering, using a reduced set
+% (with three alphabets skipped: Kho Khuat, Kho Khon and Kho Rakhang)
+% \item |\thaiAlph| for Thai alphabetic numbering, using the full set
+% (with full alphabet set, plus two semi-vowels, Ru and Lu, in the
+% order defined in Thai official dictionary)
+% \end{itemize}
+%
+% \DescribeEnv{thainumber}
+% The above numbering styles can be automatically chosen using the
+% \Lopt{thainumber} option. When this option is supplied to the \babel{}
+% package, Thai numberings will be applied to pages, sections,
+% enumerations, dates, etc.
+%
+% \StopEventually{}
+%
+% \subsection{Thai language definition}
+%
+% The macro |\LdfInit| takes care of preventing file from being
+% loaded more than once, checking the category code of the
+% \texttt{@} sign, etc.
+% \begin{macrocode}
+%<*code>
+\LdfInit\CurrentOption{captions\CurrentOption}
+% \end{macrocode}
+%
+% When this file is read as an option, i.e. by the |\usepackage{babel}|
+% command, \texttt{thai} will be an `unknown' language, in which
+% case we have to make it known. So, we check for the existence of
+% |\l@thai| to see whether we have to do something here.
+%
+% \begin{macrocode}
+\ifx\l@thai\@undefined
+ \@nopatterns{thai}
+ \adddialect\l@thai0\fi
+% \end{macrocode}
+%
+% \subsubsection{Thai character encoding}
+%
+% In this language definition, we support TIS-620, the national standard
+% 8-bit character encoding, and Unicode by means of \texttt{inputenc}
+% package.
+%
+% The encoding has been described in terms of TIS-620 as \texttt{LTH} in
+% the \file{lthenc.def} file. So, we require it.
+%
+% \begin{macrocode}
+\InputIfFileExists{lthenc.def}%
+ {\message{Loading the definitions for the Thai font encoding}}%
+ {%
+ \errhelp{I can't find the lthenc.def file for the Thai fonts}%
+ \errmessage{Since I do not know what the LTH encoding means^^J
+ I can't typeset Thai.^^J
+ I stop here, while you get a suitable lthenc.def file}\@@end
+ }
+% \end{macrocode}
+%
+% The next step consists of defining commands to switch to the Thai
+% language, for users to switch back and forth between languages.
+%
+% \begin{macro}{\thaitext}
+% We define |\thaitext| as a declarative switch to Thai font encoding.
+% \begin{macrocode}
+\DeclareRobustCommand{\thaitext}{%
+ \fontencoding{LTH}\selectfont%
+ \def\encodingdefault{LTH}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\textthai}
+% This command takes one text argument which is then typeset using Thai font
+% encoding.
+% \begin{macrocode}
+\DeclareRobustCommand{\textthai}[1]{{\thaitext #1}}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Pali-Sanskrit Transliteration}
+%
+% Thai script can also be used for writing Pali and Sanskrit. Additional
+% conventions are applied when doing so: (a) Yo Ying and Tho Than must be
+% written without descender; (b) Phinthu is used for marking cluster;
+% (c) Nikhahit is used as a Pali-Sanskrit consonant.
+%
+% (b) is inherently applicable as combining character. So is (c), with
+% an exception for the case in which it is combined over upper vowel
+% (namely, Sara I), where it must be shifted to higher position. Nikhahit
+% shifting is implemented in the ligkern rules with the extra glyph
+% provision in the fonts.
+%
+% What is left here is (a). Yo Ying and Tho Than must be converted to
+% their descender-less variants. The |\textpali| macro is defined
+% for this purpose. Note that |\wbr| commands which are normally inserted
+% by automatic tools are ignored here, as most of such tools are not
+% designed for Pali/Sanskrit. Besides, Pali/Sanskrit is already space
+% delimited.
+%
+% \begin{macro}{\textpali}
+% This command converts all Yo Ying and Tho Than in its argument to
+% their descender-less variations.
+% \begin{macrocode}
+\DeclareRobustCommand{\textpali}[1]{%
+ \begingroup
+ \def\thaiYoYing{\textYoYingPali{}}%
+ \def\thaiThoThan{\textThoThanPali{}}%
+ \def\wbr{}%
+ \scantokens\expandafter{#1}\relax
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Hyphenation}
+%
+% We define |\thaihyphenmins| macro for hyphenation parameters. This is
+% one of the five macros required by \babel{}.
+%
+% \begin{macro}{\thaihyphenmins}
+% This macro is used to store the correct values of the hyphenation
+% parameters |\lefthyphenmin| and |\righthyphenmin|. They are set to 11.
+% \changes{thai-1.1}{2006/07/02}{Theppitak Karoonboonyanan:
+% Now use \cs{providehyphenmins} to provide a default value}
+% \begin{macrocode}
+\providehyphenmins{thai}{11}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Captions translation}
+%
+% We define |\captionsthai| macro for translations of strings. This is
+% one of the five macros required by \babel{}.
+%
+% \begin{macro}{\captionsthai}
+% The macro |\captionsthai| defines all strings used in the four
+% standard documentclasses provided with \LaTeX.
+% \begin{macrocode}
+\addto\captionsthai{%
+ \def\prefacename{\thaiKhoKhwai\thaiSaraAm\thaiNoNu\thaiSaraAm}%
+ \def\refname{\thaiSaraE\thaiOAng\thaiKoKai\thaiSoSua\thaiSaraAa\thaiRoRua%
+ \thaiOAng\thaiMaiTho\thaiSaraAa\thaiNgoNgu%
+ \thaiOAng\thaiSaraI\thaiNgoNgu}%
+ \def\abstractname{\thaiBoBaimai\thaiThoThahan%
+ \thaiKhoKhwai\thaiMaiHanakat\thaiDoDek%
+ \thaiYoYak\thaiMaiEk\thaiOAng}%
+ \def\bibname{\thaiBoBaimai\thaiRoRua\thaiRoRua\thaiNoNen\thaiSaraAa%
+ \thaiNoNu\thaiSaraU\thaiKoKai\thaiRoRua\thaiMoMa}%
+ \def\chaptername{\thaiBoBaimai\thaiThoThahan%
+ \thaiThoThahan\thaiSaraIi\thaiMaiEk}%
+ \def\appendixname{\thaiPhoSamphao\thaiSaraAa\thaiKhoKhwai%
+ \thaiPhoPhung\thaiNoNu\thaiWoWaen\thaiKoKai}%
+ \def\contentsname{\thaiSoSua\thaiSaraAa\thaiRoRua%
+ \thaiBoBaimai\thaiMaiHanakat\thaiYoYing}%
+ \def\listfigurename{\thaiSoSua\thaiSaraAa\thaiRoRua%
+ \thaiBoBaimai\thaiMaiHanakat\thaiYoYing%
+ \thaiRoRua\thaiSaraUu\thaiPoPla}%
+ \def\listtablename{\thaiSoSua\thaiSaraAa\thaiRoRua%
+ \thaiBoBaimai\thaiMaiHanakat\thaiYoYing%
+ \thaiToTao\thaiSaraAa\thaiRoRua\thaiSaraAa\thaiNgoNgu}%
+ \def\indexname{\thaiDoDek\thaiRoRua\thaiRoRua\thaiChoChang%
+ \thaiNoNu\thaiSaraIi}%
+ \def\figurename{\thaiRoRua\thaiSaraUu\thaiPoPla%
+ \thaiThoThahan\thaiSaraIi\thaiMaiEk}%
+ \def\tablename{\thaiToTao\thaiSaraAa\thaiRoRua\thaiSaraAa\thaiNgoNgu%
+ \thaiThoThahan\thaiSaraIi\thaiMaiEk}%
+ \def\partname{\thaiPhoSamphao\thaiSaraAa\thaiKhoKhwai}%
+ \def\enclname{\thaiSoSua\thaiSaraI\thaiMaiEk\thaiNgoNgu%
+ \thaiThoThahan\thaiSaraIi\thaiMaiEk%
+ \thaiSaraAe\thaiNoNu\thaiBoBaimai%
+ \thaiMoMa\thaiSaraAa%
+ \thaiDoDek\thaiMaiTho\thaiWoWaen\thaiYoYak}%
+ \def\ccname{\thaiSoSua\thaiSaraAm\thaiSaraE\thaiNoNu\thaiSaraAa%
+ \thaiThoThung\thaiSaraUe\thaiNgoNgu}%
+ \def\headtoname{\thaiSaraE\thaiRoRua\thaiSaraIi\thaiYoYak\thaiNoNu}%
+ \def\pagename{\thaiHoHip\thaiNoNu\thaiMaiTho\thaiSaraAa}%
+ \def\seename{\thaiDoDek\thaiSaraUu}%
+ \def\alsoname{\thaiDoDek\thaiSaraUu%
+ \thaiSaraE\thaiPhoPhan\thaiSaraI\thaiMaiEk\thaiMoMa%
+ \thaiSaraE\thaiToTao\thaiSaraI\thaiMoMa}%
+ \def\proofname{\thaiPhoPhan\thaiSaraI%
+ \thaiSoSua\thaiSaraUu\thaiChoChan\thaiNoNu\thaiThanthakhat}%
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Date}
+%
+% Here we define |\datethai| macro for Thai date format. This is
+% one of the five macros required by \babel{}.
+%
+% First, let's define the months in Thai.
+%
+% \begin{macrocode}
+\def\th@month{%
+ \ifcase\month\or
+ \thaiMoMa\thaiKoKai\thaiRoRua\thaiSaraAa\thaiKhoKhwai\thaiMoMa \or
+ \thaiKoKai\thaiSaraU\thaiMoMa\thaiPhoSamphao\thaiSaraAa%
+ \thaiPhoPhan\thaiMaiHanakat\thaiNoNu\thaiThoThong\thaiThanthakhat \or
+ \thaiMoMa\thaiSaraIi\thaiNoNu\thaiSaraAa\thaiKhoKhwai\thaiMoMa \or
+ \thaiSaraE\thaiMoMa\thaiSoRusi\thaiSaraAa\thaiYoYak\thaiNoNu \or
+ \thaiPhoPhan\thaiRu\thaiSoRusi\thaiPhoSamphao\thaiSaraAa%
+ \thaiKhoKhwai\thaiMoMa \or
+ \thaiMoMa\thaiSaraI\thaiThoThung\thaiSaraU\thaiNoNu\thaiSaraAa%
+ \thaiYoYak\thaiNoNu \or
+ \thaiKoKai\thaiRoRua\thaiKoKai\thaiDoChada\thaiSaraAa%
+ \thaiKhoKhwai\thaiMoMa \or
+ \thaiSoSua\thaiSaraI\thaiNgoNgu\thaiHoHip\thaiSaraAa%
+ \thaiKhoKhwai\thaiMoMa \or
+ \thaiKoKai\thaiMaiHanakat\thaiNoNu\thaiYoYak\thaiSaraAa%
+ \thaiYoYak\thaiNoNu \or
+ \thaiToTao\thaiSaraU\thaiLoLing\thaiSaraAa\thaiKhoKhwai\thaiMoMa \or
+ \thaiPhoPhan\thaiRu\thaiSoSala\thaiChoChan\thaiSaraI\thaiKoKai\thaiSaraAa%
+ \thaiYoYak\thaiNoNu \or
+ \thaiThoThong\thaiMaiHanakat\thaiNoNu\thaiWoWaen\thaiSaraAa%
+ \thaiKhoKhwai\thaiMoMa
+ \fi}
+% \end{macrocode}
+%
+% Thai official calendar uses Buddhist Era, the era whose start is marked
+% by Buddha's entry into Parinirvana. In original form, it is a lunar
+% calendar. But in Thai contemporary calendar, it is synchronized to
+% Gregorian calendar, with offset of 543 years back.
+%
+% \begin{macrocode}
+\newcount\th@year
+\th@year=\year
+\advance\th@year by 543
+% \end{macrocode}
+%
+% Then, we come to the |\datethai| macro.
+%
+% \begin{macro}{\datethai}
+% Thai date format is in the day-month-year order, using Buddhist Era.
+% \begin{macrocode}
+\def\datethai{%
+ \def\today{\number\day \space \th@month\space %
+ \thaiPhoPhan.\thaiSoSala.~\number\th@year}}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{Extra definitions for language switching}
+%
+% Then, the last two macros required by \babel{} are |\extrasthai| and
+% |\noextrasthai| containing extra definitions needed for Thai language
+% upon switching to and out of it, respectively.
+%
+% \begin{macrocode}
+\addto\extrasthai{\thaitext}
+\addto\noextrasthai{\latintext}
+% \end{macrocode}
+%
+% \subsection{Word break support}
+%
+% As Thai script is written continuously without word delimitors, we define
+% |\wbr| command to mark word boundaries without taking space, so that
+% \TeX typesetter can wrap Thai lines at proper positions.
+%
+% \begin{macrocode}
+\def\wbr{\hskip0pt\relax}
+% \end{macrocode}
+%
+% \subsection{Space stretching}
+%
+% Since ordinary Thai text contains fewer spaces than English,
+% the \TeX{} justification is stressed with fewer places to stretch
+% to make the line reach the right margin. This usually ends up with
+% overfull lines when \TeX{} decides to include the next word to fill
+% the space, instead of trying to manipulate spacing with appropriate
+% amount of text. Possible solutions to this problem include:
+% \begin{itemize}
+% \item \emph{Use letter spacing.} This is a common practice in Thai
+% publishing. However, \TeX{} does not allow this, probably not to
+% shag sheep.\footnote{\emph{``Men who would letterspace blackletter
+% would shag sheep'' --- Frederick Goudy.}}
+% \item \emph{Allow stretching between words.} This used to be a simple
+% hack in an old version of this module, until it was finally
+% dropped in version 1.4b, as it was considered suboptimal.
+% \item \emph{Allow more space stretching.} This can be more acceptable,
+% compared to the ragged right margin. And it is what we do here.
+% \end{itemize}
+%
+% \begin{macrocode}
+\addto\extrasthai{%
+ \edef\th@restoreemstretch{\emergencystretch=\the\emergencystretch}
+ \setlength{\emergencystretch}{0.6em}}
+\addto\noextrasthai{\th@restoreemstretch}
+% \end{macrocode}
+%
+% \subsection{Line spacing}
+%
+% Due to multi-level combining character stacking, Thai text lines
+% can occupy more vertical space than English. To prevent overlapping,
+% \TeX{} allocates more height for lines with combining characters
+% but not for those without. This can cause irregular line spacing.
+% To avoid this problem, we need to stretch the line spacing.
+%
+% \begin{macrocode}
+\renewcommand{\baselinestretch}{1.2}
+% \end{macrocode}
+%
+% \subsection{Paragraph}
+% This section provides Thai paragarph formating style as described in
+% \S\ref{thai-paragraph}.
+%
+% \subsubsection{\Lopt{thaiindentfirst} option}
+%
+% If \Lopt{thaiindentfirst} is supplied in the |\usepackage| command, the
+% first Thai paragraph in each section will be indented. The other
+% paragraphs will behave as default.
+%
+% \begin{macrocode}
+\DeclareOption{thaiindentfirst} {%
+% \end{macrocode}
+%
+% When switching to Thai language, point |\@afterindentfalse| to
+% |\@afterindentrue|, so that \LaTeX\ will never indent the first
+% paragraph.
+%
+% \begin{macrocode}
+ \addto\extrasthai{%
+ \let\th@afterindentfalse\@afterindentfalse
+ \let\@afterindentfalse\@afterindenttrue
+ \@afterindenttrue
+ }
+% \end{macrocode}
+%
+% When switching out of Thai language, point |\@afterindentfalse|
+% back to its original function.
+%
+% \begin{macrocode}
+ \addto\noextrasthai{%
+ \let\@afterindentfalse\th@afterindentfalse
+ }
+}
+% \end{macrocode}
+%
+% \subsection{Thai numbering support}
+%
+% This section provides Thai numbering styles as described in
+% \S\ref{thai-numbering}: |\thainum|, |\thaibracenum|, |\thaialph| and
+% |\thaiAlph|.
+%
+% First, we define a macro for translating decimal digits into Thai digits.
+%
+% \begin{macro}{\thaitranslate}
+% The |\thaitranslate| macro determines decimal digits in the argument and
+% convert them to Thai digit one by one, until the `|@|' terminator is found.
+% \begin{macrocode}
+\def\thaitranslate#1{\ifx @#1%
+ \else\ifcase#1
+ \thaizero \or \thaione \or \thaitwo \or \thaithree \or \thaifour \or
+ \thaifive \or \thaisix \or \thaiseven \or \thaieight \or \thainine
+ \else\fi
+ \expandafter\thaitranslate
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\thainum}
+% The |\thainum| macro is to be used as a numbering style in \LaTeX\
+% |\pagenumbering| command.
+%
+% It takes a counter name and converts its value into Thai digits.
+% In details, it prepends the counter name with `|c@|' to access the counter
+% value, then calls |\@thainum| to convert it into Thai digits.
+%
+% The |\@thainum| macro converts a number into Thai digits. It expands the
+% argument into a number, terminates it with `|@|', and calls
+% |\thaitranslate| to convert it into Thai digits.
+%
+% \begin{macrocode}
+\def\@thainum#1{\expandafter\thaitranslate\number#1@}
+\def\thainum#1{\expandafter\@thainum\csname c@#1\endcsname}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\thaibracenum}
+% Similar to |\thainum|, the |\thaibracenum| macro is to be used as a
+% numbering style in \LaTeX\ |\pagenumbering| command.
+%
+% It provides Thai digits numbering, surrounded by parentheses.
+%
+% \begin{macrocode}
+\def\@thaibracenum#1{(\expandafter\thaitranslate\number#1@)}
+\def\thaibracenum#1{\expandafter\@thaibracenum\csname c@#1\endcsname}
+% \end{macrocode}
+% \end{macro}
+%
+% Now come to Thai alphabetic numbering, beginning with the reduced set.
+%
+% \begin{macro}{\thaialph}
+% The |\thaialph| macro is to be used as a numbering style in \LaTeX\
+% |\pagenumbering| command.
+%
+% It converts a number not greater than 41 into Thai alphabet in the
+% corresponding order in the reduced set. In this set, 3 characters
+% are skipped: Kho Khuat, Kho Khon and Kho Rakhang.
+%
+% \begin{macrocode}
+\def\thaialph#1{\expandafter\@thaialph\csname c@#1\endcsname}
+\def\@thaialph#1{%
+ \ifcase#1\or \thaiKoKai\or \thaiKhoKhai\or \thaiKhoKhwai\or \thaiNgoNgu\or
+ \thaiChoChan\or \thaiChoChing\or \thaiChoChang\or \thaiSoSo\or
+ \thaiChoChoe\or \thaiYoYing\or \thaiDoChada\or \thaiToPatak\or
+ \thaiThoThan\or \thaiThoNangmontho\or \thaiThoPhuthao\or \thaiNoNen\or
+ \thaiDoDek\or \thaiToTao\or \thaiThoThung\or \thaiThoThahan\or
+ \thaiThoThong\or \thaiNoNu\or \thaiBoBaimai\or \thaiPoPla\or
+ \thaiPhoPhung\or \thaiFoFa\or \thaiPhoPhan\or \thaiFoFan\or
+ \thaiPhoSamphao\or \thaiMoMa\or \thaiYoYak\or \thaiRoRua\or
+ \thaiLoLing\or \thaiWoWaen\or \thaiSoSala\or \thaiSoRusi\or
+ \thaiSoSua\or \thaiHoHip\or \thaiLoChula\or \thaiOAng\or
+ \thaiHoNokhuk\else\@ctrerr\fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\thaiAlph}
+% Similar to |\thaialph|, the |\thaiAlph| macro provides Thai alphabetic
+% numbering with full alphabet set in the order defined in Thai official
+% dictionary. So, it supports up to 44 entries.
+%
+% \begin{macrocode}
+\def\thaiAlph#1{\expandafter\@thaiAlph\csname c@#1\endcsname}
+\def\@thaiAlph#1{%
+ \ifcase#1\or \thaiKoKai\or \thaiKhoKhai\or \thaiKhoKhuat\or \thaiKhoKhwai\or
+ \thaiKhoKhon\or \thaiKhoRakhang\or \thaiNgoNgu\or \thaiChoChan\or
+ \thaiChoChing\or \thaiChoChang\or \thaiSoSo\or \thaiChoChoe\or
+ \thaiYoYing\or \thaiDoChada\or \thaiToPatak\or \thaiThoThan\or
+ \thaiThoNangmontho\or \thaiThoPhuthao\or \thaiNoNen\or \thaiDoDek\or
+ \thaiToTao\or \thaiThoThung\or \thaiThoThahan\or \thaiThoThong\or
+ \thaiNoNu\or \thaiBoBaimai\or \thaiPoPla\or \thaiPhoPhung\or
+ \thaiFoFa\or \thaiPhoPhan\or \thaiFoFan\or \thaiPhoSamphao\or
+ \thaiMoMa\or \thaiYoYak\or \thaiRoRua\or \thaiLoLing\or
+ \thaiWoWaen\or \thaiSoSala\or \thaiSoRusi\or \thaiSoSua\or
+ \thaiHoHip\or \thaiLoChula\or \thaiOAng\or \thaiHoNokhuk\else\@ctrerr\fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{\Lopt{thainumber} option}
+%
+% Not all Thai documents use Thai digits. So, we support this as an
+% option. If \Lopt{thainumber} option is supplied in the |\usepackage|
+% command, Thai digits will be used in all numberings.
+%
+% \begin{macrocode}
+\DeclareOption{thainumber}{
+% \end{macrocode}
+%
+% We need to use the `|@|' character in macro implementations. So, make it
+% a normal charactor.
+%
+% \begin{macrocode}
+\catcode`\@=11
+% \end{macrocode}
+%
+% Since |\renewcommand| will fail if the renewed command does not exist,
+% and we are redefining counters independently on the document class
+% being used, we had better check for the counters' existence before
+% redefining them. To do so, we define a helper macro for this.
+%
+% \begin{macrocode}
+\def\@overridecommand#1#2{\ifdefined#1\renewcommand{#1}{#2}\fi}
+% \end{macrocode}
+%
+% Then, set default page numbering to |thainum|, and redefine counters
+% to |thainum|.
+%
+% \begin{macrocode}
+\pagenumbering{thainum}
+\@overridecommand\theenumi{\@thainum\c@enumi}
+\@overridecommand\theenumii{\@thaialph\c@enumii}
+%\@overridecommand\theenumiii{\@roman\c@enumiii}
+%\@overridecommand\theenumiv{\@Alph\c@enumiv}
+\@ifundefined{thechapter}%
+ {\@overridecommand\thesection{\@thainum\c@section}%
+ \@overridecommand\thesubsection{\thesection.\@thainum\c@subsection}%
+ \@overridecommand\thesubsubsection{\thesubsection.\@thainum\c@subsubsection}%
+ \@overridecommand\theparagraph {\thesubsubsection.\@thainum\c@paragraph}%
+ \@overridecommand\thesubparagraph {\theparagraph.\@thainum\c@subparagraph}%
+ \@overridecommand\theequation{\@thainum\c@equation}%
+ \@overridecommand\thetable{\@thainum\c@table}%
+ \@overridecommand\thefigure{\@thainum\c@figure}}%
+ {\@overridecommand\thepart{\@thainum\c@part}%
+ \@overridecommand\thechapter{\@thainum\c@chapter}%
+ \@overridecommand\thesection{\thechapter.\@thainum\c@section}%
+ \@overridecommand\thesubsection{\thesection.\@thainum\c@subsection}%
+ \@overridecommand\thesubsubsection{\thesubsection.\@thainum\c@subsubsection}%
+ \@overridecommand\theparagraph {\thesubsubsection.\@thainum\c@paragraph}%
+ \@overridecommand\thesubparagraph {\theparagraph.\@thainum\c@subparagraph}%
+ \@overridecommand\theequation%
+ {\ifnum \c@chapter>\z@ \thechapter.\fi \@thainum\c@equation}%
+ \@overridecommand \thetable%
+ {\ifnum \c@chapter>\z@ \thechapter.\fi \@thainum\c@table}%
+ \@overridecommand \thefigure%
+ {\ifnum \c@chapter>\z@ \thechapter.\fi \@thainum\c@figure}}
+\@overridecommand\thefootnote{\@thainum\c@footnote}
+% \end{macrocode}
+%
+% For theorems, we support all custom theorem counters at once by
+% redefining |\@thmcounter| macro.
+%
+% \begin{macrocode}
+\def\@thmcounter#1{\noexpand\thainum{#1}}
+% \end{macrocode}
+%
+% In book class, page numberings for frontmatter and mainmatter are
+% different. So, redefine them.
+%
+% \begin{macrocode}
+\@ifclassloaded{book}{%
+ % redefine page numbering for frontmatter and mainmatter
+ \def\ps@headnum{\let\@mkboth\@gobbletwo
+ \def\@oddhead{\reset@font\hfil\thepage\hfil}\let\@oddfoot\@empty
+ \let\@evenhead\@oddhead\let\@evenfoot\@empty}
+ \let\@ltxfrontmatter\frontmatter
+ \renewcommand\frontmatter%
+ {\@ltxfrontmatter\pagestyle{headnum}\pagenumbering{thaibracenum}}
+ \let\@ltxmainmatter\mainmatter
+ \renewcommand\mainmatter%
+ {\@ltxmainmatter\pagestyle{headings}\pagenumbering{thainum}}
+}{}
+% \end{macrocode}
+%
+% Redefine Thai date using Thai digits.
+%
+% \begin{macrocode}
+\def\datethai{%
+ \def\today{\@thainum\day\space \th@month\space %
+ \thaiPhoPhan.\thaiSoSala.~\@thainum\th@year}
+}
+% \end{macrocode}
+%
+% And finish declaration of \Lopt{thainumber} option
+%
+% \begin{macrocode}
+\relax
+}
+% \end{macrocode}
+%
+% Always use thaialph as counter for appendix
+%
+% \begin{macrocode}
+\@ifclassloaded{book}{%
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@thaialph\c@chapter}}
+}{}
+\@ifclassloaded{report}{%
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@thaialph\c@chapter}}
+}{}
+\@ifclassloaded{article}{%
+\renewcommand\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@thaialph\c@section}}
+}{}
+% \end{macrocode}
+%
+% \subsection{Miscellaneous}
+%
+% Initialize character codes for Thai
+%
+% \begin{macrocode}
+\catcode`\^^a1=11 \lccode`\^^a1=`\^^a1 \uccode`\^^a1=`\^^a1
+\catcode`\^^a2=11 \lccode`\^^a2=`\^^a2 \uccode`\^^a2=`\^^a2
+\catcode`\^^a3=11 \lccode`\^^a3=`\^^a3 \uccode`\^^a3=`\^^a3
+\catcode`\^^a4=11 \lccode`\^^a4=`\^^a4 \uccode`\^^a4=`\^^a4
+\catcode`\^^a5=11 \lccode`\^^a5=`\^^a5 \uccode`\^^a5=`\^^a5
+\catcode`\^^a6=11 \lccode`\^^a6=`\^^a6 \uccode`\^^a6=`\^^a6
+\catcode`\^^a7=11 \lccode`\^^a7=`\^^a7 \uccode`\^^a7=`\^^a7
+\catcode`\^^a8=11 \lccode`\^^a8=`\^^a8 \uccode`\^^a8=`\^^a8
+\catcode`\^^a9=11 \lccode`\^^a9=`\^^a9 \uccode`\^^a9=`\^^a9
+\catcode`\^^aa=11 \lccode`\^^aa=`\^^aa \uccode`\^^aa=`\^^aa
+\catcode`\^^ab=11 \lccode`\^^ab=`\^^ab \uccode`\^^ab=`\^^ab
+\catcode`\^^ac=11 \lccode`\^^ac=`\^^ac \uccode`\^^ac=`\^^ac
+\catcode`\^^ad=11 \lccode`\^^ad=`\^^ad \uccode`\^^ad=`\^^ad
+\catcode`\^^ae=11 \lccode`\^^ae=`\^^ae \uccode`\^^ae=`\^^ae
+\catcode`\^^af=11 \lccode`\^^af=`\^^af \uccode`\^^af=`\^^af
+\catcode`\^^b0=11 \lccode`\^^b0=`\^^b0 \uccode`\^^b0=`\^^b0
+\catcode`\^^b1=11 \lccode`\^^b1=`\^^b1 \uccode`\^^b1=`\^^b1
+\catcode`\^^b2=11 \lccode`\^^b2=`\^^b2 \uccode`\^^b2=`\^^b2
+\catcode`\^^b3=11 \lccode`\^^b3=`\^^b3 \uccode`\^^b3=`\^^b3
+\catcode`\^^b4=11 \lccode`\^^b4=`\^^b4 \uccode`\^^b4=`\^^b4
+\catcode`\^^b5=11 \lccode`\^^b5=`\^^b5 \uccode`\^^b5=`\^^b5
+\catcode`\^^b6=11 \lccode`\^^b6=`\^^b6 \uccode`\^^b6=`\^^b6
+\catcode`\^^b7=11 \lccode`\^^b7=`\^^b7 \uccode`\^^b7=`\^^b7
+\catcode`\^^b8=11 \lccode`\^^b8=`\^^b8 \uccode`\^^b8=`\^^b8
+\catcode`\^^b9=11 \lccode`\^^b9=`\^^b9 \uccode`\^^b9=`\^^b9
+\catcode`\^^ba=11 \lccode`\^^ba=`\^^ba \uccode`\^^ba=`\^^ba
+\catcode`\^^bb=11 \lccode`\^^bb=`\^^bb \uccode`\^^bb=`\^^bb
+\catcode`\^^bc=11 \lccode`\^^bc=`\^^bc \uccode`\^^bc=`\^^bc
+\catcode`\^^bd=11 \lccode`\^^bd=`\^^bd \uccode`\^^bd=`\^^bd
+\catcode`\^^be=11 \lccode`\^^be=`\^^be \uccode`\^^be=`\^^be
+\catcode`\^^bf=11 \lccode`\^^bf=`\^^bf \uccode`\^^bf=`\^^bf
+\catcode`\^^c0=11 \lccode`\^^c0=`\^^c0 \uccode`\^^c0=`\^^c0
+\catcode`\^^c1=11 \lccode`\^^c1=`\^^c1 \uccode`\^^c1=`\^^c1
+\catcode`\^^c2=11 \lccode`\^^c2=`\^^c2 \uccode`\^^c2=`\^^c2
+\catcode`\^^c3=11 \lccode`\^^c3=`\^^c3 \uccode`\^^c3=`\^^c3
+\catcode`\^^c4=11 \lccode`\^^c4=`\^^c4 \uccode`\^^c4=`\^^c4
+\catcode`\^^c5=11 \lccode`\^^c5=`\^^c5 \uccode`\^^c5=`\^^c5
+\catcode`\^^c6=11 \lccode`\^^c6=`\^^c6 \uccode`\^^c6=`\^^c6
+\catcode`\^^c7=11 \lccode`\^^c7=`\^^c7 \uccode`\^^c7=`\^^c7
+\catcode`\^^c8=11 \lccode`\^^c8=`\^^c8 \uccode`\^^c8=`\^^c8
+\catcode`\^^c9=11 \lccode`\^^c9=`\^^c9 \uccode`\^^c9=`\^^c9
+\catcode`\^^ca=11 \lccode`\^^ca=`\^^ca \uccode`\^^ca=`\^^ca
+\catcode`\^^cb=11 \lccode`\^^cb=`\^^cb \uccode`\^^cb=`\^^cb
+\catcode`\^^cc=11 \lccode`\^^cc=`\^^cc \uccode`\^^cc=`\^^cc
+\catcode`\^^cd=11 \lccode`\^^cd=`\^^cd \uccode`\^^cd=`\^^cd
+\catcode`\^^ce=11 \lccode`\^^ce=`\^^ce \uccode`\^^ce=`\^^ce
+\catcode`\^^cf=11 \lccode`\^^cf=`\^^cf \uccode`\^^cf=`\^^cf
+\catcode`\^^d0=11 \lccode`\^^d0=`\^^d0 \uccode`\^^d0=`\^^d0
+\catcode`\^^d1=11 \lccode`\^^d1=`\^^d1 \uccode`\^^d1=`\^^d1
+\catcode`\^^d2=11 \lccode`\^^d2=`\^^d2 \uccode`\^^d2=`\^^d2
+\catcode`\^^d3=11 \lccode`\^^d3=`\^^d3 \uccode`\^^d3=`\^^d3
+\catcode`\^^d4=11 \lccode`\^^d4=`\^^d4 \uccode`\^^d4=`\^^d4
+\catcode`\^^d5=11 \lccode`\^^d5=`\^^d5 \uccode`\^^d5=`\^^d5
+\catcode`\^^d6=11 \lccode`\^^d6=`\^^d6 \uccode`\^^d6=`\^^d6
+\catcode`\^^d7=11 \lccode`\^^d7=`\^^d7 \uccode`\^^d7=`\^^d7
+\catcode`\^^d8=11 \lccode`\^^d8=`\^^d8 \uccode`\^^d8=`\^^d8
+\catcode`\^^d9=11 \lccode`\^^d9=`\^^d9 \uccode`\^^d9=`\^^d9
+\catcode`\^^da=11 \lccode`\^^da=`\^^da \uccode`\^^da=`\^^da
+\catcode`\^^df=12 \lccode`\^^df=`\^^df \uccode`\^^df=`\^^df
+\catcode`\^^e0=11 \lccode`\^^e0=`\^^e0 \uccode`\^^e0=`\^^e0
+\catcode`\^^e1=11 \lccode`\^^e1=`\^^e1 \uccode`\^^e1=`\^^e1
+\catcode`\^^e2=11 \lccode`\^^e2=`\^^e2 \uccode`\^^e2=`\^^e2
+\catcode`\^^e3=11 \lccode`\^^e3=`\^^e3 \uccode`\^^e3=`\^^e3
+\catcode`\^^e4=11 \lccode`\^^e4=`\^^e4 \uccode`\^^e4=`\^^e4
+\catcode`\^^e5=11 \lccode`\^^e5=`\^^e5 \uccode`\^^e5=`\^^e5
+\catcode`\^^e6=11 \lccode`\^^e6=`\^^e6 \uccode`\^^e6=`\^^e6
+\catcode`\^^e7=11 \lccode`\^^e7=`\^^e7 \uccode`\^^e7=`\^^e7
+\catcode`\^^e8=11 \lccode`\^^e8=`\^^e8 \uccode`\^^e8=`\^^e8
+\catcode`\^^e9=11 \lccode`\^^e9=`\^^e9 \uccode`\^^e9=`\^^e9
+\catcode`\^^ea=11 \lccode`\^^ea=`\^^ea \uccode`\^^ea=`\^^ea
+\catcode`\^^eb=11 \lccode`\^^eb=`\^^eb \uccode`\^^eb=`\^^eb
+\catcode`\^^ec=11 \lccode`\^^ec=`\^^ec \uccode`\^^ec=`\^^ec
+\catcode`\^^ed=11 \lccode`\^^ed=`\^^ed \uccode`\^^ed=`\^^ed
+\catcode`\^^ee=11 \lccode`\^^ee=`\^^ee \uccode`\^^ee=`\^^ee
+\catcode`\^^ef=12 \lccode`\^^ef=`\^^ef \uccode`\^^ef=`\^^ef
+\catcode`\^^f0=12 \lccode`\^^f0=`\^^f0 \uccode`\^^f0=`\^^f0
+\catcode`\^^f1=12 \lccode`\^^f1=`\^^f1 \uccode`\^^f1=`\^^f1
+\catcode`\^^f2=12 \lccode`\^^f2=`\^^f2 \uccode`\^^f2=`\^^f2
+\catcode`\^^f3=12 \lccode`\^^f3=`\^^f3 \uccode`\^^f3=`\^^f3
+\catcode`\^^f4=12 \lccode`\^^f4=`\^^f4 \uccode`\^^f4=`\^^f4
+\catcode`\^^f5=12 \lccode`\^^f5=`\^^f5 \uccode`\^^f5=`\^^f5
+\catcode`\^^f6=12 \lccode`\^^f6=`\^^f6 \uccode`\^^f6=`\^^f6
+\catcode`\^^f7=12 \lccode`\^^f7=`\^^f7 \uccode`\^^f7=`\^^f7
+\catcode`\^^f8=12 \lccode`\^^f8=`\^^f8 \uccode`\^^f8=`\^^f8
+\catcode`\^^f9=12 \lccode`\^^f9=`\^^f9 \uccode`\^^f9=`\^^f9
+\catcode`\^^fa=12 \lccode`\^^fa=`\^^fa \uccode`\^^fa=`\^^fa
+\catcode`\^^fb=12 \lccode`\^^fb=`\^^fb \uccode`\^^fb=`\^^fb
+\ldf@finish{\CurrentOption}
+%</code>
+% \end{macrocode}
+%
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
diff --git a/Master/texmf-dist/source/generic/babel-thai/thai.ins b/Master/texmf-dist/source/generic/babel-thai/thai.ins
new file mode 100644
index 00000000000..a7dc43dde57
--- /dev/null
+++ b/Master/texmf-dist/source/generic/babel-thai/thai.ins
@@ -0,0 +1,148 @@
+%%
+%% This file will generate fast loadable files and documentation
+%% driver files from the doc files in this package when run through
+%% LaTeX or TeX.
+%%
+%% Copyright 1989-2005 Johannes L. Braams and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% This file is part of the Babel system.
+%% --------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Johannes Braams.
+%%
+%% The list of all files belonging to the LaTeX base distribution is
+%% given in the file `manifest.bbl. See also `legal.bbl' for additional
+%% information.
+%%
+%% The list of derived (unpacked) files belonging to the distribution
+%% and covered by LPPL is defined by the unpacking scripts (with
+%% extension .ins) which are part of the distribution.
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\def\filedate{1999/04/11}
+\def\batchfile{thai.ins}
+\input docstrip.tex
+
+{\ifx\generate\undefined
+\Msg{**********************************************}
+\Msg{*}
+\Msg{* This installation requires docstrip}
+\Msg{* version 2.3c or later.}
+\Msg{*}
+\Msg{* An older version of docstrip has been input}
+\Msg{*}
+\Msg{**********************************************}
+\errhelp{Move or rename old docstrip.tex.}
+\errmessage{Old docstrip in input path}
+\batchmode
+\csname @@end\endcsname
+\fi}
+
+\declarepreamble\mainpreamble
+This is a generated file.
+
+Copyright 1989-2005 Johannes L. Braams and any individual authors
+listed elsewhere in this file. All rights reserved.
+
+This file was generated from file(s) of the Babel system.
+---------------------------------------------------------
+
+It may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer of this work is Johannes Braams.
+
+This file may only be distributed together with a copy of the Babel
+system. You may however distribute the Babel system without
+such generated files.
+
+The list of all files belonging to the Babel distribution is
+given in the file `manifest.bbl'. See also `legal.bbl for additional
+information.
+
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
+extension .ins) which are part of the distribution.
+\endpreamble
+
+\declarepreamble\fdpreamble
+This is a generated file.
+
+Copyright 1989-2005 Johannes L. Braams and any individual authors
+listed elsewhere in this file. All rights reserved.
+
+This file was generated from file(s) of the Babel system.
+---------------------------------------------------------
+
+It may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer of this work is Johannes Braams.
+
+This file may only be distributed together with a copy of the Babel
+system. You may however distribute the Babel system without
+such generated files.
+
+The list of all files belonging to the Babel distribution is
+given in the file `manifest.bbl'. See also `legal.bbl for additional
+information.
+
+In particular, permission is granted to customize the declarations in
+this file to serve the needs of your installation.
+
+However, NO PERMISSION is granted to distribute a modified version
+of this file under its original name.
+
+\endpreamble
+
+\keepsilent
+
+\usedir{tex/generic/babel}
+
+\usepreamble\mainpreamble
+\generate{\file{thai.ldf}{\from{thai.dtx}{code}}
+ }
+\usepreamble\fdpreamble
+
+\ifToplevel{
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space All *.def, *.fd, *.ldf, *.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the files ending with}
+\Msg{* '.dtx' and `.fdd' through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+}
+
+\endinput
diff --git a/Master/texmf-dist/tex/generic/babel-thai/lthenc.def b/Master/texmf-dist/tex/generic/babel-thai/lthenc.def
new file mode 100644
index 00000000000..1632b6ea786
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel-thai/lthenc.def
@@ -0,0 +1,157 @@
+%% This file is part of the thailatex package
+%% Created by Surapant Meknavin: surapan@nectec.or.th
+%% 2011/12/26 Theppitak Karoonboonyanan <thep@linux.thai.net>
+%% - add ASCII symbols \textdollar \textasciicircum \textasciitilde
+%% \textbackslash \textbar \textbraceleft \textbraceright
+%% \textgreater \textless \textquotedbl
+%% - add Latin symbols \textdagger \textdaggerdbl \textsection
+%% \textparagraph \copyright \textregistered \texttrademark
+%% \ss \ae \AE \oe \OE \i \j
+%% - drop text commands for copyright, registered, trademark, SS,
+%% in favor of native font glyphs
+%% - drop Latin wrapper to \TeX and \LaTeX commands
+%% 2004/06/14 Theppitak Karoonboonyanan <thep@linux.thai.net>
+%% - guard against recursive assignments of \ltxTeX and \ltxLaTeX
+%% (Reported by donzakh)
+%% 2002/04/21 Theppitak Karoonboonyanan <thep@linux.thai.net>
+%% - add special shape declarations e.g. \textquoteleft
+%% 2000/05/10 Theppitak Karoonboonyanan <thep@links.nectec.or.th>
+%% - encoding changed from TIS to LTH, according to TeX convention
+
+\ProvidesFile{LTHenc.def}
+ [2011/12/26 v1.2
+ Thai Encoding]
+\DeclareFontEncoding{LTH}{}{}
+\DeclareFontSubstitution{LTH}{norasi}{m}{n}
+\DeclareErrorFont{LTH}{norasi}{m}{n}{10}
+% ASCII/Latin
+\DeclareTextSymbol{\textdollar}{LTH}{`\$}
+\DeclareTextSymbol{\textasciicircum}{LTH}{`\^}
+\DeclareTextSymbol{\textasciitilde}{LTH}{`\~}
+\DeclareTextSymbol{\textbackslash}{LTH}{`\\}
+\DeclareTextSymbol{\textbar}{LTH}{`\|}
+\DeclareTextSymbol{\textbraceleft}{LTH}{`\{}
+\DeclareTextSymbol{\textbraceright}{LTH}{`\}}
+\DeclareTextSymbol{\textgreater}{LTH}{`\>}
+\DeclareTextSymbol{\textless}{LTH}{`\<}
+\DeclareTextSymbol{\textquotedbl}{LTH}{`\"}
+\DeclareTextSymbol{\textquoteleft}{LTH}{145}
+\DeclareTextSymbol{\textquoteright}{LTH}{146}
+\DeclareTextSymbol{\textquotedblleft}{LTH}{147}
+\DeclareTextSymbol{\textquotedblright}{LTH}{148}
+\DeclareTextSymbol{\textbullet}{LTH}{149}
+\DeclareTextSymbol{\textendash}{LTH}{150}
+\DeclareTextSymbol{\textemdash}{LTH}{151}
+\DeclareTextSymbol{\textdagger}{LTH}{4}
+\DeclareTextSymbol{\textdaggerdbl}{LTH}{5}
+\DeclareTextSymbol{\textsection}{LTH}{6}
+\DeclareTextSymbol{\textparagraph}{LTH}{7}
+\DeclareTextSymbol{\copyright}{LTH}{8}
+\DeclareTextSymbol{\textregistered}{LTH}{9}
+\DeclareTextSymbol{\texttrademark}{LTH}{10}
+\DeclareTextSymbol{\ss}{LTH}{11}
+\DeclareTextSymbol{\ae}{LTH}{12}
+\DeclareTextSymbol{\AE}{LTH}{13}
+\DeclareTextSymbol{\oe}{LTH}{14}
+\DeclareTextSymbol{\OE}{LTH}{15}
+\DeclareTextSymbol{\i}{LTH}{25}
+\DeclareTextSymbol{\j}{LTH}{26}
+% Thai special characters
+\DeclareTextSymbol{\textyamakkan}{LTH}{238}
+\DeclareTextSymbol{\textfongmun}{LTH}{239}
+\DeclareTextSymbol{\textangkhankhu}{LTH}{250}
+\DeclareTextSymbol{\textkhomut}{LTH}{251}
+% Pali-Sanskrit
+\DeclareTextSymbol{\textYoYingPali}{LTH}{144}
+\DeclareTextSymbol{\textThoThanPali}{LTH}{128}
+% UCS support
+\DeclareTextSymbol{\thaiKoKai}{LTH}{161}
+\DeclareTextSymbol{\thaiKhoKhai}{LTH}{162}
+\DeclareTextSymbol{\thaiKhoKhuat}{LTH}{163}
+\DeclareTextSymbol{\thaiKhoKhwai}{LTH}{164}
+\DeclareTextSymbol{\thaiKhoKhon}{LTH}{165}
+\DeclareTextSymbol{\thaiKhoRakhang}{LTH}{166}
+\DeclareTextSymbol{\thaiNgoNgu}{LTH}{167}
+\DeclareTextSymbol{\thaiChoChan}{LTH}{168}
+\DeclareTextSymbol{\thaiChoChing}{LTH}{169}
+\DeclareTextSymbol{\thaiChoChang}{LTH}{170}
+\DeclareTextSymbol{\thaiSoSo}{LTH}{171}
+\DeclareTextSymbol{\thaiChoChoe}{LTH}{172}
+\DeclareTextSymbol{\thaiYoYing}{LTH}{173}
+\DeclareTextSymbol{\thaiDoChada}{LTH}{174}
+\DeclareTextSymbol{\thaiToPatak}{LTH}{175}
+\DeclareTextSymbol{\thaiThoThan}{LTH}{176}
+\DeclareTextSymbol{\thaiThoNangmontho}{LTH}{177}
+\DeclareTextSymbol{\thaiThoPhuthao}{LTH}{178}
+\DeclareTextSymbol{\thaiNoNen}{LTH}{179}
+\DeclareTextSymbol{\thaiDoDek}{LTH}{180}
+\DeclareTextSymbol{\thaiToTao}{LTH}{181}
+\DeclareTextSymbol{\thaiThoThung}{LTH}{182}
+\DeclareTextSymbol{\thaiThoThahan}{LTH}{183}
+\DeclareTextSymbol{\thaiThoThong}{LTH}{184}
+\DeclareTextSymbol{\thaiNoNu}{LTH}{185}
+\DeclareTextSymbol{\thaiBoBaimai}{LTH}{186}
+\DeclareTextSymbol{\thaiPoPla}{LTH}{187}
+\DeclareTextSymbol{\thaiPhoPhung}{LTH}{188}
+\DeclareTextSymbol{\thaiFoFa}{LTH}{189}
+\DeclareTextSymbol{\thaiPhoPhan}{LTH}{190}
+\DeclareTextSymbol{\thaiFoFan}{LTH}{191}
+\DeclareTextSymbol{\thaiPhoSamphao}{LTH}{192}
+\DeclareTextSymbol{\thaiMoMa}{LTH}{193}
+\DeclareTextSymbol{\thaiYoYak}{LTH}{194}
+\DeclareTextSymbol{\thaiRoRua}{LTH}{195}
+\DeclareTextSymbol{\thaiRu}{LTH}{196}
+\DeclareTextSymbol{\thaiLoLing}{LTH}{197}
+\DeclareTextSymbol{\thaiLu}{LTH}{198}
+\DeclareTextSymbol{\thaiWoWaen}{LTH}{199}
+\DeclareTextSymbol{\thaiSoSala}{LTH}{200}
+\DeclareTextSymbol{\thaiSoRusi}{LTH}{201}
+\DeclareTextSymbol{\thaiSoSua}{LTH}{202}
+\DeclareTextSymbol{\thaiHoHip}{LTH}{203}
+\DeclareTextSymbol{\thaiLoChula}{LTH}{204}
+\DeclareTextSymbol{\thaiOAng}{LTH}{205}
+\DeclareTextSymbol{\thaiHoNokhuk}{LTH}{206}
+\DeclareTextSymbol{\thaiPaiyannoi}{LTH}{207}
+\DeclareTextSymbol{\thaiSaraA}{LTH}{208}
+\DeclareTextSymbol{\thaiMaiHanakat}{LTH}{209}
+\DeclareTextSymbol{\thaiSaraAa}{LTH}{210}
+\DeclareTextSymbol{\thaiSaraAm}{LTH}{211}
+\DeclareTextSymbol{\thaiSaraI}{LTH}{212}
+\DeclareTextSymbol{\thaiSaraIi}{LTH}{213}
+\DeclareTextSymbol{\thaiSaraUe}{LTH}{214}
+\DeclareTextSymbol{\thaiSaraUee}{LTH}{215}
+\DeclareTextSymbol{\thaiSaraU}{LTH}{216}
+\DeclareTextSymbol{\thaiSaraUu}{LTH}{217}
+\DeclareTextSymbol{\thaiPhinthu}{LTH}{218}
+\DeclareTextSymbol{\textbaht}{LTH}{223}
+\DeclareTextSymbol{\thaiSaraE}{LTH}{224}
+\DeclareTextSymbol{\thaiSaraAe}{LTH}{225}
+\DeclareTextSymbol{\thaiSaraO}{LTH}{226}
+\DeclareTextSymbol{\thaiSaraAiMaimuan}{LTH}{227}
+\DeclareTextSymbol{\thaiSaraAiMaimalai}{LTH}{228}
+\DeclareTextSymbol{\thaiLakkhangyao}{LTH}{229}
+\DeclareTextSymbol{\thaiMaiyamok}{LTH}{230}
+\DeclareTextSymbol{\thaiMaitaikhu}{LTH}{231}
+\DeclareTextSymbol{\thaiMaiEk}{LTH}{232}
+\DeclareTextSymbol{\thaiMaiTho}{LTH}{233}
+\DeclareTextSymbol{\thaiMaiTri}{LTH}{234}
+\DeclareTextSymbol{\thaiMaiChattawa}{LTH}{235}
+\DeclareTextSymbol{\thaiThanthakhat}{LTH}{236}
+\DeclareTextSymbol{\thaiNikhahit}{LTH}{237}
+\DeclareTextSymbol{\thaiYamakkan}{LTH}{238}
+\DeclareTextSymbol{\thaiFongman}{LTH}{239}
+\DeclareTextSymbol{\thaizero}{LTH}{240}
+\DeclareTextSymbol{\thaione}{LTH}{241}
+\DeclareTextSymbol{\thaitwo}{LTH}{242}
+\DeclareTextSymbol{\thaithree}{LTH}{243}
+\DeclareTextSymbol{\thaifour}{LTH}{244}
+\DeclareTextSymbol{\thaifive}{LTH}{245}
+\DeclareTextSymbol{\thaisix}{LTH}{246}
+\DeclareTextSymbol{\thaiseven}{LTH}{247}
+\DeclareTextSymbol{\thaieight}{LTH}{248}
+\DeclareTextSymbol{\thainine}{LTH}{249}
+\DeclareTextSymbol{\thaiAngkhankhu}{LTH}{250}
+\DeclareTextSymbol{\thaiKhomut}{LTH}{251}
+\endinput
+%%
+%% End of file `LTHenc.def'.
diff --git a/Master/texmf-dist/tex/generic/babel-thai/thai.ldf b/Master/texmf-dist/tex/generic/babel-thai/thai.ldf
new file mode 100644
index 00000000000..4c131bdfed2
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel-thai/thai.ldf
@@ -0,0 +1,391 @@
+%%
+%% This is file `thai.ldf',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% thai.dtx (with options: `code')
+%% This is a generated file.
+%%
+%% Copyright 1989-2005 Johannes L. Braams and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% This file was generated from file(s) of the Babel system.
+%% ---------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Johannes Braams.
+%%
+%% This file may only be distributed together with a copy of the Babel
+%% system. You may however distribute the Babel system without
+%% such generated files.
+%%
+%% The list of all files belonging to the Babel distribution is
+%% given in the file `manifest.bbl'. See also `legal.bbl for additional
+%% information.
+%%
+%% The list of derived (unpacked) files belonging to the distribution
+%% and covered by LPPL is defined by the unpacking scripts (with
+%% extension .ins) which are part of the distribution.
+\ProvidesLanguage{thai}
+ [2013/03/31 v1.8 Thai support from the babel system]
+%% File `thai.dtx'
+%% Thai Language Definition File
+%% Copyright (C) 1999 - 2013
+%% by Surapant Meknavin,
+%% Theppitak Karoonboonyanan (thep at linux.thai.net),
+%% Chanop Silpa-Anan (chanop at debian.org),
+%% Poonlap Veerathanabutr (poonlap at linux.thai.net)
+%% Thai Linux Working Group
+%% http://linux.thai.net/
+%%
+%% Please report errors to: Theppitak Karoonboonyanan
+%% (thep at linux.thai.net)
+%%
+%% This file is part of the babel system, it provides the source
+%% code for the Thai language definition file. The original version
+%% was written by Surapant Meknavin.
+%%
+%% It is currently maintained by Theppitak Karoonboonyanan
+%% (thep at linux.thai.net), Chanop Silpa-Anan (chanop at debian.org)
+%% and Poonlap Veerathanabutr (poonlap at linux.thai.net).
+\LdfInit\CurrentOption{captions\CurrentOption}
+\ifx\l@thai\@undefined
+ \@nopatterns{thai}
+ \adddialect\l@thai0\fi
+\InputIfFileExists{lthenc.def}%
+ {\message{Loading the definitions for the Thai font encoding}}%
+ {%
+ \errhelp{I can't find the lthenc.def file for the Thai fonts}%
+ \errmessage{Since I do not know what the LTH encoding means^^J
+ I can't typeset Thai.^^J
+ I stop here, while you get a suitable lthenc.def file}\@@end
+ }
+\DeclareRobustCommand{\thaitext}{%
+ \fontencoding{LTH}\selectfont%
+ \def\encodingdefault{LTH}}
+\DeclareRobustCommand{\textthai}[1]{{\thaitext #1}}
+\DeclareRobustCommand{\textpali}[1]{%
+ \begingroup
+ \def\thaiYoYing{\textYoYingPali{}}%
+ \def\thaiThoThan{\textThoThanPali{}}%
+ \def\wbr{}%
+ \scantokens\expandafter{#1}\relax
+ \endgroup
+}
+\providehyphenmins{thai}{11}
+\addto\captionsthai{%
+ \def\prefacename{\thaiKhoKhwai\thaiSaraAm\thaiNoNu\thaiSaraAm}%
+ \def\refname{\thaiSaraE\thaiOAng\thaiKoKai\thaiSoSua\thaiSaraAa\thaiRoRua%
+ \thaiOAng\thaiMaiTho\thaiSaraAa\thaiNgoNgu%
+ \thaiOAng\thaiSaraI\thaiNgoNgu}%
+ \def\abstractname{\thaiBoBaimai\thaiThoThahan%
+ \thaiKhoKhwai\thaiMaiHanakat\thaiDoDek%
+ \thaiYoYak\thaiMaiEk\thaiOAng}%
+ \def\bibname{\thaiBoBaimai\thaiRoRua\thaiRoRua\thaiNoNen\thaiSaraAa%
+ \thaiNoNu\thaiSaraU\thaiKoKai\thaiRoRua\thaiMoMa}%
+ \def\chaptername{\thaiBoBaimai\thaiThoThahan%
+ \thaiThoThahan\thaiSaraIi\thaiMaiEk}%
+ \def\appendixname{\thaiPhoSamphao\thaiSaraAa\thaiKhoKhwai%
+ \thaiPhoPhung\thaiNoNu\thaiWoWaen\thaiKoKai}%
+ \def\contentsname{\thaiSoSua\thaiSaraAa\thaiRoRua%
+ \thaiBoBaimai\thaiMaiHanakat\thaiYoYing}%
+ \def\listfigurename{\thaiSoSua\thaiSaraAa\thaiRoRua%
+ \thaiBoBaimai\thaiMaiHanakat\thaiYoYing%
+ \thaiRoRua\thaiSaraUu\thaiPoPla}%
+ \def\listtablename{\thaiSoSua\thaiSaraAa\thaiRoRua%
+ \thaiBoBaimai\thaiMaiHanakat\thaiYoYing%
+ \thaiToTao\thaiSaraAa\thaiRoRua\thaiSaraAa\thaiNgoNgu}%
+ \def\indexname{\thaiDoDek\thaiRoRua\thaiRoRua\thaiChoChang%
+ \thaiNoNu\thaiSaraIi}%
+ \def\figurename{\thaiRoRua\thaiSaraUu\thaiPoPla%
+ \thaiThoThahan\thaiSaraIi\thaiMaiEk}%
+ \def\tablename{\thaiToTao\thaiSaraAa\thaiRoRua\thaiSaraAa\thaiNgoNgu%
+ \thaiThoThahan\thaiSaraIi\thaiMaiEk}%
+ \def\partname{\thaiPhoSamphao\thaiSaraAa\thaiKhoKhwai}%
+ \def\enclname{\thaiSoSua\thaiSaraI\thaiMaiEk\thaiNgoNgu%
+ \thaiThoThahan\thaiSaraIi\thaiMaiEk%
+ \thaiSaraAe\thaiNoNu\thaiBoBaimai%
+ \thaiMoMa\thaiSaraAa%
+ \thaiDoDek\thaiMaiTho\thaiWoWaen\thaiYoYak}%
+ \def\ccname{\thaiSoSua\thaiSaraAm\thaiSaraE\thaiNoNu\thaiSaraAa%
+ \thaiThoThung\thaiSaraUe\thaiNgoNgu}%
+ \def\headtoname{\thaiSaraE\thaiRoRua\thaiSaraIi\thaiYoYak\thaiNoNu}%
+ \def\pagename{\thaiHoHip\thaiNoNu\thaiMaiTho\thaiSaraAa}%
+ \def\seename{\thaiDoDek\thaiSaraUu}%
+ \def\alsoname{\thaiDoDek\thaiSaraUu%
+ \thaiSaraE\thaiPhoPhan\thaiSaraI\thaiMaiEk\thaiMoMa%
+ \thaiSaraE\thaiToTao\thaiSaraI\thaiMoMa}%
+ \def\proofname{\thaiPhoPhan\thaiSaraI%
+ \thaiSoSua\thaiSaraUu\thaiChoChan\thaiNoNu\thaiThanthakhat}%
+ }
+\def\th@month{%
+ \ifcase\month\or
+ \thaiMoMa\thaiKoKai\thaiRoRua\thaiSaraAa\thaiKhoKhwai\thaiMoMa \or
+ \thaiKoKai\thaiSaraU\thaiMoMa\thaiPhoSamphao\thaiSaraAa%
+ \thaiPhoPhan\thaiMaiHanakat\thaiNoNu\thaiThoThong\thaiThanthakhat \or
+ \thaiMoMa\thaiSaraIi\thaiNoNu\thaiSaraAa\thaiKhoKhwai\thaiMoMa \or
+ \thaiSaraE\thaiMoMa\thaiSoRusi\thaiSaraAa\thaiYoYak\thaiNoNu \or
+ \thaiPhoPhan\thaiRu\thaiSoRusi\thaiPhoSamphao\thaiSaraAa%
+ \thaiKhoKhwai\thaiMoMa \or
+ \thaiMoMa\thaiSaraI\thaiThoThung\thaiSaraU\thaiNoNu\thaiSaraAa%
+ \thaiYoYak\thaiNoNu \or
+ \thaiKoKai\thaiRoRua\thaiKoKai\thaiDoChada\thaiSaraAa%
+ \thaiKhoKhwai\thaiMoMa \or
+ \thaiSoSua\thaiSaraI\thaiNgoNgu\thaiHoHip\thaiSaraAa%
+ \thaiKhoKhwai\thaiMoMa \or
+ \thaiKoKai\thaiMaiHanakat\thaiNoNu\thaiYoYak\thaiSaraAa%
+ \thaiYoYak\thaiNoNu \or
+ \thaiToTao\thaiSaraU\thaiLoLing\thaiSaraAa\thaiKhoKhwai\thaiMoMa \or
+ \thaiPhoPhan\thaiRu\thaiSoSala\thaiChoChan\thaiSaraI\thaiKoKai\thaiSaraAa%
+ \thaiYoYak\thaiNoNu \or
+ \thaiThoThong\thaiMaiHanakat\thaiNoNu\thaiWoWaen\thaiSaraAa%
+ \thaiKhoKhwai\thaiMoMa
+ \fi}
+\newcount\th@year
+\th@year=\year
+\advance\th@year by 543
+\def\datethai{%
+ \def\today{\number\day \space \th@month\space %
+ \thaiPhoPhan.\thaiSoSala.~\number\th@year}}
+\addto\extrasthai{\thaitext}
+\addto\noextrasthai{\latintext}
+\def\wbr{\hskip0pt\relax}
+\addto\extrasthai{%
+ \edef\th@restoreemstretch{\emergencystretch=\the\emergencystretch}
+ \setlength{\emergencystretch}{0.6em}}
+\addto\noextrasthai{\th@restoreemstretch}
+\renewcommand{\baselinestretch}{1.2}
+\DeclareOption{thaiindentfirst} {%
+ \addto\extrasthai{%
+ \let\th@afterindentfalse\@afterindentfalse
+ \let\@afterindentfalse\@afterindenttrue
+ \@afterindenttrue
+ }
+ \addto\noextrasthai{%
+ \let\@afterindentfalse\th@afterindentfalse
+ }
+}
+\def\thaitranslate#1{\ifx @#1%
+ \else\ifcase#1
+ \thaizero \or \thaione \or \thaitwo \or \thaithree \or \thaifour \or
+ \thaifive \or \thaisix \or \thaiseven \or \thaieight \or \thainine
+ \else\fi
+ \expandafter\thaitranslate
+ \fi
+}
+\def\@thainum#1{\expandafter\thaitranslate\number#1@}
+\def\thainum#1{\expandafter\@thainum\csname c@#1\endcsname}
+\def\@thaibracenum#1{(\expandafter\thaitranslate\number#1@)}
+\def\thaibracenum#1{\expandafter\@thaibracenum\csname c@#1\endcsname}
+\def\thaialph#1{\expandafter\@thaialph\csname c@#1\endcsname}
+\def\@thaialph#1{%
+ \ifcase#1\or \thaiKoKai\or \thaiKhoKhai\or \thaiKhoKhwai\or \thaiNgoNgu\or
+ \thaiChoChan\or \thaiChoChing\or \thaiChoChang\or \thaiSoSo\or
+ \thaiChoChoe\or \thaiYoYing\or \thaiDoChada\or \thaiToPatak\or
+ \thaiThoThan\or \thaiThoNangmontho\or \thaiThoPhuthao\or \thaiNoNen\or
+ \thaiDoDek\or \thaiToTao\or \thaiThoThung\or \thaiThoThahan\or
+ \thaiThoThong\or \thaiNoNu\or \thaiBoBaimai\or \thaiPoPla\or
+ \thaiPhoPhung\or \thaiFoFa\or \thaiPhoPhan\or \thaiFoFan\or
+ \thaiPhoSamphao\or \thaiMoMa\or \thaiYoYak\or \thaiRoRua\or
+ \thaiLoLing\or \thaiWoWaen\or \thaiSoSala\or \thaiSoRusi\or
+ \thaiSoSua\or \thaiHoHip\or \thaiLoChula\or \thaiOAng\or
+ \thaiHoNokhuk\else\@ctrerr\fi}
+\def\thaiAlph#1{\expandafter\@thaiAlph\csname c@#1\endcsname}
+\def\@thaiAlph#1{%
+ \ifcase#1\or \thaiKoKai\or \thaiKhoKhai\or \thaiKhoKhuat\or \thaiKhoKhwai\or
+ \thaiKhoKhon\or \thaiKhoRakhang\or \thaiNgoNgu\or \thaiChoChan\or
+ \thaiChoChing\or \thaiChoChang\or \thaiSoSo\or \thaiChoChoe\or
+ \thaiYoYing\or \thaiDoChada\or \thaiToPatak\or \thaiThoThan\or
+ \thaiThoNangmontho\or \thaiThoPhuthao\or \thaiNoNen\or \thaiDoDek\or
+ \thaiToTao\or \thaiThoThung\or \thaiThoThahan\or \thaiThoThong\or
+ \thaiNoNu\or \thaiBoBaimai\or \thaiPoPla\or \thaiPhoPhung\or
+ \thaiFoFa\or \thaiPhoPhan\or \thaiFoFan\or \thaiPhoSamphao\or
+ \thaiMoMa\or \thaiYoYak\or \thaiRoRua\or \thaiLoLing\or
+ \thaiWoWaen\or \thaiSoSala\or \thaiSoRusi\or \thaiSoSua\or
+ \thaiHoHip\or \thaiLoChula\or \thaiOAng\or \thaiHoNokhuk\else\@ctrerr\fi}
+\DeclareOption{thainumber}{
+\catcode`\@=11
+\def\@overridecommand#1#2{\ifdefined#1\renewcommand{#1}{#2}\fi}
+\pagenumbering{thainum}
+\@overridecommand\theenumi{\@thainum\c@enumi}
+\@overridecommand\theenumii{\@thaialph\c@enumii}
+\@ifundefined{thechapter}%
+ {\@overridecommand\thesection{\@thainum\c@section}%
+ \@overridecommand\thesubsection{\thesection.\@thainum\c@subsection}%
+ \@overridecommand\thesubsubsection{\thesubsection.\@thainum\c@subsubsection}%
+ \@overridecommand\theparagraph {\thesubsubsection.\@thainum\c@paragraph}%
+ \@overridecommand\thesubparagraph {\theparagraph.\@thainum\c@subparagraph}%
+ \@overridecommand\theequation{\@thainum\c@equation}%
+ \@overridecommand\thetable{\@thainum\c@table}%
+ \@overridecommand\thefigure{\@thainum\c@figure}}%
+ {\@overridecommand\thepart{\@thainum\c@part}%
+ \@overridecommand\thechapter{\@thainum\c@chapter}%
+ \@overridecommand\thesection{\thechapter.\@thainum\c@section}%
+ \@overridecommand\thesubsection{\thesection.\@thainum\c@subsection}%
+ \@overridecommand\thesubsubsection{\thesubsection.\@thainum\c@subsubsection}%
+ \@overridecommand\theparagraph {\thesubsubsection.\@thainum\c@paragraph}%
+ \@overridecommand\thesubparagraph {\theparagraph.\@thainum\c@subparagraph}%
+ \@overridecommand\theequation%
+ {\ifnum \c@chapter>\z@ \thechapter.\fi \@thainum\c@equation}%
+ \@overridecommand \thetable%
+ {\ifnum \c@chapter>\z@ \thechapter.\fi \@thainum\c@table}%
+ \@overridecommand \thefigure%
+ {\ifnum \c@chapter>\z@ \thechapter.\fi \@thainum\c@figure}}
+\@overridecommand\thefootnote{\@thainum\c@footnote}
+\def\@thmcounter#1{\noexpand\thainum{#1}}
+\@ifclassloaded{book}{%
+ % redefine page numbering for frontmatter and mainmatter
+ \def\ps@headnum{\let\@mkboth\@gobbletwo
+ \def\@oddhead{\reset@font\hfil\thepage\hfil}\let\@oddfoot\@empty
+ \let\@evenhead\@oddhead\let\@evenfoot\@empty}
+ \let\@ltxfrontmatter\frontmatter
+ \renewcommand\frontmatter%
+ {\@ltxfrontmatter\pagestyle{headnum}\pagenumbering{thaibracenum}}
+ \let\@ltxmainmatter\mainmatter
+ \renewcommand\mainmatter%
+ {\@ltxmainmatter\pagestyle{headings}\pagenumbering{thainum}}
+}{}
+\def\datethai{%
+ \def\today{\@thainum\day\space \th@month\space %
+ \thaiPhoPhan.\thaiSoSala.~\@thainum\th@year}
+}
+\relax
+}
+\@ifclassloaded{book}{%
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@thaialph\c@chapter}}
+}{}
+\@ifclassloaded{report}{%
+\renewcommand\appendix{\par
+ \setcounter{chapter}{0}%
+ \setcounter{section}{0}%
+ \gdef\@chapapp{\appendixname}%
+ \gdef\thechapter{\@thaialph\c@chapter}}
+}{}
+\@ifclassloaded{article}{%
+\renewcommand\appendix{\par
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \gdef\thesection{\@thaialph\c@section}}
+}{}
+\catcode`\^^a1=11 \lccode`\^^a1=`\^^a1 \uccode`\^^a1=`\^^a1
+\catcode`\^^a2=11 \lccode`\^^a2=`\^^a2 \uccode`\^^a2=`\^^a2
+\catcode`\^^a3=11 \lccode`\^^a3=`\^^a3 \uccode`\^^a3=`\^^a3
+\catcode`\^^a4=11 \lccode`\^^a4=`\^^a4 \uccode`\^^a4=`\^^a4
+\catcode`\^^a5=11 \lccode`\^^a5=`\^^a5 \uccode`\^^a5=`\^^a5
+\catcode`\^^a6=11 \lccode`\^^a6=`\^^a6 \uccode`\^^a6=`\^^a6
+\catcode`\^^a7=11 \lccode`\^^a7=`\^^a7 \uccode`\^^a7=`\^^a7
+\catcode`\^^a8=11 \lccode`\^^a8=`\^^a8 \uccode`\^^a8=`\^^a8
+\catcode`\^^a9=11 \lccode`\^^a9=`\^^a9 \uccode`\^^a9=`\^^a9
+\catcode`\^^aa=11 \lccode`\^^aa=`\^^aa \uccode`\^^aa=`\^^aa
+\catcode`\^^ab=11 \lccode`\^^ab=`\^^ab \uccode`\^^ab=`\^^ab
+\catcode`\^^ac=11 \lccode`\^^ac=`\^^ac \uccode`\^^ac=`\^^ac
+\catcode`\^^ad=11 \lccode`\^^ad=`\^^ad \uccode`\^^ad=`\^^ad
+\catcode`\^^ae=11 \lccode`\^^ae=`\^^ae \uccode`\^^ae=`\^^ae
+\catcode`\^^af=11 \lccode`\^^af=`\^^af \uccode`\^^af=`\^^af
+\catcode`\^^b0=11 \lccode`\^^b0=`\^^b0 \uccode`\^^b0=`\^^b0
+\catcode`\^^b1=11 \lccode`\^^b1=`\^^b1 \uccode`\^^b1=`\^^b1
+\catcode`\^^b2=11 \lccode`\^^b2=`\^^b2 \uccode`\^^b2=`\^^b2
+\catcode`\^^b3=11 \lccode`\^^b3=`\^^b3 \uccode`\^^b3=`\^^b3
+\catcode`\^^b4=11 \lccode`\^^b4=`\^^b4 \uccode`\^^b4=`\^^b4
+\catcode`\^^b5=11 \lccode`\^^b5=`\^^b5 \uccode`\^^b5=`\^^b5
+\catcode`\^^b6=11 \lccode`\^^b6=`\^^b6 \uccode`\^^b6=`\^^b6
+\catcode`\^^b7=11 \lccode`\^^b7=`\^^b7 \uccode`\^^b7=`\^^b7
+\catcode`\^^b8=11 \lccode`\^^b8=`\^^b8 \uccode`\^^b8=`\^^b8
+\catcode`\^^b9=11 \lccode`\^^b9=`\^^b9 \uccode`\^^b9=`\^^b9
+\catcode`\^^ba=11 \lccode`\^^ba=`\^^ba \uccode`\^^ba=`\^^ba
+\catcode`\^^bb=11 \lccode`\^^bb=`\^^bb \uccode`\^^bb=`\^^bb
+\catcode`\^^bc=11 \lccode`\^^bc=`\^^bc \uccode`\^^bc=`\^^bc
+\catcode`\^^bd=11 \lccode`\^^bd=`\^^bd \uccode`\^^bd=`\^^bd
+\catcode`\^^be=11 \lccode`\^^be=`\^^be \uccode`\^^be=`\^^be
+\catcode`\^^bf=11 \lccode`\^^bf=`\^^bf \uccode`\^^bf=`\^^bf
+\catcode`\^^c0=11 \lccode`\^^c0=`\^^c0 \uccode`\^^c0=`\^^c0
+\catcode`\^^c1=11 \lccode`\^^c1=`\^^c1 \uccode`\^^c1=`\^^c1
+\catcode`\^^c2=11 \lccode`\^^c2=`\^^c2 \uccode`\^^c2=`\^^c2
+\catcode`\^^c3=11 \lccode`\^^c3=`\^^c3 \uccode`\^^c3=`\^^c3
+\catcode`\^^c4=11 \lccode`\^^c4=`\^^c4 \uccode`\^^c4=`\^^c4
+\catcode`\^^c5=11 \lccode`\^^c5=`\^^c5 \uccode`\^^c5=`\^^c5
+\catcode`\^^c6=11 \lccode`\^^c6=`\^^c6 \uccode`\^^c6=`\^^c6
+\catcode`\^^c7=11 \lccode`\^^c7=`\^^c7 \uccode`\^^c7=`\^^c7
+\catcode`\^^c8=11 \lccode`\^^c8=`\^^c8 \uccode`\^^c8=`\^^c8
+\catcode`\^^c9=11 \lccode`\^^c9=`\^^c9 \uccode`\^^c9=`\^^c9
+\catcode`\^^ca=11 \lccode`\^^ca=`\^^ca \uccode`\^^ca=`\^^ca
+\catcode`\^^cb=11 \lccode`\^^cb=`\^^cb \uccode`\^^cb=`\^^cb
+\catcode`\^^cc=11 \lccode`\^^cc=`\^^cc \uccode`\^^cc=`\^^cc
+\catcode`\^^cd=11 \lccode`\^^cd=`\^^cd \uccode`\^^cd=`\^^cd
+\catcode`\^^ce=11 \lccode`\^^ce=`\^^ce \uccode`\^^ce=`\^^ce
+\catcode`\^^cf=11 \lccode`\^^cf=`\^^cf \uccode`\^^cf=`\^^cf
+\catcode`\^^d0=11 \lccode`\^^d0=`\^^d0 \uccode`\^^d0=`\^^d0
+\catcode`\^^d1=11 \lccode`\^^d1=`\^^d1 \uccode`\^^d1=`\^^d1
+\catcode`\^^d2=11 \lccode`\^^d2=`\^^d2 \uccode`\^^d2=`\^^d2
+\catcode`\^^d3=11 \lccode`\^^d3=`\^^d3 \uccode`\^^d3=`\^^d3
+\catcode`\^^d4=11 \lccode`\^^d4=`\^^d4 \uccode`\^^d4=`\^^d4
+\catcode`\^^d5=11 \lccode`\^^d5=`\^^d5 \uccode`\^^d5=`\^^d5
+\catcode`\^^d6=11 \lccode`\^^d6=`\^^d6 \uccode`\^^d6=`\^^d6
+\catcode`\^^d7=11 \lccode`\^^d7=`\^^d7 \uccode`\^^d7=`\^^d7
+\catcode`\^^d8=11 \lccode`\^^d8=`\^^d8 \uccode`\^^d8=`\^^d8
+\catcode`\^^d9=11 \lccode`\^^d9=`\^^d9 \uccode`\^^d9=`\^^d9
+\catcode`\^^da=11 \lccode`\^^da=`\^^da \uccode`\^^da=`\^^da
+\catcode`\^^df=12 \lccode`\^^df=`\^^df \uccode`\^^df=`\^^df
+\catcode`\^^e0=11 \lccode`\^^e0=`\^^e0 \uccode`\^^e0=`\^^e0
+\catcode`\^^e1=11 \lccode`\^^e1=`\^^e1 \uccode`\^^e1=`\^^e1
+\catcode`\^^e2=11 \lccode`\^^e2=`\^^e2 \uccode`\^^e2=`\^^e2
+\catcode`\^^e3=11 \lccode`\^^e3=`\^^e3 \uccode`\^^e3=`\^^e3
+\catcode`\^^e4=11 \lccode`\^^e4=`\^^e4 \uccode`\^^e4=`\^^e4
+\catcode`\^^e5=11 \lccode`\^^e5=`\^^e5 \uccode`\^^e5=`\^^e5
+\catcode`\^^e6=11 \lccode`\^^e6=`\^^e6 \uccode`\^^e6=`\^^e6
+\catcode`\^^e7=11 \lccode`\^^e7=`\^^e7 \uccode`\^^e7=`\^^e7
+\catcode`\^^e8=11 \lccode`\^^e8=`\^^e8 \uccode`\^^e8=`\^^e8
+\catcode`\^^e9=11 \lccode`\^^e9=`\^^e9 \uccode`\^^e9=`\^^e9
+\catcode`\^^ea=11 \lccode`\^^ea=`\^^ea \uccode`\^^ea=`\^^ea
+\catcode`\^^eb=11 \lccode`\^^eb=`\^^eb \uccode`\^^eb=`\^^eb
+\catcode`\^^ec=11 \lccode`\^^ec=`\^^ec \uccode`\^^ec=`\^^ec
+\catcode`\^^ed=11 \lccode`\^^ed=`\^^ed \uccode`\^^ed=`\^^ed
+\catcode`\^^ee=11 \lccode`\^^ee=`\^^ee \uccode`\^^ee=`\^^ee
+\catcode`\^^ef=12 \lccode`\^^ef=`\^^ef \uccode`\^^ef=`\^^ef
+\catcode`\^^f0=12 \lccode`\^^f0=`\^^f0 \uccode`\^^f0=`\^^f0
+\catcode`\^^f1=12 \lccode`\^^f1=`\^^f1 \uccode`\^^f1=`\^^f1
+\catcode`\^^f2=12 \lccode`\^^f2=`\^^f2 \uccode`\^^f2=`\^^f2
+\catcode`\^^f3=12 \lccode`\^^f3=`\^^f3 \uccode`\^^f3=`\^^f3
+\catcode`\^^f4=12 \lccode`\^^f4=`\^^f4 \uccode`\^^f4=`\^^f4
+\catcode`\^^f5=12 \lccode`\^^f5=`\^^f5 \uccode`\^^f5=`\^^f5
+\catcode`\^^f6=12 \lccode`\^^f6=`\^^f6 \uccode`\^^f6=`\^^f6
+\catcode`\^^f7=12 \lccode`\^^f7=`\^^f7 \uccode`\^^f7=`\^^f7
+\catcode`\^^f8=12 \lccode`\^^f8=`\^^f8 \uccode`\^^f8=`\^^f8
+\catcode`\^^f9=12 \lccode`\^^f9=`\^^f9 \uccode`\^^f9=`\^^f9
+\catcode`\^^fa=12 \lccode`\^^fa=`\^^fa \uccode`\^^fa=`\^^fa
+\catcode`\^^fb=12 \lccode`\^^fb=`\^^fb \uccode`\^^fb=`\^^fb
+\ldf@finish{\CurrentOption}
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
+%%
+%% End of file `thai.ldf'.
diff --git a/Master/texmf-dist/tex/generic/babel-thai/tis620.def b/Master/texmf-dist/tex/generic/babel-thai/tis620.def
new file mode 100644
index 00000000000..589dea77e8f
--- /dev/null
+++ b/Master/texmf-dist/tex/generic/babel-thai/tis620.def
@@ -0,0 +1,108 @@
+\ProvidesFile{tis620.def}
+ [2011/03/16 v1.0 Thai TIS-620 input encoding file]
+% tis620 input encoding file by Theppitak Karoonboonyanan
+%
+% Copyright 2011 Theppitak Karoonboonyanan. All rights reserved.
+%
+% It may be distributed and/or modified under the conditions of the
+% LaTeX Project Public License, either version 1.3 of this license or
+% (at your option) any later version.
+%
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work is Theppitak Karoonboonyanan.
+%
+
+\DeclareInputText{161}{\thaiKoKai}
+\DeclareInputText{162}{\thaiKhoKhai}
+\DeclareInputText{163}{\thaiKhoKhuat}
+\DeclareInputText{164}{\thaiKhoKhwai}
+\DeclareInputText{165}{\thaiKhoKhon}
+\DeclareInputText{166}{\thaiKhoRakhang}
+\DeclareInputText{167}{\thaiNgoNgu}
+\DeclareInputText{168}{\thaiChoChan}
+\DeclareInputText{169}{\thaiChoChing}
+\DeclareInputText{170}{\thaiChoChang}
+\DeclareInputText{171}{\thaiSoSo}
+\DeclareInputText{172}{\thaiChoChoe}
+\DeclareInputText{173}{\thaiYoYing}
+\DeclareInputText{174}{\thaiDoChada}
+\DeclareInputText{175}{\thaiToPatak}
+\DeclareInputText{176}{\thaiThoThan}
+\DeclareInputText{177}{\thaiThoNangmontho}
+\DeclareInputText{178}{\thaiThoPhuthao}
+\DeclareInputText{179}{\thaiNoNen}
+\DeclareInputText{180}{\thaiDoDek}
+\DeclareInputText{181}{\thaiToTao}
+\DeclareInputText{182}{\thaiThoThung}
+\DeclareInputText{183}{\thaiThoThahan}
+\DeclareInputText{184}{\thaiThoThong}
+\DeclareInputText{185}{\thaiNoNu}
+\DeclareInputText{186}{\thaiBoBaimai}
+\DeclareInputText{187}{\thaiPoPla}
+\DeclareInputText{188}{\thaiPhoPhung}
+\DeclareInputText{189}{\thaiFoFa}
+\DeclareInputText{190}{\thaiPhoPhan}
+\DeclareInputText{191}{\thaiFoFan}
+\DeclareInputText{192}{\thaiPhoSamphao}
+\DeclareInputText{193}{\thaiMoMa}
+\DeclareInputText{194}{\thaiYoYak}
+\DeclareInputText{195}{\thaiRoRua}
+\DeclareInputText{196}{\thaiRu}
+\DeclareInputText{197}{\thaiLoLing}
+\DeclareInputText{198}{\thaiLu}
+\DeclareInputText{199}{\thaiWoWaen}
+\DeclareInputText{200}{\thaiSoSala}
+\DeclareInputText{201}{\thaiSoRusi}
+\DeclareInputText{202}{\thaiSoSua}
+\DeclareInputText{203}{\thaiHoHip}
+\DeclareInputText{204}{\thaiLoChula}
+\DeclareInputText{205}{\thaiOAng}
+\DeclareInputText{206}{\thaiHoNokhuk}
+\DeclareInputText{207}{\thaiPaiyannoi}
+\DeclareInputText{208}{\thaiSaraA}
+\DeclareInputText{209}{\thaiMaiHanakat}
+\DeclareInputText{210}{\thaiSaraAa}
+\DeclareInputText{211}{\thaiSaraAm}
+\DeclareInputText{212}{\thaiSaraI}
+\DeclareInputText{213}{\thaiSaraIi}
+\DeclareInputText{214}{\thaiSaraUe}
+\DeclareInputText{215}{\thaiSaraUee}
+\DeclareInputText{216}{\thaiSaraU}
+\DeclareInputText{217}{\thaiSaraUu}
+\DeclareInputText{218}{\thaiPhinthu}
+\DeclareInputText{223}{\textbaht}
+\DeclareInputText{224}{\thaiSaraE}
+\DeclareInputText{225}{\thaiSaraAe}
+\DeclareInputText{226}{\thaiSaraO}
+\DeclareInputText{227}{\thaiSaraAiMaimuan}
+\DeclareInputText{228}{\thaiSaraAiMaimalai}
+\DeclareInputText{229}{\thaiLakkhangyao}
+\DeclareInputText{230}{\thaiMaiyamok}
+\DeclareInputText{231}{\thaiMaitaikhu}
+\DeclareInputText{232}{\thaiMaiEk}
+\DeclareInputText{233}{\thaiMaiTho}
+\DeclareInputText{234}{\thaiMaiTri}
+\DeclareInputText{235}{\thaiMaiChattawa}
+\DeclareInputText{236}{\thaiThanthakhat}
+\DeclareInputText{237}{\thaiNikhahit}
+\DeclareInputText{238}{\thaiYamakkan}
+\DeclareInputText{239}{\thaiFongman}
+\DeclareInputText{240}{\thaizero}
+\DeclareInputText{241}{\thaione}
+\DeclareInputText{242}{\thaitwo}
+\DeclareInputText{243}{\thaithree}
+\DeclareInputText{244}{\thaifour}
+\DeclareInputText{245}{\thaifive}
+\DeclareInputText{246}{\thaisix}
+\DeclareInputText{247}{\thaiseven}
+\DeclareInputText{248}{\thaieight}
+\DeclareInputText{249}{\thainine}
+\DeclareInputText{250}{\thaiAngkhankhu}
+\DeclareInputText{251}{\thaiKhomut}
+
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 8b9dccf8905..126c5f80a97 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -58,7 +58,7 @@ my @TLP_working = qw(
babel-polish babel-portuges babel-romanian babel-romansh
babel-russian babel-samin babel-scottish babel-serbian
babel-serbianc babel-slovak babel-slovenian babel-sorbian
- babel-spanish babel-swedish babel-turkish babel-ukraineb
+ babel-spanish babel-swedish babel-thai babel-turkish babel-ukraineb
babel-vietnamese babel-welsh
babelbib background backnaur bangtex
barcodes bardiag barr bartel-chess-fonts bashful baskervald
@@ -446,7 +446,7 @@ my @TLP_working = qw(
texliveonfly texloganalyser texlogos texmate texments
texpower texshade
textcase textfit textgreek textmerg textopo textpath textpos tfrupee
- thailatex theoremref thesis-titlepage-fhac
+ theoremref thesis-titlepage-fhac
thinsp thmbox thmtools threadcol threeddice threeparttable threeparttablex
thumb thumbpdf thumbs thumby thuthesis
ticket
diff --git a/Master/tlpkg/tlpsrc/babel-thai.tlpsrc b/Master/tlpkg/tlpsrc/babel-thai.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/babel-thai.tlpsrc
diff --git a/Master/tlpkg/tlpsrc/collection-langcjk.tlpsrc b/Master/tlpkg/tlpsrc/collection-langcjk.tlpsrc
index f0d0be13d73..f7dbf0121d5 100644
--- a/Master/tlpkg/tlpsrc/collection-langcjk.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-langcjk.tlpsrc
@@ -10,6 +10,7 @@ depend arphic
depend asymptote-by-example-zh-cn
depend asymptote-faq-zh-cn
depend asymptote-manual-zh-cn
+depend babel-thai
depend bxbase
depend bxjscls
depend bxpict2e
@@ -48,7 +49,6 @@ depend pxcjkcat
depend pxjahyper
depend pxrubrica
depend texlive-zh-cn
-depend thailatex
depend uhc
depend uptex
depend wadalab