summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/fonts/fonts-tlwg/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-10-20 21:44:12 +0000
committerKarl Berry <karl@freefriends.org>2021-10-20 21:44:12 +0000
commit31b32838ef38ec3587509fcb5a2a569e6fe5bce5 (patch)
tree7e054efec44d2667eb1e0d72b6455b90cf280223 /Master/texmf-dist/source/fonts/fonts-tlwg/latex
parentc853ff9c658499b16db581bcdbb2c5fa5ce9d0f4 (diff)
fonts-tlwg (19oct21)
git-svn-id: svn://tug.org/texlive/trunk@60817 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/fonts/fonts-tlwg/latex')
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/Makefile.am12
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/Makefile.in22
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/Makefile.am3
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/Makefile.in11
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/digits-axes.tex38
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/digits-cfr.tex30
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/oldnum.tex335
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/teststd.tex39
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/fonts-tlwg.sty4
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorasi.fd13
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorasij.fd69
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorj.fd68
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorx.fd68
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthtlwg-osf-sc.enc96
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthtlwg-osf.enc96
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthtlwg-sc.enc96
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/texfont.mk.am78
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/thailigs-osf-sc.enc425
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/thailigs-osf.enc427
-rw-r--r--Master/texmf-dist/source/fonts/fonts-tlwg/latex/thailigs-sc.enc420
20 files changed, 2321 insertions, 29 deletions
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/Makefile.am b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/Makefile.am
index a52c4f5c99b..d06863342ae 100644
--- a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/Makefile.am
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/Makefile.am
@@ -1,7 +1,9 @@
SUBDIRS = examples
FD_FILES = \
- lthkinnari.fd lthgaruda.fd lthnorasi.fd \
+ lthkinnari.fd lthgaruda.fd \
+ lthnorasi.fd lthnorasij.fd \
+ lthnorx.fd lthnorj.fd \
lthttype.fd lthttypist.fd \
lthpurisa.fd lthloma.fd \
lthwaree.fd lthumpush.fd \
@@ -13,14 +15,20 @@ EXTRA_DIST = \
texfont.mk.am \
fonts-tlwg.sty \
lthtlwg.enc \
+ lthtlwg-sc.enc \
thailigs.enc \
+ thailigs-sc.enc \
+ lthtlwg-osf.enc \
+ lthtlwg-osf-sc.enc \
+ thailigs-osf.enc \
+ thailigs-osf-sc.enc \
thai-dummy.afm \
$(FD_FILES)
if INCLUDE_LATEX
encdir = $(texmfdir)/fonts/enc/dvips/$(LATEX_PACKAGE)
-enc_DATA = lthtlwg.enc
+enc_DATA = lthtlwg.enc lthtlwg-sc.enc lthtlwg-osf.enc lthtlwg-osf-sc.enc
latexdir = $(texmfdir)/tex/latex/$(LATEX_PACKAGE)
latex_DATA = fonts-tlwg.sty $(FD_FILES)
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/Makefile.in b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/Makefile.in
index 56f37e5dbc6..9bd37367ea1 100644
--- a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/Makefile.in
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.4 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -177,8 +177,6 @@ am__define_uniq_tagged_files = \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
am__DIST_COMMON = $(srcdir)/Makefile.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -215,11 +213,14 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
+ETAGS = @ETAGS@
FCCACHE = @FCCACHE@
FONTFORGE = @FONTFORGE@
INSTALL = @INSTALL@
@@ -312,7 +313,9 @@ type1dir = @type1dir@
woffdir = @woffdir@
SUBDIRS = examples
FD_FILES = \
- lthkinnari.fd lthgaruda.fd lthnorasi.fd \
+ lthkinnari.fd lthgaruda.fd \
+ lthnorasi.fd lthnorasij.fd \
+ lthnorx.fd lthnorj.fd \
lthttype.fd lthttypist.fd \
lthpurisa.fd lthloma.fd \
lthwaree.fd lthumpush.fd \
@@ -324,12 +327,18 @@ EXTRA_DIST = \
texfont.mk.am \
fonts-tlwg.sty \
lthtlwg.enc \
+ lthtlwg-sc.enc \
thailigs.enc \
+ thailigs-sc.enc \
+ lthtlwg-osf.enc \
+ lthtlwg-osf-sc.enc \
+ thailigs-osf.enc \
+ thailigs-osf-sc.enc \
thai-dummy.afm \
$(FD_FILES)
@INCLUDE_LATEX_TRUE@encdir = $(texmfdir)/fonts/enc/dvips/$(LATEX_PACKAGE)
-@INCLUDE_LATEX_TRUE@enc_DATA = lthtlwg.enc
+@INCLUDE_LATEX_TRUE@enc_DATA = lthtlwg.enc lthtlwg-sc.enc lthtlwg-osf.enc lthtlwg-osf-sc.enc
@INCLUDE_LATEX_TRUE@latexdir = $(texmfdir)/tex/latex/$(LATEX_PACKAGE)
@INCLUDE_LATEX_TRUE@latex_DATA = fonts-tlwg.sty $(FD_FILES)
@INCLUDE_LATEX_TRUE@doc_DATA = README.latex
@@ -527,7 +536,6 @@ cscopelist-am: $(am__tagged_files)
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/Makefile.am b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/Makefile.am
index 446111269a9..8da42c221e6 100644
--- a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/Makefile.am
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/Makefile.am
@@ -3,6 +3,9 @@ EXAMPLES = \
testsans.tex \
testscaled-120.tex \
testscaled-65.tex \
+ oldnum.tex \
+ digits-axes.tex \
+ digits-cfr.tex \
$(NULL)
EXTRA_DIST = $(EXAMPLES)
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/Makefile.in b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/Makefile.in
index 8e331955c3b..d34bf568a35 100644
--- a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/Makefile.in
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# Makefile.in generated by automake 1.16.4 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+# Copyright (C) 1994-2021 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -154,11 +154,14 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
+CSCOPE = @CSCOPE@
+CTAGS = @CTAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
+ETAGS = @ETAGS@
FCCACHE = @FCCACHE@
FONTFORGE = @FONTFORGE@
INSTALL = @INSTALL@
@@ -254,6 +257,9 @@ EXAMPLES = \
testsans.tex \
testscaled-120.tex \
testscaled-65.tex \
+ oldnum.tex \
+ digits-axes.tex \
+ digits-cfr.tex \
$(NULL)
EXTRA_DIST = $(EXAMPLES)
@@ -321,7 +327,6 @@ ctags CTAGS:
cscope cscopelist:
-
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/digits-axes.tex b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/digits-axes.tex
new file mode 100644
index 00000000000..fa89c0d9518
--- /dev/null
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/digits-axes.tex
@@ -0,0 +1,38 @@
+\documentclass[a4paper]{article}
+\usepackage[thai]{babel}
+\usepackage[utf8x]{inputenc}
+\usepackage[norasi]{fonts-tlwg}
+
+\usepackage{fontaxes}
+
+\begin{document}
+
+ระยะห่างของดวงจันทร์จากโลก
+\begin{itemize}
+ \item Perigee \liningfigures{362,600 km} \textfigures{(356,400--370,400 km)}
+ \item Apogee \liningfigures{405,400 km} \textfigures{(404,000--406,700 km)}
+\end{itemize}
+
+ทดสอบ tabular/proportional figures (\emph{ผ่าน!})
+
+\begin{tabular}{lrr}
+\hline
+ & Lining figures & Old style figures \\
+\hline
+Tabular figures &
+ \figureversion{lf,tab}{197,453,631.11} &
+ \figureversion{osf,tab}{197,453,631.11} \\
+ &
+ \figureversion{lf,tab}{81,142.21} &
+ \figureversion{osf,tab}{81,142.21} \\
+\hline
+Proportional figures &
+ \figureversion{lf,prop}{197,453,631.11} &
+ \figureversion{osf,prop}{197,453,631.11} \\
+ &
+ \figureversion{lf,prop}{81,142.21} &
+ \figureversion{osf,prop}{81,142.21} \\
+\hline
+\end{tabular}
+
+\end{document}
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/digits-cfr.tex b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/digits-cfr.tex
new file mode 100644
index 00000000000..ec9af123856
--- /dev/null
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/digits-cfr.tex
@@ -0,0 +1,30 @@
+\documentclass[a4paper]{article}
+\usepackage[thai]{babel}
+\usepackage[utf8x]{inputenc}
+\usepackage[norasi]{fonts-tlwg}
+
+\usepackage{nfssext-cfr}
+
+\begin{document}
+
+ระยะห่างของดวงจันทร์จากโลก
+\begin{itemize}
+ \item Perigee \textln{362,600 km} \textos{(356,400--370,400 km)}
+ \item Apogee \textln{405,400 km} \textos{(404,000--406,700 km)}
+\end{itemize}
+
+ทดสอบ tabular/proportional figures (\emph{ไม่ผ่าน!})
+
+\begin{tabular}{lrr}
+\hline
+ & Lining figures & Old style figures \\
+\hline
+Tabular figures & \texttl{197,453,631.11} & \textto{197,453,631.11} \\
+ & \texttl{80,142.21} & \textto{81,142.21} \\
+\hline
+Proportional figures & \textpl{197,453,631.11} & \textpo{197,453,631.11} \\
+ & \textpl{81,142.21} & \textpo{81,142.21} \\
+\hline
+\end{tabular}
+
+\end{document}
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/oldnum.tex b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/oldnum.tex
new file mode 100644
index 00000000000..b42a6431976
--- /dev/null
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/oldnum.tex
@@ -0,0 +1,335 @@
+\documentclass[a4paper]{article}
+\usepackage[thai]{babel}
+\usepackage[utf8x]{inputenc}
+\usepackage[norasi-osf]{fonts-tlwg}
+
+\usepackage[bf,sc]{titlesec}
+
+% For "มงคล 38 ประการ"
+\usepackage{enumitem}
+
+\newcommand{\texturl}[1]{\textit{#1}}
+
+\title{Old Style Figures Demonstration}
+\author{}
+\date{}
+
+\newcommand{\pali}[1]{\textit{\textpali{#1}}}
+\newcommand{\source}[2]{%
+ \par\noindent\rule{\textwidth}{0.4pt}
+ \emph{#1:} #2}
+
+\begin{document}
+\maketitle
+
+\section{Ten Commandments}
+
+\begin{enumerate}
+ \item I am the Lord thy God. Thou shalt have no other gods before me.
+ Thou shalt not make unto thee any graven image.
+ \item Thou shalt not take the name of the Lord thy God in vain.
+ \item Remember the sabbath day, to keep it holy.
+ \item Honour thy father and thy mother.
+ \item Thou shalt not murder.
+ \item Thou shalt not commit adultery.
+ \item Thou shalt not steal.
+ \item Thou shalt not bear false witness against thy neighbour.
+ \item Thou shalt not covet thy neighbour's wife.
+ \item Thou shalt not covet thy neighbour's house,
+ or his slaves, or his animals, or anything of thy neighbour.
+\end{enumerate}
+
+You shall set up these stones, which I command you today, on Mount Gerizim.
+
+\source{Source}{%
+ Wikipedia
+ \texturl{https://en.wikipedia.org/wiki/Ten\_Commandments}}
+
+\section{มงคล 38 ประการ}
+
+สมัยหนึ่ง พระผู้มีพระภาคประทับอยู่ ณ พระวิหารเชตวัน อารามของท่านอนาถบิณฑิกเศรษฐี
+ใกล้พระนครสาวัตถี ครั้งนั้นแล ครั้นปฐมยามล่วงไป เทวดาตนหนึ่งมีรัศมีงามยิ่งนัก
+ยังพระวิหารเชตวันทั้งสิ้นให้สว่างไสว เข้าไปเฝ้าพระผู้มีพระภาคถึงที่ประทับ ถวายบังคมแล้วยืนอยู่ ณ
+ที่ควรส่วนข้างหนึ่ง ครั้นแล้ว ได้กราบทูลพระผู้มีพระภาคด้วยคาถาว่า
+
+\begin{quote}
+เทวดาและมนุษย์เป็นอันมาก ผู้หวังความสวัสดี ได้พากันคิดมงคลทั้งหลาย ขอพระองค์จงตรัสอุดมมงคล
+\end{quote}
+
+พระผู้มีพระภาคตรัสพระคาถาตอบว่า (จัดหมวดหมู่ตามบทคาถา)
+
+\subsection{ฝึกให้เป็นคนดี}
+\begin{enumerate}
+ \item \pali{อเสวนา จ พาลานํ} (การไม่คบคนพาล ๑)
+ \item \pali{ปณฺฑิตานญฺจ เสวนา} (การคบบัณฑิต ๑)
+ \item \pali{ปูชา จ ปูชนียานํ} (การบูชาบุคคลที่ควรบูชา ๑)
+\end{enumerate}
+\pali{เอตมฺมงฺคลมุตฺตมํ ฯ} (นี้เป็นอุดมมงคล)
+
+\subsection{สร้างความพร้อมในการฝึกตนเอง}
+\begin{enumerate}[resume]
+ \item \pali{ปฏิรูปเทสวาโส จ} (การอยู่ในประเทศอันสมควร ๑)
+ \item \pali{ปุพฺเพ จ กตปุญฺญตา} (ความเป็นผู้มีบุญอันกระทำแล้วในกาลก่อน ๑)
+ \item \pali{อตฺตสมฺมาปณิธิ จ} (การตั้งตนไว้ชอบ ๑)
+\end{enumerate}
+\pali{เอตมฺมงฺคลมุตฺตมํ ฯ} (นี้เป็นอุดมมงคล)
+
+\subsection{ฝึกตนให้เป็นคนมีประโยชน์}
+\begin{enumerate}[resume]
+ \item \pali{พาหุสจฺจญฺจ} (พาหุสัจจะ ๑ ---มีความรอบรู้, ความเป็นพหูสูต)
+ \item \pali{สิปฺปญฺจ} (ศิลป ๑)
+ \item \pali{วินโย จ สุสิกฺขิโต} (วินัยที่ศึกษาดีแล้ว ๑)
+ \item \pali{สุภาสิตา จ ยา วาจา} (วาจาสุภาษิต ๑)
+\end{enumerate}
+\pali{เอตมฺมงฺคลมุตฺตมํ ฯ} (นี้เป็นอุดมมงคล)
+
+\subsection{บำเพ็ญประโยชน์ต่อครอบครัว}
+\begin{enumerate}[resume]
+ \item \pali{มาตาปิตุอุปฏฺฐานํ} (การบำรุงบิดามารดา ๑)
+ \item \pali{ปุตฺตสงฺคโห} (การเลี้ยงดูบุตร ๑ ---แยกมาจาก \pali{ปุตฺตทารสฺส สงฺคโห})
+ \item \pali{ทารสฺส สงฺคโห} (การสงเคราะห์ภรรยา-สามี ๑
+ ---แยกมาจาก \pali{ปุตฺตทารสฺส สงฺคโห})
+ \item \pali{อนากุลา จ กมฺมนฺตา} (การงานอันไม่อากูล ๑ ---การงานไม่คั่งค้าง)
+\end{enumerate}
+\pali{เอตมฺมงฺคลมุตฺตมํ ฯ} (นี้เป็นอุดมมงคล)
+
+\subsection{บำเพ็ญประโยชน์ต่อสังคม}
+\begin{enumerate}[resume]
+ \item \pali{ทานญฺจ} (ทาน ๑)
+ \item \pali{ธมฺมจริยา จ} (การประพฤติธรรม ๑)
+ \item \pali{ญาตกานญฺจ สงฺคโห} (การสงเคราะห์ญาติ ๑)
+ \item \pali{อนวชฺชานิ กมฺมานิ} (กรรมอันไม่มีโทษ ๑)
+\end{enumerate}
+\pali{เอตมฺมงฺคลมุตฺตมํ ฯ} (นี้เป็นอุดมมงคล)
+
+\subsection{ปรับเตรียมสภาพใจให้พร้อม}
+\begin{enumerate}[resume]
+ \item \pali{อารตี วิรตี ปาปา} (การงดเว้นจากบาป ๑)
+ \item \pali{มชฺชปานา จ สญฺญโม} (ความสำรวมจากการดื่มน้ำเมา ๑)
+ \item \pali{อปฺปมาโท จ ธมฺเมสุ} (ความไม่ประมาทในธรรมทั้งหลาย ๑)
+\end{enumerate}
+\pali{เอตมฺมงฺคลมุตฺตมํ ฯ} (นี้เป็นอุดมมงคล)
+
+\subsection{การแสวงหาธรรมะเบื้องต้นใส่ตัว}
+\begin{enumerate}[resume]
+ \item \pali{คารโว จ} (ความเคารพ ๑)
+ \item \pali{นิวาโต จ} (ความประพฤติถ่อมตน ๑)
+ \item \pali{สนฺตุฏฺฐี จ} (ความสันโดษ ๑)
+ \item \pali{กตญฺญุตา} (ความกตัญญู ๑)
+ \item \pali{กาเลน ธมฺมสฺสวนํ} (การฟังธรรมโดยกาล ๑)
+\end{enumerate}
+\pali{เอตมฺมงฺคลมุตฺตมํ ฯ} (นี้เป็นอุดมมงคล)
+
+\subsection{การแสวงหาธรรมะเบื้องสูงใส่ตัวให้เต็มที่}
+\begin{enumerate}[resume]
+ \item \pali{ขนฺตี จ} (ความอดทน ๑)
+ \item \pali{โสวจสฺสตา} (ความเป็นผู้ว่าง่าย ๑)
+ \item \pali{สมณานญฺจ ทสฺสนํ} (การได้เห็นสมณะทั้งหลาย ๑)
+ \item \pali{กาเลน ธมฺมสากจฺฉา} (การสนทนาธรรมโดยกาล ๑)
+\end{enumerate}
+\pali{เอตมฺมงฺคลมุตฺตมํ ฯ} (นี้เป็นอุดมมงคล)
+
+\subsection{การฝึกภาคปฏิบัติเพื่อกำจัดกิเลสให้สิ้นไป}
+\begin{enumerate}[resume]
+ \item \pali{ตโป จ} (ความเพียร ๑)
+ \item \pali{พฺรหฺมจริยญฺจ} (พรหมจรรย์ ๑)
+ \item \pali{อริยสจฺจานทสฺสนํ} (การเห็นอริยสัจ ๑)
+ \item \pali{นิพฺพานสจฺฉิกิริยา จ} (การกระทำนิพพานให้แจ้ง ๑)
+\end{enumerate}
+\pali{เอตมฺมงฺคลมุตฺตมํ ฯ} (นี้เป็นอุดมมงคล)
+
+\subsection{ผลจากการปฏิบัติตนจนหมดกิเลส}
+\begin{enumerate}[resume]
+ \item \pali{ผุฏฺฐสฺส โลกธมฺเมหิ จิตฺตํ ยสฺส น กมฺปติ} (จิตของผู้ใดอันโลกธรรมทั้งหลายถูกต้องแล้ว
+ ย่อมไม่หวั่นไหว ๑)
+ \item \pali{อโสกํ} (ไม่เศร้าโศก ๑)
+ \item \pali{วิรชํ} (ปราศจากธุลี ๑)
+ \item \pali{เขมํ} (เป็นจิตเกษม ๑)
+\end{enumerate}
+\pali{เอตมฺมงฺคลมุตฺตมํ ฯ} (นี้เป็นอุดมมงคล)
+
+เทวดาและมนุษย์ทั้งหลาย ทำมงคลเช่นนี้แล้ว เป็นผู้ไม่ปราชัยในข้าศึกทุกหมู่เหล่า
+ย่อมถึงความสวัสดีในที่ทุกสถาน นี้เป็นอุดมมงคลของเทวดาและมนุษย์เหล่านั้น ฯ
+
+\source{ที่มา}{%
+ \begin{itemize}
+ \item มงคลสูตรในขุททกปาฐะ พระสุตตันตปิฎก ขุททกนิกาย \\
+ \texturl{https://84000.org/tipitaka/book/v.php?B=25\&A=41\&Z=72} และ \\
+ \texturl{https://84000.org/tipitaka/pali/pali\_item\_s.php?book=25\&item=5\&items=2}
+ \item พ่อน้องกันต์. มงคลชีวิต 38 ประการ.
+ \texturl{https://www.gotoknow.org/posts/382786}
+ \end{itemize}}
+
+\section{Reply from the Observatory of Cambridge}
+
+Barbicane, however, lost not one moment amid all the enthusiasm of which he
+had become the object. His first care was to reassemble his colleagues in the
+board-room of the Gun Club. There, after some discussion, it was agreed to
+consult the astronomers regarding the astronomical part of the enterprise.
+Their reply once ascertained, they could then discuss the mechanical means, and
+nothing should be wanting to ensure the success of this great experiment.
+
+A note couched in precise terms, containing special interrogatories, was then
+drawn up and addressed to the Observatory of Cambridge in Massachusetts. This
+city, where the first university of the United States was founded, is justly
+celebrated for its astronomical staff. There are to be found assembled all the
+most eminent men of science. Here is to be seen at work that powerful telescope
+which enabled Bond to resolve the nebula of Andromeda, and Clarke to discover
+the satellite of Sirius. This celebrated institution fully justified on all
+points the confidence reposed in it by the Gun Club. So, after two days, the
+reply so impatiently awaited was placed in the hands of President Barbicane.
+
+It was couched in the following terms:
+
+\emph{The Director of the Cambridge Observatory to the President of the Gun Club at Baltimore.}
+
+CAMBRIDGE, October 7. On the receipt of your favor of the 6th instant,
+addressed to the Observatory of Cambridge in the name of the members of the
+Baltimore Gun Club, our staff was immediately called together, and it was
+judged expedient to reply as follows:
+
+The questions which have been proposed to it are these---
+
+``1.~Is it possible to transmit a projectile up to the moon?
+
+``2.~What is the exact distance which separates the earth from its satellite?
+
+``3.~What will be the period of transit of the projectile when endowed with
+sufficient initial velocity? and, consequently, at what moment ought it to be
+discharged in order that it may touch the moon at a particular point?
+
+``4.~At what precise moment will the moon present herself in the most favorable
+position to be reached by the projectile?
+
+``5.~What point in the heavens ought the cannon to be aimed at which is
+intended to discharge the projectile?
+
+``6.~What place will the moon occupy in the heavens at the moment of the
+projectile’s departure?''
+
+Regarding the \emph{first} question, ``Is it possible to transmit a projectile
+up to the moon?''
+
+\emph{Answer.}---Yes; provided it possess an initial velocity of 1,200 yards per
+second; calculations prove that to be sufficient. In proportion as we recede
+from the earth the action of gravitation diminishes in the inverse ratio of the
+square of the distance; that is to say, \emph{at three times a given distance
+the action is nine times less.} Consequently, the weight of a shot will
+decrease, and will become reduced to zero at the instant that the attraction of
+the moon exactly counterpoises that of the earth; that is to say at 47/52 of
+its passage. At that instant the projectile will have no weight whatever; and,
+if it passes that point, it will fall into the moon by the sole effect of the
+lunar attraction. The \emph{theoretical possibility} of the experiment is
+therefore absolutely demonstrated; its \emph{success} must depend upon the
+power of the engine employed.
+
+As to the \emph{second} question, ``What is the exact distance which separates
+the earth from its satellite?''
+
+\emph{Answer.}---The moon does not describe a \emph{circle} round the earth,
+but rather an \emph{ellipse,} of which our earth occupies one of the
+\emph{foci;} the consequence, therefore, is, that at certain times it
+approaches nearer to, and at others it recedes farther from, the earth; in
+astronomical language, it is at one time in \emph{apogee,} at another in
+\emph{perigee.} Now the difference between its greatest and its least distance
+is too considerable to be left out of consideration. In point of fact, in its
+apogee the moon is 247,552 miles, and in its perigee, 218,657 miles only
+distant; a fact which makes a difference of 28,895 miles, or more than
+one-ninth of the entire distance. The perigee distance, therefore, is that
+which ought to serve as the basis of all calculations.
+
+To the \emph{third} question:---
+
+\emph{Answer.}---If the shot should preserve continuously its initial velocity
+of 12,000 yards per second, it would require little more than nine hours to
+reach its destination; but, inasmuch as that initial velocity will be
+continually decreasing, it will occupy 300,000 seconds, that is 83hrs.\ 20m.\ in
+reaching the point where the attraction of the earth and moon will be in
+\emph{equilibrio.} From this point it will fall into the moon in 50,000
+seconds, or 13hrs.\ 53m.\ 20sec. It will be desirable, therefore, to discharge
+it 97hrs.\ 13m.\ 20sec.\ before the arrival of the moon at the point aimed at.
+
+Regarding question \emph{four,} ``At what precise moment will the moon present
+herself in the most favorable position, etc.?''
+
+\emph{Answer.}---After what has been said above, it will be necessary, first of
+all, to choose the period when the moon will be in perigee, and \emph{also} the
+moment when she will be crossing the zenith, which latter event will further
+diminish the entire distance by a length equal to the radius of the earth,
+\emph{i.~e.}\ 3,919 miles; the result of which will be that the final passage
+remaining to be accomplished will be 214,976 miles. But although the moon
+passes her perigee every month, she does not reach the zenith always \emph{at
+exactly the same moment.} She does not appear under these two conditions
+simultaneously, except at long intervals of time. It will be necessary,
+therefore, to wait for the moment when her passage in perigee shall coincide
+with that in the zenith. Now, by a fortunate circumstance, on the 4th of
+December in the ensuing year the moon \emph{will} present these two conditions.
+At midnight she will be in perigee, that is, at her shortest distance from the
+earth, and at the same moment she will be crossing the zenith.
+
+On the \emph{fifth} question, ``At what point in the heavens ought the cannon
+to be aimed?''
+
+\emph{Answer.}---The preceding remarks being admitted, the cannon ought to be
+pointed to the zenith of the place. Its fire, therefore, will be perpendicular
+to the plane of the horizon; and the projectile will soonest pass beyond the
+range of the terrestrial attraction. But, in order that the moon should reach
+the zenith of a given place, it is necessary that the place should not exceed
+in latitude the declination of the luminary; in other words, it must be
+comprised within the degrees 0$^\circ$ and 28$^\circ$ of lat.\ N.\ or S.
+In every other spot the fire must necessarily be oblique, which would seriously
+militate against the success of the experiment.
+
+As to the \emph{sixth} question, ``What place will the moon occupy in the
+heavens at the moment of the projectile’s departure?''
+
+\emph{Answer.}---At the moment when the projectile shall be discharged into
+space, the moon, which travels daily forward 13$^\circ$ 10$'$ 35$''$, will be
+distant from the zenith point by four times that quantity, \emph{i.~e.}\ by
+52$^\circ$ 41$'$ 20$''$, a space which corresponds to the path which she will
+describe during the entire journey of the projectile. But, inasmuch as it is
+equally necessary to take into account the deviation which the rotary motion of
+the earth will impart to the shot, and as the shot cannot reach the moon until
+after a deviation equal to 16 radii of the earth, which, calculated upon the
+moon’s orbit, are equal to about eleven degrees, it becomes necessary to add
+these eleven degrees to those which express the retardation of the moon just
+mentioned: that is to say, in round numbers, about sixty-four degrees.
+Consequently, at the moment of firing the visual radius applied to the moon
+will describe, with the vertical line of the place, an angle of sixty-four
+degrees.
+
+These are our answers to the questions proposed to the Observatory of Cambridge
+by the members of the Gun Club:---
+
+To sum up---
+
+1st. The cannon ought to be planted in a country situated between 0$^\circ$ and
+28$^\circ$ of N.\ or S.\ lat.
+
+2nd. It ought to be pointed directly toward the zenith of the place.
+
+3rd. The projectile ought to be propelled with an initial velocity of 12,000
+yards per second.
+
+4th. It ought to be discharged at 10hrs.\ 46m.\ 40sec.\ of the 1st of December
+of the ensuing year.
+
+5th. It will meet the moon four days after its discharge, precisely at midnight
+on the 4th of December, at the moment of its transit across the zenith.
+
+The members of the Gun Club ought, therefore, without delay, to commence the
+works necessary for such an experiment, and to be prepared to set to work at
+the moment determined upon; for, if they should suffer this 4th of December to
+go by, they will not find the moon again under the same conditions of perigee
+and of zenith until eighteen years and eleven days afterward.
+
+The staff of the Cambridge Observatory place themselves entirely at their
+disposal in respect of all questions of theoretical astronomy; and herewith add
+their congratulations to those of all the rest of America. For the Astronomical
+Staff, J. M. BELFAST, \emph{Director of the Observatory of Cambridge.}
+
+\source{Source}{%
+ The Project Gutenberg eBook of From the Earth to the Moon, by
+ Jules Verne. \texturl{https://www.gutenberg.org/files/83/83-h/83-h.htm}}
+
+\end{document}
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/teststd.tex b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/teststd.tex
index e30c5c6e16e..74b0e8ee7ea 100644
--- a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/teststd.tex
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/examples/teststd.tex
@@ -34,6 +34,20 @@
\noindent
\MakeUppercase{A quick brown fox jumps over the lazy dog.}}
+\newcommand{\testlnfigures}[3]{%
+ \usefont{LTH}{#1}{#2}{#3}
+ \noindent
+ Lining figures: 0123456789}
+
+\newcommand{\testoldfigures}[3]{%
+ \usefont{LTH}{#1-OsF}{#2}{#3}
+ \noindent
+ Old style figures: 0123456789}
+
+\newcommand{\testfigures}[3]{%
+ \testlnfigures{#1}{#2}{#3} \\
+ \testoldfigures{#1}{#2}{#3}}
+
\newcommand{\testligkern}[3]{%
\usefont{LTH}{#1}{#2}{#3}
\noindent
@@ -234,6 +248,18 @@
\testenglish{norasi}{b}{sl}
+\testenglish{norasi}{m}{sc}
+
+\testenglish{norasi}{b}{sc}
+
+\testenglish{norasi}{m}{scit}
+
+\testenglish{norasi}{b}{scit}
+
+\testenglish{norasi}{m}{scsl}
+
+\testenglish{norasi}{b}{scsl}
+
\testEnglish{norasi}{m}{n}
\testEnglish{norasi}{b}{n}
@@ -246,6 +272,19 @@
\testEnglish{norasi}{b}{sl}
+\subsection{ตัวเลข}
+
+\testfigures{norasi}{m}{n}
+
+\testfigures{norasi}{b}{n}
+
+\testfigures{norasi}{m}{it}
+
+\testfigures{norasi}{b}{it}
+
+\testfigures{norasi}{m}{sl}
+
+\testfigures{norasi}{b}{sl}
\subsection{การจัดระดับตัวอักษรและตัวอักษรพิเศษ}
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/fonts-tlwg.sty b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/fonts-tlwg.sty
index 242009ff21b..2d9787df29e 100644
--- a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/fonts-tlwg.sty
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/fonts-tlwg.sty
@@ -18,7 +18,7 @@
% The Current Maintainer of this work is Theppitak Karoonboonyanan.
%
-\ProvidesPackage{fonts-tlwg}[2014/07/05 v1.1 Thai TLWG Fonts]
+\ProvidesPackage{fonts-tlwg}[2021/06/12 v2.0 Thai TLWG Fonts]
\RequirePackage{xkeyval}
\newcommand\thairmdefault{norasi}
@@ -44,6 +44,7 @@
% 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}}
@@ -56,6 +57,7 @@
\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}}
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorasi.fd b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorasi.fd
index d50664d27d9..2198dd201d3 100644
--- a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorasi.fd
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorasi.fd
@@ -18,6 +18,8 @@
% The Current Maintainer of this work is Theppitak Karoonboonyanan.
%
% Created by Surapant Meknavin: surapan@nectec.or.th
+% 2021/06/08 Theppitak Karoonboonyanan <theppitak@gmail.com>
+% - add small cap shapes
% 2017/09/11 Abhabongse Janthong <abhabongse@gmail.com>
% - add font scaling
% 2003/06/02 Chanop Silpa-Anan <chanop@debian.org>
@@ -26,7 +28,7 @@
% - font name changed from "nf3x" to "norasi", with bold series added
% - encoding changed from TIS to LTH, according TeX convention
-\ProvidesFile{lthnorasi.fd}[2000/05/09 v1.0 Thai font definitions]
+\ProvidesFile{lthnorasi.fd}[2021/06/12 v2.0 Norasi font definition]
% Check if the scale factor has been defined
\ifcsname fontstlwg@scale\endcsname
@@ -40,15 +42,24 @@
\DeclareFontShape{LTH}{norasi}{m}{n}{<-> \fontstlwg@@scale norasi}{}
\DeclareFontShape{LTH}{norasi}{m}{it}{<-> \fontstlwg@@scale norasi_i}{}
\DeclareFontShape{LTH}{norasi}{m}{sl}{<-> \fontstlwg@@scale norasi_o}{}
+\DeclareFontShape{LTH}{norasi}{m}{sc}{<-> \fontstlwg@@scale norasi-sc}{}
+\DeclareFontShape{LTH}{norasi}{m}{scit}{<-> \fontstlwg@@scale norasi_i-sc}{}
+\DeclareFontShape{LTH}{norasi}{m}{scsl}{<-> \fontstlwg@@scale norasi_o-sc}{}
%%%%%%% bold series
\DeclareFontShape{LTH}{norasi}{b}{n}{<-> \fontstlwg@@scale norasi_b}{}
\DeclareFontShape{LTH}{norasi}{b}{it}{<-> \fontstlwg@@scale norasi_bi}{}
\DeclareFontShape{LTH}{norasi}{b}{sl}{<-> \fontstlwg@@scale norasi_bo}{}
+\DeclareFontShape{LTH}{norasi}{b}{sc}{<-> \fontstlwg@@scale norasi_b-sc}{}
+\DeclareFontShape{LTH}{norasi}{b}{scit}{<-> \fontstlwg@@scale norasi_bi-sc}{}
+\DeclareFontShape{LTH}{norasi}{b}{scsl}{<-> \fontstlwg@@scale norasi_bo-sc}{}
% Substitutions
\DeclareFontShape{LTH}{norasi}{bx}{n}{<->ssub * norasi/b/n}{}
\DeclareFontShape{LTH}{norasi}{bx}{sl}{<->ssub * norasi/b/sl}{}
\DeclareFontShape{LTH}{norasi}{bx}{it}{<->ssub * norasi/b/it}{}
+\DeclareFontShape{LTH}{norasi}{bx}{sc}{<->ssub * norasi/b/sc}{}
+\DeclareFontShape{LTH}{norasi}{bx}{scsl}{<->ssub * norasi/b/scsl}{}
+\DeclareFontShape{LTH}{norasi}{bx}{scit}{<->ssub * norasi/b/scit}{}
\endinput
%
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorasij.fd b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorasij.fd
new file mode 100644
index 00000000000..c0952d49d9b
--- /dev/null
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorasij.fd
@@ -0,0 +1,69 @@
+% LTHnorasij.fd
+%
+% 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.
+%
+% Created by Surapant Meknavin: surapan@nectec.or.th
+% 2021/06/12 Theppitak Karoonboonyanan <theppitak@gmail.com>
+% - add old style figure version
+% 2021/06/08 Theppitak Karoonboonyanan <theppitak@gmail.com>
+% - add small cap shapes
+% 2017/09/11 Abhabongse Janthong <abhabongse@gmail.com>
+% - add font scaling
+% 2003/06/02 Chanop Silpa-Anan <chanop@debian.org>
+% - update using basic slant font
+% 2000/05/09 Theppitak Karoonboonyanan <thep@links.nectec.or.th>
+% - font name changed from "nf3x" to "norasi", with bold series added
+% - encoding changed from TIS to LTH, according TeX convention
+
+\ProvidesFile{lthnorasi-osf.fd}[2021/06/12 v2.0 Norasi-OsF font definition]
+
+% Check if the scale factor has been defined
+\ifcsname fontstlwg@scale\endcsname
+ \edef\fontstlwg@@scale{s * [\csname fontstlwg@scale\endcsname] }%
+\else
+ \def\fontstlwg@@scale{s * }%
+\fi
+
+% Primary declarations
+\DeclareFontFamily{LTH}{norasij}{}
+\DeclareFontShape{LTH}{norasij}{m}{n}{<-> \fontstlwg@@scale norasi-osf}{}
+\DeclareFontShape{LTH}{norasij}{m}{it}{<-> \fontstlwg@@scale norasi_i-osf}{}
+\DeclareFontShape{LTH}{norasij}{m}{sl}{<-> \fontstlwg@@scale norasi_o-osf}{}
+\DeclareFontShape{LTH}{norasij}{m}{sc}{<-> \fontstlwg@@scale norasi-osf-sc}{}
+\DeclareFontShape{LTH}{norasij}{m}{scit}{<-> \fontstlwg@@scale norasi_i-osf-sc}{}
+\DeclareFontShape{LTH}{norasij}{m}{scsl}{<-> \fontstlwg@@scale norasi_o-osf-sc}{}
+%%%%%%% bold series
+\DeclareFontShape{LTH}{norasij}{b}{n}{<-> \fontstlwg@@scale norasi_b-osf}{}
+\DeclareFontShape{LTH}{norasij}{b}{it}{<-> \fontstlwg@@scale norasi_bi-osf}{}
+\DeclareFontShape{LTH}{norasij}{b}{sl}{<-> \fontstlwg@@scale norasi_bo-osf}{}
+\DeclareFontShape{LTH}{norasij}{b}{sc}{<-> \fontstlwg@@scale norasi_b-osf-sc}{}
+\DeclareFontShape{LTH}{norasij}{b}{scit}{<-> \fontstlwg@@scale norasi_bi-osf-sc}{}
+\DeclareFontShape{LTH}{norasij}{b}{scsl}{<-> \fontstlwg@@scale norasi_bo-osf-sc}{}
+
+% Substitutions
+\DeclareFontShape{LTH}{norasij}{bx}{n}{<->ssub * norasij/b/n}{}
+\DeclareFontShape{LTH}{norasij}{bx}{sl}{<->ssub * norasij/b/sl}{}
+\DeclareFontShape{LTH}{norasij}{bx}{it}{<->ssub * norasij/b/it}{}
+\DeclareFontShape{LTH}{norasij}{bx}{sc}{<->ssub * norasij/b/sc}{}
+\DeclareFontShape{LTH}{norasij}{bx}{scsl}{<->ssub * norasij/b/scsl}{}
+\DeclareFontShape{LTH}{norasij}{bx}{scit}{<->ssub * norasij/b/scit}{}
+\endinput
+
+%
+% EOF
+%
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorj.fd b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorj.fd
new file mode 100644
index 00000000000..ac4ef18d1d4
--- /dev/null
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorj.fd
@@ -0,0 +1,68 @@
+% lthnorj.fd
+%
+% 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.
+%
+% Created by Surapant Meknavin: surapan@nectec.or.th
+% 2021/06/12 Theppitak Karoonboonyanan <theppitak@gmail.com>
+% - create old style figure version under Karl Berry's font naming,
+% targeting nfssext-cfr package
+% 2017/09/11 Abhabongse Janthong <abhabongse@gmail.com>
+% - add font scaling
+% 2003/06/02 Chanop Silpa-Anan <chanop@debian.org>
+% - update using basic slant font
+% 2000/05/09 Theppitak Karoonboonyanan <thep@links.nectec.or.th>
+% - font name changed from "nf3x" to "norasi", with bold series added
+% - encoding changed from TIS to LTH, according TeX convention
+
+\ProvidesFile{lthnorj.fd}[2021/06/12 v2.0 Thai font definitions]
+
+% Check if the scale factor has been defined
+\ifcsname fontstlwg@scale\endcsname
+ \edef\fontstlwg@@scale{s * [\csname fontstlwg@scale\endcsname] }%
+\else
+ \def\fontstlwg@@scale{s * }%
+\fi
+
+% Primary declarations
+\DeclareFontFamily{LTH}{norj}{}
+\DeclareFontShape{LTH}{norj}{m}{n}{<-> \fontstlwg@@scale norasi-osf}{}
+\DeclareFontShape{LTH}{norj}{m}{it}{<-> \fontstlwg@@scale norasi_i-osf}{}
+\DeclareFontShape{LTH}{norj}{m}{sl}{<-> \fontstlwg@@scale norasi_o-osf}{}
+\DeclareFontShape{LTH}{norj}{m}{sc}{<-> \fontstlwg@@scale norasi-osf-sc}{}
+\DeclareFontShape{LTH}{norj}{m}{scit}{<-> \fontstlwg@@scale norasi_i-osf-sc}{}
+\DeclareFontShape{LTH}{norj}{m}{scsl}{<-> \fontstlwg@@scale norasi_o-osf-sc}{}
+%%%%%%% bold series
+\DeclareFontShape{LTH}{norj}{b}{n}{<-> \fontstlwg@@scale norasi_b-osf}{}
+\DeclareFontShape{LTH}{norj}{b}{it}{<-> \fontstlwg@@scale norasi_bi-osf}{}
+\DeclareFontShape{LTH}{norj}{b}{sl}{<-> \fontstlwg@@scale norasi_bo-osf}{}
+\DeclareFontShape{LTH}{norj}{b}{sc}{<-> \fontstlwg@@scale norasi_b-osf-sc}{}
+\DeclareFontShape{LTH}{norj}{b}{scit}{<-> \fontstlwg@@scale norasi_bi-osf-sc}{}
+\DeclareFontShape{LTH}{norj}{b}{scsl}{<-> \fontstlwg@@scale norasi_bo-osf-sc}{}
+
+% Substitutions
+\DeclareFontShape{LTH}{norj}{bx}{n}{<->ssub * norj/b/n}{}
+\DeclareFontShape{LTH}{norj}{bx}{sl}{<->ssub * norj/b/sl}{}
+\DeclareFontShape{LTH}{norj}{bx}{it}{<->ssub * norj/b/it}{}
+\DeclareFontShape{LTH}{norj}{bx}{sc}{<->ssub * norj/b/sc}{}
+\DeclareFontShape{LTH}{norj}{bx}{scsl}{<->ssub * norj/b/scsl}{}
+\DeclareFontShape{LTH}{norj}{bx}{scit}{<->ssub * norj/b/scit}{}
+\endinput
+
+%
+% EOF
+%
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorx.fd b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorx.fd
new file mode 100644
index 00000000000..527cc2e60a7
--- /dev/null
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthnorx.fd
@@ -0,0 +1,68 @@
+% LTHnorx.fd
+%
+% 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.
+%
+% Created by Surapant Meknavin: surapan@nectec.or.th
+% 2021/06/12 Theppitak Karoonboonyanan <theppitak@gmail.com>
+% - create normal version under Karl Berry's font naming,
+% targeting nfssext-cfr package
+% 2017/09/11 Abhabongse Janthong <abhabongse@gmail.com>
+% - add font scaling
+% 2003/06/02 Chanop Silpa-Anan <chanop@debian.org>
+% - update using basic slant font
+% 2000/05/09 Theppitak Karoonboonyanan <thep@links.nectec.or.th>
+% - font name changed from "nf3x" to "norasi", with bold series added
+% - encoding changed from TIS to LTH, according TeX convention
+
+\ProvidesFile{lthnorx.fd}[2021/06/12 v2.0 Thai font definitions]
+
+% Check if the scale factor has been defined
+\ifcsname fontstlwg@scale\endcsname
+ \edef\fontstlwg@@scale{s * [\csname fontstlwg@scale\endcsname] }%
+\else
+ \def\fontstlwg@@scale{s * }%
+\fi
+
+% Primary declarations
+\DeclareFontFamily{LTH}{norx}{}
+\DeclareFontShape{LTH}{norx}{m}{n}{<-> \fontstlwg@@scale norasi}{}
+\DeclareFontShape{LTH}{norx}{m}{it}{<-> \fontstlwg@@scale norasi_i}{}
+\DeclareFontShape{LTH}{norx}{m}{sl}{<-> \fontstlwg@@scale norasi_o}{}
+\DeclareFontShape{LTH}{norx}{m}{sc}{<-> \fontstlwg@@scale norasi-sc}{}
+\DeclareFontShape{LTH}{norx}{m}{scit}{<-> \fontstlwg@@scale norasi_i-sc}{}
+\DeclareFontShape{LTH}{norx}{m}{scsl}{<-> \fontstlwg@@scale norasi_o-sc}{}
+%%%%%%% bold series
+\DeclareFontShape{LTH}{norx}{b}{n}{<-> \fontstlwg@@scale norasi_b}{}
+\DeclareFontShape{LTH}{norx}{b}{it}{<-> \fontstlwg@@scale norasi_bi}{}
+\DeclareFontShape{LTH}{norx}{b}{sl}{<-> \fontstlwg@@scale norasi_bo}{}
+\DeclareFontShape{LTH}{norx}{b}{sc}{<-> \fontstlwg@@scale norasi_b-sc}{}
+\DeclareFontShape{LTH}{norx}{b}{scit}{<-> \fontstlwg@@scale norasi_bi-sc}{}
+\DeclareFontShape{LTH}{norx}{b}{scsl}{<-> \fontstlwg@@scale norasi_bo-sc}{}
+
+% Substitutions
+\DeclareFontShape{LTH}{norx}{bx}{n}{<->ssub * norasi/b/n}{}
+\DeclareFontShape{LTH}{norx}{bx}{sl}{<->ssub * norasi/b/sl}{}
+\DeclareFontShape{LTH}{norx}{bx}{it}{<->ssub * norasi/b/it}{}
+\DeclareFontShape{LTH}{norx}{bx}{sc}{<->ssub * norasi/b/sc}{}
+\DeclareFontShape{LTH}{norx}{bx}{scsl}{<->ssub * norasi/b/scsl}{}
+\DeclareFontShape{LTH}{norx}{bx}{scit}{<->ssub * norasi/b/scit}{}
+\endinput
+
+%
+% EOF
+%
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthtlwg-osf-sc.enc b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthtlwg-osf-sc.enc
new file mode 100644
index 00000000000..484512e92f9
--- /dev/null
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthtlwg-osf-sc.enc
@@ -0,0 +1,96 @@
+% LTHTLWG-osf-sc.enc
+% based on LTHUNI.enc from thailatex project
+% by Poonlap Veerathanabutr <poonlap@linux.thai.net>
+% 2002-12-30
+% 2021-06-12 Theppitak Karoonboonyanan <theppitak@gmail.com>
+% * Create old style figure & small caps re-encoding version.
+% 2003-09-15 Chanop Silpa-Anan <chanop@debian.org>
+% * Use new unicode variant name.
+% 2011-12-26 Theppitak Karoonboonyanan <thep@linux.thai.net>
+% * Support more common Latin characters with native font glyphs.
+%
+% This is LaTeX LTH (Locale Thai) encoding for unicode encoded fonts
+%
+
+/LTHEncoding [
+% 0x00
+/.notdef /.notdef /.notdef /.notdef
+/dagger /daggerdbl /section /paragraph
+/copyright /registered /trademark /germandbls
+/ae /AE /oe /OE
+% 0x10
+/exclamdown /questiondown /quotedblbase /guillemotleft
+/guillemotright /uni0E38 /uni0E39 /uni0E3A
+/perthousand /dotlessi /dotlessj /.notdef
+/.notdef /.notdef /.notdef /.notdef
+% 0x20
+/space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright
+/parenleft /parenright /asterisk /plus
+/comma /hyphen /period /slash
+% 0x30
+/zerooldstyle /oneoldstyle /twooldstyle /threeoldstyle
+/fouroldstyle /fiveoldstyle /sixoldstyle /sevenoldstyle
+/eightoldstyle /nineoldstyle /colon /semicolon
+/less /equal /greater /question
+% 0x40
+/at /A /B /C
+/D /E /F /G
+/H /I /J /K
+/L /M /N /O
+% 0x50
+/P /Q /R /S
+/T /U /V /W
+/X /Y /Z /bracketleft
+/backslash /bracketright /asciicircum /underscore
+% 0x60
+/quoteleft /Asmall /Bsmall /Csmall
+/Dsmall /Esmall /Fsmall /Gsmall
+/Hsmall /Ismall /Jsmall /Ksmall
+/Lsmall /Msmall /Nsmall /Osmall
+% 0x70
+/Psmall /Qsmall /Rsmall /Ssmall
+/Tsmall /Usmall /Vsmall /Wsmall
+/Xsmall /Ysmall /Zsmall /braceleft
+/bar /braceright /asciitilde /.notdef
+% 0x80
+/uni0E10.descless /uni0E34.left /uni0E35.left /uni0E36.left
+/uni0E37.left /ellipsis /uni0E48.low_left /uni0E49.low_left
+/uni0E4A.low_left /uni0E4B.low_left /uni0E4C.low_left /uni0E48
+/uni0E49 /uni0E4A /uni0E4B /uni0E4C
+% 0x90
+/uni0E0D.descless /quoteleft /quoteright /quotedblleft
+/quotedblright /bullet /endash /emdash
+/uni0E31.left /uni0E4D.left /uni0E47.left /uni0E48.left
+/uni0E49.left /uni0E4A.left /uni0E4B.left /uni0E4C.left
+% 0xA0
+/nonbreakingspace /uni0E01 /uni0E02 /uni0E03
+/uni0E04 /uni0E05 /uni0E06 /uni0E07
+/uni0E08 /uni0E09 /uni0E0A /uni0E0B
+/uni0E0C /uni0E0D /uni0E0E /uni0E0F
+% 0xB0
+/uni0E10 /uni0E11 /uni0E12 /uni0E13
+/uni0E14 /uni0E15 /uni0E16 /uni0E17
+/uni0E18 /uni0E19 /uni0E1A /uni0E1B
+/uni0E1C /uni0E1D /uni0E1E /uni0E1F
+% 0xC0
+/uni0E20 /uni0E21 /uni0E22 /uni0E23
+/uni0E24 /uni0E25 /uni0E26 /uni0E27
+/uni0E28 /uni0E29 /uni0E2A /uni0E2B
+/uni0E2C /uni0E2D /uni0E2E /uni0E2F
+% 0xD0
+/uni0E30 /uni0E31 /uni0E32 /uni0E33
+/uni0E34 /uni0E35 /uni0E36 /uni0E37
+/uni0E38 /uni0E39 /uni0E3A /uni0E4D.high
+/zerowidthspace /dottedcircle /uni0E47.high /uni0E3F
+% 0xE0
+/uni0E40 /uni0E41 /uni0E42 /uni0E43
+/uni0E44 /uni0E45 /uni0E46 /uni0E47
+/uni0E48.low /uni0E49.low /uni0E4A.low /uni0E4B.low
+/uni0E4C.low /uni0E4D /uni0E4E /uni0E4F
+% 0xF0
+/uni0E50 /uni0E51 /uni0E52 /uni0E53
+/uni0E54 /uni0E55 /uni0E56 /uni0E57
+/uni0E58 /uni0E59 /uni0E5A /uni0E5B
+/uni0E38.low /uni0E39.low /uni0E3A.low /.notdef
+] def
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthtlwg-osf.enc b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthtlwg-osf.enc
new file mode 100644
index 00000000000..16c77b1ce4c
--- /dev/null
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthtlwg-osf.enc
@@ -0,0 +1,96 @@
+% LTHTLWG-osf.enc
+% based on LTHUNI.enc from thailatex project
+% by Poonlap Veerathanabutr <poonlap@linux.thai.net>
+% 2002-12-30
+% 2021-06-12 Theppitak Karoonboonyanan <theppitak@gmail.com>
+% * Create old style figure re-encoding version.
+% 2003-09-15 Chanop Silpa-Anan <chanop@debian.org>
+% * Use new unicode variant name.
+% 2011-12-26 Theppitak Karoonboonyanan <thep@linux.thai.net>
+% * Support more common Latin characters with native font glyphs.
+%
+% This is LaTeX LTH (Locale Thai) encoding for unicode encoded fonts
+%
+
+/LTHEncoding [
+% 0x00
+/.notdef /.notdef /.notdef /.notdef
+/dagger /daggerdbl /section /paragraph
+/copyright /registered /trademark /germandbls
+/ae /AE /oe /OE
+% 0x10
+/exclamdown /questiondown /quotedblbase /guillemotleft
+/guillemotright /uni0E38 /uni0E39 /uni0E3A
+/perthousand /dotlessi /dotlessj /ff
+/fi /fl /ffi /ffl
+% 0x20
+/space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright
+/parenleft /parenright /asterisk /plus
+/comma /hyphen /period /slash
+% 0x30
+/zerooldstyle /oneoldstyle /twooldstyle /threeoldstyle
+/fouroldstyle /fiveoldstyle /sixoldstyle /sevenoldstyle
+/eightoldstyle /nineoldstyle /colon /semicolon
+/less /equal /greater /question
+% 0x40
+/at /A /B /C
+/D /E /F /G
+/H /I /J /K
+/L /M /N /O
+% 0x50
+/P /Q /R /S
+/T /U /V /W
+/X /Y /Z /bracketleft
+/backslash /bracketright /asciicircum /underscore
+% 0x60
+/quoteleft /a /b /c
+/d /e /f /g
+/h /i /j /k
+/l /m /n /o
+% 0x70
+/p /q /r /s
+/t /u /v /w
+/x /y /z /braceleft
+/bar /braceright /asciitilde /.notdef
+% 0x80
+/uni0E10.descless /uni0E34.left /uni0E35.left /uni0E36.left
+/uni0E37.left /ellipsis /uni0E48.low_left /uni0E49.low_left
+/uni0E4A.low_left /uni0E4B.low_left /uni0E4C.low_left /uni0E48
+/uni0E49 /uni0E4A /uni0E4B /uni0E4C
+% 0x90
+/uni0E0D.descless /quoteleft /quoteright /quotedblleft
+/quotedblright /bullet /endash /emdash
+/uni0E31.left /uni0E4D.left /uni0E47.left /uni0E48.left
+/uni0E49.left /uni0E4A.left /uni0E4B.left /uni0E4C.left
+% 0xA0
+/nonbreakingspace /uni0E01 /uni0E02 /uni0E03
+/uni0E04 /uni0E05 /uni0E06 /uni0E07
+/uni0E08 /uni0E09 /uni0E0A /uni0E0B
+/uni0E0C /uni0E0D /uni0E0E /uni0E0F
+% 0xB0
+/uni0E10 /uni0E11 /uni0E12 /uni0E13
+/uni0E14 /uni0E15 /uni0E16 /uni0E17
+/uni0E18 /uni0E19 /uni0E1A /uni0E1B
+/uni0E1C /uni0E1D /uni0E1E /uni0E1F
+% 0xC0
+/uni0E20 /uni0E21 /uni0E22 /uni0E23
+/uni0E24 /uni0E25 /uni0E26 /uni0E27
+/uni0E28 /uni0E29 /uni0E2A /uni0E2B
+/uni0E2C /uni0E2D /uni0E2E /uni0E2F
+% 0xD0
+/uni0E30 /uni0E31 /uni0E32 /uni0E33
+/uni0E34 /uni0E35 /uni0E36 /uni0E37
+/uni0E38 /uni0E39 /uni0E3A /uni0E4D.high
+/zerowidthspace /dottedcircle /uni0E47.high /uni0E3F
+% 0xE0
+/uni0E40 /uni0E41 /uni0E42 /uni0E43
+/uni0E44 /uni0E45 /uni0E46 /uni0E47
+/uni0E48.low /uni0E49.low /uni0E4A.low /uni0E4B.low
+/uni0E4C.low /uni0E4D /uni0E4E /uni0E4F
+% 0xF0
+/uni0E50 /uni0E51 /uni0E52 /uni0E53
+/uni0E54 /uni0E55 /uni0E56 /uni0E57
+/uni0E58 /uni0E59 /uni0E5A /uni0E5B
+/uni0E38.low /uni0E39.low /uni0E3A.low /.notdef
+] def
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthtlwg-sc.enc b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthtlwg-sc.enc
new file mode 100644
index 00000000000..edb7ddf7959
--- /dev/null
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/lthtlwg-sc.enc
@@ -0,0 +1,96 @@
+% LTHTLWG-sc.enc
+% based on LTHUNI.enc from thailatex project
+% by Poonlap Veerathanabutr <poonlap@linux.thai.net>
+% 2002-12-30
+% 2021-06-08 Theppitak Karoonboonyanan <theppitak@gmail.com>
+% * Create small caps re-encoding version.
+% 2003-09-15 Chanop Silpa-Anan <chanop@debian.org>
+% * Use new unicode variant name.
+% 2011-12-26 Theppitak Karoonboonyanan <thep@linux.thai.net>
+% * Support more common Latin characters with native font glyphs.
+%
+% This is LaTeX LTH (Locale Thai) encoding for unicode encoded fonts
+%
+
+/LTHEncoding [
+% 0x00
+/.notdef /.notdef /.notdef /.notdef
+/dagger /daggerdbl /section /paragraph
+/copyright /registered /trademark /germandbls
+/ae /AE /oe /OE
+% 0x10
+/exclamdown /questiondown /quotedblbase /guillemotleft
+/guillemotright /uni0E38 /uni0E39 /uni0E3A
+/perthousand /dotlessi /dotlessj /.notdef
+/.notdef /.notdef /.notdef /.notdef
+% 0x20
+/space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright
+/parenleft /parenright /asterisk /plus
+/comma /hyphen /period /slash
+% 0x30
+/zero /one /two /three
+/four /five /six /seven
+/eight /nine /colon /semicolon
+/less /equal /greater /question
+% 0x40
+/at /A /B /C
+/D /E /F /G
+/H /I /J /K
+/L /M /N /O
+% 0x50
+/P /Q /R /S
+/T /U /V /W
+/X /Y /Z /bracketleft
+/backslash /bracketright /asciicircum /underscore
+% 0x60
+/quoteleft /Asmall /Bsmall /Csmall
+/Dsmall /Esmall /Fsmall /Gsmall
+/Hsmall /Ismall /Jsmall /Ksmall
+/Lsmall /Msmall /Nsmall /Osmall
+% 0x70
+/Psmall /Qsmall /Rsmall /Ssmall
+/Tsmall /Usmall /Vsmall /Wsmall
+/Xsmall /Ysmall /Zsmall /braceleft
+/bar /braceright /asciitilde /.notdef
+% 0x80
+/uni0E10.descless /uni0E34.left /uni0E35.left /uni0E36.left
+/uni0E37.left /ellipsis /uni0E48.low_left /uni0E49.low_left
+/uni0E4A.low_left /uni0E4B.low_left /uni0E4C.low_left /uni0E48
+/uni0E49 /uni0E4A /uni0E4B /uni0E4C
+% 0x90
+/uni0E0D.descless /quoteleft /quoteright /quotedblleft
+/quotedblright /bullet /endash /emdash
+/uni0E31.left /uni0E4D.left /uni0E47.left /uni0E48.left
+/uni0E49.left /uni0E4A.left /uni0E4B.left /uni0E4C.left
+% 0xA0
+/nonbreakingspace /uni0E01 /uni0E02 /uni0E03
+/uni0E04 /uni0E05 /uni0E06 /uni0E07
+/uni0E08 /uni0E09 /uni0E0A /uni0E0B
+/uni0E0C /uni0E0D /uni0E0E /uni0E0F
+% 0xB0
+/uni0E10 /uni0E11 /uni0E12 /uni0E13
+/uni0E14 /uni0E15 /uni0E16 /uni0E17
+/uni0E18 /uni0E19 /uni0E1A /uni0E1B
+/uni0E1C /uni0E1D /uni0E1E /uni0E1F
+% 0xC0
+/uni0E20 /uni0E21 /uni0E22 /uni0E23
+/uni0E24 /uni0E25 /uni0E26 /uni0E27
+/uni0E28 /uni0E29 /uni0E2A /uni0E2B
+/uni0E2C /uni0E2D /uni0E2E /uni0E2F
+% 0xD0
+/uni0E30 /uni0E31 /uni0E32 /uni0E33
+/uni0E34 /uni0E35 /uni0E36 /uni0E37
+/uni0E38 /uni0E39 /uni0E3A /uni0E4D.high
+/zerowidthspace /dottedcircle /uni0E47.high /uni0E3F
+% 0xE0
+/uni0E40 /uni0E41 /uni0E42 /uni0E43
+/uni0E44 /uni0E45 /uni0E46 /uni0E47
+/uni0E48.low /uni0E49.low /uni0E4A.low /uni0E4B.low
+/uni0E4C.low /uni0E4D /uni0E4E /uni0E4F
+% 0xF0
+/uni0E50 /uni0E51 /uni0E52 /uni0E53
+/uni0E54 /uni0E55 /uni0E56 /uni0E57
+/uni0E58 /uni0E59 /uni0E5A /uni0E5B
+/uni0E38.low /uni0E39.low /uni0E3A.low /.notdef
+] def
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/texfont.mk.am b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/texfont.mk.am
index 27ffef426bc..f0fb93f11d7 100644
--- a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/texfont.mk.am
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/texfont.mk.am
@@ -13,13 +13,22 @@ LTX_TFMFILES = $(FONTS:%=%.tfm)
LTX_RTFMFILES = $(FONTS:%=r%.tfm)
LTX_VFFILES = $(FONTS:%=%.vf)
+LTX_SYNTH_TFMFILES = $(SYNTH_FONTS:%=%.tfm)
+LTX_SYNTH_RTFMFILES = $(SYNTH_FONTS:%=r%.tfm)
+LTX_SYNTH_VFFILES = $(SYNTH_FONTS:%=%.vf)
+
ltxtype1_DATA = $(LTX_PFBFILES)
ltxafm_DATA = $(LTX_AFMFILES)
-ltxtfm_DATA = $(LTX_TFMFILES) $(LTX_RTFMFILES)
+ltxtfm_DATA = \
+ $(LTX_TFMFILES) \
+ $(LTX_RTFMFILES) \
+ $(LTX_SYNTH_TFMFILES) \
+ $(LTX_SYNTH_RTFMFILES) \
+ $(NULL)
-ltxvf_DATA = $(LTX_VFFILES)
+ltxvf_DATA = $(LTX_VFFILES) $(LTX_SYNTH_VFFILES)
# OpenType fonts
@@ -31,27 +40,66 @@ ltxotf_DATA = ${LTX_OTFFILES}
# Local Rules
-thai-dummy.afm:
- [ -e thai-dummy.afm ] || $(LN_S) $(top_srcdir)/latex/thai-dummy.afm .
-
-thailigs.enc:
- [ -e thailigs.enc ] || $(LN_S) $(top_srcdir)/latex/thailigs.enc .
-
-lthtlwg.enc:
- [ -e lthtlwg.enc ] || $(LN_S) $(top_srcdir)/latex/lthtlwg.enc .
+thai-dummy.afm \
+thailigs.enc \
+lthtlwg.enc \
+thailigs-sc.enc \
+lthtlwg-sc.enc \
+thailigs-osf.enc \
+lthtlwg-osf.enc \
+thailigs-osf-sc.enc \
+lthtlwg-osf-sc.enc \
+:
+ [ -e $@ ] || $(LN_S) $(top_srcdir)/latex/$@ .
thailigs.vpl: thai-dummy.afm thailigs.enc
$(AFM2TFM) thai-dummy.afm -v $@ -T thailigs.enc thailigs.tfm
+thailigs-sc.vpl: thai-dummy.afm thailigs-sc.enc
+ $(AFM2TFM) thai-dummy.afm -v $@ -T thailigs-sc.enc thailigs-sc.tfm
+
+thailigs-osf.vpl: thai-dummy.afm thailigs-osf.enc
+ $(AFM2TFM) thai-dummy.afm -v $@ -T thailigs-osf.enc thailigs-osf.tfm
+
+thailigs-osf-sc.vpl: thai-dummy.afm thailigs-osf-sc.enc
+ $(AFM2TFM) thai-dummy.afm -v $@ -T thailigs-osf-sc.enc thailigs-osf-sc.tfm
+
+#
+# merge_ligs(font-vpl-file,ligs-vpl-file)
+#
+# Replaces LIGTABLE in font-vpl-file with that in ligs-vpl-file.
+#
+define merge_ligs
+ TMPFILE=`mktemp /tmp/tltx.XXXXXXXXX` && \
+ $(AWK) "BEGIN {show=1} /LIGTABLE/ {show=0} {if(show) print}" $(1) > $$TMPFILE && \
+ $(AWK) "BEGIN {show=0} /LIGTABLE/ {show=1} /CHARACTER/ {show=0} {if(show) print}" $(2) >> $$TMPFILE && \
+ $(AWK) "BEGIN {show=0} /CHARACTER/ {show=1} {if(show) print}" $(1) >> $$TMPFILE && \
+ mv $$TMPFILE $(1)
+endef
+
+r%-osf-sc.tfm: %.afm
+%-osf-sc.vpl: %.afm thailigs-osf-sc.vpl lthtlwg-osf-sc.enc
+ $(AFM2TFM) $*.afm -v $*-osf-sc.vpl -T lthtlwg-osf-sc.enc r$*-osf-sc.tfm \
+ | $(SED) "s/$$/ <$*.pfb/" >> $(MAP)
+ $(call merge_ligs,$*-osf-sc.vpl,thailigs-osf-sc.vpl)
+
+r%-osf.tfm: %.afm
+%-osf.vpl: %.afm thailigs-osf.vpl lthtlwg-osf.enc
+ $(AFM2TFM) $*.afm -v $*-osf.vpl -T lthtlwg-osf.enc r$*-osf.tfm \
+ | $(SED) "s/$$/ <$*.pfb/" >> $(MAP)
+ $(call merge_ligs,$*-osf.vpl,thailigs-osf.vpl)
+
+r%-sc.tfm: %.afm
+%-sc.vpl: %.afm thailigs-sc.vpl lthtlwg-sc.enc
+ $(AFM2TFM) $*.afm -v $*-sc.vpl -T lthtlwg-sc.enc r$*-sc.tfm \
+ | $(SED) "s/$$/ <$*.pfb/" >> $(MAP)
+ $(call merge_ligs,$*-sc.vpl,thailigs-sc.vpl)
+
r%.tfm: %.afm
%.vpl: %.afm thailigs.vpl lthtlwg.enc
$(AFM2TFM) $*.afm -v $*.vpl -T lthtlwg.enc r$*.tfm \
| $(SED) "s/$$/ <$*.pfb/" >> $(MAP)
- TMPFILE=`mktemp /tmp/tltx.XXXXXXXXX` && \
- $(AWK) "BEGIN {show=1} /LIGTABLE/ {show=0} {if(show) print}" $*.vpl > $$TMPFILE && \
- $(AWK) "BEGIN {show=0} /LIGTABLE/ {show=1} /CHARACTER/ {show=0} {if(show) print}" thailigs.vpl >> $$TMPFILE && \
- $(AWK) "BEGIN {show=0} /CHARACTER/ {show=1} {if(show) print}" $*.vpl >> $$TMPFILE && \
- mv $$TMPFILE $*.vpl
+ $(call merge_ligs,$*.vpl,thailigs.vpl)
%.tfm: %.vpl
$(VPTOVF) $*
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/thailigs-osf-sc.enc b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/thailigs-osf-sc.enc
new file mode 100644
index 00000000000..7e52e702c64
--- /dev/null
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/thailigs-osf-sc.enc
@@ -0,0 +1,425 @@
+% thailigs-osf-sc.enc
+% by Poonlap Veerathanabutr <poonlap@linux.thai.net>
+% 2002-12-30
+% 2021-06-12 Theppitak Karoonboonyanan <theppitak@gmail.com>
+% * Create old style figure & small caps re-encoding version.
+% 2003-09-15 Chanop Silpa-Anan <chanop@debian.org>
+% * Use new unicode variant name.
+% 2011-12-26 Theppitak Karoonboonyanan <thep@linux.thai.net>
+% * Support more common Latin characters with native font glyphs.
+%
+% This is LaTeX LTH (Locale Thai) encoding for unicode encoded fonts
+%
+%ligature for making LEFT vowels, tone marks and Nikhahit
+%PoPla left vowel
+%LIGKERN uni0E1B uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E1B uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E1B uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E1B uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E1B uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E1B uni0E38 |=:> uni0E38.left ;
+%LIGKERN uni0E1B uni0E39 |=:> uni0E39.left ;
+%LIGKERN uni0E1B uni0E3A |=:> uni0E3A.left ;
+%LIGKERN uni0E1B uni0E47 |=:> uni0E47.left ;
+%Popla left tone marks, thanthakhat, nikhahit
+%LIGKERN uni0E1B uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E1B uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E1B uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E1B uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E1B uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E1B uni0E4D |=:> uni0E4D.left ;
+%Popla sara-am
+%LIGKERN uni0E1B uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4D.left uni0E33 |=:> uni0E32 ;
+
+%FoFa left vowel
+%LIGKERN uni0E1D uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E1D uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E1D uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E1D uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E1D uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E1D uni0E38 |=:> uni0E38.left ;
+%LIGKERN uni0E1D uni0E39 |=:> uni0E39.left ;
+%LIGKERN uni0E1D uni0E3A |=:> uni0E3A.left ;
+%LIGKERN uni0E1D uni0E47 |=:> uni0E47.left ;
+%FoFa left tone marks, thanthakhat, nikhahit
+%LIGKERN uni0E1D uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E1D uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E1D uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E1D uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E1D uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E1D uni0E4D |=:> uni0E4D.left ;
+%FoFa sara-am
+%LIGKERN uni0E1D uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4D.left uni0E33 |=:> uni0E32 ;
+
+%FoFan left vowel
+%LIGKERN uni0E1F uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E1F uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E1F uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E1F uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E1F uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E1F uni0E38 |=:> uni0E38.left ;
+%LIGKERN uni0E1F uni0E39 |=:> uni0E39.left ;
+%LIGKERN uni0E1F uni0E3A |=:> uni0E3A.left ;
+%LIGKERN uni0E1F uni0E47 |=:> uni0E47.left ;
+%FoFan left tone marks, thanthakhat, nikhahit
+%LIGKERN uni0E1F uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E1F uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E1F uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E1F uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E1F uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E1F uni0E4D |=:> uni0E4D.left ;
+%FoFan sara-am
+%LIGKERN uni0E1F uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4D.left uni0E33 |=:> uni0E32 ;
+
+%LoChula left vowel
+%LIGKERN uni0E2C uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E2C uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E2C uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E2C uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E2C uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E2C uni0E38 |=:> uni0E38.left ;
+%LIGKERN uni0E2C uni0E39 |=:> uni0E39.left ;
+%LIGKERN uni0E2C uni0E3A |=:> uni0E3A.left ;
+%LIGKERN uni0E2C uni0E47 |=:> uni0E47.left ;
+%LoChula left tone marks, thanthakhat, nikhahit
+%LIGKERN uni0E2C uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E2C uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E2C uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E2C uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E2C uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E2C uni0E4D |=:> uni0E4D.left ;
+%LoChula sara-am
+%LIGKERN uni0E2C uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4D.left uni0E33 |=:> uni0E32 ;
+
+%ligature for making left SaraAm with HiLeft tone marks
+%LIGKERN uni0E48.low_left uni0E33 =:| uni0E48.left ;
+%LIGKERN uni0E48.left uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E49.low_left uni0E33 =:| uni0E49.left ;
+%LIGKERN uni0E49.left uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4A.low_left uni0E33 =:| uni0E4A.left ;
+%LIGKERN uni0E4A.left uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4B.low_left uni0E33 =:| uni0E4B.left ;
+%LIGKERN uni0E4B.left uni0E33 |=:|> uni0E4D.left ;
+
+%LIGKERN uni0E48.low uni0E33 =:| uni0E48 ;
+%LIGKERN uni0E49.low uni0E33 =:| uni0E49 ;
+%LIGKERN uni0E4A.low uni0E33 =:| uni0E4A ;
+%LIGKERN uni0E4B.low uni0E33 =:| uni0E4B ;
+
+%ligature for making HI tone marks
+%LIGKERN uni0E31 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E31 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E31 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E31 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E34 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E34 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E34 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E34 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E34 uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E35 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E35 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E35 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E35 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E35 uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E36 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E36 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E36 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E36 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E36 uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E37 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E37 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E37 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E37 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E37 uni0E4C.low |=:> uni0E4C ;
+
+%[ethnic languages] HI tone marks over upper marks
+%LIGKERN uni0E47 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E47 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E47 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E47 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E47 uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E48.low uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E48.low uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E48.low uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E48.low uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E48.low uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E49.low uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E49.low uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E49.low uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E49.low uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E49.low uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E4A.low uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E4A.low uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E4A.low uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E4A.low uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E4A.low uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E4B.low uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E4B.low uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E4B.low uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E4B.low uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E4B.low uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E4C.low uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E4C.low uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E4C.low uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E4C.low uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E4C.low uni0E4C.low |=:> uni0E4C ;
+
+%ligature for making LEFT HI tone marks and thantakhat
+%LIGKERN uni0E31.left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E34.left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E35.left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E36.left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E37.left uni0E48.low |=:> uni0E48.left ;
+
+%LIGKERN uni0E31.left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E34.left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E35.left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E36.left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E37.left uni0E49.low |=:> uni0E49.left ;
+
+%LIGKERN uni0E31.left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E34.left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E35.left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E36.left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E37.left uni0E4A.low |=:> uni0E4A.left ;
+
+%LIGKERN uni0E31.left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E34.left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E35.left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E36.left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E37.left uni0E4B.low |=:> uni0E4B.left ;
+
+%LIGKERN uni0E34.left uni0E4C.low |=:> uni0E4C.left ;
+
+%[ethnic languages] LEFT HI tone marks over upper marks
+%LIGKERN uni0E47.left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E47.left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E47.left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E47.left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E47.left uni0E4C.low |=:> uni0E4C.left ;
+%LIGKERN uni0E48.low_left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E48.low_left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E48.low_left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E48.low_left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E48.low_left uni0E4C.low |=:> uni0E4C.left ;
+%LIGKERN uni0E49.low_left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E49.low_left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E49.low_left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E49.low_left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E49.low_left uni0E4C.low |=:> uni0E4C.left ;
+%LIGKERN uni0E4A.low_left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E4A.low_left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E4A.low_left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E4A.low_left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E4A.low_left uni0E4C.low |=:> uni0E4C.left ;
+%LIGKERN uni0E4B.low_left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E4B.low_left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E4B.low_left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E4B.low_left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E4B.low_left uni0E4C.low |=:> uni0E4C.left ;
+%LIGKERN uni0E4C.low_left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E4C.low_left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E4C.low_left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E4C.low_left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E4C.low_left uni0E4C.low |=:> uni0E4C.left ;
+
+%ligature for making LEFT LOW tone marks and thantakhat
+%LIGKERN uni0E38.left uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E39.left uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E3A.left uni0E48.low |=:> uni0E48.low_left ;
+
+%LIGKERN uni0E38.left uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E39.left uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E3A.left uni0E49.low |=:> uni0E49.low_left ;
+
+%LIGKERN uni0E38.left uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E39.left uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E3A.left uni0E4A.low |=:> uni0E4A.low_left ;
+
+%LIGKERN uni0E38.left uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E39.left uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E3A.left uni0E4B.low |=:> uni0E4B.low_left ;
+
+%LIGKERN uni0E38.left uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E39.left uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E3A.left uni0E4C.low |=:> uni0E4C.low_left ;
+
+%[ethnic languages] LEFT upper vowel after Phinthu
+%LIGKERN uni0E38.left uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E39.left uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E3A.left uni0E31 |=:> uni0E31.left ;
+
+%LIGKERN uni0E38.left uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E39.left uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E3A.left uni0E34 |=:> uni0E34.left ;
+
+%LIGKERN uni0E38.left uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E39.left uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E3A.left uni0E35 |=:> uni0E35.left ;
+
+%LIGKERN uni0E38.left uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E39.left uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E3A.left uni0E36 |=:> uni0E36.left ;
+
+%LIGKERN uni0E38.left uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E39.left uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E3A.left uni0E37 |=:> uni0E37.left ;
+
+%ligature for making HI MaiTaikhu and Nikhahit
+%LIGKERN uni0E31 uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E34 uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E35 uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E36 uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E37 uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E31.left uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E34.left uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E35.left uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E36.left uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E37.left uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E31 uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E34 uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E35 uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E36 uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E37 uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E31.left uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E34.left uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E35.left uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E36.left uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E37.left uni0E4D |=:> uni0E4D.high ;
+
+%ligature for making LOW SaraU SaraUu and Phinthu
+%LIGKERN uni0E0E uni0E38 |=:> uni0E38.low ;
+%LIGKERN uni0E0E uni0E39 |=:> uni0E39.low ;
+%LIGKERN uni0E0E uni0E3A |=:> uni0E3A.low ;
+%LIGKERN uni0E0F uni0E38 |=:> uni0E38.low ;
+%LIGKERN uni0E0F uni0E39 |=:> uni0E39.low ;
+%LIGKERN uni0E0F uni0E3A |=:> uni0E3A.low ;
+
+%[ethnic languages] LOW SaraU SaraUu and Phinthu below another
+%LIGKERN uni0E38 uni0E38 |=:> uni0E38.low ;
+%LIGKERN uni0E39 uni0E38 |=:> uni0E38.low ;
+%LIGKERN uni0E3A uni0E38 |=:> uni0E38.low ;
+%LIGKERN uni0E38 uni0E39 |=:> uni0E39.low ;
+%LIGKERN uni0E39 uni0E39 |=:> uni0E39.low ;
+%LIGKERN uni0E3A uni0E39 |=:> uni0E39.low ;
+%LIGKERN uni0E38 uni0E3A |=:> uni0E3A.low ;
+%LIGKERN uni0E39 uni0E3A |=:> uni0E3A.low ;
+%LIGKERN uni0E3A uni0E3A |=:> uni0E3A.low ;
+
+%ligature for making YoYingDescless and ThoThanDescless
+%LIGKERN uni0E0D uni0E38 =:|> uni0E0D.descless ;
+%LIGKERN uni0E0D uni0E39 =:|> uni0E0D.descless ;
+%LIGKERN uni0E0D uni0E3A =:|> uni0E0D.descless ;
+%LIGKERN uni0E10 uni0E38 =:|> uni0E10.descless ;
+%LIGKERN uni0E10 uni0E39 =:|> uni0E10.descless ;
+%LIGKERN uni0E10 uni0E3A =:|> uni0E10.descless ;
+
+%ligature for making Lakkhangyao
+%LIGKERN uni0E24 uni0E32 |=:> uni0E45 ;
+%LIGKERN uni0E26 uni0E32 |=:> uni0E45 ;
+
+%default ligature and kern set normally built-in in afm2tfm
+%LIGKERN question quoteleft =: questiondown ; exclam quoteleft =: exclamdown ;
+%LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+%LIGKERN quoteleft quoteleft =: quotedblleft ;
+%LIGKERN quoteright quoteright =: quotedblright ;
+%LIGKERN space {} * ; * {} space ;
+%LIGKERN zerooldstyle {} * ; * {} zerooldstyle ;
+%LIGKERN oneoldstyle {} * ; * {} oneoldstyle ;
+%LIGKERN twooldstyle {} * ; * {} twooldstyle ;
+%LIGLERN threeoldstyle {} * ; * {} threeoldstyle ;
+%LIGKERN fouroldstyle {} * ; * {} fouroldstyle ;
+%LIGLERN fiveoldstyle {} * ; * {} fiveoldstyle ;
+%LIGKERN sixoldstyle {} * ; * {} sixoldstyle ;
+%LIGKERN sevenoldstyle {} * ; * {} sevenoldstyle ;
+%LIGKERN eightoldstyle {} * ; * {} eightoldstyle ;
+%LIGKERN nineoldstyle {} * ; * {} nineoldstyle ;
+%LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
+%LIGKERN greater greater =: guillemotright ;
+
+/LTHEncoding [
+% 0x00
+/.notdef /.notdef /.notdef /.notdef
+/dagger /daggerdbl /section /paragraph
+/copyright /registered /trademark /germandbls
+/ae /AE /oe /OE
+% 0x10
+/exclamdown /questiondown /quotedblbase /guillemotleft
+/guillemotright /uni0E38.left /uni0E39.left /uni0E3A.left
+/perthousand /dotlessi /dotlessj /.notdef
+/.notdef /.notdef /.notdef /.notdef
+% 0x20
+/space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright
+/parenleft /parenright /asterisk /plus
+/comma /hyphen /period /slash
+% 0x30
+/zero /one /two /three
+/four /five /six /seven
+/eight /nine /colon /semicolon
+/less /equal /greater /question
+% 0x40
+/at /A /B /C
+/D /E /F /G
+/H /I /J /K
+/L /M /N /O
+% 0x50
+/P /Q /R /S
+/T /U /V /W
+/X /Y /Z /bracketleft
+/backslash /bracketright /asciicircum /underscore
+% 0x60
+/quoteleft /Asmall /Bsmall /Csmall
+/Dsmall /Esmall /Fsmall /Gsmall
+/Hsmall /Ismall /Jsmall /Ksmall
+/Lsmall /Msmall /Nsmall /Osmall
+% 0x70
+/Psmall /Qsmall /Rsmall /Ssmall
+/Tsmall /Usmall /Vsmall /Wsmall
+/Xsmall /Ysmall /Zsmall /braceleft
+/bar /braceright /asciitilde /.notdef
+% 0x80
+/uni0E10.descless /uni0E34.left /uni0E35.left /uni0E36.left
+/uni0E37.left /ellipsis /uni0E48.low_left /uni0E49.low_left
+/uni0E4A.low_left /uni0E4B.low_left /uni0E4C.low_left /uni0E48
+/uni0E49 /uni0E4A /uni0E4B /uni0E4C
+% 0x90
+/uni0E0D.descless /.notdef /.notdef /quotedblleft
+/quotedblright /bullet /endash /emdash
+/uni0E31.left /uni0E4D.left /uni0E47.left /uni0E48.left
+/uni0E49.left /uni0E4A.left /uni0E4B.left /uni0E4C.left
+% 0xA0
+/nonbreakingspace /uni0E01 /uni0E02 /uni0E03
+/uni0E04 /uni0E05 /uni0E06 /uni0E07
+/uni0E08 /uni0E09 /uni0E0A /uni0E0B
+/uni0E0C /uni0E0D /uni0E0E /uni0E0F
+% 0xB0
+/uni0E10 /uni0E11 /uni0E12 /uni0E13
+/uni0E14 /uni0E15 /uni0E16 /uni0E17
+/uni0E18 /uni0E19 /uni0E1A /uni0E1B
+/uni0E1C /uni0E1D /uni0E1E /uni0E1F
+% 0xC0
+/uni0E20 /uni0E21 /uni0E22 /uni0E23
+/uni0E24 /uni0E25 /uni0E26 /uni0E27
+/uni0E28 /uni0E29 /uni0E2A /uni0E2B
+/uni0E2C /uni0E2D /uni0E2E /uni0E2F
+% 0xD0
+/uni0E30 /uni0E31 /uni0E32 /uni0E33
+/uni0E34 /uni0E35 /uni0E36 /uni0E37
+/uni0E38 /uni0E39 /uni0E3A /uni0E4D.high
+/zerowidthspace /dottedcircle /uni0E47.high /uni0E3F
+% 0xE0
+/uni0E40 /uni0E41 /uni0E42 /uni0E43
+/uni0E44 /uni0E45 /uni0E46 /uni0E47
+/uni0E48.low /uni0E49.low /uni0E4A.low /uni0E4B.low
+/uni0E4C.low /uni0E4D /uni0E4E /uni0E4F
+% 0xF0
+/uni0E50 /uni0E51 /uni0E52 /uni0E53
+/uni0E54 /uni0E55 /uni0E56 /uni0E57
+/uni0E58 /uni0E59 /uni0E5A /uni0E5B
+/uni0E38.low /uni0E39.low /uni0E3A.low /.notdef
+] def
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/thailigs-osf.enc b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/thailigs-osf.enc
new file mode 100644
index 00000000000..1e7faf2d181
--- /dev/null
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/thailigs-osf.enc
@@ -0,0 +1,427 @@
+% thailigs-osf.enc
+% by Poonlap Veerathanabutr <poonlap@linux.thai.net>
+% 2002-12-30
+% 2021-06-12 Theppitak Karoonboonyanan <theppitak@gmail.com>
+% * Create old style figure re-encoding version.
+% 2003-09-15 Chanop Silpa-Anan <chanop@debian.org>
+% * Use new unicode variant name.
+% 2011-12-26 Theppitak Karoonboonyanan <thep@linux.thai.net>
+% * Support more common Latin characters with native font glyphs.
+%
+% This is LaTeX LTH (Locale Thai) encoding for unicode encoded fonts
+%
+%ligature for making LEFT vowels, tone marks and Nikhahit
+%PoPla left vowel
+%LIGKERN uni0E1B uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E1B uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E1B uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E1B uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E1B uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E1B uni0E38 |=:> uni0E38.left ;
+%LIGKERN uni0E1B uni0E39 |=:> uni0E39.left ;
+%LIGKERN uni0E1B uni0E3A |=:> uni0E3A.left ;
+%LIGKERN uni0E1B uni0E47 |=:> uni0E47.left ;
+%Popla left tone marks, thanthakhat, nikhahit
+%LIGKERN uni0E1B uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E1B uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E1B uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E1B uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E1B uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E1B uni0E4D |=:> uni0E4D.left ;
+%Popla sara-am
+%LIGKERN uni0E1B uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4D.left uni0E33 |=:> uni0E32 ;
+
+%FoFa left vowel
+%LIGKERN uni0E1D uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E1D uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E1D uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E1D uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E1D uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E1D uni0E38 |=:> uni0E38.left ;
+%LIGKERN uni0E1D uni0E39 |=:> uni0E39.left ;
+%LIGKERN uni0E1D uni0E3A |=:> uni0E3A.left ;
+%LIGKERN uni0E1D uni0E47 |=:> uni0E47.left ;
+%FoFa left tone marks, thanthakhat, nikhahit
+%LIGKERN uni0E1D uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E1D uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E1D uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E1D uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E1D uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E1D uni0E4D |=:> uni0E4D.left ;
+%FoFa sara-am
+%LIGKERN uni0E1D uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4D.left uni0E33 |=:> uni0E32 ;
+
+%FoFan left vowel
+%LIGKERN uni0E1F uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E1F uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E1F uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E1F uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E1F uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E1F uni0E38 |=:> uni0E38.left ;
+%LIGKERN uni0E1F uni0E39 |=:> uni0E39.left ;
+%LIGKERN uni0E1F uni0E3A |=:> uni0E3A.left ;
+%LIGKERN uni0E1F uni0E47 |=:> uni0E47.left ;
+%FoFan left tone marks, thanthakhat, nikhahit
+%LIGKERN uni0E1F uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E1F uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E1F uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E1F uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E1F uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E1F uni0E4D |=:> uni0E4D.left ;
+%FoFan sara-am
+%LIGKERN uni0E1F uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4D.left uni0E33 |=:> uni0E32 ;
+
+%LoChula left vowel
+%LIGKERN uni0E2C uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E2C uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E2C uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E2C uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E2C uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E2C uni0E38 |=:> uni0E38.left ;
+%LIGKERN uni0E2C uni0E39 |=:> uni0E39.left ;
+%LIGKERN uni0E2C uni0E3A |=:> uni0E3A.left ;
+%LIGKERN uni0E2C uni0E47 |=:> uni0E47.left ;
+%LoChula left tone marks, thanthakhat, nikhahit
+%LIGKERN uni0E2C uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E2C uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E2C uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E2C uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E2C uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E2C uni0E4D |=:> uni0E4D.left ;
+%LoChula sara-am
+%LIGKERN uni0E2C uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4D.left uni0E33 |=:> uni0E32 ;
+
+%ligature for making left SaraAm with HiLeft tone marks
+%LIGKERN uni0E48.low_left uni0E33 =:| uni0E48.left ;
+%LIGKERN uni0E48.left uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E49.low_left uni0E33 =:| uni0E49.left ;
+%LIGKERN uni0E49.left uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4A.low_left uni0E33 =:| uni0E4A.left ;
+%LIGKERN uni0E4A.left uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4B.low_left uni0E33 =:| uni0E4B.left ;
+%LIGKERN uni0E4B.left uni0E33 |=:|> uni0E4D.left ;
+
+%LIGKERN uni0E48.low uni0E33 =:| uni0E48 ;
+%LIGKERN uni0E49.low uni0E33 =:| uni0E49 ;
+%LIGKERN uni0E4A.low uni0E33 =:| uni0E4A ;
+%LIGKERN uni0E4B.low uni0E33 =:| uni0E4B ;
+
+%ligature for making HI tone marks
+%LIGKERN uni0E31 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E31 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E31 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E31 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E34 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E34 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E34 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E34 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E34 uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E35 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E35 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E35 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E35 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E35 uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E36 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E36 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E36 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E36 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E36 uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E37 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E37 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E37 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E37 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E37 uni0E4C.low |=:> uni0E4C ;
+
+%[ethnic languages] HI tone marks over upper marks
+%LIGKERN uni0E47 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E47 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E47 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E47 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E47 uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E48.low uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E48.low uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E48.low uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E48.low uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E48.low uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E49.low uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E49.low uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E49.low uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E49.low uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E49.low uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E4A.low uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E4A.low uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E4A.low uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E4A.low uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E4A.low uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E4B.low uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E4B.low uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E4B.low uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E4B.low uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E4B.low uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E4C.low uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E4C.low uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E4C.low uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E4C.low uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E4C.low uni0E4C.low |=:> uni0E4C ;
+
+%ligature for making LEFT HI tone marks and thantakhat
+%LIGKERN uni0E31.left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E34.left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E35.left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E36.left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E37.left uni0E48.low |=:> uni0E48.left ;
+
+%LIGKERN uni0E31.left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E34.left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E35.left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E36.left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E37.left uni0E49.low |=:> uni0E49.left ;
+
+%LIGKERN uni0E31.left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E34.left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E35.left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E36.left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E37.left uni0E4A.low |=:> uni0E4A.left ;
+
+%LIGKERN uni0E31.left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E34.left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E35.left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E36.left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E37.left uni0E4B.low |=:> uni0E4B.left ;
+
+%LIGKERN uni0E34.left uni0E4C.low |=:> uni0E4C.left ;
+
+%[ethnic languages] LEFT HI tone marks over upper marks
+%LIGKERN uni0E47.left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E47.left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E47.left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E47.left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E47.left uni0E4C.low |=:> uni0E4C.left ;
+%LIGKERN uni0E48.low_left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E48.low_left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E48.low_left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E48.low_left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E48.low_left uni0E4C.low |=:> uni0E4C.left ;
+%LIGKERN uni0E49.low_left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E49.low_left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E49.low_left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E49.low_left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E49.low_left uni0E4C.low |=:> uni0E4C.left ;
+%LIGKERN uni0E4A.low_left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E4A.low_left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E4A.low_left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E4A.low_left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E4A.low_left uni0E4C.low |=:> uni0E4C.left ;
+%LIGKERN uni0E4B.low_left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E4B.low_left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E4B.low_left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E4B.low_left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E4B.low_left uni0E4C.low |=:> uni0E4C.left ;
+%LIGKERN uni0E4C.low_left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E4C.low_left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E4C.low_left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E4C.low_left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E4C.low_left uni0E4C.low |=:> uni0E4C.left ;
+
+%ligature for making LEFT LOW tone marks and thantakhat
+%LIGKERN uni0E38.left uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E39.left uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E3A.left uni0E48.low |=:> uni0E48.low_left ;
+
+%LIGKERN uni0E38.left uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E39.left uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E3A.left uni0E49.low |=:> uni0E49.low_left ;
+
+%LIGKERN uni0E38.left uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E39.left uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E3A.left uni0E4A.low |=:> uni0E4A.low_left ;
+
+%LIGKERN uni0E38.left uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E39.left uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E3A.left uni0E4B.low |=:> uni0E4B.low_left ;
+
+%LIGKERN uni0E38.left uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E39.left uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E3A.left uni0E4C.low |=:> uni0E4C.low_left ;
+
+%[ethnic languages] LEFT upper vowel after Phinthu
+%LIGKERN uni0E38.left uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E39.left uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E3A.left uni0E31 |=:> uni0E31.left ;
+
+%LIGKERN uni0E38.left uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E39.left uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E3A.left uni0E34 |=:> uni0E34.left ;
+
+%LIGKERN uni0E38.left uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E39.left uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E3A.left uni0E35 |=:> uni0E35.left ;
+
+%LIGKERN uni0E38.left uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E39.left uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E3A.left uni0E36 |=:> uni0E36.left ;
+
+%LIGKERN uni0E38.left uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E39.left uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E3A.left uni0E37 |=:> uni0E37.left ;
+
+%ligature for making HI MaiTaikhu and Nikhahit
+%LIGKERN uni0E31 uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E34 uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E35 uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E36 uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E37 uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E31.left uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E34.left uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E35.left uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E36.left uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E37.left uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E31 uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E34 uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E35 uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E36 uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E37 uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E31.left uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E34.left uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E35.left uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E36.left uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E37.left uni0E4D |=:> uni0E4D.high ;
+
+%ligature for making LOW SaraU SaraUu and Phinthu
+%LIGKERN uni0E0E uni0E38 |=:> uni0E38.low ;
+%LIGKERN uni0E0E uni0E39 |=:> uni0E39.low ;
+%LIGKERN uni0E0E uni0E3A |=:> uni0E3A.low ;
+%LIGKERN uni0E0F uni0E38 |=:> uni0E38.low ;
+%LIGKERN uni0E0F uni0E39 |=:> uni0E39.low ;
+%LIGKERN uni0E0F uni0E3A |=:> uni0E3A.low ;
+
+%[ethnic languages] LOW SaraU SaraUu and Phinthu below another
+%LIGKERN uni0E38 uni0E38 |=:> uni0E38.low ;
+%LIGKERN uni0E39 uni0E38 |=:> uni0E38.low ;
+%LIGKERN uni0E3A uni0E38 |=:> uni0E38.low ;
+%LIGKERN uni0E38 uni0E39 |=:> uni0E39.low ;
+%LIGKERN uni0E39 uni0E39 |=:> uni0E39.low ;
+%LIGKERN uni0E3A uni0E39 |=:> uni0E39.low ;
+%LIGKERN uni0E38 uni0E3A |=:> uni0E3A.low ;
+%LIGKERN uni0E39 uni0E3A |=:> uni0E3A.low ;
+%LIGKERN uni0E3A uni0E3A |=:> uni0E3A.low ;
+
+%ligature for making YoYingDescless and ThoThanDescless
+%LIGKERN uni0E0D uni0E38 =:|> uni0E0D.descless ;
+%LIGKERN uni0E0D uni0E39 =:|> uni0E0D.descless ;
+%LIGKERN uni0E0D uni0E3A =:|> uni0E0D.descless ;
+%LIGKERN uni0E10 uni0E38 =:|> uni0E10.descless ;
+%LIGKERN uni0E10 uni0E39 =:|> uni0E10.descless ;
+%LIGKERN uni0E10 uni0E3A =:|> uni0E10.descless ;
+
+%ligature for making Lakkhangyao
+%LIGKERN uni0E24 uni0E32 |=:> uni0E45 ;
+%LIGKERN uni0E26 uni0E32 |=:> uni0E45 ;
+
+%default ligature and kern set normally built-in in afm2tfm
+%LIGKERN question quoteleft =: questiondown ; exclam quoteleft =: exclamdown ;
+%LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+%LIGKERN quoteleft quoteleft =: quotedblleft ;
+%LIGKERN quoteright quoteright =: quotedblright ;
+%LIGKERN space {} * ; * {} space ;
+%LIGKERN zerooldstyle {} * ; * {} zerooldstyle ;
+%LIGKERN oneoldstyle {} * ; * {} oneoldstyle ;
+%LIGKERN twooldstyle {} * ; * {} twooldstyle ;
+%LIGLERN threeoldstyle {} * ; * {} threeoldstyle ;
+%LIGKERN fouroldstyle {} * ; * {} fouroldstyle ;
+%LIGLERN fiveoldstyle {} * ; * {} fiveoldstyle ;
+%LIGKERN sixoldstyle {} * ; * {} sixoldstyle ;
+%LIGKERN sevenoldstyle {} * ; * {} sevenoldstyle ;
+%LIGKERN eightoldstyle {} * ; * {} eightoldstyle ;
+%LIGKERN nineoldstyle {} * ; * {} nineoldstyle ;
+%LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
+%LIGKERN greater greater =: guillemotright ;
+%LIGKERN f f =: ff ; f i =: fi ; f l =: fl ;
+%LIGKERN ff i =: ffi ; ff l =: ffl ;
+
+/LTHEncoding [
+% 0x00
+/.notdef /.notdef /.notdef /.notdef
+/dagger /daggerdbl /section /paragraph
+/copyright /registered /trademark /germandbls
+/ae /AE /oe /OE
+% 0x10
+/exclamdown /questiondown /quotedblbase /guillemotleft
+/guillemotright /uni0E38.left /uni0E39.left /uni0E3A.left
+/perthousand /dotlessi /dotlessj /ff
+/fi /fl /ffi /ffl
+% 0x20
+/space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright
+/parenleft /parenright /asterisk /plus
+/comma /hyphen /period /slash
+% 0x30
+/zerooldstyle /oneoldstyle /twooldstyle /threeoldstyle
+/fouroldstyle /fiveoldstyle /sixoldstyle /sevenoldstyle
+/eightoldstyle /nineoldstyle /colon /semicolon
+/less /equal /greater /question
+% 0x40
+/at /A /B /C
+/D /E /F /G
+/H /I /J /K
+/L /M /N /O
+% 0x50
+/P /Q /R /S
+/T /U /V /W
+/X /Y /Z /bracketleft
+/backslash /bracketright /asciicircum /underscore
+% 0x60
+/quoteleft /a /b /c
+/d /e /f /g
+/h /i /j /k
+/l /m /n /o
+% 0x70
+/p /q /r /s
+/t /u /v /w
+/x /y /z /braceleft
+/bar /braceright /asciitilde /.notdef
+% 0x80
+/uni0E10.descless /uni0E34.left /uni0E35.left /uni0E36.left
+/uni0E37.left /ellipsis /uni0E48.low_left /uni0E49.low_left
+/uni0E4A.low_left /uni0E4B.low_left /uni0E4C.low_left /uni0E48
+/uni0E49 /uni0E4A /uni0E4B /uni0E4C
+% 0x90
+/uni0E0D.descless /.notdef /.notdef /quotedblleft
+/quotedblright /bullet /endash /emdash
+/uni0E31.left /uni0E4D.left /uni0E47.left /uni0E48.left
+/uni0E49.left /uni0E4A.left /uni0E4B.left /uni0E4C.left
+% 0xA0
+/nonbreakingspace /uni0E01 /uni0E02 /uni0E03
+/uni0E04 /uni0E05 /uni0E06 /uni0E07
+/uni0E08 /uni0E09 /uni0E0A /uni0E0B
+/uni0E0C /uni0E0D /uni0E0E /uni0E0F
+% 0xB0
+/uni0E10 /uni0E11 /uni0E12 /uni0E13
+/uni0E14 /uni0E15 /uni0E16 /uni0E17
+/uni0E18 /uni0E19 /uni0E1A /uni0E1B
+/uni0E1C /uni0E1D /uni0E1E /uni0E1F
+% 0xC0
+/uni0E20 /uni0E21 /uni0E22 /uni0E23
+/uni0E24 /uni0E25 /uni0E26 /uni0E27
+/uni0E28 /uni0E29 /uni0E2A /uni0E2B
+/uni0E2C /uni0E2D /uni0E2E /uni0E2F
+% 0xD0
+/uni0E30 /uni0E31 /uni0E32 /uni0E33
+/uni0E34 /uni0E35 /uni0E36 /uni0E37
+/uni0E38 /uni0E39 /uni0E3A /uni0E4D.high
+/zerowidthspace /dottedcircle /uni0E47.high /uni0E3F
+% 0xE0
+/uni0E40 /uni0E41 /uni0E42 /uni0E43
+/uni0E44 /uni0E45 /uni0E46 /uni0E47
+/uni0E48.low /uni0E49.low /uni0E4A.low /uni0E4B.low
+/uni0E4C.low /uni0E4D /uni0E4E /uni0E4F
+% 0xF0
+/uni0E50 /uni0E51 /uni0E52 /uni0E53
+/uni0E54 /uni0E55 /uni0E56 /uni0E57
+/uni0E58 /uni0E59 /uni0E5A /uni0E5B
+/uni0E38.low /uni0E39.low /uni0E3A.low /.notdef
+] def
diff --git a/Master/texmf-dist/source/fonts/fonts-tlwg/latex/thailigs-sc.enc b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/thailigs-sc.enc
new file mode 100644
index 00000000000..fa871080405
--- /dev/null
+++ b/Master/texmf-dist/source/fonts/fonts-tlwg/latex/thailigs-sc.enc
@@ -0,0 +1,420 @@
+% thailigs-sc.enc
+% by Poonlap Veerathanabutr <poonlap@linux.thai.net>
+% 2002-12-30
+% 2021-06-08 Theppitak Karoonboonyanan <theppitak@gmail.com>
+% * Create small caps re-encoding version.
+% 2003-09-15 Chanop Silpa-Anan <chanop@debian.org>
+% * Use new unicode variant name.
+% 2011-12-26 Theppitak Karoonboonyanan <thep@linux.thai.net>
+% * Support more common Latin characters with native font glyphs.
+%
+% This is LaTeX LTH (Locale Thai) encoding for unicode encoded fonts
+%
+%ligature for making LEFT vowels, tone marks and Nikhahit
+%PoPla left vowel
+%LIGKERN uni0E1B uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E1B uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E1B uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E1B uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E1B uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E1B uni0E38 |=:> uni0E38.left ;
+%LIGKERN uni0E1B uni0E39 |=:> uni0E39.left ;
+%LIGKERN uni0E1B uni0E3A |=:> uni0E3A.left ;
+%LIGKERN uni0E1B uni0E47 |=:> uni0E47.left ;
+%Popla left tone marks, thanthakhat, nikhahit
+%LIGKERN uni0E1B uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E1B uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E1B uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E1B uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E1B uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E1B uni0E4D |=:> uni0E4D.left ;
+%Popla sara-am
+%LIGKERN uni0E1B uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4D.left uni0E33 |=:> uni0E32 ;
+
+%FoFa left vowel
+%LIGKERN uni0E1D uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E1D uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E1D uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E1D uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E1D uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E1D uni0E38 |=:> uni0E38.left ;
+%LIGKERN uni0E1D uni0E39 |=:> uni0E39.left ;
+%LIGKERN uni0E1D uni0E3A |=:> uni0E3A.left ;
+%LIGKERN uni0E1D uni0E47 |=:> uni0E47.left ;
+%FoFa left tone marks, thanthakhat, nikhahit
+%LIGKERN uni0E1D uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E1D uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E1D uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E1D uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E1D uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E1D uni0E4D |=:> uni0E4D.left ;
+%FoFa sara-am
+%LIGKERN uni0E1D uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4D.left uni0E33 |=:> uni0E32 ;
+
+%FoFan left vowel
+%LIGKERN uni0E1F uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E1F uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E1F uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E1F uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E1F uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E1F uni0E38 |=:> uni0E38.left ;
+%LIGKERN uni0E1F uni0E39 |=:> uni0E39.left ;
+%LIGKERN uni0E1F uni0E3A |=:> uni0E3A.left ;
+%LIGKERN uni0E1F uni0E47 |=:> uni0E47.left ;
+%FoFan left tone marks, thanthakhat, nikhahit
+%LIGKERN uni0E1F uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E1F uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E1F uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E1F uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E1F uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E1F uni0E4D |=:> uni0E4D.left ;
+%FoFan sara-am
+%LIGKERN uni0E1F uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4D.left uni0E33 |=:> uni0E32 ;
+
+%LoChula left vowel
+%LIGKERN uni0E2C uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E2C uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E2C uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E2C uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E2C uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E2C uni0E38 |=:> uni0E38.left ;
+%LIGKERN uni0E2C uni0E39 |=:> uni0E39.left ;
+%LIGKERN uni0E2C uni0E3A |=:> uni0E3A.left ;
+%LIGKERN uni0E2C uni0E47 |=:> uni0E47.left ;
+%LoChula left tone marks, thanthakhat, nikhahit
+%LIGKERN uni0E2C uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E2C uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E2C uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E2C uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E2C uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E2C uni0E4D |=:> uni0E4D.left ;
+%LoChula sara-am
+%LIGKERN uni0E2C uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4D.left uni0E33 |=:> uni0E32 ;
+
+%ligature for making left SaraAm with HiLeft tone marks
+%LIGKERN uni0E48.low_left uni0E33 =:| uni0E48.left ;
+%LIGKERN uni0E48.left uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E49.low_left uni0E33 =:| uni0E49.left ;
+%LIGKERN uni0E49.left uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4A.low_left uni0E33 =:| uni0E4A.left ;
+%LIGKERN uni0E4A.left uni0E33 |=:|> uni0E4D.left ;
+%LIGKERN uni0E4B.low_left uni0E33 =:| uni0E4B.left ;
+%LIGKERN uni0E4B.left uni0E33 |=:|> uni0E4D.left ;
+
+%LIGKERN uni0E48.low uni0E33 =:| uni0E48 ;
+%LIGKERN uni0E49.low uni0E33 =:| uni0E49 ;
+%LIGKERN uni0E4A.low uni0E33 =:| uni0E4A ;
+%LIGKERN uni0E4B.low uni0E33 =:| uni0E4B ;
+
+%ligature for making HI tone marks
+%LIGKERN uni0E31 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E31 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E31 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E31 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E34 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E34 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E34 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E34 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E34 uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E35 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E35 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E35 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E35 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E35 uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E36 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E36 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E36 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E36 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E36 uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E37 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E37 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E37 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E37 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E37 uni0E4C.low |=:> uni0E4C ;
+
+%[ethnic languages] HI tone marks over upper marks
+%LIGKERN uni0E47 uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E47 uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E47 uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E47 uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E47 uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E48.low uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E48.low uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E48.low uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E48.low uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E48.low uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E49.low uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E49.low uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E49.low uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E49.low uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E49.low uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E4A.low uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E4A.low uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E4A.low uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E4A.low uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E4A.low uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E4B.low uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E4B.low uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E4B.low uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E4B.low uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E4B.low uni0E4C.low |=:> uni0E4C ;
+%LIGKERN uni0E4C.low uni0E48.low |=:> uni0E48 ;
+%LIGKERN uni0E4C.low uni0E49.low |=:> uni0E49 ;
+%LIGKERN uni0E4C.low uni0E4A.low |=:> uni0E4A ;
+%LIGKERN uni0E4C.low uni0E4B.low |=:> uni0E4B ;
+%LIGKERN uni0E4C.low uni0E4C.low |=:> uni0E4C ;
+
+%ligature for making LEFT HI tone marks and thantakhat
+%LIGKERN uni0E31.left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E34.left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E35.left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E36.left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E37.left uni0E48.low |=:> uni0E48.left ;
+
+%LIGKERN uni0E31.left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E34.left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E35.left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E36.left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E37.left uni0E49.low |=:> uni0E49.left ;
+
+%LIGKERN uni0E31.left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E34.left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E35.left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E36.left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E37.left uni0E4A.low |=:> uni0E4A.left ;
+
+%LIGKERN uni0E31.left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E34.left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E35.left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E36.left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E37.left uni0E4B.low |=:> uni0E4B.left ;
+
+%LIGKERN uni0E34.left uni0E4C.low |=:> uni0E4C.left ;
+
+%[ethnic languages] LEFT HI tone marks over upper marks
+%LIGKERN uni0E47.left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E47.left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E47.left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E47.left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E47.left uni0E4C.low |=:> uni0E4C.left ;
+%LIGKERN uni0E48.low_left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E48.low_left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E48.low_left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E48.low_left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E48.low_left uni0E4C.low |=:> uni0E4C.left ;
+%LIGKERN uni0E49.low_left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E49.low_left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E49.low_left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E49.low_left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E49.low_left uni0E4C.low |=:> uni0E4C.left ;
+%LIGKERN uni0E4A.low_left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E4A.low_left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E4A.low_left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E4A.low_left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E4A.low_left uni0E4C.low |=:> uni0E4C.left ;
+%LIGKERN uni0E4B.low_left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E4B.low_left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E4B.low_left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E4B.low_left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E4B.low_left uni0E4C.low |=:> uni0E4C.left ;
+%LIGKERN uni0E4C.low_left uni0E48.low |=:> uni0E48.left ;
+%LIGKERN uni0E4C.low_left uni0E49.low |=:> uni0E49.left ;
+%LIGKERN uni0E4C.low_left uni0E4A.low |=:> uni0E4A.left ;
+%LIGKERN uni0E4C.low_left uni0E4B.low |=:> uni0E4B.left ;
+%LIGKERN uni0E4C.low_left uni0E4C.low |=:> uni0E4C.left ;
+
+%ligature for making LEFT LOW tone marks and thantakhat
+%LIGKERN uni0E38.left uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E39.left uni0E48.low |=:> uni0E48.low_left ;
+%LIGKERN uni0E3A.left uni0E48.low |=:> uni0E48.low_left ;
+
+%LIGKERN uni0E38.left uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E39.left uni0E49.low |=:> uni0E49.low_left ;
+%LIGKERN uni0E3A.left uni0E49.low |=:> uni0E49.low_left ;
+
+%LIGKERN uni0E38.left uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E39.left uni0E4A.low |=:> uni0E4A.low_left ;
+%LIGKERN uni0E3A.left uni0E4A.low |=:> uni0E4A.low_left ;
+
+%LIGKERN uni0E38.left uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E39.left uni0E4B.low |=:> uni0E4B.low_left ;
+%LIGKERN uni0E3A.left uni0E4B.low |=:> uni0E4B.low_left ;
+
+%LIGKERN uni0E38.left uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E39.left uni0E4C.low |=:> uni0E4C.low_left ;
+%LIGKERN uni0E3A.left uni0E4C.low |=:> uni0E4C.low_left ;
+
+%[ethnic languages] LEFT upper vowel after Phinthu
+%LIGKERN uni0E38.left uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E39.left uni0E31 |=:> uni0E31.left ;
+%LIGKERN uni0E3A.left uni0E31 |=:> uni0E31.left ;
+
+%LIGKERN uni0E38.left uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E39.left uni0E34 |=:> uni0E34.left ;
+%LIGKERN uni0E3A.left uni0E34 |=:> uni0E34.left ;
+
+%LIGKERN uni0E38.left uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E39.left uni0E35 |=:> uni0E35.left ;
+%LIGKERN uni0E3A.left uni0E35 |=:> uni0E35.left ;
+
+%LIGKERN uni0E38.left uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E39.left uni0E36 |=:> uni0E36.left ;
+%LIGKERN uni0E3A.left uni0E36 |=:> uni0E36.left ;
+
+%LIGKERN uni0E38.left uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E39.left uni0E37 |=:> uni0E37.left ;
+%LIGKERN uni0E3A.left uni0E37 |=:> uni0E37.left ;
+
+%ligature for making HI MaiTaikhu and Nikhahit
+%LIGKERN uni0E31 uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E34 uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E35 uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E36 uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E37 uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E31.left uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E34.left uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E35.left uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E36.left uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E37.left uni0E47 |=:> uni0E47.high ;
+%LIGKERN uni0E31 uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E34 uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E35 uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E36 uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E37 uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E31.left uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E34.left uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E35.left uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E36.left uni0E4D |=:> uni0E4D.high ;
+%LIGKERN uni0E37.left uni0E4D |=:> uni0E4D.high ;
+
+%ligature for making LOW SaraU SaraUu and Phinthu
+%LIGKERN uni0E0E uni0E38 |=:> uni0E38.low ;
+%LIGKERN uni0E0E uni0E39 |=:> uni0E39.low ;
+%LIGKERN uni0E0E uni0E3A |=:> uni0E3A.low ;
+%LIGKERN uni0E0F uni0E38 |=:> uni0E38.low ;
+%LIGKERN uni0E0F uni0E39 |=:> uni0E39.low ;
+%LIGKERN uni0E0F uni0E3A |=:> uni0E3A.low ;
+
+%[ethnic languages] LOW SaraU SaraUu and Phinthu below another
+%LIGKERN uni0E38 uni0E38 |=:> uni0E38.low ;
+%LIGKERN uni0E39 uni0E38 |=:> uni0E38.low ;
+%LIGKERN uni0E3A uni0E38 |=:> uni0E38.low ;
+%LIGKERN uni0E38 uni0E39 |=:> uni0E39.low ;
+%LIGKERN uni0E39 uni0E39 |=:> uni0E39.low ;
+%LIGKERN uni0E3A uni0E39 |=:> uni0E39.low ;
+%LIGKERN uni0E38 uni0E3A |=:> uni0E3A.low ;
+%LIGKERN uni0E39 uni0E3A |=:> uni0E3A.low ;
+%LIGKERN uni0E3A uni0E3A |=:> uni0E3A.low ;
+
+%ligature for making YoYingDescless and ThoThanDescless
+%LIGKERN uni0E0D uni0E38 =:|> uni0E0D.descless ;
+%LIGKERN uni0E0D uni0E39 =:|> uni0E0D.descless ;
+%LIGKERN uni0E0D uni0E3A =:|> uni0E0D.descless ;
+%LIGKERN uni0E10 uni0E38 =:|> uni0E10.descless ;
+%LIGKERN uni0E10 uni0E39 =:|> uni0E10.descless ;
+%LIGKERN uni0E10 uni0E3A =:|> uni0E10.descless ;
+
+%ligature for making Lakkhangyao
+%LIGKERN uni0E24 uni0E32 |=:> uni0E45 ;
+%LIGKERN uni0E26 uni0E32 |=:> uni0E45 ;
+
+%default ligature and kern set normally built-in in afm2tfm
+%LIGKERN question quoteleft =: questiondown ; exclam quoteleft =: exclamdown ;
+%LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ;
+%LIGKERN quoteleft quoteleft =: quotedblleft ;
+%LIGKERN quoteright quoteright =: quotedblright ;
+%LIGKERN space {} * ; * {} space ; zero {} * ; * {} zero ;
+%LIGKERN one {} * ; * {} one ; two {} * ; * {} two ;
+%LIGLERN three {} * ; * {} three ; four {} * ; * {} four ;
+%LIGLERN five {} * ; * {} five ; six {} * ; * {} six ;
+%LIGKERN seven {} * ; * {} seven ; eight {} * ; * {} eight ;
+%LIGKERN nine {} * ; * {} nine ;
+%LIGKERN comma comma =: quotedblbase ; less less =: guillemotleft ;
+%LIGKERN greater greater =: guillemotright ;
+
+/LTHEncoding [
+% 0x00
+/.notdef /.notdef /.notdef /.notdef
+/dagger /daggerdbl /section /paragraph
+/copyright /registered /trademark /germandbls
+/ae /AE /oe /OE
+% 0x10
+/exclamdown /questiondown /quotedblbase /guillemotleft
+/guillemotright /uni0E38.left /uni0E39.left /uni0E3A.left
+/perthousand /dotlessi /dotlessj /.notdef
+/.notdef /.notdef /.notdef /.notdef
+% 0x20
+/space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright
+/parenleft /parenright /asterisk /plus
+/comma /hyphen /period /slash
+% 0x30
+/zero /one /two /three
+/four /five /six /seven
+/eight /nine /colon /semicolon
+/less /equal /greater /question
+% 0x40
+/at /A /B /C
+/D /E /F /G
+/H /I /J /K
+/L /M /N /O
+% 0x50
+/P /Q /R /S
+/T /U /V /W
+/X /Y /Z /bracketleft
+/backslash /bracketright /asciicircum /underscore
+% 0x60
+/quoteleft /Asmall /Bsmall /Csmall
+/Dsmall /Esmall /Fsmall /Gsmall
+/Hsmall /Ismall /Jsmall /Ksmall
+/Lsmall /Msmall /Nsmall /Osmall
+% 0x70
+/Psmall /Qsmall /Rsmall /Ssmall
+/Tsmall /Usmall /Vsmall /Wsmall
+/Xsmall /Ysmall /Zsmall /braceleft
+/bar /braceright /asciitilde /.notdef
+% 0x80
+/uni0E10.descless /uni0E34.left /uni0E35.left /uni0E36.left
+/uni0E37.left /ellipsis /uni0E48.low_left /uni0E49.low_left
+/uni0E4A.low_left /uni0E4B.low_left /uni0E4C.low_left /uni0E48
+/uni0E49 /uni0E4A /uni0E4B /uni0E4C
+% 0x90
+/uni0E0D.descless /.notdef /.notdef /quotedblleft
+/quotedblright /bullet /endash /emdash
+/uni0E31.left /uni0E4D.left /uni0E47.left /uni0E48.left
+/uni0E49.left /uni0E4A.left /uni0E4B.left /uni0E4C.left
+% 0xA0
+/nonbreakingspace /uni0E01 /uni0E02 /uni0E03
+/uni0E04 /uni0E05 /uni0E06 /uni0E07
+/uni0E08 /uni0E09 /uni0E0A /uni0E0B
+/uni0E0C /uni0E0D /uni0E0E /uni0E0F
+% 0xB0
+/uni0E10 /uni0E11 /uni0E12 /uni0E13
+/uni0E14 /uni0E15 /uni0E16 /uni0E17
+/uni0E18 /uni0E19 /uni0E1A /uni0E1B
+/uni0E1C /uni0E1D /uni0E1E /uni0E1F
+% 0xC0
+/uni0E20 /uni0E21 /uni0E22 /uni0E23
+/uni0E24 /uni0E25 /uni0E26 /uni0E27
+/uni0E28 /uni0E29 /uni0E2A /uni0E2B
+/uni0E2C /uni0E2D /uni0E2E /uni0E2F
+% 0xD0
+/uni0E30 /uni0E31 /uni0E32 /uni0E33
+/uni0E34 /uni0E35 /uni0E36 /uni0E37
+/uni0E38 /uni0E39 /uni0E3A /uni0E4D.high
+/zerowidthspace /dottedcircle /uni0E47.high /uni0E3F
+% 0xE0
+/uni0E40 /uni0E41 /uni0E42 /uni0E43
+/uni0E44 /uni0E45 /uni0E46 /uni0E47
+/uni0E48.low /uni0E49.low /uni0E4A.low /uni0E4B.low
+/uni0E4C.low /uni0E4D /uni0E4E /uni0E4F
+% 0xF0
+/uni0E50 /uni0E51 /uni0E52 /uni0E53
+/uni0E54 /uni0E55 /uni0E56 /uni0E57
+/uni0E58 /uni0E59 /uni0E5A /uni0E5B
+/uni0E38.low /uni0E39.low /uni0E3A.low /.notdef
+] def