aboutsummaryrefslogtreecommitdiff
path: root/vietnamese
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>2001-02-10 23:56:40 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>2001-02-10 23:56:40 +0000
commit1d149b270822d690480367dae4036599aeacdd4d (patch)
treebe0b21c1c5aaa948ea10be5b3dd583ec85094b1d /vietnamese
parentccb5ce7a43ed3aa7b2800c324a7b83dcbde8a1b5 (diff)
downloadports-1d149b270822d690480367dae4036599aeacdd4d.tar.gz
ports-1d149b270822d690480367dae4036599aeacdd4d.zip
Update vnterm so it is based on the X11R6.5.1 Xterm rather than the X11R5 one.
This also removes libviqr and the Xfonts from this package as they are now seperate ports.
Notes
Notes: svn path=/head/; revision=38189
Diffstat (limited to 'vietnamese')
-rw-r--r--vietnamese/vnterm/Makefile28
-rw-r--r--vietnamese/vnterm/distinfo2
-rw-r--r--vietnamese/vnterm/files/README.vnterm271
-rw-r--r--vietnamese/vnterm/files/patch-0121
-rw-r--r--vietnamese/vnterm/files/patch-0226
-rw-r--r--vietnamese/vnterm/files/patch-0311
-rw-r--r--vietnamese/vnterm/files/patch-0418
-rw-r--r--vietnamese/vnterm/files/patch-0519
-rw-r--r--vietnamese/vnterm/files/patch-0652
-rw-r--r--vietnamese/vnterm/files/patch-0711
-rw-r--r--vietnamese/vnterm/files/patch-Imakefile114
-rw-r--r--vietnamese/vnterm/files/patch-charproc.c294
-rw-r--r--vietnamese/vnterm/files/patch-input.c91
-rw-r--r--vietnamese/vnterm/files/patch-main.c185
-rw-r--r--vietnamese/vnterm/files/patch-menu.c111
-rw-r--r--vietnamese/vnterm/files/patch-menu.h73
-rw-r--r--vietnamese/vnterm/files/vnterm.1V222
-rw-r--r--vietnamese/vnterm/files/vnvars.c13
-rw-r--r--vietnamese/vnterm/files/vnvars.h19
-rw-r--r--vietnamese/vnterm/pkg-descr4
-rw-r--r--vietnamese/vnterm/pkg-install8
-rw-r--r--vietnamese/vnterm/pkg-plist7
-rw-r--r--vietnamese/vnterm/scripts/pre-install2
23 files changed, 1411 insertions, 191 deletions
diff --git a/vietnamese/vnterm/Makefile b/vietnamese/vnterm/Makefile
index 4eed66a06984..501536603114 100644
--- a/vietnamese/vnterm/Makefile
+++ b/vietnamese/vnterm/Makefile
@@ -7,12 +7,10 @@
#
PORTNAME= vnterm
-PORTVERSION= 3.3
+PORTVERSION= 3.4 #11.6.5.1
CATEGORIES= vietnamese x11
-MASTER_SITES= ftp://ftp.media.mit.edu/pub/Vietnet/Viscii/Unix/ \
- ftp://ftp.monash.edu.au/pub/vietnam/unix/
-DISTNAME= ${PORTNAME}${PORTVERSION}
-EXTRACT_SUFX= .tar.Z
+MASTER_SITES= ftp://ftp.x.org/pub/R6.5.1/tars/
+DISTNAME= xorg-1
MAINTAINER= obrien@FreeBSD.org
@@ -20,27 +18,27 @@ USE_IMAKE= yes
.include <bsd.port.pre.mk>
+BUILD_DEPENDS= ${LOCALBASE}/lib/libviqr.a:${PORTSDIR}/vietnamese/libviet
+RUN_DEPENDS= ${PREFIX}/lib/X11/fonts/vietnamese/fonts.dir:${PORTSDIR}/vietnamese/vnxfonts
.if ${XFREE86_VERSION} == 4
RUN_DEPENDS= mkfontdir:${PORTSDIR}/x11/XFree86-4-clients
.endif
+EXTRACT_AFTER_ARGS= | ${TAR} -xf - xc/programs/xterm
+WRKSRC= ${WRKDIR}/xc/programs/xterm
XMKMF= xmkmf
MAN1= vnterm.1
-CFLAGS+= -I../../include
+CFLAGS+= -I${PREFIX}/include/viet
post-patch:
- @${LN} ${WRKSRC}/XTerm.ad ${WRKSRC}/VNTerm.ad
- @${LN} ${WRKSRC}/vnterm.1V ${WRKSRC}/vnterm.man
+ @${CP} -p ${FILESDIR}/vnvars.* ${WRKSRC}
+
+pre-build:
+ ${LN} -f ${WRKSRC}/XTerm.ad ${WRKSRC}/VNTerm.ad
+ ${LN} -f ${FILESDIR}/vnterm.1V ${WRKSRC}/vnterm.man
post-install:
@${INSTALL_SCRIPT} ${WRKDIR}/VNterm.sh ${PREFIX}/bin/VNterm
- @${MKDIR} ${PREFIX}/lib/X11/fonts/vietnamese
- @(cd ${WRKSRC}/../fonts/X ; \
- ${INSTALL_DATA} fonts.dir *.pcf.Z \
- ${PREFIX}/lib/X11/fonts/vietnamese ; \
- )
- @${SETENV} PKG_PREFIX=${PREFIX} \
- ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
.if !defined(NOPORTDOCS)
@${MKDIR} ${PREFIX}/share/doc/vnterm \
&& ${CHMOD} a+rx ${PREFIX}/share/doc/vnterm
diff --git a/vietnamese/vnterm/distinfo b/vietnamese/vnterm/distinfo
index 5bb5831b6b55..bce091115063 100644
--- a/vietnamese/vnterm/distinfo
+++ b/vietnamese/vnterm/distinfo
@@ -1 +1 @@
-MD5 (vnterm3.3.tar.Z) = 6eb2fccfad669c1eb839778c34b5d956
+MD5 (xorg-1.tar.gz) = 1f5d04a6a542afe41c47ca9ce0b7b3c6
diff --git a/vietnamese/vnterm/files/README.vnterm b/vietnamese/vnterm/files/README.vnterm
new file mode 100644
index 000000000000..bab821384574
--- /dev/null
+++ b/vietnamese/vnterm/files/README.vnterm
@@ -0,0 +1,271 @@
+7/15/93
+vnterm has been "ported" to be base on the latest X11R5 xterm source
+that I have. It has only been tested on SGI IRIX 5.0 alpha.
+
+Theoretically, it should compile on other SVR4 derived OS.
+
+Any problem, contact me as I am responsible for this particular
+version of vnterm. Email to tin@saigon.com
+
+Tin Le
+
+--------------------------
+
+If you received this program in source form and must compile it,
+please follow the compile instructions below. If you received
+the program in executable format, please skip directly to the
+XDEFAULTS section below.
+
+The files VIQR.7 and VISCII.8 contain samples of Vietnamese
+text that conform to the Viet-Std encoding specifications,
+with which Vnterm complies.
+
+--------
+COMPILE INSTRUCTIONS:
+
+To compile this program, first try
+
+ % xmkmf
+ % /bin/make
+
+If your system is properly set up for X and imake, that should be
+sufficient. However, some systems are not correctly set up,
+and for that we have provided the script "make" that summarizes
+the important parameters you need to set for your system.
+Edit "Doimake" and "make" as appropriate, and run
+
+ % Doimake
+ % ./Make Makefile
+ % ./Make
+
+Sparc users note: your system libraries may require the -ldl
+option added at the final linking step. A simple fix for this
+is to edit your Imakefile/Makefile, and change the definition
+
+ VNLIBS = $(VNLIBDIR)/libviqr.a $(VNLIBDIR)/libvntype.a
+
+to
+
+ VNLIBS = -ldl $(VNLIBDIR)/libviqr.a $(VNLIBDIR)/libvntype.a
+
+If you still have trouble, make a transcript of your compile
+attempt,
+
+ % script
+ % ....
+ % exit
+
+and mail it to trichlor@haydn.Stanford.EDU, along with your questions.
+--------
+XDEFAULTS:
+
+Sample settings to be placed in your .Xdefaults file for vnterm
+is provided in the file "Xdefaults."
+
+ > vnterm*font: vn-r14
+ This sets the font for "vnterm" to "vn-r14" whenever you
+ run it.
+
+ > vnterm*vnFilterKeyboard: on
+ This enables the Vietnamese keyboard.
+
+ > vnterm*vnFilterScreen: off
+ This disables the screen-filter mode. When this mode is enabled,
+ instead of displaying the true characters, vnterm will display them
+ as Vietnamese characters according to the VIQR standard (Viet-Net
+ like, see below under KEYBOARD INSTRUCTIONS). This is useful if
+ you're reading Vietnamese mail or Soc.Culture.Vietnamese messages
+ where people type things like:
+
+ DDa^y la` tie^'ng Vie^.t.
+
+ By having the screen filter ON, you will see this as true Vietnamese
+ characters. Of course, you won't need the filter on if the characters
+ are already true Vietnamese data (according to the Viet-Std 8-bit
+ VISCII standard).
+
+ One hitch: occasionally, some magic strings will cause the
+ Vietnamese screen filter to switch language modes (see below,
+ under KEYBOARD INSTRUCTIONS) and it will no longer combine
+ characters to form Vietnamese. "This is not a bug, it is a feature."
+ If you want to get back to Vietnamese mode for screen filtering,
+ the simplest way is to go to the pop-up menu (CTRL-MIDDLE MOUSE)
+ and turn the screen filter off, then on again.
+
+--------
+FONT INSTRUCTIONS:
+
+Vnterm.3.0 requires the availability of Vietnamese X fonts.
+Such fonts can be found under the "fonts/X" directory of the
+TriChlor distribution. Installation of the fonts is a 4-step
+process, which is partially taken care of by the Makefile
+in the fonts/X directory:
+
+ 1. Convert the BDF format to SNF (server normal format),
+ with "bdftosnf <fontfile>.bdf > <fontfile>.snf".
+ The Makefile under fonts/X takes care of this automatically.
+ This is also automatically taken care of if you run
+ a compilation of vnterm. However, if you retrieved
+ vnterm in its executable form, you must go to the
+ fonts/X directory and run "make all".
+
+ 2. Make a listing of your fonts in the directory so the
+ X server can read it, with "mkfontdir". The Makefile
+ takes care of this automatically.
+
+ 3. Tell the X server where to find your font directory,
+ with "xset +fp <your_font_directory>". The Makefile
+ does NOT do this, as you may wish to place your fonts
+ somewhere other than in the directory where they were compiled.
+
+ Remember that <your_font_directory> refers to
+ where the X server is running, which is NOT necessarily
+ the machine you are logged into. If this doesn't make
+ much sense, don't worry, just plow ahead with the installation.
+ If it doesn't work, you'll know this is one possible
+ reason why. In case of doubt, ask your local X guru.
+
+ 4. Set the font for the "vnterm" program to that font.
+ For example, if you have the font "vn-r14",
+ either issue the command
+
+ % vnterm -fn vn-r14
+
+ of place the following line in your .Xdefaults:
+
+
+ vnterm*font: vn-r14
+
+If you have trouble with the font installation, try seeking help
+from a local X guru who knows the particulars of your environment.
+We can be reached for further consultation at the mail alias
+TriChlor@haydn.Stanford.EDU.
+
+Particulars:
+
+X11/NeWS: the server has its own font format that can be generated
+ with the command "convertfont".
+
+NFS users:make sure your font files are accessible by everyone. This
+ means a minimum of:
+
+ (a) all directories in the path to your font files must
+ be executable by everyone. This means a minimum of:
+
+ % chmod go+x <dir>
+
+ for all directory components.
+
+ (b) all font files readable by everyone:
+
+ % chmod go+r *
+
+ in the font directory.
+
+X-terminals: recently X-terminals have become increasingly available.
+ X-terminals typically boot up getting files from a file server,
+ in particular its font files. This poses a thorny problem:
+ how do you install a new font for these displays? The user
+ typically does not have access to the file system where the
+ X-terminal looks for its fonts.
+
+ If you know where your X terminal looks for its fonts
+ (at least which file system), and have write access to
+ it, you're okay, because you can place your fonts there
+ and tell the X terminal server proram to look there.
+
+ If you do know where it looks for fonts, but don't have
+ access to it, OR, if you don't know where it looks for fonts,
+ there is nothing you can do short of contacting the
+ guru who manages your X terminal. He or she will be
+ able to put the Vietnames font file in the right places
+--------
+KEYBOARD INSTRUCTIONS:
+
+ Vnterm starts up in Vietnamese typing mode. There are two other
+ modes, English and Literal, (according to the Viet-Std VIQR standard)
+ each of which is initiated as described below:
+
+ Typing instructions:
+
+ \v: Start Vietnamese mode, where Viet-Net style input is supported,
+ for example:
+
+ Ca' kho^ng a(n muo^'i ca' u+o+ng
+ Con ca~i cha me. tra(m ddu+o+`ng con hu+\.
+
+ To prevent composition, use "\". The example above shows
+ "hu+\." which tells Vnterm that the ending period is
+ a period and not a Vietnamese dot-below (da^'u na(.ng).
+
+ The diacritics (da^'u) are:
+
+ ( breve da^'u tra(ng, a('
+ ^ circumflex da^'u mu~, a^'
+ + horn da^'u mo'c, o+
+
+ ' acute da^'u sa('c
+ ` grave da^'u huye^`n
+ ? hook above da^'u ho?i
+ ~ tilde da^'u nga~
+ . dot below da^'u na(.ng
+
+ \m: Start English mode, where Viet-Net style input is supported,
+ but must be explicitly announced with a "\", for example:
+
+ C\a' kh\o^ng \a(n mu\o^'i c\a' \u+\o+ng
+ Con c\a~i cha m\e. tr\a(m \dd\u+\o+`ng con h\u+\.
+
+ This mode is useful if you type mostly English and don't
+ want the trouble of having to type "\" to escape composition
+ all the time.
+
+ \l: starts Literal mode, almost all keys are passed literally.
+
+ For complete details, please see the Viet-Std documents
+ published elsewhere. Contact "viet-std@haydn.Stanford.EDU"
+ if you would like a copy.
+
+ To turn off keyboard filtering completely, use the pop-up menu
+ using CTRL-middle (hold down Control key while pressing the middle
+ mouse button), and highlight the option "Enable Vietnamese keys."
+ If there is a check mark next to it, the Vietnamese keyboard filtering
+ is in effect. Otherwise, it has been turned off.
+--------
+DISPLAY INSTRUCTIONS:
+
+ Vnterm also supports a Screen-Filter mode which will convert
+ the displayed text to Vietnamese as appropriate. This is useful
+ if you are reading Soc.Culture.Vietnamese or something similar.
+ To use this, bring up the pop-up menu, also using CTRL-middle,
+ and highlight the "Use Vietnamese screen" option so that there
+ is a check mark next to it. From then on if you read a message
+ with Vietnamese mnemonics in it, it will display as true Vietnamese
+ characters. NOTE: the screen filter also switches modes like
+ the keyboard filter, so that if you happen to read a message
+ with the string "\l" or "\m" in it, it will put the filter in
+ Literal or English mode, respectively. Subsequently, the
+ Vietnamese mnemonics will no longer display as Vietnamese.
+ A simple way to get the screen filter back to Vietnamese mode
+ is to turn it off, then on again, using the pop-up menu.
+
+--------
+TTY settings:
+
+ Some of the newer shells try to be "smart" and will actually
+ reset your terminal characteristics, even though vnterm attempts
+ to set them correctly on start-up. This requires you to manually
+ set:
+
+ % stty pass8 cs8 -istrip
+
+ You may find it convenient to place the line above in your
+ .cshrc, which is read every time the C-shell starts up.
+
+ In addition, the one of the newest shells we've tested will
+ actually insist on not passing 8-bit characters, regardless
+ of the tty settings. Your best bet in this case is to run
+ an older shell, which may be available on your system as
+ /bin/csh.
+
+Cu+o+`ng Nguye^~n
diff --git a/vietnamese/vnterm/files/patch-01 b/vietnamese/vnterm/files/patch-01
deleted file mode 100644
index 2d21ae8a23fe..000000000000
--- a/vietnamese/vnterm/files/patch-01
+++ /dev/null
@@ -1,21 +0,0 @@
---- misc.c.orig Fri Jul 16 10:17:56 1993
-+++ misc.c Sun Nov 24 18:29:09 1996
-@@ -34,6 +34,7 @@
- #include <ctype.h>
- #include <pwd.h>
- #include <errno.h>
-+#include <sys/param.h>
-
- #include <X11/Xatom.h>
- #include <X11/cursorfont.h>
-@@ -776,8 +777,10 @@
- char *SysErrorMsg (n)
- int n;
- {
-+#if !((defined(BSD) && (BSD >= 199103)))
- extern char *sys_errlist[];
- extern int sys_nerr;
-+#endif
-
- return ((n >= 0 && n < sys_nerr) ? sys_errlist[n] : "unknown error");
- }
diff --git a/vietnamese/vnterm/files/patch-02 b/vietnamese/vnterm/files/patch-02
deleted file mode 100644
index 74ea68c9bcc2..000000000000
--- a/vietnamese/vnterm/files/patch-02
+++ /dev/null
@@ -1,26 +0,0 @@
---- ../lib/Makefile.orig Tue Aug 31 15:40:06 1993
-+++ ../lib/Makefile Sun Nov 24 19:59:14 1996
-@@ -4,7 +4,7 @@
- LIBDIRS = viqr vntype
- LIBS = libviqr.a libvntype.a
- #FLAGS = -DNO_ANSI_C
--MFLAGS = -r
-+#MFLAGS = -r
-
- all:
- @$(MAKE) MSG="Working on" TARGET=all forloop
-@@ -13,12 +13,13 @@
- @$(MAKE) MSG="Working on" TARGET=clean forloop
-
- forloop:
-+ @echo "CFLAGS are $(CFLAGS)"
- @for dir in $(LIBDIRS) ; do \
- $(ECHO) "Working on" $$dir " {" ; \
- cd $$dir ; \
- PATH=".:$(PATH)" ; \
- export PATH ; \
-- make $(MFLAGS) -e TAB="$(TAB)$(TAB)" $(TARGET) ; \
-+ make $(MFLAGS) TAB="$(TAB)$(TAB)" $(TARGET) ; \
- cd .. ; \
- $(ECHO) "Done with" $$dir " }";\
- $(ECHO) "" ;\
diff --git a/vietnamese/vnterm/files/patch-03 b/vietnamese/vnterm/files/patch-03
deleted file mode 100644
index b8c3c5a9dee4..000000000000
--- a/vietnamese/vnterm/files/patch-03
+++ /dev/null
@@ -1,11 +0,0 @@
---- ../lib/viqr/Makefile.orig Thu Jul 15 18:19:16 1993
-+++ ../lib/viqr/Makefile Fri Dec 6 11:48:24 1996
-@@ -8,7 +8,7 @@
- SHELL = /bin/sh
- VNLIBDIR= ..
- VNINCDIR= ../../include
--RANLIB= echo
-+RANLIB= ranlib
-
- SRCS = vncompos.c vnkeys.c vk_qrto8.c vk_8toqr.c
- OBJS = vncompos.o vnkeys.o vk_qrto8.o vk_8toqr.o
diff --git a/vietnamese/vnterm/files/patch-04 b/vietnamese/vnterm/files/patch-04
deleted file mode 100644
index 10fc15a9b340..000000000000
--- a/vietnamese/vnterm/files/patch-04
+++ /dev/null
@@ -1,18 +0,0 @@
---- ../lib/vntype/Makefile.orig Tue Aug 10 18:26:33 1993
-+++ ../lib/vntype/Makefile Fri Dec 6 11:48:38 1996
-@@ -12,13 +12,13 @@
- SRTI = vntype.I toupper.I tolower.I
- SRTS = vntype.srt toupper.srt tolower.srt
- LIB = $(VNLIBDIR)/libvntype.a
--RANLIB = echo
-+RANLIB = ranlib
-
- INC = -I$(VNINCDIR)
- #FLAGS = -DNOANSI_C
- CFLAGS = $(FLAGS) $(INC)
- CC = cc
--CPP = /lib/cpp
-+CPP = cpp
-
- .I.srt:
- @echo -n "Generating $@ from $*.I..."
diff --git a/vietnamese/vnterm/files/patch-05 b/vietnamese/vnterm/files/patch-05
deleted file mode 100644
index eb677d71bf00..000000000000
--- a/vietnamese/vnterm/files/patch-05
+++ /dev/null
@@ -1,19 +0,0 @@
---- ../fonts/X/Makefile.orig Tue Aug 31 15:42:26 1993
-+++ ../fonts/X/Makefile Wed Dec 4 02:00:53 1996
-@@ -35,7 +35,7 @@
- @echo $(TAB)We\'re going to do some font conversion.
- @echo $(TAB)Depending on your system set-up, some of
- @echo $(TAB)the conversion programs may not exist.
-- @echo $(TAB)Don't worry about this; it means that
-+ @echo "$(TAB)Don't worry about this; it means that"
- @echo $(TAB)your font format is one of the others.
- @echo $(TAB)We try to cover PCF, SNF, and FB formats.
- @echo $(TAB)You're out of luck if NONE of these work.
-@@ -71,6 +71,7 @@
- else echo "I guess you don't." ;\
- fi
-
-+ -compress *.pcf
- -mkfontdir >/dev/null 2>&1
- @-chmod go+r fonts.*
- @touch $(MADEFLAG)
diff --git a/vietnamese/vnterm/files/patch-06 b/vietnamese/vnterm/files/patch-06
deleted file mode 100644
index f0c2216a45e6..000000000000
--- a/vietnamese/vnterm/files/patch-06
+++ /dev/null
@@ -1,52 +0,0 @@
---- vnterm.1V.orig Tue May 26 16:57:45 1992
-+++ vnterm.1V Wed Dec 4 00:52:33 1996
-@@ -1,7 +1,7 @@
- .\" to view this file, use: nroff -man %M% | more
- .\" %W% (TriChlor) %G% %U%
- .\"
--.TH vnterm.3 1V
-+.TH vnterm 1V
- .SH NAME
- vnterm \- X-terminal with Vietnamese
- .SH SYNTAX
-@@ -12,9 +12,9 @@
- [\fIregular_xterm_options\fP]
- .SH DESCRIPTION
- .NXR "vnterm command"
--Version 3.0 of
-+Version 3.3 of
- .PN vnterm
--is an adaptation of the X11R4
-+is an adaptation of the X11R5
- .MS xterm 1X
- command. This manual page describes only
- those features specific to
-@@ -68,6 +68,7 @@
- combination.
- The corresponding X resources are:
- .EX
-+ vnterm*font: vn-r14
- vnterm*vnFilterKeyboard: on
- vnterm*vnFilterScreen: off
- vnterm*vnEraseCharacter: 127
-@@ -203,12 +204,18 @@
- menu of
- .PN vnterm.
- .SH AUTHOR
-+4.4BSD porting by David O'Brien <obrien@cs.ucdavis.edu>
-+.PP
-+Adapted from X11R5's xterm by
-+Tin Le <tin@saigon.com>
-+.PP
- Adapted from X11R4's xterm by
- the TriChlor Group, TriChlor@haydn.Stanford.EDU.
- .PP
- Thanks to Tuan P. Do (tuan@compass-da.com) for illustrating
- the need for the vnEraseCharacter specifier.
- .SH "SEE ALSO"
--The Viet-Std Standardization Specification (Viet-Std@Haydn.Stanford.EDU)
--.br
-+.PP
- vietterm(1V), vnelvis(1V)
-+.SH STANDARDS
-+Viet-Std Standardization Specification (Viet-Std@Haydn.Stanford.EDU)
diff --git a/vietnamese/vnterm/files/patch-07 b/vietnamese/vnterm/files/patch-07
deleted file mode 100644
index d4dee573d54f..000000000000
--- a/vietnamese/vnterm/files/patch-07
+++ /dev/null
@@ -1,11 +0,0 @@
---- ptyx.h.orig Fri Jul 16 10:17:57 1993
-+++ ptyx.h Sat Apr 26 10:06:58 1997
-@@ -91,7 +91,7 @@
- #ifdef hpux
- #define PTYCHAR2 "fedcba9876543210"
- #else /* !hpux */
--#define PTYCHAR2 "0123456789abcdef"
-+#define PTYCHAR2 "0123456789abcdefghijklmnopqrstuvwxyz"
- #endif /* !hpux */
- #endif /* !PTYCHAR2 */
-
diff --git a/vietnamese/vnterm/files/patch-Imakefile b/vietnamese/vnterm/files/patch-Imakefile
new file mode 100644
index 000000000000..d6e3f9a3eb6f
--- /dev/null
+++ b/vietnamese/vnterm/files/patch-Imakefile
@@ -0,0 +1,114 @@
+--- Imakefile.orig Mon Aug 21 08:47:46 2000
++++ Imakefile Sat Feb 10 05:32:41 2001
+@@ -1,6 +1,6 @@
+ XCOMM $Xorg: Imakefile,v 1.3 2000/08/17 19:55:07 cpqbld Exp $
+ XCOMM
+-XCOMM Attention xterm porters
++XCOMM Attention vnterm porters
+ XCOMM
+ XCOMM
+ XCOMM Xterm assumes that bcopy can handle overlapping arguments. If your
+@@ -23,26 +23,35 @@
+ OSMAJORVERSION = OSMajorVersion
+ OSMINORVERSION = OSMinorVersion
+
++ VNLIBDIR = ../lib
++ VNINCDIR = /usr/local/include/viet
++ VNFONTXDIR = ../fonts/X
++
+ MAIN_DEFINES = -DUTMP $(TTYGROUPDEF) $(PUCCPTYDDEF) \
+ -DOSMAJORVERSION=$(OSMAJORVERSION) \
+ -DOSMINORVERSION=$(OSMINORVERSION)
+ MISC_DEFINES = /* -DALLOWLOGFILEEXEC */
+ XKB_DEFINES = XkbClientDefines
+ DEFINES = $(XKB_DEFINES)
++ CDEBUGFLAGS = -I$(VNINCDIR) -O #-g
++ LDLIBS = $(VNLIBS)
+ SRCS1 = button.c charproc.c cursor.c data.c input.c \
+ main.c menu.c misc.c screen.c scrollbar.c tabs.c \
+- TekPrsTbl.c Tekproc.c util.c VTPrsTbl.c
++ TekPrsTbl.c Tekproc.c util.c VTPrsTbl.c vnvars.c
+ OBJS1 = main.o input.o charproc.o cursor.o util.o tabs.o \
+ screen.o scrollbar.o button.o Tekproc.o misc.o \
+- VTPrsTbl.o TekPrsTbl.o data.o menu.o
++ VTPrsTbl.o TekPrsTbl.o data.o menu.o vnvars.o
+ SRCS2 = resize.c
+ OBJS2 = resize.o
+ SRCS = $(SRCS1) $(SRCS2)
+ OBJS = $(OBJS1) $(OBJS2)
+- PROGRAMS = resize xterm
+- DEPLIBS1 = XkbClientDepLibs XawClientDepLibs
++ PROGRAMS = vnterm
++ VNLIBS = /usr/local/lib/libviqr.a /usr/local/lib/libvntype.a
++ /*VNFONTX = $(VNFONTXDIR)/fontsmade */
++ VNFONTX =
++ DEPLIBS1 = XkbClientDepLibs XawClientDepLibs $(VNFONTX)
+ DEPLIBS2 =
+- PROGRAMS = xterm resize
++ PROGRAMS = vnterm
+
+ #ifndef TermcapLibrary
+ #if SystemV && !defined(MacIIArchitecture)
+@@ -65,9 +74,9 @@
+ SpecialCObjectRule(charproc,$(_NOOP_),$(MISC_DEFINES))
+
+ #if InstallXtermSetUID
+-SetUIDProgramTarget(xterm,$(OBJS1),$(DEPLIBS1),XkbClientLibs XawClientLibs,$(TERMCAPLIB) $(PTYLIB))
++SetUIDProgramTarget(vnterm,$(OBJS1),$(DEPLIBS1),XkbClientLibs XawClientLibs,$(TERMCAPLIB) $(PTYLIB))
+ #else
+-NormalProgramTarget(xterm,$(OBJS1),$(DEPLIBS1),XkbClientLibs XawClientLibs,$(TERMCAPLIB) $(PTYLIB))
++NormalProgramTarget(vnterm,$(OBJS1),$(DEPLIBS1),XkbClientLibs XawClientLibs,$(TERMCAPLIB) $(PTYLIB))
+ #endif
+
+ #if InstallXtermSetUID && defined(SunArchitecture) && HasSharedLibraries && OSMajorVersion < 5
+@@ -83,24 +92,37 @@
+ #endif
+ #endif
+ #endif
+-install:: xterm
++
++/* XTERM_LINK_FLAGS = -Wl,-T,10000000,-D,10400000 */
++
++install:: vnterm
+ MakeDir($(DESTDIR)$(BINDIR))
+- RemoveFile(xterm.inst)
+- LinkRule(xterm.inst,$(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(LOCAL_LDFLAGS),$(OBJS1),$(LDOVERRIDE) XawClientLibs $(LDRESUME) $(LDLIBS) $(TERMCAPLIB) $(PTYLIB))
+- $(INSTALL) -c $(INSTPGMFLAGS) $(INSTUIDFLAGS) xterm.inst $(DESTDIR)$(BINDIR)/xterm
+- RemoveFile(xterm.inst)
++ RemoveFile(vnterm.inst)
++ LinkRule(vnterm.inst,$(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(LOCAL_LDFLAGS),$(OBJS1),$(LDOVERRIDE) XawClientLibs $(LDRESUME) $(LDLIBS) $(TERMCAPLIB) $(PTYLIB) $(XTERM_LINK_FLAGS))
++ $(INSTALL) -c $(INSTPGMFLAGS) $(INSTUIDFLAGS) vnterm.inst $(DESTDIR)$(BINDIR)/vnterm
++ RemoveFile(vnterm.inst)
+ #else
+ #if InstallXtermSetUID
+-InstallProgramWithFlags(xterm,$(BINDIR),$(INSTUIDFLAGS))
++InstallProgramWithFlags(vnterm,$(BINDIR),$(INSTUIDFLAGS))
+ #else
+-InstallProgramWithFlags(xterm,$(BINDIR),NullParameter)
++InstallProgramWithFlags(vnterm,$(BINDIR),NullParameter)
+ #endif
+ #endif
+
+-NormalProgramTarget(resize,$(OBJS2),$(DEPLIBS2),NullParameter,$(TERMCAPLIB))
+-InstallProgramWithFlags(resize,$(BINDIR),NullParameter)
+-
+-InstallAppDefaults(XTerm)
+-InstallManPage(xterm,$(MANDIR))
+-InstallManPage(resize,$(MANDIR))
++InstallAppDefaults(VNTerm)
++InstallManPage(vnterm,$(MANDIR))
+ DependTarget()
++
++$(VNLIBS):
++ @echo ""
++ @echo "Making library routines in $(VNLIBDIR). Please wait..."
++ @(cd $(VNLIBDIR) ; make VNLIBDIR=.. VNINCDIR=../../include)
++ @echo "Done making library routines."
++ @echo ""
++
++$(VNFONTX):
++ @echo ""
++ @echo "Making X fonts in $(VNFONTXDIR). Please wait..."
++ @(cd $(VNFONTXDIR) ; make)
++ @echo "Done making X fonts."
++ @echo ""
diff --git a/vietnamese/vnterm/files/patch-charproc.c b/vietnamese/vnterm/files/patch-charproc.c
new file mode 100644
index 000000000000..b7978ee7a709
--- /dev/null
+++ b/vietnamese/vnterm/files/patch-charproc.c
@@ -0,0 +1,294 @@
+--- charproc.c.orig Mon Aug 21 08:47:46 2000
++++ charproc.c Sat Feb 10 05:32:41 2001
+@@ -72,6 +72,10 @@
+ #include <X11/Shell.h>
+ #endif /* NO_ACTIVE_ICON */
+
++#ifndef NO_VIETNAMESE
++#include <vnkeys.h>
++#endif /* NO_VIETNAMESE */
++
+ /*
+ * Check for both EAGAIN and EWOULDBLOCK, because some supposedly POSIX
+ * systems are broken and return EWOULDBLOCK when they should return EAGAIN.
+@@ -619,6 +623,10 @@
+ for( ; ; ) {
+ switch (parsestate[c = doinput()]) {
+ case CASE_PRINT:
++#ifndef NO_VIETNAMESE
++label_CASE_PRINT: /* for escaping from the CASE_IGNORE
++ state with Vietnamese characters */
++#endif /* NO_VIETNAMESE */
+ /* printable characters */
+ top = bcnt > TEXT_BUF_SIZE ? TEXT_BUF_SIZE : bcnt;
+ cp = bptr;
+@@ -656,6 +664,9 @@
+ break;
+
+ case CASE_IGNORE:
++#ifndef NO_VIETNAMESE
++ if (isgraph(c)) goto label_CASE_PRINT;
++#endif /* NO_VIETNAMESE */
+ /* Ignore character */
+ break;
+
+@@ -666,17 +677,32 @@
+
+ case CASE_BS:
+ /* backspace */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ CursorBack(screen, 1);
+ break;
+
+ case CASE_CR:
+ /* carriage return */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ CarriageReturn(screen);
+ parsestate = groundtable;
+ break;
+
+ case CASE_ESC:
+ /* escape */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ parsestate = esctable;
+ break;
+
+@@ -684,6 +710,11 @@
+ /*
+ * form feed, line feed, vertical tab
+ */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ Index(screen, 1);
+ if (term->flags & LINEFEED)
+ CarriageReturn(screen);
+@@ -695,6 +726,11 @@
+
+ case CASE_TAB:
+ /* tab */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ screen->cur_col = TabNext(term->tabs, screen->cur_col);
+ if (screen->cur_col > screen->max_col)
+ screen->cur_col = screen->max_col;
+@@ -762,6 +798,11 @@
+
+ case CASE_ICH:
+ /* ICH */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ if((row = param[0]) < 1)
+ row = 1;
+ InsertChar(screen, row);
+@@ -770,6 +811,11 @@
+
+ case CASE_CUU:
+ /* CUU */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ if((row = param[0]) < 1)
+ row = 1;
+ CursorUp(screen, row);
+@@ -778,6 +824,11 @@
+
+ case CASE_CUD:
+ /* CUD */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ if((row = param[0]) < 1)
+ row = 1;
+ CursorDown(screen, row);
+@@ -786,6 +837,11 @@
+
+ case CASE_CUF:
+ /* CUF */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ if((row = param[0]) < 1)
+ row = 1;
+ CursorForward(screen, row);
+@@ -794,6 +850,11 @@
+
+ case CASE_CUB:
+ /* CUB */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ if((row = param[0]) < 1)
+ row = 1;
+ CursorBack(screen, row);
+@@ -802,6 +863,11 @@
+
+ case CASE_CUP:
+ /* CUP | HVP */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ if((row = param[0]) < 1)
+ row = 1;
+ if(nparam < 2 || (col = param[1]) < 1)
+@@ -821,6 +887,11 @@
+
+ case CASE_ED:
+ /* ED */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ switch (param[0]) {
+ case DEFAULT:
+ case 0:
+@@ -840,6 +911,11 @@
+
+ case CASE_EL:
+ /* EL */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ switch (param[0]) {
+ case DEFAULT:
+ case 0:
+@@ -857,6 +933,11 @@
+
+ case CASE_IL:
+ /* IL */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ if((row = param[0]) < 1)
+ row = 1;
+ InsertLine(screen, row);
+@@ -865,6 +946,11 @@
+
+ case CASE_DL:
+ /* DL */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ if((row = param[0]) < 1)
+ row = 1;
+ DeleteLine(screen, row);
+@@ -873,6 +959,11 @@
+
+ case CASE_DCH:
+ /* DCH */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ if((row = param[0]) < 1)
+ row = 1;
+ DeleteChar(screen, row);
+@@ -1092,6 +1183,11 @@
+
+ case CASE_NEL:
+ /* NEL */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ Index(screen, 1);
+ CarriageReturn(screen);
+
+@@ -1109,6 +1205,11 @@
+
+ case CASE_RI:
+ /* RI */
++#ifndef NO_VIETNAMESE
++ /* flush the Vietnamese FSM */
++ dotext(screen, term->flags,
++ screen->gsets[screen->curgl], 0, 0);
++#endif /* NO_VIETNAMESE */
+ RevIndex(screen, 1);
+ parsestate = groundtable;
+ break;
+@@ -1460,6 +1561,13 @@
+ register int len;
+ register int n;
+ register int next_col;
++#ifndef NO_VIETNAMESE
++ extern Boolean vn_filter_screen;
++ extern Vk_Fsm vn_screen_id;
++ unsigned char buf2[TEXT_BUF_SIZE+3]; /* at most three pending
++ chars from previous
++ call */
++#endif /* NO_VIETNAMESE */
+
+ switch (charset) {
+ case 'A': /* United Kingdom set */
+@@ -1480,6 +1588,32 @@
+ default: /* any character sets we don't recognize*/
+ return;
+ }
++
++#ifndef NO_VIETNAMESE
++ if (buf == 0 && ptr == 0) { /* flush the FSM */
++
++ int count;
++
++ vk_flush(vn_screen_id, buf2, &count);
++ buf = (char *)buf2;
++ ptr = (char *)buf + count;
++ } else if (vn_filter_screen) {
++ /* translate output into 8-bit Vietnamese */
++ register unsigned char *s1, *s2;
++ register int i;
++ unsigned char outchars[5];
++ int count;
++
++ for (s1 = (unsigned char*)buf, s2 = buf2;
++ s1 < (unsigned char*)ptr; s1++) {
++ vk_step(vn_screen_id, *s1, outchars, &count);
++ for (i = 0; i < count; i++) *s2++ = outchars[i];
++ }
++
++ buf = (char *)buf2;
++ ptr = (char *)s2;
++ }
++#endif /* NO_VIETNAMESE */
+
+ len = ptr - buf;
+ ptr = buf;
diff --git a/vietnamese/vnterm/files/patch-input.c b/vietnamese/vnterm/files/patch-input.c
new file mode 100644
index 000000000000..ad6a731c662d
--- /dev/null
+++ b/vietnamese/vnterm/files/patch-input.c
@@ -0,0 +1,91 @@
+--- input.c.orig Mon Aug 21 08:47:47 2000
++++ input.c Sat Feb 10 05:32:41 2001
+@@ -155,7 +155,40 @@
+ unparseputc (033, pty); /* escape */
+ }
+ while (nbytes-- > 0)
++#ifndef NO_VIETNAMESE
++ {
++#include <vnkeys.h>
++ unsigned char outchars[5];
++ register int i;
++ int nchars;
++ extern Vk_Fsm vn_keyboard_id;
++ extern Boolean vn_filter_keyboard;
++
++ if (!vn_filter_keyboard) { /* don't filter */
++ unparseputc(*string++, pty);
++ } else {
++
++ Vk_State state;
++ static Vk_State lastState;
++
++ /* feed in the keypresses */
++ state = vk_step(vn_keyboard_id, *string++, outchars, &nchars);
++ if (lastState != state) {
++ lastState = state;
++ _Set_Vn_Title(state);
++ }
++
++ /* send out the Vietnamese translation */
++ for (i = 0; i < nchars; i++) {
++ unparseputc(outchars[i], pty);
++ }
++ }
++ }
++#else /* NO_VIETNAMESE */
++ {
+ unparseputc(*string++, pty);
++ }
++#endif /* NO_VIETNAMESE */
+ key = TRUE;
+ }
+ if(key && !screen->TekEmu)
+@@ -165,6 +198,47 @@
+ #endif
+ return;
+ }
++
++#ifndef NO_VIETNAMESE
++_Set_Vn_Title(state)
++ int state;
++{
++ int nochange = 0;
++ char title[80], icon[80];
++ extern Boolean vn_filter_keyboard;
++
++ strcpy(title, "vnterm-");
++ strcpy(icon, title);
++ if (!vn_filter_keyboard){
++ strcat(title, "No Filtering");
++ strcat(icon, "off");
++ } else {
++ switch(state) {
++ case VK_ST_VIETNAMESE:
++ strcat(title, "Vietnamese");
++ strcat(icon, "V");
++ break;
++ case VK_ST_ENGLISH:
++ strcat(title, "English");
++ strcat(icon, "E");
++ break;
++ case VK_ST_LITERAL:
++ strcat(title, "Literal");
++ strcat(icon, "L");
++ break;
++ default:
++ nochange = 1;
++ break;
++ }
++ }
++
++ if (!nochange) {
++ Changetitle(title);
++ Changename(icon);
++ }
++}
++#endif /* NO_VIETNAMESE */
++
+
+ StringInput (screen, string, nbytes)
+ register TScreen *screen;
diff --git a/vietnamese/vnterm/files/patch-main.c b/vietnamese/vnterm/files/patch-main.c
new file mode 100644
index 000000000000..48561c19633e
--- /dev/null
+++ b/vietnamese/vnterm/files/patch-main.c
@@ -0,0 +1,185 @@
+--- main.c.orig Mon Aug 21 08:47:47 2000
++++ main.c Sat Feb 10 05:42:17 2001
+@@ -76,6 +76,9 @@
+ #include "data.h"
+ #include "error.h"
+ #include "menu.h"
++#ifndef NO_VIETNAMESE
++#include "vnvars.h"
++#endif /* NO_VIETNAMESE */
+
+ #ifdef att
+ #define ATT
+@@ -421,7 +424,11 @@
+ CFLUSH, CWERASE, CLNEXT
+ };
+ static int d_disipline = NTTYDISC;
++#ifndef NO_VIETNAMESE
++static long int d_lmode = LCRTBS|LCRTERA|LCRTKIL|LPASS8;
++#else /* NO_VIETNAMESE */
+ static long int d_lmode = LCRTBS|LCRTERA|LCRTKIL|LCTLECH;
++#endif /* NO_VIETNAMESE */
+ #ifdef sony
+ static long int d_jmode = KM_SYSSJIS|KM_ASCII;
+ static struct jtchars d_jtc = {
+@@ -586,6 +593,11 @@
+ Boolean sunFunctionKeys; /* %%% should be widget resource? */
+ Boolean wait_for_map;
+ Boolean useInsertMode;
++#ifndef NO_VIETNAMESE
++ Boolean vn_filter_keyboard;
++ Boolean vn_filter_screen;
++ unsigned int vn_erase_character;
++#endif /* NO_VIETNAMESE */
+ } resource;
+
+ /* used by VT (charproc.c) */
+@@ -613,6 +625,14 @@
+ offset(wait_for_map), XtRString, "false"},
+ {"useInsertMode", "UseInsertMode", XtRBoolean, sizeof (Boolean),
+ offset(useInsertMode), XtRString, "false"},
++#ifndef NO_VIETNAMESE
++ {"vnFilterKeyboard", "VnFilterKeyboard", XtRBoolean, sizeof (Boolean),
++ offset(vn_filter_keyboard), XtRString, "true"},
++ {"vnFilterScreen", "VnFilterScreen", XtRBoolean, sizeof (Boolean),
++ offset(vn_filter_screen), XtRString, "false"},
++ {"vnEraseCharacter", "VnEraseCharacter", XtRInt, sizeof (unsigned int),
++ offset(vn_erase_character), XtRString, "0"},
++#endif /* NO_VIETNAMESE */
+ };
+ #undef offset
+
+@@ -621,7 +641,7 @@
+ "XTerm*SimpleMenu*HorizontalMargins: 16",
+ "XTerm*SimpleMenu*Sme.height: 16",
+ "XTerm*SimpleMenu*Cursor: left_ptr",
+- "XTerm*mainMenu.Label: Main Options (no app-defaults)",
++ "XTerm*mainMenu.Label: VNTERM v2.1.1 (SGI version by Tin Le)",
+ "XTerm*vtMenu.Label: VT Options (no app-defaults)",
+ "XTerm*fontMenu.Label: VT Fonts (no app-defaults)",
+ "XTerm*tekMenu.Label: Tek Options (no app-defaults)",
+@@ -693,6 +713,13 @@
+ {"+im", "*useInsertMode", XrmoptionNoArg, (caddr_t) "off"},
+ {"-vb", "*visualBell", XrmoptionNoArg, (caddr_t) "on"},
+ {"+vb", "*visualBell", XrmoptionNoArg, (caddr_t) "off"},
++#ifndef NO_VIETNAMESE
++{"-vnk", "*vnFilterKeyboard", XrmoptionNoArg, (caddr_t) "on"},
++{"+vnk", "*vnFilterKeyboard", XrmoptionNoArg, (caddr_t) "off"},
++{"-vns", "*vnFilterScreen", XrmoptionNoArg, (caddr_t) "on"},
++{"+vns", "*vnFilterScreen", XrmoptionNoArg, (caddr_t) "off"},
++{"-vne", "*vnEraseCharacter", XrmoptionSepArg, (caddr_t) "0"},
++#endif /* NO_VIETNAMESE */
+ {"-wf", "*waitForMap", XrmoptionNoArg, (caddr_t) "on"},
+ {"+wf", "*waitForMap", XrmoptionNoArg, (caddr_t) "off"},
+ /* bogus old compatibility stuff for which there are
+@@ -770,6 +797,11 @@
+ #endif
+ { "-/+vb", "turn on/off visual bell" },
+ { "-/+wf", "turn on/off wait for map before command exec" },
++#ifndef NO_VIETNAMESE
++{ "-/+vnk", "turn on/off Vietnamese keyboard filter" },
++{ "-/+vns", "turn on/off Vietnamese screen filter" },
++{ "-vne ASCII_code", "specify erase character for Vietnamese typing" },
++#endif /* NO_VIETNAMESE */
+ { "-e command args ...", "command to execute" },
+ { "%geom", "Tek window geometry" },
+ { "#geom", "icon window geometry" },
+@@ -815,6 +847,11 @@
+
+ fprintf (stderr, "\r\n\nType %s -help for a full description.\r\n\n",
+ ProgramName);
++fprintf(stderr, "\n");
++fprintf(stderr, "Version: VISCII & VIQR 1.1\n");
++fprintf(stderr, "Ported by: Cuong T. Nguyen (cuong@haydn.Stanford.EDU\n");
++fprintf(stderr, " TriChlor Software Group\n");
++fprintf(stderr, "Ported to 4.4BSD and X11R6.5.1 by: David E. O'Brien <obrien@NUXI.com>\n");
+ exit (1);
+ }
+
+@@ -836,6 +873,11 @@
+ putc ('\n', stderr);
+ }
+ putc ('\n', stderr);
++fprintf(stderr, "\n");
++fprintf(stderr, "Version: VISCII & VIQR 1.1\n");
++fprintf(stderr, "Ported by: Cuong T. Nguyen (cuong@haydn.Stanford.EDU\n");
++fprintf(stderr, " TriChlor Software Group\n");
++fprintf(stderr, "Ported to 4.4BSD and X11R6.5.1 by: David E. O'Brien <obrien@NUXI.com>\n");
+
+ exit (0);
+ }
+@@ -926,6 +968,11 @@
+ int mode;
+ char *base_name();
+ int xerror(), xioerror();
++#ifndef NO_VIETNAMESE
++#ifdef USE_SYSV_TERMIO
++ struct termio deftio;
++#endif /* USE_SYSV_TERMIO */
++#endif /* NO_VIETNAMESE */
+
+ XtSetLanguageProc (NULL, NULL, NULL);
+
+@@ -1150,6 +1197,39 @@
+ XtNumber(application_resources), NULL, 0);
+
+ waiting_for_initial_map = resource.wait_for_map;
++#ifndef NO_VIETNAMESE
++{
++ vn_filter_keyboard = resource.vn_filter_keyboard;
++ vn_filter_screen = resource.vn_filter_screen;
++ vn_erase_character = resource.vn_erase_character;
++
++ vn_keyboard_id = vk_init(VK_ST_VIETNAMESE, VK_DEFAULT_ESC, VK_DEFAULT_BS);
++ _Set_Vn_Title(VK_ST_VIETNAMESE);
++
++#ifdef USE_SYSV_TERMIO /* deftio has been initialized above */
++ vn_erase_char = deftio.c_cc[VERASE];
++#else /* USE_SYSV_TERMIO */
++ {
++ struct sgttyb attr;
++
++ if (ioctl (0, TIOCGETP, (char *)&attr) >= 0) {
++ vn_erase_char = attr.sg_erase;
++ } else {
++ vn_erase_char = VK_DEFAULT_BS;
++ }
++ }
++#endif /* USE_SYSV_TERMIO */
++ if (vn_erase_character != 0) { /* not specified by user, take from tty characteristics */
++ vn_erase_char = (unsigned int) vn_erase_character;
++ }
++ vk_set(vn_keyboard_id, (unsigned int) vn_erase_char, (int)VK_SET_BS);
++
++ vn_screen_id = vk_init(VK_ST_VIETNAMESE, VK_DEFAULT_ESC, VK_DEFAULT_BS);
++ /* screen filter is batch mode, as we don't want to spew backspaces
++ all over the true drawing screen */
++ vk_set(vn_screen_id, 1, VK_SET_BATCH);
++}
++#endif /* NO_VIETNAMESE */
+
+ /*
+ * ICCCM delete_window.
+@@ -1255,6 +1335,11 @@
+
+ if (screen->savelines < 0) screen->savelines = 0;
+
++#ifndef NO_VIETNAMESE
++ update_vnfilterkeyboard();
++ update_vnfilterscreen();
++#endif /* NO_VIETNAMESE */
++
+ term->flags = 0;
+ if (!screen->jumpscroll) {
+ term->flags |= SMOOTHSCROLL;
+@@ -2417,6 +2502,10 @@
+ HsSysError(cp_pipe[1], ERROR_TIOCSETC);
+ #endif /* TIOCSLTC */
+ #ifdef TIOCLSET
++#ifndef NO_VIETNAMESE
++ lmode |= LPASS8;
++ lmode &= ~LCTLECH;
++#endif /* NO_VIETNAMESE */
+ if (ioctl (tty, TIOCLSET, (char *)&lmode) == -1)
+ HsSysError(cp_pipe[1], ERROR_TIOCLSET);
+ #endif /* TIOCLSET */
diff --git a/vietnamese/vnterm/files/patch-menu.c b/vietnamese/vnterm/files/patch-menu.c
new file mode 100644
index 000000000000..f4cb2a2da457
--- /dev/null
+++ b/vietnamese/vnterm/files/patch-menu.c
@@ -0,0 +1,111 @@
+--- menu.c.orig Mon Aug 21 08:47:47 2000
++++ menu.c Sat Feb 10 05:32:41 2001
+@@ -33,6 +33,10 @@
+ #include <stdio.h>
+ #include <signal.h>
+
++#ifndef NO_VIETNAMESE
++#include "vnvars.h"
++#endif /* NO_VIETNAMESE */
++
+ extern void FindFontSelection();
+
+ Arg menuArgs[2] = {{ XtNleftBitmap, (XtArgVal) 0 },
+@@ -57,12 +61,20 @@
+ do_tektextlarge(), do_tektext2(), do_tektext3(), do_tektextsmall(),
+ do_tekpage(), do_tekreset(), do_tekcopy(), do_vtshow(), do_vtmode(),
+ do_tekhide(), do_vtfont();
++#ifndef NO_VIETNAMESE
++static void do_vnfilterkeyboard(), do_vnfilterscreen();
++#endif /* NO_VIETNAMESE */
+
+
+ /*
+ * The order entries MUST match the values given in menu.h
+ */
+ MenuEntry mainMenuEntries[] = {
++#ifndef NO_VIETNAMESE
++ { "Enable Vietnamese keys",do_vnfilterkeyboard, NULL }, /* 0 */
++ { "Use Vietnamese screen", do_vnfilterscreen, NULL }, /* 1 */
++ { "line3", NULL, NULL }, /* 2 */
++#endif /* NO_VIETNAMESE */
+ { "securekbd", do_securekbd, NULL }, /* 0 */
+ { "allowsends", do_allowsends, NULL }, /* 1 */
+ #ifdef ALLOWLOGGING
+@@ -80,6 +92,11 @@
+ { "quit", do_quit, NULL }}; /* 12 */
+
+ MenuEntry vtMenuEntries[] = {
++#ifndef NO_VIETNAMESE
++ { "Enable Vietnamese keys",do_vnfilterkeyboard, NULL }, /* 0 */
++ { "Use Vietnamese screen", do_vnfilterscreen, NULL }, /* 1 */
++ { "line3", NULL, NULL }, /* 2 */
++#endif /* NO_VIETNAMESE */
+ { "scrollbar", do_scrollbar, NULL }, /* 0 */
+ { "jumpscroll", do_jumpscroll, NULL }, /* 1 */
+ { "reversevideo", do_reversevideo, NULL }, /* 2 */
+@@ -160,6 +177,10 @@
+ Cardinal *param_count; /* 0 or 1 */
+ {
+ TScreen *screen = &term->screen;
++#ifndef NO_VIETNAMESE
++ extern Boolean vn_filter_keyboard;
++ extern Boolean vn_filter_screen;
++#endif
+
+ if (*param_count != 1) {
+ Bell(XkbBI_MinorError,0);
+@@ -209,6 +230,10 @@
+ update_cursesemul();
+ update_visualbell();
+ update_marginbell();
++#ifndef NO_VIETNAMESE
++ update_vnfilterkeyboard();
++ update_vnfilterscreen();
++#endif
+ #ifndef NO_ACTIVE_ICON
+ if (!screen->fnt_icon || !screen->iconVwin.window) {
+ set_sensitivity (screen->vtmenu,
+@@ -1277,3 +1302,42 @@
+ }
+
+
++#ifndef NO_VIETNAMESE
++
++static void do_vnfilterkeyboard (gw, closure, data)
++ Widget gw;
++ caddr_t closure, data;
++{
++ unsigned char buf[5];
++ int count;
++
++ vn_filter_keyboard = !vn_filter_keyboard;
++ if (vn_filter_keyboard) {
++ vn_keyboard_id = vk_init(VK_ST_VIETNAMESE, VK_DEFAULT_ESC, vn_erase_char);
++ } else {
++ vk_end(vn_keyboard_id, buf, &count);
++ }
++ _Set_Vn_Title(VK_ST_VIETNAMESE);
++ update_vnfilterkeyboard();
++}
++
++
++static void do_vnfilterscreen (gw, closure, data)
++ Widget gw;
++ caddr_t closure, data;
++{
++ unsigned char buf[5];
++ int count;
++
++ vn_filter_screen = !vn_filter_screen;
++ if (vn_filter_screen) {
++ vn_screen_id = vk_init(VK_ST_VIETNAMESE, VK_DEFAULT_ESC, vn_erase_char);
++ /* set it in batch mode so we don't get backspaces in immediate mode */
++ vk_set(vn_screen_id, 1, VK_SET_BATCH);
++ } else {
++ vk_end(vn_screen_id, buf, &count);
++ }
++ update_vnfilterscreen();
++}
++
++#endif /* NO_VIETNAMESE */
diff --git a/vietnamese/vnterm/files/patch-menu.h b/vietnamese/vnterm/files/patch-menu.h
new file mode 100644
index 000000000000..14bab7fdd5de
--- /dev/null
+++ b/vietnamese/vnterm/files/patch-menu.h
@@ -0,0 +1,73 @@
+--- menu.h.orig Mon Aug 21 08:47:47 2000
++++ menu.h Sat Feb 10 05:32:41 2001
+@@ -94,6 +94,37 @@
+ /*
+ * items in vt100 mode menu
+ */
++#ifndef NO_VIETNAMESE
++#define vtMenu_vnfilterkeyboard 0
++#define vtMenu_vnfilterscreen 1
++#define vtMenu_line3 2
++#define vtMenu_scrollbar 3
++#define vtMenu_jumpscroll 4
++#define vtMenu_reversevideo 5
++#define vtMenu_autowrap 6
++#define vtMenu_reversewrap 7
++#define vtMenu_autolinefeed 8
++#define vtMenu_appcursor 9
++#define vtMenu_appkeypad 10
++#define vtMenu_scrollkey 11
++#define vtMenu_scrollttyoutput 12
++#define vtMenu_allow132 13
++#define vtMenu_cursesemul 14
++#define vtMenu_visualbell 15
++#define vtMenu_marginbell 16
++#define vtMenu_altscreen 17
++#ifndef NO_ACTIVE_ICON
++#define vtMenu_activeicon 18
++#endif /* NO_ACTIVE_ICON */
++#define vtMenu_line1 19
++#define vtMenu_softreset 20
++#define vtMenu_hardreset 21
++#define vtMenu_clearsavedlines 22
++#define vtMenu_line2 23
++#define vtMenu_tekshow 24
++#define vtMenu_tekmode 25
++#define vtMenu_vthide 26
++#else /* NO_VIETNAMESE */
+ #define vtMenu_scrollbar 0
+ #define vtMenu_jumpscroll 1
+ #define vtMenu_reversevideo 2
+@@ -120,6 +151,7 @@
+ #define vtMenu_tekshow 21
+ #define vtMenu_tekmode 22
+ #define vtMenu_vthide 23
++#endif /* NO_VIETNAMESE */
+
+ /*
+ * items in vt100 font menu
+@@ -278,6 +310,24 @@
+ update_menu_item (term->screen.vtMenu, \
+ vtMenuEntries[vtMenu_tekshow].widget, \
+ term->screen.Tshow)
++
++#ifndef NO_VIETNAMESE
++#define update_vnfilterkeyboard() \
++ update_menu_item (term->screen.vtMenu, \
++ vtMenuEntries[vtMenu_vnfilterkeyboard].widget, \
++ vn_filter_keyboard)
++
++/* Keep this around just for future reference */
++#define set_vnfilterimmediate_sensitivity(val) \
++ set_sensitivity (term->screen.vtMenu,\
++ vtMenuEntries[vtMenu_vnfilterimmediate].widget, (val))
++
++#define update_vnfilterscreen() \
++ update_menu_item (term->screen.vtMenu, \
++ vtMenuEntries[vtMenu_vnfilterscreen].widget, \
++ vn_filter_screen)
++
++#endif /* NO_VIETNAMESE */
+
+ #define update_vttekmode() { \
+ update_menu_item (term->screen.vtMenu, \
diff --git a/vietnamese/vnterm/files/vnterm.1V b/vietnamese/vnterm/files/vnterm.1V
new file mode 100644
index 000000000000..b9d9cf82d62c
--- /dev/null
+++ b/vietnamese/vnterm/files/vnterm.1V
@@ -0,0 +1,222 @@
+.\" $FreeBSD$
+.\" to view this file, use: nroff -man %M% | more
+.\" %W% (TriChlor) %G% %U%
+.\"
+.TH vnterm 1V
+.SH NAME
+vnterm \- X-terminal with Vietnamese
+.SH SYNTAX
+.B vnterm
+[\fB-/+vnk\fP]
+[\fB-/+vns\fP]
+[\fB-vne <erase_ASCII_code>\fP]
+[\fIregular_xterm_options\fP]
+.SH DESCRIPTION
+.NXR "vnterm command"
+Version 3.3 of
+.PN vnterm
+is an adaptation of the X11R5
+.MS xterm 1X
+command. This manual page describes only
+those features specific to
+.PN vnterm ;
+please consult the manual page for
+.MS xterm 1X
+for the rest of the story.
+.PP
+.PN Vnterm
+allows the X-environment user to type and
+display Vietnamese text. The keyboard input
+scheme follows the
+7-bit VIQR (VIetnamese Quoted-Readable) standard,
+which is based on the prevalent
+Vietnamese networking convention of placing Vietnamese
+diacritical marks after the vowel, for example: "Vie^.t Nam".
+.PP
+With the appropriate font setting,
+.PN vnterm
+can display both 7-bit and 8-bit
+Vietnamese text. The 7-bit text is assumed
+to follow the
+.I VIQR
+standard,
+and the 8-bit text is according to
+.I VISCII
+(VIetnamese Standard Code for Information Interchange),
+both published by the Viet-Std working group
+(Viet-Std@Haydn.Stanford.EDU).
+.PP
+On start-up,
+.PN vnterm
+attempts to set the tty line to 8-bit mode,
+with canonical echoing of control characters turned off
+(because the Vietnamese characters "A(? A(~ A^~ Y? Y~ Y."
+are encoded in the C0 control-character area).
+.SH OPTIONS
+.nf
+ -/+vnk turn on/off Vietnamese keyboard filter (default on)
+ -/+vns turn on/off Vietnamese screen output (default off)
+ -vne ASCII_code explicitly specify erase character
+.fi
+.PP
+The keyboard and screen options above
+can also be found and set
+in the
+"VT\ Options"
+menu of
+.PN vnterm ,
+which you may access by clicking the CTRL-middle-mouse-button
+combination.
+The corresponding X resources are:
+.EX
+ vnterm*font: vn-r14
+ vnterm*vnFilterKeyboard: on
+ vnterm*vnFilterScreen: off
+ vnterm*vnEraseCharacter: 127
+.EE
+.PP
+If
+.I vnFilterKeyboard
+is turned off, no keyboard processing is done and characters
+are reported to the underlying application as they are typed.
+With
+.I vnFilterKeyboard
+turned on,
+Vietnamese composition takes place.
+.PP
+The erase character (which is needed to backspace
+over the Vietnamese letter being composed)
+is figured from the terminal settings at the time
+.PN vnterm
+is invoked. In those cases where it is necessary
+to specify another erase character,
+.I vnEraseCharacter
+may be used. The argument to this option is
+the decimal ASCII code for the desired erase
+character. Use 8 for backspace, and 127 for
+delete.
+.PP
+The
+.I vnFilterScreen
+setting is provided as a convenience to the user
+who wants to read 7-bit Vietnamese without
+having first to convert it to 8-bit format.
+When turned on,
+.I vnFilterScreen
+causes the displayed characters to be interpreted
+with exactly the same rules as those applied to
+keyboard input. This option is provided
+with Soc.Culture.Vietnamese readers
+explicitly in mind.
+.SH "KEYBOARD INSTRUCTIONS"
+Vnterm starts up in Vietnamese typing mode. There are two other
+modes, English and Literal,
+each of which is initiated as described below.
+
+.PP
+.SH "Vietnamese Mode:"
+Type "\\V" or "\\v" to start Vietnamese mode,
+where Viet-Net style input is supported, for example:
+.EX
+ Ca' kho^ng a(n muo^'i ca' u+o+ng
+ Con ca~i cha me. tra(m ddu+o+`ng con hu+\\.
+.EE
+.PP
+To prevent composition, use "\\". The example above shows
+"hu+\." which tells Vnterm that the ending period is
+a period and not a Vietnamese dot-below (da^'u na(.ng).
+.PP
+The diacritics (da^'u) are:
+.EX
+ MARK CHAR EXAMPLE
+
+ breve ( a(n na(n
+ circumflex ^ nha^n co^ng
+ horn + tu+o+ng tu+
+
+ acute ' choa'ng va'ng
+ grave ` lu` khu`
+ hook above ? ho?i tha(m
+ tilde ~ ky~ ca`ng
+ dot below . Tra.ng Nguye^n
+
+ dd dd dda ti`nh
+ DD DD DDo^ng So+n
+.EE
+.SH "English Mode:"
+Type "\\M" or "\\m" to start English mode,
+where Viet-Net style input is supported,
+but must be explicitly announced with a "\\", for example:
+.EX
+ C\\a' kh\\o^ng \\a(n mu\\o^'i c\\a' \\u+\\o+ng
+ Con c\\a~i cha m\\e. tr\\a(m \\dd\\u+\\o+`ng con h\\u+\\.
+.EE
+.PP
+This mode is useful if you type mostly English and don't
+want the trouble of having to type "\\" to escape composition
+all the time.
+.SH "Literal Mode:"
+Typing "\\L" or "\\l" starts the Literal mode,
+in which almost all keys are passed literally.
+.SH RESTRICTIONS
+.NXR "vnterm command" "restricted"
+.PP
+.IP o
+If your shell is tcsh, you may find that it's unfriendly
+to 8-bit data; this means Vietnamese characters cannot
+be used. Use csh in the
+.PN vnterm
+window instead.
+.PP
+.IP o
+In some cases
+.PN vnterm
+may fail to set the terminal mode correctly for 8-bits.
+This will happen when your shell is "smart" and undoes the
+settings performed by
+.PN vnterm
+on start-up.
+In this case issue the command:
+.EX
+ % stty -istrip cs8 pass8
+.EE
+to set the terminal line for 8-bits.
+.PP
+.IP o
+Remember that the screen output filter only works strictly
+with 7-bit Vietnamese that is conformant to the VIQR
+standard.
+With the Viet-Net style text alone, there are potential
+ambiguities which
+.PN vnterm
+will not interpret correctly, e.g., in displaying
+the question "La`m chi?", where the question mark
+will be taken to be a hook-above (da^'u ho?i),
+and the word displayed as "ch<i?>" (Vietnamese "thread")
+rather than as "chi<?>" (Vietnamese "what").
+Note that "chi\\?" will be correctly interpreted.
+.PP
+Occasionally, magic sequences such as "\\V",
+"\\M", and "\\L" may appear in non-VIQR-conformant text
+which will change the state of the screen filter
+causing it not to display Vietnamese properly afterwards.
+When this happens, simply turn the screen filter
+off and on again, by using the CTRL-middle-mouse-button
+menu of
+.PN vnterm.
+.SH AUTHOR
+4.4BSD porting by David O'Brien <obrien@cs.ucdavis.edu>
+.PP
+Adapted from X11R5's xterm by
+Tin Le <tin@saigon.com>
+.PP
+Adapted from X11R4's xterm by
+the TriChlor Group, TriChlor@haydn.Stanford.EDU.
+.PP
+Thanks to Tuan P. Do (tuan@compass-da.com) for illustrating
+the need for the vnEraseCharacter specifier.
+.SH "SEE ALSO"
+.PP
+vietterm(1V), vnelvis(1V)
+.SH STANDARDS
+Viet-Std Standardization Specification (Viet-Std@Haydn.Stanford.EDU)
diff --git a/vietnamese/vnterm/files/vnvars.c b/vietnamese/vnterm/files/vnvars.c
new file mode 100644
index 000000000000..9de0c28175f8
--- /dev/null
+++ b/vietnamese/vnterm/files/vnvars.c
@@ -0,0 +1,13 @@
+/*
+ * @(#)vnvars.c 2.1 TriChlor: 92/03/17 06:36:00
+ */
+
+
+#include "vnvars.h"
+
+Boolean vn_filter_keyboard;
+Boolean vn_filter_screen;
+Vk_Fsm vn_keyboard_id;
+Vk_Fsm vn_screen_id;
+u_char vn_erase_char; /* character copied from tty characteristics */
+unsigned int vn_erase_character; /* character given by .Xdefaults */
diff --git a/vietnamese/vnterm/files/vnvars.h b/vietnamese/vnterm/files/vnvars.h
new file mode 100644
index 000000000000..7106c683a481
--- /dev/null
+++ b/vietnamese/vnterm/files/vnvars.h
@@ -0,0 +1,19 @@
+/*
+ * @(#)vnvars.h 2.1 TriChlor: 92/03/17 06:36:41
+ */
+
+#ifndef _VNVARS_H_
+#define _VNVARS_H_
+
+#include <sys/types.h>
+#include <X11/Intrinsic.h>
+#include <vnkeys.h>
+
+extern Boolean vn_filter_keyboard;
+extern Boolean vn_filter_screen;
+extern Vk_Fsm vn_keyboard_id;
+extern Vk_Fsm vn_screen_id;
+extern u_char vn_erase_char; /* see vnvars.c */
+extern unsigned int vn_erase_character; /* see vnvars.c */
+
+#endif /* _VNVARS_H_ */
diff --git a/vietnamese/vnterm/pkg-descr b/vietnamese/vnterm/pkg-descr
index 43433f4d4c25..c69d8b048af3 100644
--- a/vietnamese/vnterm/pkg-descr
+++ b/vietnamese/vnterm/pkg-descr
@@ -1,8 +1,8 @@
Tha^n cha`o ca'c ba.n,
vnxterm is a xterm replacement with Vietnamese VIQR 1.1 (7-bit VIetnamese
-Quoted Readable/Viet-Net) support. This version of cxterm is derived from the
-X11R5 xterm, and thus has simular capabilities.
+Quoted Readable/Viet-Net) support. This version of vnterm is derived from the
+X11R6.5.1 xterm, and thus has simular capabilities.
Please see the README file in the share/doc/vnterm directory.
diff --git a/vietnamese/vnterm/pkg-install b/vietnamese/vnterm/pkg-install
deleted file mode 100644
index 5cfd6c47fc5f..000000000000
--- a/vietnamese/vnterm/pkg-install
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-if [ "$2" != "POST-INSTALL" ]; then
- exit 0
-fi
-
-cd ${PKG_PREFIX}/lib/X11/fonts/vietnamese
-mkfontdir >/dev/null 2>&1
diff --git a/vietnamese/vnterm/pkg-plist b/vietnamese/vnterm/pkg-plist
index 3f229134187e..2bf44d1dbd28 100644
--- a/vietnamese/vnterm/pkg-plist
+++ b/vietnamese/vnterm/pkg-plist
@@ -1,12 +1,5 @@
@comment $FreeBSD$
bin/vnterm
bin/VNterm
-lib/X11/app-defaults/VNTerm
-lib/X11/fonts/vietnamese/fonts.dir
-lib/X11/fonts/vietnamese/vn-r14.pcf.Z
-lib/X11/fonts/vietnamese/vn10x20.pcf.Z
-lib/X11/fonts/vietnamese/vn9x15.pcf.Z
-lib/X11/fonts/vietnamese/vnlutRS18.pcf.Z
share/doc/vnterm/README
@dirrm share/doc/vnterm
-@dirrm lib/X11/fonts/vietnamese
diff --git a/vietnamese/vnterm/scripts/pre-install b/vietnamese/vnterm/scripts/pre-install
index aeddf89033fc..e3fd9fddc3da 100644
--- a/vietnamese/vnterm/scripts/pre-install
+++ b/vietnamese/vnterm/scripts/pre-install
@@ -1,5 +1,7 @@
#!/bin/sh
+# $FreeBSD$
+
# set up the resource file
# nothing yet...