summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/pdftex/thanh
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/pdftex/thanh')
-rw-r--r--Master/texmf-dist/doc/pdftex/thanh/ext/abbr.tex132
-rw-r--r--Master/texmf-dist/doc/pdftex/thanh/ext/efcode.tex54
-rw-r--r--Master/texmf-dist/doc/pdftex/thanh/ext/il2.etx995
-rw-r--r--Master/texmf-dist/doc/pdftex/thanh/ext/il2.mtx223
-rw-r--r--Master/texmf-dist/doc/pdftex/thanh/ext/il2protcode.tex174
-rw-r--r--Master/texmf-dist/doc/pdftex/thanh/ext/mktextfm151
-rw-r--r--Master/texmf-dist/doc/pdftex/thanh/ext/mktextfm.ext104
-rw-r--r--Master/texmf-dist/doc/pdftex/thanh/ext/mktfm8z40
-rw-r--r--Master/texmf-dist/doc/pdftex/thanh/ext/protcode.tex82
-rw-r--r--Master/texmf-dist/doc/pdftex/thanh/ext/ufntinst.sty442
-rw-r--r--Master/texmf-dist/doc/pdftex/thanh/thesis-png.pdfbin0 -> 4484557 bytes
11 files changed, 2397 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/pdftex/thanh/ext/abbr.tex b/Master/texmf-dist/doc/pdftex/thanh/ext/abbr.tex
new file mode 100644
index 00000000000..a76da0af518
--- /dev/null
+++ b/Master/texmf-dist/doc/pdftex/thanh/ext/abbr.tex
@@ -0,0 +1,132 @@
+\ifx\abbrloaded\relax
+ \let\next=\endinput
+\else
+ \let\next=\relax
+\fi
+
+\next
+
+\let\abbrloaded=y
+
+\let\S=\textsf
+\let\T=\texttt
+\let\I=\textit
+\let\B=\textbf
+
+
+\let\add=\advance
+\let\div=\divide
+\let\mul=\multiply
+\let\ex=\expandafter
+
+\def\log#1{\immediate \write 16 {#1}}
+
+\catcode`\"=13
+\def\lqq{``\global\let"=\rqq}
+\def\rqq{''\global\let"=\lqq}
+\let"=\lqq
+
+\def\<#1>{%
+ \expandafter\ifx\csname<#1>\endcsname\relax
+ \errmessage{abbreviation <#1> undefined!}
+ \else
+ \csname<#1>\endcsname
+ \fi
+}
+\def\abbr#1#2{%
+ \expandafter\def\csname<#1>\endcsname{#2}%
+}
+
+\abbr{THANH}{H\`an Th\^e\llap{\raise 0.5ex\hbox{\'{}}} Th\`anh}
+\abbr{HZ}{\textit{hz}}
+\abbr{KF}{\textit{kf\kern-.05em}}
+\abbr{KR}{\textit{K$\varrho$}}
+\abbr{EK}{\textit{{\Large$\varepsilon$\kern-.1em}k}}
+\abbr{JP}{\textit{jp}}
+\abbr{MF}{\MF}
+\abbr{CMR}{CMR}
+\abbr{CMSS}{CMSS}
+\abbr{MM}{Multiple Master}
+\abbr{T1}{Type\nobreak\,1}
+\abbr{PFB}{PFB}
+\abbr{CM}{Computer Modern}
+\abbr{TEX}{\TeX}
+\abbr{LATEX}{\LaTeX}
+\abbr{PDFTEX}{pdf\TeX}
+\abbr{URW}{URW}
+\abbr{ASCII}{ASCII}
+\abbr{DTP}{DTP}
+\abbr{DVI}{DVI}
+\abbr{PS}{PS}
+\abbr{TFM}{TFM}
+\abbr{PDF}{PDF}
+\abbr{HJ}{H\kern.1em\&\kern.1emJ}
+\abbr{UNIX}{UNIX}
+\abbr{AMIGA}{Amiga}
+\abbr{DOS}{DOS}
+\abbr{MAC}{Macintosh}
+\abbr{C}{C}
+\abbr{TRUETYPE}{TrueType}
+\abbr{WIN32}{Win32}
+\abbr{FPTEX}{fp\TeX}
+\abbr{TETEX}{te\TeX}
+\abbr{MIKTEX}{Mik\TeX}
+\abbr{CMACTEX}{CMac\TeX}
+\abbr{AFM}{AFM}
+\abbr{MMTOOLS}{MMTOOLS}
+\abbr{VNR}{VNR}
+\abbr{CS}{CS}
+\abbr{HTML}{HTML}
+\abbr{WWW}{WWW}
+\abbr{ID}{InDesign}
+\abbr{ADOBE}{Adobe}
+\abbr{3B2}{3B2}
+\abbr{...}{\dots}
+\abbr{OMEGA}{$\Omega$}
+\abbr{ETEX}{$\varepsilon$-\TeX}
+\abbr{NTS}{NTS}
+\abbr{LF}{\textrm{\it letter\!\_\kern.1emfit}}
+\abbr{SGML}{SGML}
+\abbr{XML}{XML}
+\abbr{NTG}{NTG}
+\abbr{DANTE}{DANTE}
+\abbr{GUST}{GUST}
+\abbr{GUT}{GUTenberg}
+\abbr{TUG}{TUG}
+\abbr{BS}{\char92}
+\abbr{TFTOPL}{TFtoPL}
+\abbr{PDFETEX}{pdf\<ETEX>}
+\abbr{ZLIB}{ZLIB}
+\abbr{LIBPNG}{LIBPNG}
+\abbr{LIBTIFF}{LIBTIFF}
+\abbr{XPDF}{XPDF}
+\abbr{MIRKA}{Miroslava Mis\'akov\'a}
+\abbr{PERL}{Perl}
+\abbr{MMINSTANCE}{MMInstance}
+\abbr{PERL}{Perl}
+\abbr{LINUX}{Linux}
+\abbr{PASCAL}{Pascal}
+
+\ifx\newcommand\undefined
+ \let\next=\relax
+\else
+ \let\next=\endinput
+\fi
+\next
+
+\def\makeatletter{\catcode`\@11\relax}
+\def\makeatother{\catcode`\@12\relax}
+\makeatletter
+\newcount\@tempcnta
+\newcount\@tempcntb
+\newif\if@tempswa
+\newdimen\@tempdima
+\newdimen\@tempdimb
+\newdimen\@tempdimc
+\newbox\@tempboxa
+\newskip\@tempskipa
+\newskip\@tempskipb
+\newtoks\@temptokena
+\makeatother
+
+\endinput
diff --git a/Master/texmf-dist/doc/pdftex/thanh/ext/efcode.tex b/Master/texmf-dist/doc/pdftex/thanh/ext/efcode.tex
new file mode 100644
index 00000000000..a7b204200cf
--- /dev/null
+++ b/Master/texmf-dist/doc/pdftex/thanh/ext/efcode.tex
@@ -0,0 +1,54 @@
+\input abbr.tex
+
+\makeatletter
+\def\resetefcode#1{%
+ \@tempcnta=0
+ \loop
+ \efcode#1\@tempcnta=1000
+ \advance\@tempcnta 1
+ \ifnum\@tempcnta < 256 \repeat
+}
+\makeatother
+\def\setefcode#1{%
+ \efcode#1`\2=700
+ \efcode#1`\3=700
+ \efcode#1`\6=700
+ \efcode#1`\8=700
+ \efcode#1`\9=700
+ \efcode#1`\A=500
+ \efcode#1`\B=700
+ \efcode#1`\C=700
+ \efcode#1`\D=500
+ \efcode#1`\E=700
+ \efcode#1`\F=700
+ \efcode#1`\G=500
+ \efcode#1`\H=700
+ \efcode#1`\K=700
+ \efcode#1`\M=700
+ \efcode#1`\N=700
+ \efcode#1`\O=500
+ \efcode#1`\P=700
+ \efcode#1`\Q=500
+ \efcode#1`\R=700
+ \efcode#1`\S=700
+ \efcode#1`\U=700
+ \efcode#1`\W=700
+ \efcode#1`\Z=700
+ \efcode#1`\a=700
+ \efcode#1`\b=700
+ \efcode#1`\c=700
+ \efcode#1`\d=700
+ \efcode#1`\e=700
+ \efcode#1`\g=700
+ \efcode#1`\h=700
+ \efcode#1`\k=700
+ \efcode#1`\m=700
+ \efcode#1`\n=700
+ \efcode#1`\o=700
+ \efcode#1`\p=700
+ \efcode#1`\q=700
+ \efcode#1`\s=700
+ \efcode#1`\u=700
+ \efcode#1`\w=700
+ \efcode#1`\z=700
+}
diff --git a/Master/texmf-dist/doc/pdftex/thanh/ext/il2.etx b/Master/texmf-dist/doc/pdftex/thanh/ext/il2.etx
new file mode 100644
index 00000000000..c7e5ec136e7
--- /dev/null
+++ b/Master/texmf-dist/doc/pdftex/thanh/ext/il2.etx
@@ -0,0 +1,995 @@
+\relax
+
+\documentclass[twocolumn]{article}
+\usepackage{fontdoc}
+
+\begin{document}
+
+This document describes the il2-based \TeX\ encoding.
+
+\encoding
+
+\needsfontinstversion{1.902}
+
+\ifisint{monowidth}\then
+ \setint{typewriter}{0}
+\Fi
+
+\ifisint{typewriter}\then
+ \setstr{codingscheme}{IL2-BASED TEX TYPEWRITER TEXT}
+\Else
+ \setstr{codingscheme}{IL2-BASED TEX TEXT}
+\Fi
+
+\setint{italicslant}{0}
+
+\ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+\Else
+ \setint{xheight}{500}
+\Fi
+
+\ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+\Else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+\Else
+ \setint{interword}{333}
+\Fi\Fi
+
+% added by Thierry Bouche <Thierry.Bouche@ujf-grenoble.fr>
+% 1997/02/07 to calculate values for extra EC fontdimens
+% Amended by SPQR 1997/02/09
+\ifisglyph{X}\then
+ \setint{capheight}{\height{X}}
+\Else
+ \setint{capheight}{750}
+\Fi
+
+\ifisglyph{d}\then
+ \setint{ascender}{\height{d}}
+\Else
+ \ifisint{capheight}\then
+ \setint{ascender}{\int{capheight}}
+ \Else
+ \setint{ascender}{750}
+\Fi\Fi
+
+\ifisglyph{Aring}\then
+ \setint{acccapheight}{\height{Aring}}
+\Else
+ \setint{acccapheight}{999}
+\Fi
+
+\ifisint{descender_neg}\then
+ \setint{descender}{\neg{\int{descender_neg}}}
+ \Else
+ \ifisglyph{p}\then
+ \setint{descender}{\depth{p}}
+ \Else
+ \setint{descender}{250}
+ \Fi
+\Fi
+
+\ifisglyph{Aring}\then
+ \setint{maxheight}{\height{Aring}}
+\Else
+ \setint{maxheight}{1000}
+\Fi
+
+\ifisint{maxdepth_neg}\then
+ \setint{maxdepth}{\neg{\int{maxdepth_neg}}}
+\Else
+ \ifisglyph{j}\then
+ \setint{maxdepth}{\depth{j}}
+ \Else
+ \setint{maxdepth}{250}
+ \Fi
+\Fi
+
+\ifisglyph{six}\then
+ \setint{digitwidth}{\width{six}}
+\Else
+ \setint{digitwidth}{500}
+\Fi
+
+\setint{capstem}{0} % not in AFM files
+\setint{baselineskip}{1200}
+% end changes by Thierry
+
+
+\comment{\section{Default font dimensions}}
+
+\setint{fontdimen(1)}{\int{italicslant}} % italic slant
+\setint{fontdimen(2)}{\int{interword}} % interword space
+\ifisint{monowidth}\then
+ \setint{fontdimen(3)}{0} % interword stretch
+ \setint{fontdimen(4)}{0} % interword shrink
+\Else
+ \setint{fontdimen(3)}{\scale{\int{interword}}{600}}% interword stretch
+ \setint{fontdimen(4)}{\scale{\int{interword}}{240}}% interword shrink
+\Fi
+\setint{fontdimen(5)}{\int{xheight}} % x-height
+\setint{fontdimen(6)}{1000} % quad
+\ifisint{monowidth}\then
+ \setint{fontdimen(7)}{\int{interword}} % extra space after .
+\Else
+ \setint{fontdimen(7)}{\scale{\int{interword}}{240}}% extra space after .
+\Fi
+% added by Thierry Bouche <Thierry.Bouche@ujf-grenoble.fr> 1997/02/07
+\setint{fontdimen(8)}{\int{capheight}} % cap height
+\setint{fontdimen(9)}{\int{ascender}} % ascender
+\setint{fontdimen(10)}{\int{acccapheight}} % accented cap height
+\setint{fontdimen(11)}{\int{descender}} % descender's depth
+\setint{fontdimen(12)}{\int{maxheight}} % max height
+\setint{fontdimen(13)}{\int{maxdepth}} % max depth
+\setint{fontdimen(14)}{\int{digitwidth}} % digit width
+\setint{fontdimen(15)}{\int{capstem}} % cap_stem
+\setint{fontdimen(16)}{\int{baselineskip}} % baselineskip
+
+\setslot{Gamma}
+\endsetslot
+
+\setslot{Delta}
+\endsetslot
+
+\setslot{Theta}
+\endsetslot
+
+\setslot{Lambda}
+\endsetslot
+
+\setslot{Xi}
+\endsetslot
+
+\setslot{Pi}
+\endsetslot
+
+\setslot{Sigma}
+\endsetslot
+
+\setslot{Upsilon}
+\endsetslot
+
+\setslot{Phi}
+\endsetslot
+
+\setslot{Psi}
+\endsetslot
+
+\setslot{Omega}
+\endsetslot
+
+\ifisint{typewriter}\then
+ \setslot{arrowup}
+ \endsetslot
+
+ \setslot{arrowdown}
+ \endsetslot
+
+ \setslot{qoutesingle}
+ \endsetslot
+
+ \setslot{exclamdown}
+ \endsetslot
+
+ \setslot{questiondown}
+ \endsetslot
+\Else
+ \setslot{ff}
+ \ligature{LIG}{i}{ffi}
+ \ligature{LIG}{l}{ffl}
+ \endsetslot
+
+ \setslot{fi}
+ \endsetslot
+
+ \setslot{fl}
+ \endsetslot
+
+ \setslot{ffi}
+ \endsetslot
+
+ \setslot{ffl}
+ \endsetslot
+\Fi
+
+\setslot{dotlessi}
+\endsetslot
+
+\setslot{dotlessj}
+\endsetslot
+
+\setslot{grave}
+\endsetslot
+
+\setslot{acute}
+\endsetslot
+
+\setslot{caron}
+\endsetslot
+
+\setslot{breve}
+\endsetslot
+
+\setslot{macron}
+\endsetslot
+
+\setslot{ring}
+\endsetslot
+
+\setslot{cedilla}
+\endsetslot
+
+\setslot{germandbls}
+\endsetslot
+
+\setslot{ae}
+\endsetslot
+
+\setslot{oe}
+\endsetslot
+
+\setslot{oslash}
+\endsetslot
+
+\setslot{AE}
+\endsetslot
+
+\setslot{OE}
+\endsetslot
+
+\setslot{Oslash}
+\endsetslot
+
+\setslot{space}
+\endsetslot
+
+% \ifisint{typewriter}\then
+% \setslot{visiblespace}
+% \endsetslot
+% \Else
+% \setleftboundary{space}
+% \endsetleftboundary
+% \setrightboundary{space}
+% \Fi
+
+\setslot{exclam}
+% \ligature{LIG}{quoteleft}{exclamdown}
+\endsetslot
+
+\ifisint{typewriter}\then
+ \setslot{quotedbl}
+ \endsetslot
+\Else
+ \setslot{quotedblright}
+ \endsetslot
+\Fi
+
+\setslot{numbersign}
+\endsetslot
+
+\setslot{dollar}
+\endsetslot
+
+\setslot{percent}
+\endsetslot
+
+\setslot{ampersand}
+\endsetslot
+
+\setslot{quoteright}
+ \ifisint{typewriter}\then \Else
+ \ligature{LIG}{quoteright}{quotedblright}
+ \Fi
+\endsetslot
+
+\setslot{parenleft}
+\endsetslot
+
+\setslot{parenright}
+\endsetslot
+
+\setslot{asterisk}
+\endsetslot
+
+\setslot{plus}
+\endsetslot
+
+\setslot{comma}
+ \ifisint{typewriter}\then\Else
+ \ligature{LIG}{comma}{quotedblbase}
+ \Fi
+\endsetslot
+
+\setslot{hyphen}
+ \ifisint{typewriter}\then\Else
+ \ligature{LIG}{hyphen}{endash}
+ \Fi
+\endsetslot
+
+\setslot{period}
+\endsetslot
+
+\setslot{slash}
+\endsetslot
+
+\setslot{zero}
+\endsetslot
+
+\setslot{one}
+\endsetslot
+
+\setslot{two}
+\endsetslot
+
+\setslot{three}
+\endsetslot
+
+\setslot{four}
+\endsetslot
+
+\setslot{five}
+\endsetslot
+
+\setslot{six}
+\endsetslot
+
+\setslot{seven}
+\endsetslot
+
+\setslot{eight}
+\endsetslot
+
+\setslot{nine}
+\endsetslot
+
+\setslot{colon}
+\endsetslot
+
+\setslot{semicolon}
+\endsetslot
+
+\ifisint{typewriter}\then
+ \setslot{less}
+ \endsetslot
+
+ \setslot{equal}
+ \endsetslot
+
+ \setslot{greater}
+ \endsetslot
+\Else
+ \setslot{exclamdown}
+ \ligature{LIG}{exclamdown}{guillemotleft}
+ \endsetslot
+
+ \setslot{equal}
+ \endsetslot
+
+ \setslot{questiondown}
+ \ligature{LIG}{questiondown}{guillemotright}
+ \endsetslot
+\Fi
+
+\setslot{question}
+% \ligature{LIG}{quoteleft}{questiondown}
+\endsetslot
+
+\setslot{at}
+\endsetslot
+
+\setslot{A}
+\endsetslot
+
+\setslot{B}
+\endsetslot
+
+\setslot{C}
+\endsetslot
+
+\setslot{D}
+\endsetslot
+
+\setslot{E}
+\endsetslot
+
+\setslot{F}
+\endsetslot
+
+\setslot{G}
+\endsetslot
+
+\setslot{H}
+\endsetslot
+
+\setslot{I}
+\endsetslot
+
+\setslot{J}
+\endsetslot
+
+\setslot{K}
+\endsetslot
+
+\setslot{L}
+\endsetslot
+
+\setslot{M}
+\endsetslot
+
+\setslot{N}
+\endsetslot
+
+\setslot{O}
+\endsetslot
+
+\setslot{P}
+\endsetslot
+
+\setslot{Q}
+\endsetslot
+
+\setslot{R}
+\endsetslot
+
+\setslot{S}
+\endsetslot
+
+\setslot{T}
+\endsetslot
+
+\setslot{U}
+\endsetslot
+
+\setslot{V}
+\endsetslot
+
+\setslot{W}
+\endsetslot
+
+\setslot{X}
+\endsetslot
+
+\setslot{Y}
+\endsetslot
+
+\setslot{Z}
+\endsetslot
+
+\setslot{bracketleft}
+\endsetslot
+
+\ifisint{typewriter}\then
+ \setslot{backslash}
+ \endsetslot
+\Else
+ \setslot{quotedblleft}
+ \endsetslot
+\Fi
+
+\setslot{bracketright}
+\endsetslot
+
+\setslot{circumflex}
+\endsetslot
+
+\ifisint{typewriter}\then
+ \setslot{underscore}
+ \endsetslot
+\Else
+ \setslot{dotaccent}
+ \endsetslot
+\Fi
+
+\setslot{quoteleft}
+ \ifisint{typewriter}\then \Else
+ \ligature{LIG}{quoteleft}{quotedblleft}
+ \Fi
+\endsetslot
+
+\setslot{a}
+\endsetslot
+
+\setslot{b}
+\endsetslot
+
+\setslot{c}
+\endsetslot
+
+\setslot{d}
+\endsetslot
+
+\setslot{e}
+\endsetslot
+
+\setslot{f}
+ \ifisint{typewriter}\then \Else
+ \ligature{LIG}{i}{fi}
+ \ligature{LIG}{f}{ff}
+ \ligature{LIG}{l}{fl}
+ \Fi
+\endsetslot
+
+\setslot{g}
+\endsetslot
+
+\setslot{h}
+\endsetslot
+
+\setslot{i}
+\endsetslot
+
+\setslot{j}
+\endsetslot
+
+\setslot{k}
+\endsetslot
+
+\setslot{l}
+\endsetslot
+
+\setslot{m}
+\endsetslot
+
+\setslot{n}
+\endsetslot
+
+\setslot{o}
+\endsetslot
+
+\setslot{p}
+\endsetslot
+
+\setslot{q}
+\endsetslot
+
+\setslot{r}
+\endsetslot
+
+\setslot{s}
+\endsetslot
+
+\setslot{t}
+\endsetslot
+
+\setslot{u}
+\endsetslot
+
+\setslot{v}
+\endsetslot
+
+\setslot{w}
+\endsetslot
+
+\setslot{x}
+\endsetslot
+
+\setslot{y}
+\endsetslot
+
+\setslot{z}
+\endsetslot
+
+\ifisint{typewriter}\then
+ \setslot{braceleft}
+ \endsetslot
+
+ \setslot{bar}
+ \endsetslot
+
+ \setslot{braceright}
+ \endsetslot
+\Else
+ \setslot{endash}
+ \ligature{LIG}{hyphen}{emdash}
+ \endsetslot
+
+ \setslot{emdash}
+ \endsetslot
+
+ \setslot{hungarumlaut}
+ \endsetslot
+\Fi
+
+\setslot{tilde}
+\endsetslot
+
+\setslot{dieresis}
+\endsetslot
+
+\setslot{ellipsis}
+\endsetslot
+
+\setslot{dagger}
+\endsetslot
+
+\setslot{daggerdbl}
+\endsetslot
+
+\setslot{bullet}
+\endsetslot
+
+\setslot{sterling}
+\endsetslot
+
+\setslot{paragraph}
+\endsetslot
+
+\setslot{ref-period}
+\endsetslot % 134
+
+\setslot{ref-comma}
+\endsetslot % 135
+
+\setslot{note-period}
+\endsetslot % 136
+
+\setslot{note-comma}
+\endsetslot % 136
+
+\setslot{ref-period-quoteleft}
+\endsetslot % 137
+
+\setslot{ref-period-quotedblleft}
+\endsetslot % 138
+
+\setslot{ref-comma-quoteleft}
+\endsetslot % 139
+
+\setslot{ref-comma-quotedblleft}
+\endsetslot % 140
+
+\nextslot{141}
+\setslot{perthousand}
+\endsetslot
+
+\setslot{verse-lb}
+\endsetslot % 142
+
+\setslot{verse-rb}
+\endsetslot % 143
+
+\setslot{textmark-lb}
+\endsetslot % 144
+
+\setslot{textmark-rb}
+\endsetslot % 145
+
+\setslot{note-lb}
+\endsetslot % 146
+
+\setslot{note-rb}
+ \ligature{LIG}{comma}{note-comma}
+ \ligature{LIG}{period}{note-period}
+\endsetslot % 147
+
+\setslot{ref-lb}
+\endsetslot % 148
+
+\setslot{ref-rb}
+ \ligature{LIG}{comma}{ref-comma}
+ \ligature{LIG}{period}{ref-period}
+\endsetslot % 149
+
+\setslot{quotesinglbase}
+\endsetslot % 150
+
+\setslot{copyright}
+\endsetslot % 151
+
+\nextslot{152}
+\setslot{Agrave}
+\endsetslot
+
+\setslot{note-period-quoteleft}
+\endsetslot % 153
+
+\setslot{note-period-quotedblleft}
+\endsetslot % 154
+
+\setslot{note-comma-quoteleft}
+\endsetslot % 155
+
+\nextslot{156}
+\setslot{hyphenchar}
+\endsetslot
+
+\setslot{ogonek}
+\endsetslot
+
+\setslot{guillemotleft}
+\endsetslot
+
+\setslot{guillemotright}
+\endsetslot
+
+\setslot{note-comma-quotedblleft}
+\endsetslot % 160
+
+% \nextslot{161}
+\setslot{Aogonek}
+\endsetslot
+
+\setslot{breve}
+\endsetslot
+
+\setslot{Lslash}
+\endsetslot
+
+\setslot{currency}
+\endsetslot
+
+\setslot{Lcaron}
+\endsetslot
+
+\setslot{Sacute}
+\endsetslot
+
+\setslot{section}
+\endsetslot
+
+\setslot{dieresis}
+\endsetslot
+
+\setslot{Scaron}
+\endsetslot
+
+\setslot{Scedilla}
+\endsetslot
+
+\setslot{Tcaron}
+\endsetslot
+
+\setslot{Zacute}
+\endsetslot
+
+\nextslot{174}
+\setslot{Zcaron}
+\endsetslot
+
+\setslot{Zdotaccent}
+\endsetslot
+
+\setslot{ring}
+\endsetslot
+
+\setslot{aogonek}
+\endsetslot
+
+\setslot{cedilla}
+\endsetslot
+
+\setslot{lslash}
+\endsetslot
+
+\setslot{acute}
+\endsetslot
+
+\setslot{lcaron}
+\endsetslot
+
+\setslot{sacute}
+\endsetslot
+
+\setslot{caron}
+\endsetslot
+
+\setslot{agrave}
+\endsetslot
+
+\setslot{scaron}
+\endsetslot
+
+\setslot{scedilla}
+\endsetslot
+
+\setslot{tcaron}
+\endsetslot
+
+\setslot{zacute}
+\endsetslot
+
+\setslot{hungarumlaut}
+\endsetslot
+
+\setslot{zcaron}
+\endsetslot
+
+\setslot{zdotaccent}
+\endsetslot
+
+\setslot{Racute}
+\endsetslot
+
+\setslot{Aacute}
+\endsetslot
+
+\setslot{Acircumflex}
+\endsetslot
+
+\setslot{Abreve}
+\endsetslot
+
+\setslot{Adieresis}
+\endsetslot
+
+\setslot{Lacute}
+\endsetslot
+
+\setslot{Cacute}
+\endsetslot
+
+\setslot{Ccedilla}
+\endsetslot
+
+\setslot{Ccaron}
+\endsetslot
+
+\setslot{Eacute}
+\endsetslot
+
+\setslot{Eogonek}
+\endsetslot
+
+\setslot{Edieresis}
+\endsetslot
+
+\setslot{Ecaron}
+\endsetslot
+
+\setslot{Iacute}
+\endsetslot
+
+\setslot{Icircumflex}
+\endsetslot
+
+\setslot{Dcaron}
+\endsetslot
+
+\setslot{Eth}
+\endsetslot
+
+\setslot{Nacute}
+\endsetslot
+
+\setslot{Ncaron}
+\endsetslot
+
+\setslot{Oacute}
+\endsetslot
+
+\setslot{Ocircumflex}
+\endsetslot
+
+\setslot{Ohungarumlaut}
+\endsetslot
+
+\setslot{Odieresis}
+\endsetslot
+
+\setslot{multiply}
+\endsetslot
+
+\setslot{Rcaron}
+\endsetslot
+
+\setslot{Uring}
+\endsetslot
+
+\setslot{Uacute}
+\endsetslot
+
+\setslot{Uhungarumlaut}
+\endsetslot
+
+\setslot{Udieresis}
+\endsetslot
+
+\setslot{Yacute}
+\endsetslot
+
+\setslot{Togonek}
+\endsetslot
+
+\setslot{germandbls}
+\endsetslot
+
+\setslot{racute}
+\endsetslot
+
+\setslot{aacute}
+\endsetslot
+
+\setslot{acircumflex}
+\endsetslot
+
+\setslot{abreve}
+\endsetslot
+
+\setslot{adieresis}
+\endsetslot
+
+\setslot{lacute}
+\endsetslot
+
+\setslot{cacute}
+\endsetslot
+
+\setslot{ccedilla}
+\endsetslot
+
+\setslot{ccaron}
+\endsetslot
+
+\setslot{eacute}
+\endsetslot
+
+\setslot{eogonek}
+\endsetslot
+
+\setslot{edieresis}
+\endsetslot
+
+\setslot{ecaron}
+\endsetslot
+
+\setslot{iacute}
+\endsetslot
+
+\setslot{icircumflex}
+\endsetslot
+
+\setslot{dcaron}
+\endsetslot
+
+\setslot{eth}
+\endsetslot
+
+\setslot{nacute}
+\endsetslot
+
+\setslot{ncaron}
+\endsetslot
+
+\setslot{oacute}
+\endsetslot
+
+\setslot{ocircumflex}
+\endsetslot
+
+\setslot{ohungarumlaut}
+\endsetslot
+
+\setslot{odieresis}
+\endsetslot
+
+\setslot{divide}
+\endsetslot
+
+\setslot{rcaron}
+\endsetslot
+
+\setslot{uring}
+\endsetslot
+
+\setslot{uacute}
+\endsetslot
+
+\setslot{uhungarumlaut}
+\endsetslot
+
+\setslot{udieresis}
+\endsetslot
+
+\setslot{yacute}
+\endsetslot
+
+\setslot{quotedblbase}
+\endsetslot
+
+\setslot{quotedblleft}
+\endsetslot
+
+\endencoding
+\end{document}
diff --git a/Master/texmf-dist/doc/pdftex/thanh/ext/il2.mtx b/Master/texmf-dist/doc/pdftex/thanh/ext/il2.mtx
new file mode 100644
index 00000000000..e4f389e4b97
--- /dev/null
+++ b/Master/texmf-dist/doc/pdftex/thanh/ext/il2.mtx
@@ -0,0 +1,223 @@
+\relax
+
+\metrics
+
+\setint{italicslant}{0}
+\setint{xheight}{\height{x}}
+\setint{capheight}{\height{A}}
+\setint{stem}{\bbw{period}}
+\setint{vstem}{\bbh{period}}
+\setint{italcorr}{\scale{\int{xheight}}{\int{italicslant}}}
+
+\setint{accent-gap}{\add{\scale{100}{\int{xheight}}}
+ {\scale{100}{\int{vstem}}}}
+\setint{accent-bot}{\add{\int{xheight}}{\int{accent-gap}}}
+
+\setint{Accent-gap}{\add{\scale{50}{\int{xheight}}}
+ {\scale{50}{\int{vstem}}}}
+\setint{Accent-bot}{\add{\int{capheight}}{\int{Accent-gap}}}
+
+\setint{accent-sx}{0}
+\setint{accent-sy}{0}
+\setint{Accent-sx}{0}
+\setint{Accent-sy}{0}
+\setint{quoteright-scale}{900}
+
+\setint{acute-sx}{\add{\int{accent-sx}}{\scale{100}{\width{acute}}}}
+\setint{caron-sx}{\int{accent-sx}}
+\setint{circumflex-sx}{\int{accent-sx}}
+\setint{dieresis-sx}{\int{accent-sx}}
+\setint{grave-sx}{\int{accent-sx}}
+\setint{ring-sx}{\int{accent-sx}}
+
+\setAsx{Acute}{acute}{\add{\int{Accent-sx}}{\scale{100}{\width{Acute}}}}
+\setAsx{Caron}{caron}{\int{Accent-sx}}
+\setAsx{Circumflex}{circumflex}{\int{Accent-sx}}
+\setAsx{Dieresis}{dieresis}{\int{Accent-sx}}
+\setAsx{Grave}{grave}{\int{Accent-sx}}
+\setAsx{Ring}{ring}{\int{Accent-sx}}
+
+\setsy{acute}{accent-bot}{\int{accent-sy}}
+\setsy{caron}{accent-bot}{\int{accent-sy}}
+\setsy{circumflex}{accent-bot}{\int{accent-sy}}
+\setsy{dieresis}{accent-bot}{\int{accent-sy}}
+\setsy{grave}{accent-bot}{\int{accent-sy}}
+\setsy{ring}{accent-bot}{\int{accent-sy}}
+
+\setsy{Acute}{Accent-bot}{\int{Accent-sy}}
+\setsy{Caron}{Accent-bot}{\int{Accent-sy}}
+\setsy{Circumflex}{Accent-bot}{\int{Accent-sy}}
+\setsy{Grave}{Accent-bot}{\int{Accent-sy}}
+\setint{Dieresis-sy}{\add{\int{Accent-sy}}
+ {\sub{\int{Accent-bot}}{\lly{dieresis}}}}
+\setint{Ring-sy}{\add{\int{Accent-sy}}
+ {\sub{\int{Accent-bot}}{\lly{ring}}}}
+
+\composeglyphpac{aacute}{a}{acute}{\scale{300}{\int{italcorr}}}{0}
+\composeglyphpac{Aacute}{A}{Acute}{\scale{200}{\int{italcorr}}}{0}
+
+% \composeglyphpac{adieresis}{a}{dieresis}{\scale{400}{\int{italcorr}}}{0}
+% \composeglyphpac{Adieresis}{A}{dieresis}{\scale{300}{\int{italcorr}}}
+% {\sub{\int{Dieresis-sy}}{\int{dieresis-sy}}}
+
+% \composeglyphpac{agrave}{a}{grave}{0}{0}
+% \composeglyphpac{Agrave}{A}{Grave}{0}{0}
+
+\composeglyphpac{ccaron}{c}{caron}{\scale{120}{\bbw{caron}}}{0}
+\composeglyphpac{Ccaron}{C}{Caron}
+ {\add{\scale{500}{\int{italcorr}}}{\scale{200}{\bbw{Caron}}}}{0}
+
+\resetglyph{dcaron}
+ \putquoteright{d}{\int{quoteright-scale}}
+ {\add{\scale{-500}{\scale{\int{quoteright-scale}}{\bbw{quoteright}}}}
+ {\scale{-200}{\int{italcorr}}}}
+ {\scale{300}{\scale{\int{quoteright-scale}}{\bbw{quoteright}}}}
+ {\sub{\add{\height{d}}{\scale{300}{\int{stem}}}}
+ {\scale{\int{quoteright-scale}}{\bbh{quoteright}}}}
+\endresetglyph
+\setleftkerning{dcaron}{d}{1000}
+\setrightkerning{dcaron}{f}{800}
+\composeglyphpac{Dcaron}{D}{Caron}{\scale{-200}{\bbw{Caron}}}{0}
+
+\composeglyphpac{eacute}{e}{acute}{\scale{200}{\int{italcorr}}}{0}
+\composeglyphpac{Eacute}{E}{Acute}{0}{0}
+
+\composeglyphpac{ecaron}{e}{caron}
+ {\add{\scale{100}{\int{italcorr}}}{\scale{50}{\bbw{caron}}}}{0}
+\composeglyphpac{Ecaron}{E}{Caron}{\scale{100}{\int{italcorr}}}{0}
+
+\composeglyphpac{iacute}{dotlessi}{acute}{\scale{-100}{\width{acute}}}{0}
+\composeglyphpac{Iacute}{I}{Acute}{0}{0}
+
+% \composeglyphpac{lacute}{l}{acute}{0}
+% {\sub{\sub{\add{\height{l}}{\scale{500}{\int{accent-gap}}}}
+% {\lly{acute}}}
+% {\int{acute-sy}}}
+% \composeglyphpac{Lacute}{L}{Acute}{0}
+% {\sub{\sub{\add{\height{L}}{\scale{500}{\int{Accent-gap}}}}
+% {\lly{Acute}}}
+% {\int{Acute-sy}}}
+
+% \resetglyph{lcaron}
+% \putquoteright{l}{\int{quoteright-scale}}
+% {\scale{-700}{\scale{\int{quoteright-scale}}{\bbw{quoteright}}}}
+% {\scale{300}{\scale{\int{quoteright-scale}}{\bbw{quoteright}}}}
+% {\sub{\height{l}}{\scale{\int{quoteright-scale}}{\bbh{quoteright}}}}
+% \endresetglyph
+% \setleftkerning{lcaron}{l}{1000}
+% \setrightkerning{lcaron}{f}{800}
+
+% \resetglyph{Lcaron}
+% \putquoteright{L}{\int{quoteright-scale}}
+% {\sub{\sub{\urx{I}}{\scale{500}{\int{stem}}}}{\urx{L}}}
+% {0}
+% {\sub{\height{L}}{\scale{\int{quoteright-scale}}{\bbh{quoteright}}}}
+% \endresetglyph
+% \setleftrightkerning{Lcaron}{L}{1000}
+
+\composeglyphpac{ncaron}{n}{caron}{0}{0}
+\composeglyphpac{Ncaron}{N}{Caron}{0}{0}
+
+\composeglyphpac{oacute}{o}{acute}{0}{0}
+\composeglyphpac{Oacute}{O}{Acute}{0}{0}
+
+% \composeglyphpac{ocircumflex}{o}{circumflex}{0}{0}
+% \composeglyphpac{Ocircumflex}{O}{Circumflex}{0}{0}
+
+\composeglyphpac{odieresis}{o}{dieresis}{0}{0}
+\composeglyphpac{Odieresis}{O}{dieresis}{0}
+ {\sub{\int{Dieresis-sy}}{\int{dieresis-sy}}}
+
+% \composeglyphpac{racute}{r}{acute}{0}{0}
+% \composeglyphpac{Racute}{R}{Acute}{\scale{-150}{\bbw{Acute}}}{0}
+
+\composeglyphpac{rcaron}{r}{caron}{\scale{100}{\bbw{caron}}}{0}
+\composeglyphpac{Rcaron}{R}{Caron}{\scale{-100}{\bbw{Caron}}}{0}
+
+\composeglyphpac{scaron}{s}{caron}{0}{0}
+\composeglyphpac{Scaron}{S}{Caron}{0}{0}
+
+\resetglyph{tcaron}
+ \putquoteright{t}{\int{quoteright-scale}}
+ {\scale{-400}{\width{t}}}
+ {0}
+ {\add{\int{xheight}}{\scale{500}{\int{vstem}}}}
+\endresetglyph
+\setleftrightkerning{tcaron}{t}{1000}
+\composeglyphpac{Tcaron}{T}{Caron}{\scale{50}{\int{italcorr}}}{0}
+
+\composeglyphpac{uacute}{u}{acute}{\scale{150}{\int{italcorr}}}{0}
+\composeglyphpac{Uacute}{U}{Acute}{\scale{200}{\bbw{Acute}}}{0}
+
+% \composeglyphpac{udieresis}{u}{dieresis}{0}{0}
+% \composeglyphpac{Udieresis}{U}{dieresis}{0}
+% {\sub{\int{Dieresis-sy}}{\int{dieresis-sy}}}
+
+\composeglyphpac{uring}{u}{ring}{\scale{100}{\int{italcorr}}}{0}
+\composeglyphpac{Uring}{U}{ring}{\scale{200}{\bbw{ring}}}
+ {\sub{\int{Ring-sy}}{\int{ring-sy}}}
+
+\composeglyphpac{yacute}{y}{acute}{0}{0}
+\composeglyphpac{Yacute}{Y}{Acute}{\scale{200}{\bbw{Acute}}}{0}
+
+\composeglyphpac{zcaron}{z}{caron}{0}{0}
+\composeglyphpac{Zcaron}{Z}{Caron}{0}{0}
+
+\unsetkerns{T,P}{aacute,adieresis}
+\unsetkerns{V}{ccaron}
+\unsetkerns{P,T,V}{ecaron}
+\unsetkerns{P,T}{eacute}
+\unsetkerns{F,P,T,V}{rcaron}
+\unsetkerns{P,T}{racute}
+\unsetkerns{F,P,T,V}{scaron}
+\unsetkerns{F,P,T,V}{uring}
+\unsetkerns{F,P,T,V}{zcaron}
+\setkerns{eacute,ecaron,iacute}{quotedblleft}{\width{quoteleft}}
+\setkerns{eacute,ecaron,iacute}{quoteleft}{\width{quoteleft}}
+
+\setglyph{ff}
+ \glyph{f}{1000}
+ \movert{\kerning{f}{f}}
+ \glyph{f}{1000}
+\endsetglyph
+
+\setglyph{fl}
+ \glyph{f}{1000}
+ \movert{\kerning{f}{l}}
+ \glyph{l}{1000}
+\endsetglyph
+
+\setglyph{ffi}
+ \glyph{f}{1000}
+ \movert{\kerning{f}{f}}
+ \glyph{fi}{1000}
+\endsetglyph
+
+\setglyph{ffl}
+ \glyph{f}{1000}
+ \movert{\kerning{f}{f}}
+ \glyph{fl}{1000}
+\endsetglyph
+
+\setglyph{rangedash}
+ \ifisint{monowidth}\then
+ \glyph{hyphen}{1000}
+ \else
+ \glyph{endash}{1000}
+ \fi
+\endsetglyph
+
+\setglyph{punctdash}
+ \ifisint{monowidth}\then
+ \glyph{hyphen}{1000}
+ \glyph{hyphen}{1000}
+ \else
+ \glyph{emdash}{1000}
+ \fi
+\endsetglyph
+
+\setglyph{hyphenchar}
+ \glyph{hyphen}{1000}
+\endsetglyph
+
+\endmetrics
diff --git a/Master/texmf-dist/doc/pdftex/thanh/ext/il2protcode.tex b/Master/texmf-dist/doc/pdftex/thanh/ext/il2protcode.tex
new file mode 100644
index 00000000000..79eb248fff1
--- /dev/null
+++ b/Master/texmf-dist/doc/pdftex/thanh/ext/il2protcode.tex
@@ -0,0 +1,174 @@
+\input protcode.tex
+
+\def\setczprotcode#1{%
+ \lpcode #1 `\,=700 % ,
+ \rpcode #1 `\`=700 % `
+% \lpcode #1 254=400 % ,,
+ \lpcode #1 254=300 % ,,
+ \rpcode #1 255=500 % ``
+ \setprotcode #1
+ \lpcode #1 28=\lpcode #1 `\o % oslash
+ \lpcode #1 31=\lpcode #1 `\O % Oslash
+ \lpcode #1 152=\lpcode #1 `\A % Agrave
+ \lpcode #1 161=\lpcode #1 `\A % Aogonek
+ \lpcode #1 163=\lpcode #1 `\L % Lslash
+ \lpcode #1 165=\lpcode #1 `\L % Lcaron
+ \lpcode #1 166=\lpcode #1 `\S % Sacute
+ \lpcode #1 169=\lpcode #1 `\S % Scaron
+ \lpcode #1 170=\lpcode #1 `\S % Scedilla
+ \lpcode #1 171=\lpcode #1 `\T % Tcaron
+ \lpcode #1 172=\lpcode #1 `\Z % Zacute
+ \lpcode #1 174=\lpcode #1 `\Z % Zcaron
+ \lpcode #1 175=\lpcode #1 `\Z % Zdotaccent
+ \lpcode #1 177=\lpcode #1 `\a % aogonek
+ \lpcode #1 179=\lpcode #1 `\l % lslash
+ \lpcode #1 181=\lpcode #1 `\l % lcaron
+ \lpcode #1 182=\lpcode #1 `\s % sacute
+ \lpcode #1 184=\lpcode #1 `\a % agrave
+ \lpcode #1 185=\lpcode #1 `\s % scaron
+ \lpcode #1 186=\lpcode #1 `\s % scedilla
+ \lpcode #1 187=\lpcode #1 `\t % tcaron
+ \lpcode #1 188=\lpcode #1 `\z % zacute
+ \lpcode #1 190=\lpcode #1 `\z % zcaron
+ \lpcode #1 191=\lpcode #1 `\z % zdotaccent
+ \lpcode #1 192=\lpcode #1 `\R % Racute
+ \lpcode #1 193=\lpcode #1 `\A % Aacute
+ \lpcode #1 194=\lpcode #1 `\A % Acircumflex
+ \lpcode #1 195=\lpcode #1 `\A % Abreve
+ \lpcode #1 196=\lpcode #1 `\A % Adieresis
+ \lpcode #1 197=\lpcode #1 `\L % Lacute
+ \lpcode #1 198=\lpcode #1 `\C % Cacute
+ \lpcode #1 199=\lpcode #1 `\C % Ccedilla
+ \lpcode #1 200=\lpcode #1 `\C % Ccaron
+ \lpcode #1 201=\lpcode #1 `\E % Eacute
+ \lpcode #1 202=\lpcode #1 `\E % Eogonek
+ \lpcode #1 203=\lpcode #1 `\E % Edieresis
+ \lpcode #1 204=\lpcode #1 `\E % Ecaron
+ \lpcode #1 205=\lpcode #1 `\I % Iacute
+ \lpcode #1 206=\lpcode #1 `\I % Icircumflex
+ \lpcode #1 207=\lpcode #1 `\D % Dcaron
+ \lpcode #1 209=\lpcode #1 `\N % Nacute
+ \lpcode #1 210=\lpcode #1 `\N % Ncaron
+ \lpcode #1 211=\lpcode #1 `\O % Oacute
+ \lpcode #1 212=\lpcode #1 `\O % Ocircumflex
+ \lpcode #1 213=\lpcode #1 `\O % Ohungarumlaut
+ \lpcode #1 214=\lpcode #1 `\O % Odieresis
+ \lpcode #1 216=\lpcode #1 `\R % Rcaron
+ \lpcode #1 217=\lpcode #1 `\U % Uring
+ \lpcode #1 218=\lpcode #1 `\U % Uacute
+ \lpcode #1 219=\lpcode #1 `\U % Uhungarumlaut
+ \lpcode #1 220=\lpcode #1 `\U % Udieresis
+ \lpcode #1 221=\lpcode #1 `\Y % Yacute
+ \lpcode #1 222=\lpcode #1 `\T % Togonek
+ \lpcode #1 224=\lpcode #1 `\r % racute
+ \lpcode #1 225=\lpcode #1 `\a % aacute
+ \lpcode #1 226=\lpcode #1 `\a % acircumflex
+ \lpcode #1 227=\lpcode #1 `\a % abreve
+ \lpcode #1 228=\lpcode #1 `\a % adieresis
+ \lpcode #1 229=\lpcode #1 `\l % lacute
+ \lpcode #1 230=\lpcode #1 `\c % cacute
+ \lpcode #1 231=\lpcode #1 `\c % ccedilla
+ \lpcode #1 232=\lpcode #1 `\c % ccaron
+ \lpcode #1 233=\lpcode #1 `\e % eacute
+ \lpcode #1 234=\lpcode #1 `\e % eogonek
+ \lpcode #1 235=\lpcode #1 `\e % edieresis
+ \lpcode #1 236=\lpcode #1 `\e % ecaron
+ \lpcode #1 237=\lpcode #1 `\i % iacute
+ \lpcode #1 238=\lpcode #1 `\i % icircumflex
+ \lpcode #1 239=\lpcode #1 `\d % dcaron
+ \lpcode #1 241=\lpcode #1 `\n % nacute
+ \lpcode #1 242=\lpcode #1 `\n % ncaron
+ \lpcode #1 243=\lpcode #1 `\o % oacute
+ \lpcode #1 244=\lpcode #1 `\o % ocircumflex
+ \lpcode #1 245=\lpcode #1 `\o % ohungarumlaut
+ \lpcode #1 246=\lpcode #1 `\o % odieresis
+ \lpcode #1 248=\lpcode #1 `\r % rcaron
+ \lpcode #1 249=\lpcode #1 `\u % uring
+ \lpcode #1 250=\lpcode #1 `\u % uacute
+ \lpcode #1 251=\lpcode #1 `\u % uhungarumlaut
+ \lpcode #1 252=\lpcode #1 `\u % udieresis
+ \lpcode #1 253=\lpcode #1 `\y % yacute
+
+ \rpcode #1 28=\rpcode #1 `\o % oslash
+ \rpcode #1 31=\rpcode #1 `\O % Oslash
+ \rpcode #1 152=\rpcode #1 `\A % Agrave
+ \rpcode #1 161=\rpcode #1 `\A % Aogonek
+ \rpcode #1 163=\rpcode #1 `\L % Lslash
+ \rpcode #1 165=\rpcode #1 `\L % Lcaron
+ \rpcode #1 166=\rpcode #1 `\S % Sacute
+ \rpcode #1 169=\rpcode #1 `\S % Scaron
+ \rpcode #1 170=\rpcode #1 `\S % Scedilla
+ \rpcode #1 171=\rpcode #1 `\T % Tcaron
+ \rpcode #1 172=\rpcode #1 `\Z % Zacute
+ \rpcode #1 174=\rpcode #1 `\Z % Zcaron
+ \rpcode #1 175=\rpcode #1 `\Z % Zdotaccent
+ \rpcode #1 177=\rpcode #1 `\a % aogonek
+ \rpcode #1 179=\rpcode #1 `\l % lslash
+ \rpcode #1 181=\rpcode #1 `\l % lcaron
+ \rpcode #1 182=\rpcode #1 `\s % sacute
+ \rpcode #1 184=\rpcode #1 `\a % agrave
+ \rpcode #1 185=\rpcode #1 `\s % scaron
+ \rpcode #1 186=\rpcode #1 `\s % scedilla
+ \rpcode #1 187=\rpcode #1 `\t % tcaron
+ \rpcode #1 188=\rpcode #1 `\z % zacute
+ \rpcode #1 190=\rpcode #1 `\z % zcaron
+ \rpcode #1 191=\rpcode #1 `\z % zdotaccent
+ \rpcode #1 192=\rpcode #1 `\R % Racute
+ \rpcode #1 193=\rpcode #1 `\A % Aacute
+ \rpcode #1 194=\rpcode #1 `\A % Acircumflex
+ \rpcode #1 195=\rpcode #1 `\A % Abreve
+ \rpcode #1 196=\rpcode #1 `\A % Adieresis
+ \rpcode #1 197=\rpcode #1 `\L % Lacute
+ \rpcode #1 198=\rpcode #1 `\C % Cacute
+ \rpcode #1 199=\rpcode #1 `\C % Ccedilla
+ \rpcode #1 200=\rpcode #1 `\C % Ccaron
+ \rpcode #1 201=\rpcode #1 `\E % Eacute
+ \rpcode #1 202=\rpcode #1 `\E % Eogonek
+ \rpcode #1 203=\rpcode #1 `\E % Edieresis
+ \rpcode #1 204=\rpcode #1 `\E % Ecaron
+ \rpcode #1 205=\rpcode #1 `\I % Iacute
+ \rpcode #1 206=\rpcode #1 `\I % Icircumflex
+ \rpcode #1 207=\rpcode #1 `\D % Dcaron
+ \rpcode #1 209=\rpcode #1 `\N % Nacute
+ \rpcode #1 210=\rpcode #1 `\N % Ncaron
+ \rpcode #1 211=\rpcode #1 `\O % Oacute
+ \rpcode #1 212=\rpcode #1 `\O % Ocircumflex
+ \rpcode #1 213=\rpcode #1 `\O % Ohungarumlaut
+ \rpcode #1 214=\rpcode #1 `\O % Odieresis
+ \rpcode #1 216=\rpcode #1 `\R % Rcaron
+ \rpcode #1 217=\rpcode #1 `\U % Uring
+ \rpcode #1 218=\rpcode #1 `\U % Uacute
+ \rpcode #1 219=\rpcode #1 `\U % Uhungarumlaut
+ \rpcode #1 220=\rpcode #1 `\U % Udieresis
+ \rpcode #1 221=\rpcode #1 `\Y % Yacute
+ \rpcode #1 222=\rpcode #1 `\T % Togonek
+ \rpcode #1 224=\rpcode #1 `\r % racute
+ \rpcode #1 225=\rpcode #1 `\a % aacute
+ \rpcode #1 226=\rpcode #1 `\a % acircumflex
+ \rpcode #1 227=\rpcode #1 `\a % abreve
+ \rpcode #1 228=\rpcode #1 `\a % adieresis
+ \rpcode #1 229=\rpcode #1 `\l % lacute
+ \rpcode #1 230=\rpcode #1 `\c % cacute
+ \rpcode #1 231=\rpcode #1 `\c % ccedilla
+ \rpcode #1 232=\rpcode #1 `\c % ccaron
+ \rpcode #1 233=\rpcode #1 `\e % eacute
+ \rpcode #1 234=\rpcode #1 `\e % eogonek
+ \rpcode #1 235=\rpcode #1 `\e % edieresis
+ \rpcode #1 236=\rpcode #1 `\e % ecaron
+ \rpcode #1 237=\rpcode #1 `\i % iacute
+ \rpcode #1 238=\rpcode #1 `\i % icircumflex
+ \rpcode #1 239=\rpcode #1 `\d % dcaron
+ \rpcode #1 241=\rpcode #1 `\n % nacute
+ \rpcode #1 242=\rpcode #1 `\n % ncaron
+ \rpcode #1 243=\rpcode #1 `\o % oacute
+ \rpcode #1 244=\rpcode #1 `\o % ocircumflex
+ \rpcode #1 245=\rpcode #1 `\o % ohungarumlaut
+ \rpcode #1 246=\rpcode #1 `\o % odieresis
+ \rpcode #1 248=\rpcode #1 `\r % rcaron
+ \rpcode #1 249=\rpcode #1 `\u % uring
+ \rpcode #1 250=\rpcode #1 `\u % uacute
+ \rpcode #1 251=\rpcode #1 `\u % uhungarumlaut
+ \rpcode #1 252=\rpcode #1 `\u % udieresis
+ \rpcode #1 253=\rpcode #1 `\y % yacute
+}
+\endinput
diff --git a/Master/texmf-dist/doc/pdftex/thanh/ext/mktextfm b/Master/texmf-dist/doc/pdftex/thanh/ext/mktextfm
new file mode 100644
index 00000000000..1c2857b8d07
--- /dev/null
+++ b/Master/texmf-dist/doc/pdftex/thanh/ext/mktextfm
@@ -0,0 +1,151 @@
+#!/bin/sh
+# mktextfm -- make a new TFM file, because one wasn't found.
+#
+# (If you change or delete the word `original' on the previous line,
+# installation won't write this script over yours.)
+#
+# te@informatik.uni-hannover.de, kb@mail.tug.org, and infovore@xs4all.nl.
+# Public domain.
+
+version='$Id: mktextfm,v 1.17 1998/02/16 08:56:13 olaf Exp $'
+progname=`echo $0 | sed 's%.*/%%'`
+usage="Usage: $progname [--destdir DESTDIR] FONT.
+
+Makes a TFM file for FONT, if possible. Use DESTDIR for the root of where
+to install into, either the absolute directory name to use (if it starts
+with a /) or relative to the default DESTDIR (if not)."
+
+# Handle non-positional options, except for --version/--help
+while test $# -gt 0; do
+ case "$1" in
+ --destdir) shift; DEST="$1"; shift ;;
+ --destdir=*) DEST="`echo \"$1\" | sed 's/--destdir=//'`"; shift ;;
+ --version|-version) break ;;
+ --help|-help) break ;;
+ *) break ;;
+ esac
+done
+
+# Common code for all scripts.
+: ${MT_TEXMFMAIN=`kpsewhich --expand-path='$TEXMFMAIN'`}
+: ${MT_MKTEX_OPT=`kpsewhich --format='web2c files' mktex.opt`}
+test -n "$MT_MKTEX_OPT" || MT_MKTEX_OPT="$MT_TEXMFMAIN/web2c/mktex.opt"
+if test ! -f "$MT_MKTEX_OPT"; then
+ echo "$progname: Cannot find mktex.opt; check your installation." >&2
+ exit 1
+fi
+
+. "$MT_MKTEX_OPT"
+
+# start of redirection stdout -> stderr, stdin <- /dev/null
+(
+
+NAME=`basename "$1" .tfm`
+MAG=1
+#DEST="$2"
+DPI=$BDPI
+
+OIFS=$IFS; IFS=$SEP
+set x `"$MT_MKTEXNAM" $NAME $DPI $MODE $DEST`; shift
+IFS=$OIFS
+
+PKDEST="$1"
+TFMDEST="$2"
+PKDESTDIR=`echo "$PKDEST" | sed 's%/[^/][^/]*$%%'` # can't rely on dirname
+TFMDESTDIR=`echo "$TFMDEST" | sed 's%/[^/][^/]*$%%'`
+PKNAME=`basename "$PKDEST"`
+TFMNAME=$NAME.tfm
+GFNAME=$NAME.$DPI'gf'
+
+if test -r "$TFMDESTDIR/$TFMNAME"; then
+ echo "$progname: $TFMDESTDIR/$TFMNAME already exists." >&2
+ echo "$TFMDESTDIR/$TFMNAME" >$STDOUT
+ "$MT_MKTEXUPD" "$TFMDESTDIR" $TFMNAME
+ exit
+fi
+
+# Try to create the destdir first. Do not create fonts, if this fails.
+"$MT_MKTEXDIR" "$TFMDESTDIR"
+if test ! -d "$TFMDESTDIR"; then
+ echo "$progname: mktexdir $TFMDESTDIR failed."
+ exit 1
+fi
+
+case "$NAME" in
+cm*[+-][0-9]*|cs*[+-][0-9]*|vn*[+-][0-9]*)
+ BASE_MFNAME=`expr $NAME : '\(.*\)[+-][0-9]*$'`
+ EXPANSION=`expr $NAME : '.*\([+-][0-9]*\)$'`
+ echo "/^u#:=[0-9.]*\/[0-9.]*pt#;/a\\" > $NAME.sed
+ echo "u#:=u#$EXPANSION/1000u#;" >> $NAME.sed
+ sed -f $NAME.sed `kpsewhich $BASE_MFNAME.mf` > $NAME.mf
+ MFDESTDIR=`echo "$TFMDESTDIR" | sed 's%/tfm/%/source/%'`
+ "$MT_MKTEXDIR" "$MFDESTDIR" && mv -f $NAME.mf $MFDESTDIR
+ ;;
+tq*[+-][0-9]*)
+ BASE_MFNAME=`expr $NAME : '\(.*\)[+-][0-9]*$'`
+ EXPANSION=`expr $NAME : '.*\([+-][0-9]*\)$'`
+ echo "expansion_ratio := $EXPANSION;" > $NAME.mf
+ echo "input $BASE_MFNAME.mf" >> $NAME.mf
+ MFDESTDIR=`echo "$TFMDESTDIR" | sed 's%/tfm/%/source/%'`
+ "$MT_MKTEXDIR" "$MFDESTDIR" && mv -f $NAME.mf $MFDESTDIR
+ ;;
+*[+-][0-9]*)
+ EXPANSION_TAG=`expr $NAME : '.*\([+-][0-9]*\)$'`
+ ;;
+esac
+
+if test "x$EXPANSION_TAG" = x; then
+cmd="mf \mode:=$MODE; mag:=$MAG; nonstopmode; input $NAME.mf"
+echo "$progname: Running $cmd"
+
+$cmd </dev/null || {
+ grep '^!' $NAME.log >$$.errs 2>/dev/null
+ grep '^! Strange path' $$.errs >$$.strange 2>/dev/null
+ if cmp $$.errs $$.strange >/dev/null 2>&1 \
+ && test -s $$.strange >/dev/null 2>&1; then
+ echo "$progname: warning: \`$cmd' caused strange path errors." >&2
+ else
+ echo "$progname: \`$cmd' failed." >&2
+ test -s $NAME.log && mv -f $NAME.log "$KPSE_DOT"
+ exit 1;
+ fi
+}
+
+else
+mktextfm.ext $NAME $TFMDESTDIR $STDOUT
+exit 0
+fi
+
+test -r $TFMNAME || { echo "$progname: \`$cmd' failed to make $TFMNAME."; exit 1; }
+
+# Install the TFM file carefully, since others may be working simultaneously.
+# Use cp when mv fails, since DOS will fail mv for deeply-nested directories.
+mv $TFMNAME "$TFMDESTDIR/tfm$$.tmp" 2>/dev/null \
+ || cp $TFMNAME "$TFMDESTDIR/tfm$$.tmp" || exit 1
+cd "$TFMDESTDIR" || exit 1
+chmod `kpsestat -xst,go-w .` tfm$$.tmp
+test -r $TFMNAME || mv tfm$$.tmp $TFMNAME || exit 1
+
+# OK, success with the TFM.
+"$MT_MKTEXUPD" "$TFMDESTDIR" $TFMNAME
+echo "$TFMDESTDIR/$TFMNAME" >$STDOUT
+echo "$progname: $TFMDESTDIR/$TFMNAME: successfully generated." >&2
+
+# Since we probably made a GF(->PK) file, too, may as well install it if
+# it's needed.
+cd $TEMPDIR
+if test -r $GFNAME && test ! -f "$PKDESTDIR/$PKNAME"; then
+ gftopk ./$GFNAME $PKNAME || exit 1
+ "$MT_MKTEXDIR" "$PKDESTDIR"
+ mv $PKNAME "$PKDESTDIR/pk$$.tmp" 2>/dev/null \
+ || cp $PKNAME "$PKDESTDIR/pk$$.tmp" || exit 1
+ cd "$PKDESTDIR" || exit 1
+ if test -f $PKNAME; then
+ rm -f pk$$.tmp
+ else
+ chmod `kpsestat -xst,go-w .` pk$$.tmp
+ mv pk$$.tmp $PKNAME
+ "$MT_MKTEXUPD" "$PKDESTDIR" $PKNAME
+ fi
+fi
+) 1>&2 </dev/null
diff --git a/Master/texmf-dist/doc/pdftex/thanh/ext/mktextfm.ext b/Master/texmf-dist/doc/pdftex/thanh/ext/mktextfm.ext
new file mode 100644
index 00000000000..004982c8d51
--- /dev/null
+++ b/Master/texmf-dist/doc/pdftex/thanh/ext/mktextfm.ext
@@ -0,0 +1,104 @@
+#! /bin/sh
+
+# mktextfm.ext: make mm instance and tfm
+
+name=$1
+tfmdestdir=$2
+stdout=$3
+expansion=`expr $name : '.*\([+-][0-9]*\)$'`
+
+t1destdir=`echo "$tfmdestdir" | sed 's%/tfm/%/type1/%'`
+afmdestdir=`echo "$tfmdestdir" | sed 's%/tfm/%/afm/%'`
+vfdestdir=`echo "$tfmdestdir" | sed 's%/tfm/%/vf/%'`
+
+case "$expansion" in
++0)
+ name=`echo $1 | sed 's/[+-]0$//'`
+ ;;
+esac
+
+psname=`echo $name | sed 's/8z/8a/'`
+if test "$expansion" = "+0"; then
+ base_name=$psname
+else
+ base_name=`expr $psname : '\(.*\)[+-][0-9]*$'`
+fi
+mm_map=$HOME/texmf/fontname/mminstance.map
+test -n "$mm_map" &&
+ line=`egrep \^$base_name'[ ]' $mm_map`
+test -n "$line" &&
+ mmname=`expr "$line" : '[^ ][^ ]*[ ][ ]*\([^ ][^ ]*\).*$'`
+
+if test -n "$mmname"; then
+
+base_mmname=`expr "$mmname" : '\([^0-9_]*\)_[0-9]*_.*$'`
+width=`expr "$mmname" : '.*_\([0-9]*\)_wd.*$'`
+weight=`expr "$mmname" : '.*_\([0-9]*\)_wt.*$'`
+opt_size=`expr "$mmname" : '.*_\([0-9]*\)_op.*$'`
+
+if test -n "$width"; then
+ new_width=`echo "scale=2;($width*(1000 $expansion))/1000"|bc`
+ mm_flags="--width=$new_width"
+else
+ echo Font $base_mmname does not have width axis
+ exit 1
+fi
+if test -n "$weight"; then
+ mm_flags="$mm_flags --weight=$weight"
+fi
+if test -n "$opt_size"; then
+ mm_flags="$mm_flags --optical-size=$opt_size"
+fi
+
+mm=`kpsewhich $base_mmname.pfb`
+if test -z "$mm"; then
+ echo $base_mmname.pfb not found!
+ exit 1
+fi
+mmdir=`dirname $mm`
+wdir=`pwd`
+
+cd $mmdir
+cmd mmafm $mm_flags -o $wdir/$psname.afm $base_mmname.amfm
+cmd mmpfb $mm_flags -o $wdir/$psname.pfb $base_mmname.pfb
+
+cd $wdir
+
+cmd mktfm8z $name $psname
+
+"$MT_MKTEXDIR" "$afmdestdir" && mv $psname.afm $afmdestdir && \
+"$MT_MKTEXUPD" "$afmdestdir" $psname.afm
+
+"$MT_MKTEXDIR" "$t1destdir" && mv $psname.pfb $t1destdir && \
+"$MT_MKTEXUPD" "$t1destdir" $psname.pfb
+
+else
+
+if test "$expansion" = "+0"; then
+ expansion=""
+fi
+
+afm=`kpsewhich $base_name.afm`
+if test -z "$afm"; then
+ echo $base_name.afm not found!
+ exit 1
+fi
+
+cp $afm ./
+
+cmd mktfm8z $name $base_name
+
+fi
+
+for f in *.tfm; do
+ mv $f $tfmdestdir
+ "$MT_MKTEXUPD" "$tfmdestdir" $f
+done
+
+"$MT_MKTEXDIR" "$vfdestdir"
+for f in *.vf; do
+ mv $f $vfdestdir
+ "$MT_MKTEXUPD" "$vfdestdir" $f
+done
+
+echo "$tfmdestdir/$name.tfm" >$stdout
diff --git a/Master/texmf-dist/doc/pdftex/thanh/ext/mktfm8z b/Master/texmf-dist/doc/pdftex/thanh/ext/mktfm8z
new file mode 100644
index 00000000000..7b84f893429
--- /dev/null
+++ b/Master/texmf-dist/doc/pdftex/thanh/ext/mktfm8z
@@ -0,0 +1,40 @@
+#!/bin/bash
+
+if test "x$2" = "x"; then
+ echo "Usage: $0 TeX-name PS-name [expansion]"
+ exit 1
+fi
+
+export TEXINPUTS="`pwd`:\$TEXMF/tex/{plain,generic,}//"
+echo TEXINPUTS = $TEXINPUTS
+
+tname=${1%.*}
+pname=${2%.*}
+
+tbase=`echo $tname | sed 's/[+-][0-9]*$//'`
+ttag=`expr $tname : '.*\([+-][0-9]*\)$'`
+pbase=`echo $pname | sed 's/[+-][0-9]*$//'`
+ptag=`expr $pname : '.*\([+-][0-9]*\)$'`
+pbase8r=`echo $pbase | sed 's/8a/8r/'`
+
+if test "x$ttag" != "x$ptag"; then
+cat <<EOF > a.tex
+\input ufntinst.sty
+\transformfont{$pname$ttag}{\xscalefont{\add{1000}{$ttag}}{\fromafm{$pname}}}
+\bye
+EOF
+tex a.tex
+fi
+
+cat <<EOF > b.tex
+\input ufntinst.sty
+
+\installfonts
+\installcsfont{$tbase}{$pbase8r}{$ttag}{$pbase}
+\endinstallfonts
+\bye
+EOF
+tex b.tex
+
+for f in *.pl; do pltotf ${f%.pl}; done
+for f in *.vpl; do vptovf ${f%.vpl}; done
diff --git a/Master/texmf-dist/doc/pdftex/thanh/ext/protcode.tex b/Master/texmf-dist/doc/pdftex/thanh/ext/protcode.tex
new file mode 100644
index 00000000000..2f74bc227a3
--- /dev/null
+++ b/Master/texmf-dist/doc/pdftex/thanh/ext/protcode.tex
@@ -0,0 +1,82 @@
+\input abbr.tex
+
+\def\setprotcode#1{%
+ \rpcode#1`\!=200
+ \rpcode#1`\,=700
+ \rpcode#1`\-=700
+ \rpcode#1`\.=700
+ \rpcode#1`\;=500
+ \rpcode#1`\:=500
+ \rpcode#1`\?=200
+ \lpcode#1`\`=700
+ \rpcode#1`\'=700
+ \lpcode#1 92=500 % ``
+ \rpcode#1 34=500 % ''
+ \rpcode#1 123=300 % --
+ \rpcode#1 124=200 % ---
+ \rpcode#1`\)=50
+ \rpcode#1`\A=50
+ \rpcode#1`\F=50
+ \rpcode#1`\K=50
+ \rpcode#1`\L=50
+ \rpcode#1`\T=50
+ \rpcode#1`\V=50
+ \rpcode#1`\W=50
+ \rpcode#1`\X=50
+ \rpcode#1`\Y=50
+ \rpcode#1`\k=50
+ \rpcode#1`\r=50
+ \rpcode#1`\t=50
+ \rpcode#1`\v=50
+ \rpcode#1`\w=50
+ \rpcode#1`\x=50
+ \rpcode#1`\y=50
+ \lpcode#1`\(=50
+ \lpcode#1`\A=50
+ \lpcode#1`\J=50
+ \lpcode#1`\T=50
+ \lpcode#1`\V=50
+ \lpcode#1`\W=50
+ \lpcode#1`\X=50
+ \lpcode#1`\Y=50
+ \lpcode#1`\v=50
+ \lpcode#1`\w=50
+ \lpcode#1`\x=50
+ \lpcode#1`\y=50
+ \adjustprotcode#1
+}
+
+\makeatletter
+\newif\ifneedadjustprotcode
+\def\adjustprotcode#1{%
+ \needadjustprotcodefalse
+ \ifnum\pdftexversion > 13
+ \ifnum \expandafter`\pdftexrevision > `g
+ \needadjustprotcodetrue
+ \fi
+ \else\ifnum\pdftexversion > 14
+ \needadjustprotcodetrue
+ \fi\fi
+ \ifneedadjustprotcode
+ \@tempcnta=0
+ \loop
+ \ifcase\lpcode#1\@tempcnta\else
+ \adjustcp\lpcode#1\@tempcnta
+ \fi
+ \ifcase\rpcode#1\@tempcnta\else
+ \adjustcp\rpcode#1\@tempcnta
+ \fi
+ \advance\@tempcnta 1
+ \ifnum\@tempcnta < 256 \repeat
+ \fi
+}
+\def\adjustcp#1#2#3{%
+ \setbox0=\hbox{%
+ \ifx#2\font\else#2\fi
+ \char#3}%
+ \@tempcntb=\wd0
+ \mul\@tempcntb #1#2#3%
+ \div\@tempcntb \fontdimen6 #2%
+ #1#2#3=\@tempcntb
+}
+\makeatother
diff --git a/Master/texmf-dist/doc/pdftex/thanh/ext/ufntinst.sty b/Master/texmf-dist/doc/pdftex/thanh/ext/ufntinst.sty
new file mode 100644
index 00000000000..1eecffe51bc
--- /dev/null
+++ b/Master/texmf-dist/doc/pdftex/thanh/ext/ufntinst.sty
@@ -0,0 +1,442 @@
+\input fontinst.sty
+
+\def\fontinstcc{%
+ \catcode`\ =9
+ \catcode`\^^M=9
+ \catcode`\@=11
+ \catcode`\_=11
+ \catcode`\~=10
+ }%
+
+\def\normalcc{%
+ \catcode`\@=\atcatcode
+ \catcode`\^^M=\nlcatcode
+ \catcode`\ =\spacecatcode
+ \catcode`\~=\tildecatcode
+ \catcode`\_=\underscorecatcode
+ }%
+
+\fontinstcc
+
+\def\llx{\glyph_bb_parameter\first_of_four}
+\def\lly{\glyph_bb_parameter\second_of_four}
+\def\urx{\glyph_bb_parameter\third_of_four}
+\def\ury{\glyph_bb_parameter\fourth_of_four}
+
+\def\glyph_bb_parameter#1#2{
+ \expandafter\expandafter\expandafter
+ #1\csname gb-#2\endcsname
+}
+
+\def\first_of_four#1#2#3#4{#1}
+\def\second_of_four#1#2#3#4{#2}
+\def\third_of_four#1#2#3#4{#3}
+\def\fourth_of_four#1#2#3#4{#4}
+
+\def\afm_char{
+ \a_count=-\bbox_lly
+ \eval_expr{
+ \italcorr_expression\x_width\bbox_llx\bbox_urx\bbox_lly\bbox_ury
+ }
+ \out_line{
+ \ifnum -1<\char_slot
+ \string\setrawglyph
+ \else
+ \string\setnotglyph
+ \fi
+ {\char_name}
+ {\raw_font_name}
+ {10pt}
+ {\the\char_slot}
+ {\the\x_width}
+ {\the\bbox_ury}
+ {\the\a_count}
+ {\the\result}
+ }
+ \outglyphbb % bbox support patch
+}
+
+\def\outglyphbb{
+ \out_line{
+ \string\setglyphbbox
+ {\char_name}
+ {\raw_font_name}
+ {\the\bbox_llx}
+ {\the\bbox_lly}
+ {\the\bbox_urx}
+ {\the\bbox_ury}
+ }
+}
+
+\def\setglyphbbox#1#2#3#4#5#6{
+ \if_undefined{gb-#1}\then
+ \eval_expr_to\a_count{#3}
+ \eval_expr_to\b_count{#4}
+ \eval_expr_to\c_count{#5}
+ \eval_expr_to\d_count{#6}
+ \ifisint{i-rawscale}\then
+ \e_count=\int{rawscale}
+ \multiply \a_count \e_count \l_rounded_thousandths\a_count
+ \multiply \b_count \e_count \l_rounded_thousandths\b_count
+ \multiply \c_count \e_count \l_rounded_thousandths\c_count
+ \multiply \d_count \e_count \l_rounded_thousandths\d_count
+ \fi
+ \x_cs\edef{gb-#1}{
+ {\the\a_count}
+ {\the\b_count}
+ {\the\c_count}
+ {\the\d_count}
+ }
+ \fi
+}
+
+\def\mtxtomtx_setglyphbbox#1#2#3#4#5#6{
+ \eval_expr_to\a_count{\scale{#3}{\int{x-scale}}}
+% \eval_expr_to\a_count{\add{\scale{#3}{\int{x-scale}}}
+% {\scale{#4}{\int{slant-scale}}}}
+ \eval_expr_to\b_count{\scale{#4}{\int{y-scale}}}
+ \eval_expr_to\c_count{\scale{#5}{\int{x-scale}}}
+% \eval_expr_to\c_count{\add{\scale{#5}{\int{x-scale}}}
+% {\scale{#5}{\int{slant-scale}}}}
+ \eval_expr_to\d_count{\scale{#6}{\int{y-scale}}}
+ \out_line{
+ \string\setglyphbbox
+ {#1}{\raw_font_name}{\the\a_count}{\the\b_count}{\the\c_count}{\the\d_count}
+ }
+}
+
+\def\mtxtomtx#1#2{{
+ \ifisstr{etx-name}\then
+ \def\do_slot{\x_cs\edef{slots-\slot_name}{\the\slot_number}}
+ \inputetx{\str{etx-name}}
+ \edef\a_macro{\string\reencodefont{\str{etx-name}}}
+ \else
+ \let\a_macro=\empty_command
+ \fi
+ \_a_true
+ \ifnum \int{x-scale}=\int{y-scale}
+ \ifnum \int{slant-scale}=\z@
+ \_a_false
+ \fi \fi
+ \if_a_
+ \a_count=\int{x-scale}
+ \l_inv_scale\a_count{\int{y-scale}}
+ \b_count=\int{slant-scale}
+ \l_inv_scale\b_count{\int{y-scale}}
+ \edef\a_macro{\a_macro
+ \string\transformfont{\the\a_count}{\the\b_count}
+ }
+ \fi
+ \open_out{\temp_prefix#2.mtx}
+ \edef\raw_font_name{#2}
+ \out_line{\percent_char~Filename:~#2.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\mtxtomtx{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \record_transform{#2}{\string\frommtx{#1}}{\a_macro}\iftrue
+ \out_line{}
+ \let\setint=\mtxtomtx_setint
+ \let\setdim=\mtxtomtx_setdim
+ \let\setstr=\mtxtomtx_setstr
+ \let\setscaledrawglyph=\mtxtomtx_setscaledrawglyph
+ \let\setscalednotglyph=\mtxtomtx_setscaledrawglyph
+ \let\setglyphbbox=\mtxtomtx_setglyphbbox % bbox support patch
+ \let\setkern=\mtxtomtx_setkern
+ \let\setglyph=\mtxtomtx_setglyph
+ \let\glyphpcc=\mtxtomtx_glyphpcc
+ \let\samesize=\mtxtomtx_samesize
+ \let\endsetglyph=\mtxtomtx_endsetglyph
+ \inputmtx{#1}
+ \out_line{}
+ \out_line{\endmetrics_text}
+ \close_out{Transformed~metrics}
+}}
+
+\def\reglyph_font#1#2{{
+ \open_out{\temp_prefix#1.mtx}
+ \out_line{\percent_char~Filename:~#1.mtx}
+ \out_line{\percent_char~Created~by:~tex~\jobname}
+ \out_line{\percent_char~Created~using:~\string\reglyphfont{#1}{#2}}
+ \out_line{}
+ \out_line{\percent_char~This~file~is~used~by~the~fontinst~package.}
+ \out_line{}
+ \out_line{\percent_char~THIS~FILE~CAN~BE~DELETED.}
+ \out_line{}
+ \out_line{\string\relax}
+ \out_line{\string\metrics}
+ \out_line{}
+ \out_line{\string\needsfontinstversion{\fontinstversion}}
+ \out_line{}
+ \record_transform{#1}{\string\frommtx{#2}}{\string\reglyphfont}
+ \iftrue
+ \out_line{}
+ \let\setint=\reglyph_setint
+ \let\setdim=\reglyph_setdim
+ \let\setstr=\reglyph_setstr
+ \let\setscaledrawglyph=\reglyph_setscaledrawglyph
+ \let\setscalednotglyph=\reglyph_setscaledrawglyph
+ \let\setglyphbbox=\reglyph_setglyphbbox % bbox support patch
+ \let\setkern=\reglyph_setkern
+ \let\setglyph=\reglyph_setglyph
+ \let\glyphpcc=\reglyph_glyphpcc
+ \let\samesize=\reglyph_samesize
+ \let\endsetglyph=\reglyph_endsetglyph
+ \inputmtx{#2}
+ \out_line{}
+ \out_line{\endmetrics_text}
+ \close_out{Reglyphed~metrics}
+}}
+
+\def\reglyph_setglyphbbox#1#2#3#4#5#6{
+ \command_survivance=0
+ \def\glyphname{#1}
+ \csname slots-#1\endcsname
+ \iftokeep\command_survivance\then
+ \out_line{
+ \string\setglyphbbox
+ {\glyphname}{#2}{#3}{#4}{#5}{#6}
+ }
+ \fi
+}
+
+\def\bbw#1{
+ \sub{\urx{#1}}{\llx{#1}}
+}
+
+\def\bbh#1{
+ \sub{\ury{#1}}{\lly{#1}}
+}
+
+\setcommand\centeraccent#1#2#3#4{
+ \push
+ \moveup{#4}
+ \movert{\add{\add{\scale{500}{\sub{\width{#1}}{\width{#2}}}}{#3}}
+ {\scale{#4}{\int{italicslant}}}}
+ \glyph{#2}{1000}
+ \pop
+ \glyph{#1}{1000}
+}
+
+\def\composeglyphpac#1#2#3#4#5{
+ \resetglyph{#1}
+ \centeraccent{#2}{#3}{\add{\int{#3-sx}}{#4}}{\add{\int{#3-sy}}{#5}}
+ \endresetglyph
+ \setleftrightkerning{#1}{#2}{1000}
+}
+
+\def\putquoteright#1#2#3#4#5{
+ \push
+ \movert{\add{\urx{#1}}{#3}}
+ \moveup{\sub{#5}{\scale{#2}{\lly{quoteright}}}}
+ \glyph{quoteright}{#2}
+ \pop
+ \glyph{#1}{1000}
+ \movert{#4}
+}
+
+\def\setsy#1#2#3{
+ \setint{#1-sy}{\add{\sub{\int{#2}}{\lly{#1}}}{#3}}
+}
+
+\def\setAsx#1#2#3{
+ \setint{#1-sx}
+ {\add{\scale{\int{italicslant}}{\sub{\lly{#1}}{\lly{#2}}}}{#3}}
+}
+
+\let\iffileexists=\if_file_exists
+
+\def\log#1{\immediate \write 16 {#1}}
+
+\def\setkerns#1#2#3{
+ \foreach(leftglyph){#1}
+ \foreach(rightglyph){#2}
+ \setkern{\str{leftglyph}}{\str{rightglyph}}{#3}
+ \endfor(rightglyph)
+ \endfor(leftglyph)
+}
+
+\def\resetkerns#1#2#3{
+ \foreach(leftglyph){#1}
+ \foreach(rightglyph){#2}
+ \resetkern{\str{leftglyph}}{\str{rightglyph}}{#3}
+ \endfor(rightglyph)
+ \endfor(leftglyph)
+}
+
+\def\setnullglyph#1{
+ \setglyph{#1}
+ \endsetglyph
+ \setint{#1-spacing}{0}
+}
+
+% \installcsfont{texbase}{psbase8r}{expansion}{psbase}
+% e.g. \installcsfont{putr8z}{putr8r}{}{putr8a}
+% or \installcsfont{putr8z}{putr8r}{+20}{putr8a}
+
+\def\installcsfont#1#2#3#4{
+ \iffileexists{#4#3.afm}\then
+ \transformfont{#2#3}%
+ {\reencodefont{8r}{\fromafm{#4#3}}}
+ \transformfont{#2x#3}%
+ {\reencodefont{8r}{\yscalefont{700}{\fromafm{#4#3}}}}
+ \else
+ \transformfont{#2#3}%
+ {\reencodefont{8r}{\frommtx{#4#3}}}
+ \transformfont{#2x#3}%
+ {\reencodefont{8r}{\yscalefont{700}{\frommtx{#4#3}}}}
+ \fi
+% \transformfont{#2x#3}%
+% {\reencodefont{8r}{\yscalefont{700}{\fromafm{#4#3}}}}
+ \reglyphfonts
+ \renameglyph{Acute}{acute}
+ \renameglyph{Caron}{caron}
+ \renameglyph{Ring}{ring}
+ \renameglyph{Grave}{grave}
+ \renameglyph{Dieresis}{dieresis}
+ \renameglyph{Circumflex}{circumflex}
+% \renameglyph{Breve}{breve}
+% \renameglyph{Cedilla}{cedilla}
+% \renameglyph{Dotaccent}{dotaccent}
+% \renameglyph{Hungarumlaut}{hungarumlaut}
+% \renameglyph{Ogonek}{ogonek}
+% \renameglyph{Slash}{slash}
+ \resetcommand\iftokeep##1{\ifnumber{##1}>{0}}
+ \offmtxcommand{\setkern}
+ \offmtxcommand{\setglyph}
+ \offmtxcommand{\setint}
+ \reglyphfont{#2u#3}{#2x#3}
+ \endreglyphfonts
+ \iffileexists{mk#1.mtx}\then
+ \installfont{#1#3}{#2#3,#2u#3,mk#1}{il2}{}{}{}{}{}
+ \else
+ \installfont{#1#3}{#2#3,#2u#3,cs}{il2}{}{}{}{}{}
+ \fi
+}
+
+\def\writecc#1#2#3#4#5#6#7#8{
+ \global\let\setsomething_global=\x_relax
+ \input_metrics{}{#2}
+ \etxtocc{#3}{#1}
+ \global\let\setsomething_global=\global
+}
+
+\def\etxtocc#1#2{{
+ \make_assignments{#1}
+ \open_out{#2.cc}
+ \bgroup
+ \let\do_slot=\do_cc
+ \let\end_do_slot=\end_do_cc
+ \let\saved_raw\cc_raw
+ \let\saved_scale\cc_scale
+ \let\saved_movert\cc_movert
+ \let\saved_moveup\cc_moveup
+ \inputetx{#1}
+ \egroup
+ \close_out{CC~information}
+}}
+
+
+\def\do_cc{
+ \if_undefined{g-\slot_name}\then
+ \expandafter\gobble_setslot
+ \Else
+ \ifx\slot_name\notdef_name\else
+ \do_cc_map
+ \fi
+ \Fi
+}
+
+\def\do_cc_map{
+ \let\cc_list=\empty
+ \pcc_count=0
+ \shift_x=0
+ \shift_y=0
+ \mapcommands\slot_name
+}
+
+\def\end_do_cc{
+ \ifisglyph\slot_name\then\ifnum\pcc_count > 1
+ \out_line{CC~\slot_name\space\the\pcc_count\space;~\cc_list}
+ \fi\fi
+}
+
+\newcount\shift_x
+\newcount\shift_y
+\newcount\pcc_count
+
+\def\cc_raw#1#2#3{
+ \edef\pcc_raw{PCC~#3~\the\shift_x\space\the\shift_y\space;\space}
+ \prep_to\cc_list\pcc_raw
+ \edef\x{\cc_list}
+ \let\cc_list=\x
+ \advance\pcc_count 1
+ \shift_x=0
+ \shift_y=0
+}
+
+\def\cc_movert#1{
+ \advance\shift_x #1
+}
+
+\def\cc_moveup#1{
+ \advance\shift_y #1
+}
+
+\def\cc_scale#1#2{
+ #2
+}
+
+% \def\init_cc#1{%
+% \out_line{\string\setglyph{#1}}
+% \def\char_name{#1}
+% }
+
+\def\cc_char{%
+% \out_lline{\string\samesize{\char_name-not}}
+ \out_line{\string\endsetglyph}
+}
+
+\def\setfontdimens{%
+ \setint{italicslant}{0}
+ \ifisglyph{x}\then
+ \setint{xheight}{\height{x}}
+ \Else
+ \setint{xheight}{500}
+ \Fi
+ \ifisglyph{space}\then
+ \setint{interword}{\width{space}}
+ \Else\ifisglyph{i}\then
+ \setint{interword}{\width{i}}
+ \Else
+ \setint{interword}{333}
+ \Fi\Fi
+ \setint{fontdimen(1)}{\int{italicslant}} % italic slant
+ \setint{fontdimen(2)}{\int{interword}} % interword space
+ \ifisint{monowidth}\then
+ \setint{fontdimen(3)}{0} % interword stretch
+ \setint{fontdimen(4)}{0} % interword shrink
+ \Else
+ \setint{fontdimen(3)}{\scale{\int{interword}}{600}}% interword stretch
+ \setint{fontdimen(4)}{\scale{\int{interword}}{240}}% interword shrink
+ \Fi
+ \setint{fontdimen(5)}{\int{xheight}} % x-height
+ \setint{fontdimen(6)}{1000} % quad
+ \ifisint{typewriter}\then
+ \setint{fontdimen(7)}{0} % extra space after .
+ \Else\ifisint{monowidth}\then
+ \setint{fontdimen(7)}{\int{interword}} % extra space after .
+ \Else
+ \setint{fontdimen(7)}{\scale{\int{interword}}{240}}% extra space after .
+ \Fi\Fi
+}
+
+\normalcc
diff --git a/Master/texmf-dist/doc/pdftex/thanh/thesis-png.pdf b/Master/texmf-dist/doc/pdftex/thanh/thesis-png.pdf
new file mode 100644
index 00000000000..db39a01f9bd
--- /dev/null
+++ b/Master/texmf-dist/doc/pdftex/thanh/thesis-png.pdf
Binary files differ