You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
tex-compiler/texmf-dist/tex/latex/polyglossia/gloss-khmer.ldf

159 lines
4.8 KiB

\ProvidesFile{gloss-khmer.ldf}[polyglossia: module for Khmer]
\PolyglossiaSetup{khmer}{
bcp47=km,
script=Khmer,%
scripttag=khmr,%
langtag=KHM,%
hyphennames={nohyphenation},%
fontsetup=true,%
localnumeral=khmernumerals%
}
\newif\if@khmer@numerals
\def\tmp@khmer{khmer}
\define@key{khmer}{numerals}[arabic]{%
\def\@tmpa{#1}%
\ifx\@tmpa\tmp@khmer\@khmer@numeralstrue%
\else\@khmer@numeralsfalse\fi%
}
\setkeys{khmer}{numerals}
\def\captionskhmer{%
\def\prefacename{អរមភកថ}%
\def\refname{ឯកសរយង}%
\def\abstractname{សងប}%
\def\bibname{គនថនស}%
\def\chaptername{ជក}%
\def\appendixname{សចកបនម}%
\def\contentsname{មរ}%
\def\listfigurename{បញបភព}%
\def\listtablename{បញង}%
\def\indexname{សនទសសន}%
\def\figurename{រប}%
\def\tablename{តង}%
\def\partname{ផក}%
\def\pagename{ទរ}%
\def\seename{មល}%
\def\alsoname{មលបនម}%
\def\enclname{ឯកសរភ}%
\def\ccname{ចមលងជន}%
\def\headtoname{ផរទ}%
\def\proofname{សមយ}%
\def\glossaryname{សទរម}%
}
\def\datekhmer{%
\def\khmer@month{%
\ifcase\month\or%
មករ\or%
\or%
\or%
\or%
ឧសភ\or%
\or%
កកកដ\or%
\or%
កញ\or%
\or%
\or%
\fi}%
\def\today{\khmernumber\day\space\khmer@month\space\khmernumber\year}%
}
\def\khmerdigits#1{\expandafter\@khmer@digits #1@}
\def\@khmer@digits#1{%
\ifx @#1% then terminate
\else\ifx0#1០%
\else\ifx1#1១%
\else\ifx2#1២%
\else\ifx3#1៣%
\else\ifx4#1៤%
\else\ifx5#1៥%
\else\ifx6#1៦%
\else\ifx7#1៧%
\else\ifx8#1៨%
\else\ifx9#1៩%
\else#1\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\expandafter\@khmer@digits%
\fi
}
\newcommand{\khmernumerals}[2]{\khmernumber{#2}}
\def\khmernumber#1{%
\if@khmer@numerals%
\khmerdigits{\number#1}%
\else%
\number#1%
\fi}
\def\khmer@globalnumbers{%
\let\orig@arabic\@arabic%
\let\@arabic\khmernumber%
\renewcommand{\thefootnote}{\localnumeral*{footnote}}%
}
\def\nokhmer@globalnumbers{%
\let\@arabic\orig@arabic%
}
\def\thepart{\arabic{part}}
\def\@khmeralph#1{%
\ifcase#1%
\or ក\or ខ\or គ\or ឃ\or ង%
\or ច\or ឆ\or ជ\or ឈ\or ញ%
\or ដ\or ឋ\or ឌ\or ឍ\or ណ%
\or ត\or ថ\or ទ\or ធ\or ន%
\or ប\or ផ\or ព\or ភ\or ម%
\or យ\or រ\or ល\or វ\or ស\or ហ\or ឡ\or អ%
\else\xpg@ill@value{#1}{@khmeralph}\fi}
\def\khmerAlph#1{\expandafter\@khmerAlph\csname c@#1\endcsname}
\def\@khmerAlph#1{%
\ifcase#1%
\or ក\or ខ\or គ\or ឃ\or ង%
\or ច\or ឆ\or ជ\or ឈ\or ញ%
\or ដ\or ឋ\or ឌ\or ឍ\or ណ%
\or ត\or ថ\or ទ\or ធ\or ន%
\or ប\or ផ\or ព\or ភ\or ម%
\or យ\or រ\or ល\or វ\or ស\or ហ\or ឡ\or អ%
\else\xpg@ill@value{#1}{@khmeralph}\fi}
\def\khmer@numbers{%
\if@khmer@numerals
\let\@alph\@khmeralph%
\let\@Alph\@khmerAlph%
\fi%
}
\def\nokhmer@numbers{%
\let\@alph\latin@alph%
\let\@Alph\latin@Alph%
}
\def\blockextras@khmer{%
\XeTeXlinebreaklocale "kh" %
\XeTeXlinebreakskip = 0pt plus 1pt minus 1pt
% \let\orig@baselinestretch\baselinestretch%
% \renewcommand{\baselinestretch}{1.2}% not work
}
\def\noblockextras@khmer{%
\XeTeXlinebreaklocale "en"%
% \let\baselinestretch\orig@baselinestretch%
}
\@ifclassloaded{beamer}{%
\usefonttheme{professionalfonts}%
\def\factname{សយសតយ}%
\def\lemmaname{បទគន}%
\def\theoremname{ទបទ}%
\def\corollaryname{អនយ}%
\def\problemname{ចទ}%
\def\solutionname{ដយ}%
\def\definitionname{នយមនយ}%
\def\examplename{ឧទហរណ}%
\uselanguage{khmer}%
\languagepath{khmer}%
\deftranslation[to=khmer]{Fact}{\factname}%
\deftranslation[to=khmer]{Lemma}{\lemmaname}%
\deftranslation[to=khmer]{Theorem}{\theoremname}%
\deftranslation[to=khmer]{Corollary}{\corollaryname}%
\deftranslation[to=khmer]{Problem}{\problemname}%
\deftranslation[to=khmer]{Solution}{\solutionname}%
\deftranslation[to=khmer]{Definition}{\definitionname}%
\deftranslation[to=khmer]{Definitions}{\definitionname}%
\deftranslation[to=khmer]{Example}{\examplename}%
\deftranslation[to=khmer]{Examples}{\examplename}%
\AtEndDocument{\immediate\write\@auxout{\string\@writefile{nav}%
{\noexpand\headcommand{\noexpand\def\noexpand%
\inserttotalframenumber{\localnumeral*{framenumber}}}}}}%
}{}
\endinput