% fonts-tlwg.sty
%
% This file is part of the fonts-tlwg package
%
% 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.
%

\ProvidesPackage{fonts-tlwg}[2021/06/12 v2.0 Thai TLWG Fonts]
\RequirePackage{xkeyval}

\newcommand\thairmdefault{norasi}
\newcommand\thaisfdefault{garuda}
\newcommand\thaittdefault{ttypist}
\newcommand\englishrmdefault{cmr}
\newcommand\englishsfdefault{cmss}
\newcommand\englishttdefault{cmtt}

\newcommand{\thaifamilydefault}{\thairmdefault}
\newcommand{\englishfamilydefault}{\englishrmdefault}

% Introduce scaled option
\newcommand*{\fontstlwg@scale}{1}
\DeclareOptionX{scale}{\renewcommand*{\fontstlwg@scale}{#1}}

% Use sans-serif font by default
\DeclareOptionX{sans}{
  \renewcommand{\thaifamilydefault}{\thaisfdefault}
  \renewcommand{\englishfamilydefault}{\englishsfdefault}
}

% Set default roman, sans-serif, and teletype fonts
\DeclareOptionX{rmkinnari}{\renewcommand{\thairmdefault}{kinnari}}
\DeclareOptionX{rmnorasi}{\renewcommand{\thairmdefault}{norasi}}
\DeclareOptionX{rmnorasi-osf}{\renewcommand{\thairmdefault}{norasij}}
\DeclareOptionX{sfgaruda}{\renewcommand{\thaisfdefault}{garuda}}
\DeclareOptionX{sflaksaman}{\renewcommand{\thaisfdefault}{laksaman}}
\DeclareOptionX{sfumpush}{\renewcommand{\thaisfdefault}{umpush}}
\DeclareOptionX{sfloma}{\renewcommand{\thaisfdefault}{loma}}
\DeclareOptionX{sfwaree}{\renewcommand{\thaisfdefault}{waree}}
\DeclareOptionX{ttttype}{\renewcommand{\thaittdefault}{ttype}}
\DeclareOptionX{ttttypist}{\renewcommand{\thaittdefault}{ttypist}}

% Set default font
\DeclareOptionX{kinnari}{\renewcommand{\thaifamilydefault}{kinnari}}
\DeclareOptionX{garuda}{\renewcommand{\thaifamilydefault}{garuda}}
\DeclareOptionX{norasi}{\renewcommand{\thaifamilydefault}{norasi}}
\DeclareOptionX{norasi-osf}{\renewcommand{\thaifamilydefault}{norasij}}
\DeclareOptionX{laksaman}{\renewcommand{\thaifamilydefault}{laksaman}}
\DeclareOptionX{loma}{\renewcommand{\thaifamilydefault}{loma}}
\DeclareOptionX{purisa}{\renewcommand{\thaifamilydefault}{purisa}}
\DeclareOptionX{sawasdee}{\renewcommand{\thaifamilydefault}{sawasdee}}
\DeclareOptionX{ttype}{\renewcommand{\thaifamilydefault}{ttype}}
\DeclareOptionX{ttypist}{\renewcommand{\thaifamilydefault}{ttypist}}
\DeclareOptionX{umpush}{\renewcommand{\thaifamilydefault}{umpush}}
\DeclareOptionX{waree}{\renewcommand{\thaifamilydefault}{waree}}

\ProcessOptionsX\relax

\DeclareRobustCommand{\thaitext}{%
  \fontencoding{LTH}\fontfamily{\thaifamilydefault}\selectfont
  \def\familydefault{\thaifamilydefault}%
  \def\rmdefault{\thairmdefault}%
  \def\sfdefault{\thaisfdefault}%
  \def\ttdefault{\thaittdefault}%
  \def\encodingdefault{LTH}}

\DeclareRobustCommand{\latintext}{%
  \fontencoding{\latinencoding}\fontfamily{\englishfamilydefault}\selectfont
  \def\familydefault{\englishfamilydefault}%
  \def\rmdefault{\englishrmdefault}%
  \def\sfdefault{\englishsfdefault}%
  \def\ttdefault{\englishttdefault}%
  \def\encodingdefault{\latinencoding}}

\endinput
