summaryrefslogtreecommitdiff
path: root/language/vietnamese/vntex/tex/plain
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /language/vietnamese/vntex/tex/plain
Initial commit
Diffstat (limited to 'language/vietnamese/vntex/tex/plain')
-rw-r--r--language/vietnamese/vntex/tex/plain/dblaccnt.tex51
-rw-r--r--language/vietnamese/vntex/tex/plain/t5code.tex458
-rw-r--r--language/vietnamese/vntex/tex/plain/vntexinfo.tex61
3 files changed, 570 insertions, 0 deletions
diff --git a/language/vietnamese/vntex/tex/plain/dblaccnt.tex b/language/vietnamese/vntex/tex/plain/dblaccnt.tex
new file mode 100644
index 0000000000..295e899948
--- /dev/null
+++ b/language/vietnamese/vntex/tex/plain/dblaccnt.tex
@@ -0,0 +1,51 @@
+% Copyright 2000-2005 Werner Lemberg <wl@gnu.org>.
+% This file is part of vntex. License: LPPL, version 1.3 or newer,
+% according to http://www.latex-project.org/lppl.txt
+%
+%
+% This is the file dblaccnt.tex to be used with plain TeX; it is a wrapper
+% file for dblaccnt.sty.
+%
+% Since it uses LaTeX's font encoding mechanism, it needs the `plnfss' and
+% `plainenc' packages:
+%
+% \input plnfss
+% \input plainenc
+% \input dblaccnt
+%
+% \fontencoding{...}
+%
+% ...
+%
+%
+% History
+%
+% 1.0 2000/01/27
+%
+% Initial release.
+%
+% 1.1 2005/04/21
+%
+% Add copyright message and history.
+% Minor documentation clean-up.
+
+%\ProvidesFile{dblaccnt.tex}[2005/04/21 v1.1 double accent support for plain TeX]
+
+\makeatletter
+
+\input dblaccnt.sty
+
+% We repeat the definitions in plain.def of the Babel package to use the
+% new macros from dblaccnt.sty
+\DeclareTextAccent{\'}{OT1}{19}
+\DeclareTextAccent{\`}{OT1}{18}
+
+\let\@acci\'
+\let\@accii\`
+\let\@acciii\=
+
+\makeatother
+
+\endinput
+
+% end of dblaccnt.tex
diff --git a/language/vietnamese/vntex/tex/plain/t5code.tex b/language/vietnamese/vntex/tex/plain/t5code.tex
new file mode 100644
index 0000000000..60a6fecedc
--- /dev/null
+++ b/language/vietnamese/vntex/tex/plain/t5code.tex
@@ -0,0 +1,458 @@
+% based on il2code.tex from csplain & t5enc.def
+
+% Copyright 2003-2005 Han The Thanh <hanthethanh@gmx.net>.
+% This file is part of vntex. License: LPPL, version 1.3 or newer,
+% according to http://www.latex-project.org/lppl.txt
+
+\def\vncodes{%
+ \catcode"A1=11 \lccode"A1="A1 \uccode"A1="81 % aacute
+ \catcode"81=11 \lccode"81="A1 \uccode"81="81 % Aacute
+ \catcode"AB=11 \lccode"AB="AB \uccode"AB="8B % abreve
+ \catcode"8B=11 \lccode"8B="AB \uccode"8B="8B % Abreve
+ \catcode"AD=11 \lccode"AD="AD \uccode"AD="8D % abreveacute
+ \catcode"8D=11 \lccode"8D="AD \uccode"8D="8D % Abreveacute
+ \catcode"B0=11 \lccode"B0="B0 \uccode"B0="90 % abrevedotbelow
+ \catcode"90=11 \lccode"90="B0 \uccode"90="90 % Abrevedotbelow
+ \catcode"AC=11 \lccode"AC="AC \uccode"AC="8C % abrevegrave
+ \catcode"8C=11 \lccode"8C="AC \uccode"8C="8C % Abrevegrave
+ \catcode"AF=11 \lccode"AF="AF \uccode"AF="8F % abrevehookabove
+ \catcode"8F=11 \lccode"8F="AF \uccode"8F="8F % Abrevehookabove
+ \catcode"AE=11 \lccode"AE="AE \uccode"AE="8E % abrevetilde
+ \catcode"8E=11 \lccode"8E="AE \uccode"8E="8E % Abrevetilde
+ \catcode"A5=11 \lccode"A5="A5 \uccode"A5="85 % acircumflex
+ \catcode"85=11 \lccode"85="A5 \uccode"85="85 % Acircumflex
+ \catcode"A7=11 \lccode"A7="A7 \uccode"A7="87 % acircumflexacute
+ \catcode"87=11 \lccode"87="A7 \uccode"87="87 % Acircumflexacute
+ \catcode"AA=11 \lccode"AA="AA \uccode"AA="8A % acircumflexdotbelow
+ \catcode"8A=11 \lccode"8A="AA \uccode"8A="8A % Acircumflexdotbelow
+ \catcode"A6=11 \lccode"A6="A6 \uccode"A6="86 % acircumflexgrave
+ \catcode"86=11 \lccode"86="A6 \uccode"86="86 % Acircumflexgrave
+ \catcode"A9=11 \lccode"A9="A9 \uccode"A9="89 % acircumflexhookabove
+ \catcode"89=11 \lccode"89="A9 \uccode"89="89 % Acircumflexhookabove
+ \catcode"A8=11 \lccode"A8="A8 \uccode"A8="88 % acircumflextilde
+ \catcode"88=11 \lccode"88="A8 \uccode"88="88 % Acircumflextilde
+ \catcode"A4=11 \lccode"A4="A4 \uccode"A4="84 % adotbelow
+ \catcode"84=11 \lccode"84="A4 \uccode"84="84 % Adotbelow
+ \catcode"A0=11 \lccode"A0="A0 \uccode"A0="80 % agrave
+ \catcode"80=11 \lccode"80="A0 \uccode"80="80 % Agrave
+ \catcode"A3=11 \lccode"A3="A3 \uccode"A3="83 % ahookabove
+ \catcode"83=11 \lccode"83="A3 \uccode"83="83 % Ahookabove
+ \catcode"A2=11 \lccode"A2="A2 \uccode"A2="82 % atilde
+ \catcode"82=11 \lccode"82="A2 \uccode"82="82 % Atilde
+ \catcode"1F=11 \lccode"1F="1F \uccode"1F="1E % dcroat
+ \catcode"1E=11 \lccode"1E="1F \uccode"1E="1E % Dcroat
+ \catcode"B2=11 \lccode"B2="B2 \uccode"B2="92 % eacute
+ \catcode"92=11 \lccode"92="B2 \uccode"92="92 % Eacute
+ \catcode"B6=11 \lccode"B6="B6 \uccode"B6="96 % ecircumflex
+ \catcode"96=11 \lccode"96="B6 \uccode"96="96 % Ecircumflex
+ \catcode"B8=11 \lccode"B8="B8 \uccode"B8="98 % ecircumflexacute
+ \catcode"98=11 \lccode"98="B8 \uccode"98="98 % Ecircumflexacute
+ \catcode"BB=11 \lccode"BB="BB \uccode"BB="9B % ecircumflexdotbelow
+ \catcode"9B=11 \lccode"9B="BB \uccode"9B="9B % Ecircumflexdotbelow
+ \catcode"B7=11 \lccode"B7="B7 \uccode"B7="97 % ecircumflexgrave
+ \catcode"97=11 \lccode"97="B7 \uccode"97="97 % Ecircumflexgrave
+ \catcode"BA=11 \lccode"BA="BA \uccode"BA="9A % ecircumflexhookabove
+ \catcode"9A=11 \lccode"9A="BA \uccode"9A="9A % Ecircumflexhookabove
+ \catcode"B9=11 \lccode"B9="B9 \uccode"B9="99 % ecircumflextilde
+ \catcode"99=11 \lccode"99="B9 \uccode"99="99 % Ecircumflextilde
+ \catcode"B5=11 \lccode"B5="B5 \uccode"B5="95 % edotbelow
+ \catcode"95=11 \lccode"95="B5 \uccode"95="95 % Edotbelow
+ \catcode"B1=11 \lccode"B1="B1 \uccode"B1="91 % egrave
+ \catcode"91=11 \lccode"91="B1 \uccode"91="91 % Egrave
+ \catcode"B4=11 \lccode"B4="B4 \uccode"B4="94 % ehookabove
+ \catcode"94=11 \lccode"94="B4 \uccode"94="94 % Ehookabove
+ \catcode"B3=11 \lccode"B3="B3 \uccode"B3="93 % etilde
+ \catcode"93=11 \lccode"93="B3 \uccode"93="93 % Etilde
+ \catcode"BD=11 \lccode"BD="BD \uccode"BD="9D % iacute
+ \catcode"9D=11 \lccode"9D="BD \uccode"9D="9D % Iacute
+ \catcode"E0=11 \lccode"E0="E0 \uccode"E0="C0 % idotbelow
+ \catcode"C0=11 \lccode"C0="E0 \uccode"C0="C0 % Idotbelow
+ \catcode"BC=11 \lccode"BC="BC \uccode"BC="9C % igrave
+ \catcode"9C=11 \lccode"9C="BC \uccode"9C="9C % Igrave
+ \catcode"BF=11 \lccode"BF="BF \uccode"BF="9F % ihookabove
+ \catcode"9F=11 \lccode"9F="BF \uccode"9F="9F % Ihookabove
+ \catcode"BE=11 \lccode"BE="BE \uccode"BE="9E % itilde
+ \catcode"9E=11 \lccode"9E="BE \uccode"9E="9E % Itilde
+ \catcode"E2=11 \lccode"E2="E2 \uccode"E2="C2 % oacute
+ \catcode"C2=11 \lccode"C2="E2 \uccode"C2="C2 % Oacute
+ \catcode"E6=11 \lccode"E6="E6 \uccode"E6="C6 % ocircumflex
+ \catcode"C6=11 \lccode"C6="E6 \uccode"C6="C6 % Ocircumflex
+ \catcode"E8=11 \lccode"E8="E8 \uccode"E8="C8 % ocircumflexacute
+ \catcode"C8=11 \lccode"C8="E8 \uccode"C8="C8 % Ocircumflexacute
+ \catcode"EB=11 \lccode"EB="EB \uccode"EB="CB % ocircumflexdotbelow
+ \catcode"CB=11 \lccode"CB="EB \uccode"CB="CB % Ocircumflexdotbelow
+ \catcode"E7=11 \lccode"E7="E7 \uccode"E7="C7 % ocircumflexgrave
+ \catcode"C7=11 \lccode"C7="E7 \uccode"C7="C7 % Ocircumflexgrave
+ \catcode"EA=11 \lccode"EA="EA \uccode"EA="CA % ocircumflexhookabove
+ \catcode"CA=11 \lccode"CA="EA \uccode"CA="CA % Ocircumflexhookabove
+ \catcode"E9=11 \lccode"E9="E9 \uccode"E9="C9 % ocircumflextilde
+ \catcode"C9=11 \lccode"C9="E9 \uccode"C9="C9 % Ocircumflextilde
+ \catcode"E5=11 \lccode"E5="E5 \uccode"E5="C5 % odotbelow
+ \catcode"C5=11 \lccode"C5="E5 \uccode"C5="C5 % Odotbelow
+ \catcode"E1=11 \lccode"E1="E1 \uccode"E1="C1 % ograve
+ \catcode"C1=11 \lccode"C1="E1 \uccode"C1="C1 % Ograve
+ \catcode"E4=11 \lccode"E4="E4 \uccode"E4="C4 % ohookabove
+ \catcode"C4=11 \lccode"C4="E4 \uccode"C4="C4 % Ohookabove
+ \catcode"EC=11 \lccode"EC="EC \uccode"EC="CC % ohorn
+ \catcode"CC=11 \lccode"CC="EC \uccode"CC="CC % Ohorn
+ \catcode"EE=11 \lccode"EE="EE \uccode"EE="CE % ohornacute
+ \catcode"CE=11 \lccode"CE="EE \uccode"CE="CE % Ohornacute
+ \catcode"F1=11 \lccode"F1="F1 \uccode"F1="D1 % ohorndotbelow
+ \catcode"D1=11 \lccode"D1="F1 \uccode"D1="D1 % Ohorndotbelow
+ \catcode"ED=11 \lccode"ED="ED \uccode"ED="CD % ohorngrave
+ \catcode"CD=11 \lccode"CD="ED \uccode"CD="CD % Ohorngrave
+ \catcode"F0=11 \lccode"F0="F0 \uccode"F0="D0 % ohornhookabove
+ \catcode"D0=11 \lccode"D0="F0 \uccode"D0="D0 % Ohornhookabove
+ \catcode"EF=11 \lccode"EF="EF \uccode"EF="CF % ohorntilde
+ \catcode"CF=11 \lccode"CF="EF \uccode"CF="CF % Ohorntilde
+ \catcode"E3=11 \lccode"E3="E3 \uccode"E3="C3 % otilde
+ \catcode"C3=11 \lccode"C3="E3 \uccode"C3="C3 % Otilde
+ \catcode"F3=11 \lccode"F3="F3 \uccode"F3="D3 % uacute
+ \catcode"D3=11 \lccode"D3="F3 \uccode"D3="D3 % Uacute
+ \catcode"F6=11 \lccode"F6="F6 \uccode"F6="D6 % udotbelow
+ \catcode"D6=11 \lccode"D6="F6 \uccode"D6="D6 % Udotbelow
+ \catcode"F2=11 \lccode"F2="F2 \uccode"F2="D2 % ugrave
+ \catcode"D2=11 \lccode"D2="F2 \uccode"D2="D2 % Ugrave
+ \catcode"F5=11 \lccode"F5="F5 \uccode"F5="D5 % uhookabove
+ \catcode"D5=11 \lccode"D5="F5 \uccode"D5="D5 % Uhookabove
+ \catcode"F7=11 \lccode"F7="F7 \uccode"F7="D7 % uhorn
+ \catcode"D7=11 \lccode"D7="F7 \uccode"D7="D7 % Uhorn
+ \catcode"F9=11 \lccode"F9="F9 \uccode"F9="D9 % uhornacute
+ \catcode"D9=11 \lccode"D9="F9 \uccode"D9="D9 % Uhornacute
+ \catcode"FC=11 \lccode"FC="FC \uccode"FC="DC % uhorndotbelow
+ \catcode"DC=11 \lccode"DC="FC \uccode"DC="DC % Uhorndotbelow
+ \catcode"F8=11 \lccode"F8="F8 \uccode"F8="D8 % uhorngrave
+ \catcode"D8=11 \lccode"D8="F8 \uccode"D8="D8 % Uhorngrave
+ \catcode"FB=11 \lccode"FB="FB \uccode"FB="DB % uhornhookabove
+ \catcode"DB=11 \lccode"DB="FB \uccode"DB="DB % Uhornhookabove
+ \catcode"FA=11 \lccode"FA="FA \uccode"FA="DA % uhorntilde
+ \catcode"DA=11 \lccode"DA="FA \uccode"DA="DA % Uhorntilde
+ \catcode"F4=11 \lccode"F4="F4 \uccode"F4="D4 % utilde
+ \catcode"D4=11 \lccode"D4="F4 \uccode"D4="D4 % Utilde
+ \catcode"FE=11 \lccode"FE="FE \uccode"FE="DE % yacute
+ \catcode"DE=11 \lccode"DE="FE \uccode"DE="DE % Yacute
+ \catcode"1D=11 \lccode"1D="1D \uccode"1D="1C % ydotbelow
+ \catcode"1C=11 \lccode"1C="1D \uccode"1C="1C % Ydotbelow
+ \catcode"FD=11 \lccode"FD="FD \uccode"FD="DD % ygrave
+ \catcode"DD=11 \lccode"DD="FD \uccode"DD="DD % Ygrave
+ \catcode"1B=11 \lccode"1B="1B \uccode"1B="1A % yhookabove
+ \catcode"1A=11 \lccode"1A="1B \uccode"1A="1A % Yhookabove
+ \catcode"FF=11 \lccode"FF="FF \uccode"FF="DF % ytilde
+ \catcode"DF=11 \lccode"DF="FF \uccode"DF="DF % Ytilde
+}
+
+\def\unvncodes{%
+ \catcode"A1=12 \lccode"A1=0 \uccode"A1=0 % aacute
+ \catcode"81=12 \lccode"81=0 \uccode"81=0 % Aacute
+ \catcode"AB=12 \lccode"AB=0 \uccode"AB=0 % abreve
+ \catcode"8B=12 \lccode"8B=0 \uccode"8B=0 % Abreve
+ \catcode"AD=12 \lccode"AD=0 \uccode"AD=0 % abreveacute
+ \catcode"8D=12 \lccode"8D=0 \uccode"8D=0 % Abreveacute
+ \catcode"B0=12 \lccode"B0=0 \uccode"B0=0 % abrevedotbelow
+ \catcode"90=12 \lccode"90=0 \uccode"90=0 % Abrevedotbelow
+ \catcode"AC=12 \lccode"AC=0 \uccode"AC=0 % abrevegrave
+ \catcode"8C=12 \lccode"8C=0 \uccode"8C=0 % Abrevegrave
+ \catcode"AF=12 \lccode"AF=0 \uccode"AF=0 % abrevehookabove
+ \catcode"8F=12 \lccode"8F=0 \uccode"8F=0 % Abrevehookabove
+ \catcode"AE=12 \lccode"AE=0 \uccode"AE=0 % abrevetilde
+ \catcode"8E=12 \lccode"8E=0 \uccode"8E=0 % Abrevetilde
+ \catcode"A5=12 \lccode"A5=0 \uccode"A5=0 % acircumflex
+ \catcode"85=12 \lccode"85=0 \uccode"85=0 % Acircumflex
+ \catcode"A7=12 \lccode"A7=0 \uccode"A7=0 % acircumflexacute
+ \catcode"87=12 \lccode"87=0 \uccode"87=0 % Acircumflexacute
+ \catcode"AA=12 \lccode"AA=0 \uccode"AA=0 % acircumflexdotbelow
+ \catcode"8A=12 \lccode"8A=0 \uccode"8A=0 % Acircumflexdotbelow
+ \catcode"A6=12 \lccode"A6=0 \uccode"A6=0 % acircumflexgrave
+ \catcode"86=12 \lccode"86=0 \uccode"86=0 % Acircumflexgrave
+ \catcode"A9=12 \lccode"A9=0 \uccode"A9=0 % acircumflexhookabove
+ \catcode"89=12 \lccode"89=0 \uccode"89=0 % Acircumflexhookabove
+ \catcode"A8=12 \lccode"A8=0 \uccode"A8=0 % acircumflextilde
+ \catcode"88=12 \lccode"88=0 \uccode"88=0 % Acircumflextilde
+ \catcode"A4=12 \lccode"A4=0 \uccode"A4=0 % adotbelow
+ \catcode"84=12 \lccode"84=0 \uccode"84=0 % Adotbelow
+ \catcode"A0=12 \lccode"A0=0 \uccode"A0=0 % agrave
+ \catcode"80=12 \lccode"80=0 \uccode"80=0 % Agrave
+ \catcode"A3=12 \lccode"A3=0 \uccode"A3=0 % ahookabove
+ \catcode"83=12 \lccode"83=0 \uccode"83=0 % Ahookabove
+ \catcode"A2=12 \lccode"A2=0 \uccode"A2=0 % atilde
+ \catcode"82=12 \lccode"82=0 \uccode"82=0 % Atilde
+ \catcode"1F=12 \lccode"1F=0 \uccode"1F=0 % dcroat
+ \catcode"1E=12 \lccode"1E=0 \uccode"1E=0 % Dcroat
+ \catcode"B2=12 \lccode"B2=0 \uccode"B2=0 % eacute
+ \catcode"92=12 \lccode"92=0 \uccode"92=0 % Eacute
+ \catcode"B6=12 \lccode"B6=0 \uccode"B6=0 % ecircumflex
+ \catcode"96=12 \lccode"96=0 \uccode"96=0 % Ecircumflex
+ \catcode"B8=12 \lccode"B8=0 \uccode"B8=0 % ecircumflexacute
+ \catcode"98=12 \lccode"98=0 \uccode"98=0 % Ecircumflexacute
+ \catcode"BB=12 \lccode"BB=0 \uccode"BB=0 % ecircumflexdotbelow
+ \catcode"9B=12 \lccode"9B=0 \uccode"9B=0 % Ecircumflexdotbelow
+ \catcode"B7=12 \lccode"B7=0 \uccode"B7=0 % ecircumflexgrave
+ \catcode"97=12 \lccode"97=0 \uccode"97=0 % Ecircumflexgrave
+ \catcode"BA=12 \lccode"BA=0 \uccode"BA=0 % ecircumflexhookabove
+ \catcode"9A=12 \lccode"9A=0 \uccode"9A=0 % Ecircumflexhookabove
+ \catcode"B9=12 \lccode"B9=0 \uccode"B9=0 % ecircumflextilde
+ \catcode"99=12 \lccode"99=0 \uccode"99=0 % Ecircumflextilde
+ \catcode"B5=12 \lccode"B5=0 \uccode"B5=0 % edotbelow
+ \catcode"95=12 \lccode"95=0 \uccode"95=0 % Edotbelow
+ \catcode"B1=12 \lccode"B1=0 \uccode"B1=0 % egrave
+ \catcode"91=12 \lccode"91=0 \uccode"91=0 % Egrave
+ \catcode"B4=12 \lccode"B4=0 \uccode"B4=0 % ehookabove
+ \catcode"94=12 \lccode"94=0 \uccode"94=0 % Ehookabove
+ \catcode"B3=12 \lccode"B3=0 \uccode"B3=0 % etilde
+ \catcode"93=12 \lccode"93=0 \uccode"93=0 % Etilde
+ \catcode"BD=12 \lccode"BD=0 \uccode"BD=0 % iacute
+ \catcode"9D=12 \lccode"9D=0 \uccode"9D=0 % Iacute
+ \catcode"E0=12 \lccode"E0=0 \uccode"E0=0 % idotbelow
+ \catcode"C0=12 \lccode"C0=0 \uccode"C0=0 % Idotbelow
+ \catcode"BC=12 \lccode"BC=0 \uccode"BC=0 % igrave
+ \catcode"9C=12 \lccode"9C=0 \uccode"9C=0 % Igrave
+ \catcode"BF=12 \lccode"BF=0 \uccode"BF=0 % ihookabove
+ \catcode"9F=12 \lccode"9F=0 \uccode"9F=0 % Ihookabove
+ \catcode"BE=12 \lccode"BE=0 \uccode"BE=0 % itilde
+ \catcode"9E=12 \lccode"9E=0 \uccode"9E=0 % Itilde
+ \catcode"E2=12 \lccode"E2=0 \uccode"E2=0 % oacute
+ \catcode"C2=12 \lccode"C2=0 \uccode"C2=0 % Oacute
+ \catcode"E6=12 \lccode"E6=0 \uccode"E6=0 % ocircumflex
+ \catcode"C6=12 \lccode"C6=0 \uccode"C6=0 % Ocircumflex
+ \catcode"E8=12 \lccode"E8=0 \uccode"E8=0 % ocircumflexacute
+ \catcode"C8=12 \lccode"C8=0 \uccode"C8=0 % Ocircumflexacute
+ \catcode"EB=12 \lccode"EB=0 \uccode"EB=0 % ocircumflexdotbelow
+ \catcode"CB=12 \lccode"CB=0 \uccode"CB=0 % Ocircumflexdotbelow
+ \catcode"E7=12 \lccode"E7=0 \uccode"E7=0 % ocircumflexgrave
+ \catcode"C7=12 \lccode"C7=0 \uccode"C7=0 % Ocircumflexgrave
+ \catcode"EA=12 \lccode"EA=0 \uccode"EA=0 % ocircumflexhookabove
+ \catcode"CA=12 \lccode"CA=0 \uccode"CA=0 % Ocircumflexhookabove
+ \catcode"E9=12 \lccode"E9=0 \uccode"E9=0 % ocircumflextilde
+ \catcode"C9=12 \lccode"C9=0 \uccode"C9=0 % Ocircumflextilde
+ \catcode"E5=12 \lccode"E5=0 \uccode"E5=0 % odotbelow
+ \catcode"C5=12 \lccode"C5=0 \uccode"C5=0 % Odotbelow
+ \catcode"E1=12 \lccode"E1=0 \uccode"E1=0 % ograve
+ \catcode"C1=12 \lccode"C1=0 \uccode"C1=0 % Ograve
+ \catcode"E4=12 \lccode"E4=0 \uccode"E4=0 % ohookabove
+ \catcode"C4=12 \lccode"C4=0 \uccode"C4=0 % Ohookabove
+ \catcode"EC=12 \lccode"EC=0 \uccode"EC=0 % ohorn
+ \catcode"CC=12 \lccode"CC=0 \uccode"CC=0 % Ohorn
+ \catcode"EE=12 \lccode"EE=0 \uccode"EE=0 % ohornacute
+ \catcode"CE=12 \lccode"CE=0 \uccode"CE=0 % Ohornacute
+ \catcode"F1=12 \lccode"F1=0 \uccode"F1=0 % ohorndotbelow
+ \catcode"D1=12 \lccode"D1=0 \uccode"D1=0 % Ohorndotbelow
+ \catcode"ED=12 \lccode"ED=0 \uccode"ED=0 % ohorngrave
+ \catcode"CD=12 \lccode"CD=0 \uccode"CD=0 % Ohorngrave
+ \catcode"F0=12 \lccode"F0=0 \uccode"F0=0 % ohornhookabove
+ \catcode"D0=12 \lccode"D0=0 \uccode"D0=0 % Ohornhookabove
+ \catcode"EF=12 \lccode"EF=0 \uccode"EF=0 % ohorntilde
+ \catcode"CF=12 \lccode"CF=0 \uccode"CF=0 % Ohorntilde
+ \catcode"E3=12 \lccode"E3=0 \uccode"E3=0 % otilde
+ \catcode"C3=12 \lccode"C3=0 \uccode"C3=0 % Otilde
+ \catcode"F3=12 \lccode"F3=0 \uccode"F3=0 % uacute
+ \catcode"D3=12 \lccode"D3=0 \uccode"D3=0 % Uacute
+ \catcode"F6=12 \lccode"F6=0 \uccode"F6=0 % udotbelow
+ \catcode"D6=12 \lccode"D6=0 \uccode"D6=0 % Udotbelow
+ \catcode"F2=12 \lccode"F2=0 \uccode"F2=0 % ugrave
+ \catcode"D2=12 \lccode"D2=0 \uccode"D2=0 % Ugrave
+ \catcode"F5=12 \lccode"F5=0 \uccode"F5=0 % uhookabove
+ \catcode"D5=12 \lccode"D5=0 \uccode"D5=0 % Uhookabove
+ \catcode"F7=12 \lccode"F7=0 \uccode"F7=0 % uhorn
+ \catcode"D7=12 \lccode"D7=0 \uccode"D7=0 % Uhorn
+ \catcode"F9=12 \lccode"F9=0 \uccode"F9=0 % uhornacute
+ \catcode"D9=12 \lccode"D9=0 \uccode"D9=0 % Uhornacute
+ \catcode"FC=12 \lccode"FC=0 \uccode"FC=0 % uhorndotbelow
+ \catcode"DC=12 \lccode"DC=0 \uccode"DC=0 % Uhorndotbelow
+ \catcode"F8=12 \lccode"F8=0 \uccode"F8=0 % uhorngrave
+ \catcode"D8=12 \lccode"D8=0 \uccode"D8=0 % Uhorngrave
+ \catcode"FB=12 \lccode"FB=0 \uccode"FB=0 % uhornhookabove
+ \catcode"DB=12 \lccode"DB=0 \uccode"DB=0 % Uhornhookabove
+ \catcode"FA=12 \lccode"FA=0 \uccode"FA=0 % uhorntilde
+ \catcode"DA=12 \lccode"DA=0 \uccode"DA=0 % Uhorntilde
+ \catcode"F4=12 \lccode"F4=0 \uccode"F4=0 % utilde
+ \catcode"D4=12 \lccode"D4=0 \uccode"D4=0 % Utilde
+ \catcode"FE=12 \lccode"FE=0 \uccode"FE=0 % yacute
+ \catcode"DE=12 \lccode"DE=0 \uccode"DE=0 % Yacute
+ \catcode"1D=12 \lccode"1D=0 \uccode"1D=0 % ydotbelow
+ \catcode"1C=12 \lccode"1C=0 \uccode"1C=0 % Ydotbelow
+ \catcode"FD=12 \lccode"FD=0 \uccode"FD=0 % ygrave
+ \catcode"DD=12 \lccode"DD=0 \uccode"DD=0 % Ygrave
+ \catcode"1B=12 \lccode"1B=0 \uccode"1B=0 % yhookabove
+ \catcode"1A=12 \lccode"1A=0 \uccode"1A=0 % Yhookabove
+ \catcode"FF=12 \lccode"FF=0 \uccode"FF=0 % ytilde
+ \catcode"DF=12 \lccode"DF=0 \uccode"DF=0 % Ytilde
+}
+
+\def\vnaccents{%
+ \def\Abreve{^^8b} % Abreve
+ \def\Acircumflex{^^85} % Acircumflex
+ \def\Ecircumflex{^^96} % Ecircumflex
+ \def\Ocircumflex{^^c6} % Ocircumflex
+ \def\Ohorn{^^cc} % Ohorn
+ \def\Uhorn{^^d7} % Uhorn
+ \def\abreve{^^ab} % abreve
+ \def\acircumflex{^^a5} % acircumflex
+ \def\dj{^^1f} % dcroat
+ \def\DJ{^^1e} % dcroat
+ \def\ecircumflex{^^b6} % ecircumflex
+ \def\i{^^19} % dotlessi
+ \def\ocircumflex{^^e6} % ocircumflex
+ \def\ohorn{^^ec} % ohorn
+ \def\uhorn{^^f7} % uhorn
+ \def\'##1{%
+ \ifx A##1^^81\else % Aacute
+ \ifx E##1^^92\else % Eacute
+ \ifx I##1^^9d\else % Iacute
+ \ifx O##1^^c2\else % Oacute
+ \ifx U##1^^d3\else % Uacute
+ \ifx Y##1^^de\else % Yacute
+ \ifx \Abreve##1^^8d\else % Abreveacute
+ \ifx \Acircumflex##1^^87\else % Acircumflexacute
+ \ifx \Ecircumflex##1^^98\else % Ecircumflexacute
+ \ifx \Ocircumflex##1^^c8\else % Ocircumflexacute
+ \ifx \Ohorn##1^^ce\else % Ohornacute
+ \ifx \Uhorn##1^^d9\else % Uhornacute
+ \ifx \abreve##1^^ad\else % abreveacute
+ \ifx \acircumflex##1^^a7\else % acircumflexacute
+ \ifx \ecircumflex##1^^b8\else % ecircumflexacute
+ \ifx \ocircumflex##1^^e8\else % ocircumflexacute
+ \ifx \ohorn##1^^ee\else % ohornacute
+ \ifx \uhorn##1^^f9\else % uhornacute
+ \ifx a##1^^a1\else % aacute
+ \ifx e##1^^b2\else % eacute
+ \ifx i##1^^bd\else % iacute
+ \ifx o##1^^e2\else % oacute
+ \ifx u##1^^f3\else % uacute
+ \ifx y##1^^fe\else % yacute
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ }%
+ \def\^##1{%
+ \ifx A##1^^85\else % Acircumflex
+ \ifx E##1^^96\else % Ecircumflex
+ \ifx O##1^^c6\else % Ocircumflex
+ \ifx a##1^^a5\else % acircumflex
+ \ifx e##1^^b6\else % ecircumflex
+ \ifx o##1^^e6\else % ocircumflex
+ \fi\fi\fi\fi\fi\fi
+ }%
+ \def\`##1{%
+ \ifx A##1^^80\else % Agrave
+ \ifx E##1^^91\else % Egrave
+ \ifx I##1^^9c\else % Igrave
+ \ifx O##1^^c1\else % Ograve
+ \ifx U##1^^d2\else % Ugrave
+ \ifx Y##1^^dd\else % Ygrave
+ \ifx \Abreve##1^^8c\else % Abrevegrave
+ \ifx \Acircumflex##1^^86\else % Acircumflexgrave
+ \ifx \Ecircumflex##1^^97\else % Ecircumflexgrave
+ \ifx \Ocircumflex##1^^c7\else % Ocircumflexgrave
+ \ifx \Ohorn##1^^cd\else % Ohorngrave
+ \ifx \Uhorn##1^^d8\else % Uhorngrave
+ \ifx \abreve##1^^ac\else % abrevegrave
+ \ifx \acircumflex##1^^a6\else % acircumflexgrave
+ \ifx \ecircumflex##1^^b7\else % ecircumflexgrave
+ \ifx \ocircumflex##1^^e7\else % ocircumflexgrave
+ \ifx \ohorn##1^^ed\else % ohorngrave
+ \ifx \uhorn##1^^f8\else % uhorngrave
+ \ifx a##1^^a0\else % agrave
+ \ifx e##1^^b1\else % egrave
+ \ifx i##1^^bc\else % igrave
+ \ifx o##1^^e1\else % ograve
+ \ifx u##1^^f2\else % ugrave
+ \ifx y##1^^fd\else % ygrave
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ }%
+ \def\d##1{%
+ \ifx A##1^^84\else % Adotbelow
+ \ifx E##1^^95\else % Edotbelow
+ \ifx I##1^^c0\else % Idotbelow
+ \ifx O##1^^c5\else % Odotbelow
+ \ifx U##1^^d6\else % Udotbelow
+ \ifx Y##1^^1c\else % Ydotbelow
+ \ifx \Abreve##1^^90\else % Abrevedotbelow
+ \ifx \Acircumflex##1^^8a\else % Acircumflexdotbelow
+ \ifx \Ecircumflex##1^^9b\else % Ecircumflexdotbelow
+ \ifx \Ocircumflex##1^^cb\else % Ocircumflexdotbelow
+ \ifx \Ohorn##1^^d1\else % Ohorndotbelow
+ \ifx \Uhorn##1^^dc\else % Uhorndotbelow
+ \ifx \abreve##1^^b0\else % abrevedotbelow
+ \ifx \acircumflex##1^^aa\else % acircumflexdotbelow
+ \ifx \ecircumflex##1^^bb\else % ecircumflexdotbelow
+ \ifx \ocircumflex##1^^eb\else % ocircumflexdotbelow
+ \ifx \ohorn##1^^f1\else % ohorndotbelow
+ \ifx \uhorn##1^^fc\else % uhorndotbelow
+ \ifx a##1^^a4\else % adotbelow
+ \ifx e##1^^b5\else % edotbelow
+ \ifx i##1^^e0\else % idotbelow
+ \ifx o##1^^e5\else % odotbelow
+ \ifx u##1^^f6\else % udotbelow
+ \ifx y##1^^1d\else % ydotbelow
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ }%
+ \def\h##1{%
+ \ifx A##1^^83\else % Ahookabove
+ \ifx E##1^^94\else % Ehookabove
+ \ifx I##1^^9f\else % Ihookabove
+ \ifx O##1^^c4\else % Ohookabove
+ \ifx U##1^^d5\else % Uhookabove
+ \ifx Y##1^^1a\else % Yhookabove
+ \ifx \Abreve##1^^8f\else % Abrevehookabove
+ \ifx \Acircumflex##1^^89\else % Acircumflexhookabove
+ \ifx \Ecircumflex##1^^9a\else % Ecircumflexhookabove
+ \ifx \Ocircumflex##1^^ca\else % Ocircumflexhookabove
+ \ifx \Ohorn##1^^d0\else % Ohornhookabove
+ \ifx \Uhorn##1^^db\else % Uhornhookabove
+ \ifx \abreve##1^^af\else % abrevehookabove
+ \ifx \acircumflex##1^^a9\else % acircumflexhookabove
+ \ifx \ecircumflex##1^^ba\else % ecircumflexhookabove
+ \ifx \ocircumflex##1^^ea\else % ocircumflexhookabove
+ \ifx \ohorn##1^^f0\else % ohornhookabove
+ \ifx \uhorn##1^^fb\else % uhornhookabove
+ \ifx a##1^^a3\else % ahookabove
+ \ifx e##1^^b4\else % ehookabove
+ \ifx i##1^^bf\else % ihookabove
+ \ifx o##1^^e4\else % ohookabove
+ \ifx u##1^^f5\else % uhookabove
+ \ifx y##1^^1b\else % yhookabove
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ }%
+ \def\~##1{%
+ \ifx A##1^^82\else % Atilde
+ \ifx E##1^^93\else % Etilde
+ \ifx I##1^^9e\else % Itilde
+ \ifx O##1^^c3\else % Otilde
+ \ifx U##1^^d4\else % Utilde
+ \ifx Y##1^^df\else % Ytilde
+ \ifx \Abreve##1^^8e\else % Abrevetilde
+ \ifx \Acircumflex##1^^88\else % Acircumflextilde
+ \ifx \Ecircumflex##1^^99\else % Ecircumflextilde
+ \ifx \Ocircumflex##1^^c9\else % Ocircumflextilde
+ \ifx \Ohorn##1^^cf\else % Ohorntilde
+ \ifx \Uhorn##1^^da\else % Uhorntilde
+ \ifx \abreve##1^^ae\else % abrevetilde
+ \ifx \acircumflex##1^^a8\else % acircumflextilde
+ \ifx \ecircumflex##1^^b9\else % ecircumflextilde
+ \ifx \ocircumflex##1^^e9\else % ocircumflextilde
+ \ifx \ohorn##1^^ef\else % ohorntilde
+ \ifx \uhorn##1^^fa\else % uhorntilde
+ \ifx a##1^^a2\else % atilde
+ \ifx e##1^^b3\else % etilde
+ \ifx i##1^^be\else % itilde
+ \ifx o##1^^e3\else % otilde
+ \ifx u##1^^f4\else % utilde
+ \ifx y##1^^ff\else % ytilde
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+ }%
+}
+
+
+% copied from plain.tex
+\def\cmaccents{%
+ \def\`##1{{\accent18 ##1}}%
+ \def\'##1{{\accent19 ##1}}%
+ \def\v##1{{\accent20 ##1}}%
+ \def\u##1{{\accent21 ##1}}%
+ \def\=##1{{\accent22 ##1}}%
+ \def\^##1{{\accent94 ##1}}%
+ \def\.##1{{\accent95 ##1}}%
+ \def\~##1{{\accent"7E ##1}}%
+ \def\"##1{{\accent"7F ##1}}%
+}
+
+\vncodes
+\vnaccents
diff --git a/language/vietnamese/vntex/tex/plain/vntexinfo.tex b/language/vietnamese/vntex/tex/plain/vntexinfo.tex
new file mode 100644
index 0000000000..d4b92c8281
--- /dev/null
+++ b/language/vietnamese/vntex/tex/plain/vntexinfo.tex
@@ -0,0 +1,61 @@
+% support for vietnamese with texinfo
+% must be used with TCX extension
+% Usage: replace `\input texinfo.tex' by `\input vntexinfo.tex' in your
+% *.texi files
+
+% Copyright 2003-2005 Han The Thanh <hanthethanh@gmx.net>.
+% This file is part of vntex. License: LPPL, version 1.3 or newer,
+% according to http://www.latex-project.org/lppl.txt
+
+\input t5code.tex
+\def\fontprefix{vn}
+\def\today{%
+ Ng\`ay \number\day\space
+ th\'ang \number\month\space
+ n\abreve m \number\year}
+
+% redefine those to get vietnamese captions; edit them in viscii/tcvn/utf8,
+% then use ie `vntovn viscii vntex' to convert to vntex
+%
+% \gdef\putwordAppendix{Appendix}
+% \gdef\putwordChapter{Chapter}
+% \gdef\putwordfile{file}
+% \gdef\putwordin{in}
+% \gdef\putwordIndexIsEmpty{(Index is empty)}
+% \gdef\putwordIndexNonexistent{(Index is nonexistent)}
+% \gdef\putwordInfo{Info}
+% \gdef\putwordInstanceVariableof{Instance Variable of}
+% \gdef\putwordMethodon{Method on}
+% \gdef\putwordNoTitle{No Title}
+% \gdef\putwordof{of}
+% \gdef\putwordon{on}
+% \gdef\putwordpage{page}
+% \gdef\putwordsection{section}
+% \gdef\putwordSection{Section}
+% \gdef\putwordsee{see}
+% \gdef\putwordSee{See}
+% \gdef\putwordShortTOC{Short Contents}
+% \gdef\putwordTOC{Table of Contents}
+% %
+% \gdef\putwordMJan{January}
+% \gdef\putwordMFeb{February}
+% \gdef\putwordMMar{March}
+% \gdef\putwordMApr{April}
+% \gdef\putwordMMay{May}
+% \gdef\putwordMJun{June}
+% \gdef\putwordMJul{July}
+% \gdef\putwordMAug{August}
+% \gdef\putwordMSep{September}
+% \gdef\putwordMOct{October}
+% \gdef\putwordMNov{November}
+% \gdef\putwordMDec{December}
+% %
+% \gdef\putwordDefmac{Macro}
+% \gdef\putwordDefspec{Special Form}
+% \gdef\putwordDefvar{Variable}
+% \gdef\putwordDefopt{User Option}
+% \gdef\putwordDeftypevar{Variable}
+% \gdef\putwordDeffunc{Function}
+% \gdef\putwordDeftypefun{Function}
+
+\input texinfo