summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxtraeme <xtraeme>2004-01-24 08:45:38 +0000
committerxtraeme <xtraeme>2004-01-24 08:45:38 +0000
commitdf01deb28287fde492005d818ab60dc594b5f559 (patch)
treecb228c6151d0964ce653f461d4b527cd2fa44667
parenta0801fced435144ff8e0e43e6b5e8f055d495dc2 (diff)
downloadpkgsrc-df01deb28287fde492005d818ab60dc594b5f559.tar.gz
Initial import of XFree86-clients-4.3.0 from pkgsrc-wip.
This package contains XFree86-4 Client Environments. It includes a variety of standard X11 client programs and utilities, such as the twm window manager, xterm, xcalc, the xdm display (login) manager, ico, xclock and oclock, xclipboard, xset, xlogo, xeyes, xwd/xwud, xvidtune, startx, xinit, and many others. It also provides font utilities and tools for providing information about the server and clients. Also cursor icons and other resource files are included.
-rw-r--r--x11/XFree86-clients/DESCR8
-rw-r--r--x11/XFree86-clients/Makefile40
-rw-r--r--x11/XFree86-clients/PLIST.FreeBSD106
-rw-r--r--x11/XFree86-clients/PLIST.Linux106
-rw-r--r--x11/XFree86-clients/PLIST.NetBSD106
-rw-r--r--x11/XFree86-clients/PLIST.common743
-rw-r--r--x11/XFree86-clients/files/host.def66
-rw-r--r--x11/XFree86-clients/files/ucs2any.c952
8 files changed, 2127 insertions, 0 deletions
diff --git a/x11/XFree86-clients/DESCR b/x11/XFree86-clients/DESCR
new file mode 100644
index 00000000000..e973ab08c54
--- /dev/null
+++ b/x11/XFree86-clients/DESCR
@@ -0,0 +1,8 @@
+This package contains XFree86-4 Client Environments. It includes
+a variety of standard X11 client programs and utilities, such as
+the twm window manager, xterm, xcalc, the xdm display (login)
+manager, ico, xclock and oclock, xclipboard, xset, xlogo, xeyes,
+xwd/xwud, xvidtune, startx, xinit, and many others. It also provides
+font utilities and tools for providing information about the server
+and clients. Also cursor icons and other resource files are
+included.
diff --git a/x11/XFree86-clients/Makefile b/x11/XFree86-clients/Makefile
new file mode 100644
index 00000000000..34fd61f3e6d
--- /dev/null
+++ b/x11/XFree86-clients/Makefile
@@ -0,0 +1,40 @@
+# $NetBSD: Makefile,v 1.1.1.1 2004/01/24 08:45:41 xtraeme Exp $
+
+DISTNAME= ${DISTFILES}
+PKGNAME= XFree86-clients-${XF_VER}
+CATEGORIES= xfree86 x11
+MASTER_SITES= ${MASTER_SITE_XFREE}
+DISTFILES= X430src-1.tgz X430src-2.tgz \
+ X430src-3.tgz X430src-4.tgz
+
+MAINTAINER= xfree86@blef.org
+HOMEPAGE= http://www.xfree86.org/
+COMMENT= XFree86 client programs and related files
+
+USE_BUILDLINK2= yes
+DISTINFO_FILE= ${.CURDIR}/../../x11/XFree86-libs/distinfo
+PATCHDIR= ${.CURDIR}/../../x11/XFree86-libs/patches
+
+XBUILD_DIRS= lib/xtrans lib/lbxutil programs fonts/util
+XINSTALL_DIRS= programs fonts/util
+XINSTALL_MAN_DIRS= programs
+
+.include "../../mk/bsd.prefs.mk"
+
+.if ${OPSYS} == "Linux"
+.include "../../security/PAM/buildlink2.mk"
+.endif
+
+post-configure:
+ @${MKDIR} ${WRKSRC}/exports/lib
+ @for l in fntstubs Xss FS fontenc Xau Xxf86vm Xxf86dga xkbfile \
+ Xxf86misc Xdmcp Xfontcache Xinerama Xfont; do \
+ ${LN} -sf ${PREFIX}/lib/lib$${l}.a ${WRKSRC}/exports/lib/ ; \
+ done
+
+.include "../../fonts/Xft2/buildlink2.mk"
+.include "../../graphics/png/buildlink2.mk"
+.include "../../meta-pkgs/XFree86/Makefile.common"
+.include "../../x11/XFree86-libs/buildlink2.mk"
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/x11/XFree86-clients/PLIST.FreeBSD b/x11/XFree86-clients/PLIST.FreeBSD
new file mode 100644
index 00000000000..0bc0ec2bca6
--- /dev/null
+++ b/x11/XFree86-clients/PLIST.FreeBSD
@@ -0,0 +1,106 @@
+@comment $NetBSD: PLIST.FreeBSD,v 1.1.1.1 2004/01/24 08:45:38 xtraeme Exp $
+man/man1/Xmark.1.gz
+man/man1/appres.1.gz
+man/man1/atobm.1.gz
+man/man1/bdftopcf.1.gz
+man/man1/beforelight.1.gz
+man/man1/bitmap.1.gz
+man/man1/bmtoa.1.gz
+man/man1/cxpm.1.gz
+man/man1/dga.1.gz
+man/man1/dpsexec.1.gz
+man/man1/dpsinfo.1.gz
+man/man1/editres.1.gz
+man/man1/fslsfonts.1.gz
+man/man1/fstobdf.1.gz
+man/man1/glxgears.1.gz
+man/man1/glxinfo.1.gz
+man/man1/iceauth.1.gz
+man/man1/ico.1.gz
+man/man1/lbxproxy.1.gz
+man/man1/listres.1.gz
+man/man1/luit.1.gz
+man/man1/makepsres.1.gz
+man/man1/mkcfm.1.gz
+man/man1/mkfontdir.1.gz
+man/man1/mkfontscale.1.gz
+man/man1/oclock.1.gz
+man/man1/proxymngr.1.gz
+man/man1/resize.1.gz
+man/man1/rstart.1.gz
+man/man1/rstartd.1.gz
+man/man1/sessreg.1.gz
+man/man1/setxkbmap.1.gz
+man/man1/showfont.1.gz
+man/man1/showrgb.1.gz
+man/man1/smproxy.1.gz
+man/man1/startx.1.gz
+man/man1/sxpm.1.gz
+man/man1/texteroids.1.gz
+man/man1/twm.1.gz
+man/man1/viewres.1.gz
+man/man1/x11perf.1.gz
+man/man1/x11perfcomp.1.gz
+man/man1/xauth.1.gz
+man/man1/xbiff.1.gz
+man/man1/xcalc.1.gz
+man/man1/xclipboard.1.gz
+man/man1/xclock.1.gz
+man/man1/xcmsdb.1.gz
+man/man1/xconsole.1.gz
+man/man1/xcursorgen.1.gz
+man/man1/xcutsel.1.gz
+man/man1/xditview.1.gz
+man/man1/xdm.1.gz
+man/man1/xdpyinfo.1.gz
+man/man1/xedit.1.gz
+man/man1/xev.1.gz
+man/man1/xeyes.1.gz
+man/man1/xfd.1.gz
+man/man1/xfindproxy.1.gz
+man/man1/xfontsel.1.gz
+man/man1/xfsinfo.1.gz
+man/man1/xfwp.1.gz
+man/man1/xgamma.1.gz
+man/man1/xgc.1.gz
+man/man1/xhost.1.gz
+man/man1/xinit.1.gz
+man/man1/xkbcomp.1.gz
+man/man1/xkbevd.1.gz
+man/man1/xkbprint.1.gz
+man/man1/xkill.1.gz
+man/man1/xload.1.gz
+man/man1/xlogo.1.gz
+man/man1/xlsatoms.1.gz
+man/man1/xlsclients.1.gz
+man/man1/xlsfonts.1.gz
+man/man1/xmag.1.gz
+man/man1/xman.1.gz
+man/man1/xmessage.1.gz
+man/man1/xmh.1.gz
+man/man1/xmodmap.1.gz
+man/man1/xon.1.gz
+man/man1/xprop.1.gz
+man/man1/xrandr.1.gz
+man/man1/xrdb.1.gz
+man/man1/xrefresh.1.gz
+man/man1/xset.1.gz
+man/man1/xsetmode.1.gz
+man/man1/xsetpointer.1.gz
+man/man1/xsetroot.1.gz
+man/man1/xsm.1.gz
+man/man1/xstdcmap.1.gz
+man/man1/xterm.1.gz
+man/man1/xtrap.1.gz
+man/man1/xtrapchar.1.gz
+man/man1/xtrapin.1.gz
+man/man1/xtrapinfo.1.gz
+man/man1/xtrapout.1.gz
+man/man1/xtrapproto.1.gz
+man/man1/xtrapreset.1.gz
+man/man1/xtrapstats.1.gz
+man/man1/xvidtune.1.gz
+man/man1/xvinfo.1.gz
+man/man1/xwd.1.gz
+man/man1/xwininfo.1.gz
+man/man1/xwud.1.gz
diff --git a/x11/XFree86-clients/PLIST.Linux b/x11/XFree86-clients/PLIST.Linux
new file mode 100644
index 00000000000..e1082429492
--- /dev/null
+++ b/x11/XFree86-clients/PLIST.Linux
@@ -0,0 +1,106 @@
+@comment $NetBSD: PLIST.Linux,v 1.1.1.1 2004/01/24 08:45:38 xtraeme Exp $
+man/man1/Xmark.1x
+man/man1/appres.1x
+man/man1/atobm.1x
+man/man1/bdftopcf.1x
+man/man1/beforelight.1x
+man/man1/bitmap.1x
+man/man1/bmtoa.1x
+man/man1/cxpm.1x
+man/man1/dga.1x
+man/man1/dpsexec.1x
+man/man1/dpsinfo.1x
+man/man1/editres.1x
+man/man1/fslsfonts.1x
+man/man1/fstobdf.1x
+man/man1/glxgears.1x
+man/man1/glxinfo.1x
+man/man1/iceauth.1x
+man/man1/ico.1x
+man/man1/lbxproxy.1x
+man/man1/listres.1x
+man/man1/luit.1x
+man/man1/makepsres.1x
+man/man1/mkcfm.1x
+man/man1/mkfontdir.1x
+man/man1/mkfontscale.1x
+man/man1/oclock.1x
+man/man1/proxymngr.1x
+man/man1/resize.1x
+man/man1/rstart.1x
+man/man1/rstartd.1x
+man/man1/sessreg.1x
+man/man1/setxkbmap.1x
+man/man1/showfont.1x
+man/man1/showrgb.1x
+man/man1/smproxy.1x
+man/man1/startx.1x
+man/man1/sxpm.1x
+man/man1/texteroids.1x
+man/man1/twm.1x
+man/man1/viewres.1x
+man/man1/x11perf.1x
+man/man1/x11perfcomp.1x
+man/man1/xauth.1x
+man/man1/xbiff.1x
+man/man1/xcalc.1x
+man/man1/xclipboard.1x
+man/man1/xclock.1x
+man/man1/xcmsdb.1x
+man/man1/xconsole.1x
+man/man1/xcursorgen.1x
+man/man1/xcutsel.1x
+man/man1/xditview.1x
+man/man1/xdm.1x
+man/man1/xdpyinfo.1x
+man/man1/xedit.1x
+man/man1/xev.1x
+man/man1/xeyes.1x
+man/man1/xfd.1x
+man/man1/xfindproxy.1x
+man/man1/xfontsel.1x
+man/man1/xfsinfo.1x
+man/man1/xfwp.1x
+man/man1/xgamma.1x
+man/man1/xgc.1x
+man/man1/xhost.1x
+man/man1/xinit.1x
+man/man1/xkbcomp.1x
+man/man1/xkbevd.1x
+man/man1/xkbprint.1x
+man/man1/xkill.1x
+man/man1/xload.1x
+man/man1/xlogo.1x
+man/man1/xlsatoms.1x
+man/man1/xlsclients.1x
+man/man1/xlsfonts.1x
+man/man1/xmag.1x
+man/man1/xman.1x
+man/man1/xmessage.1x
+man/man1/xmh.1x
+man/man1/xmodmap.1x
+man/man1/xon.1x
+man/man1/xprop.1x
+man/man1/xrandr.1x
+man/man1/xrdb.1x
+man/man1/xrefresh.1x
+man/man1/xset.1x
+man/man1/xsetmode.1x
+man/man1/xsetpointer.1x
+man/man1/xsetroot.1x
+man/man1/xsm.1x
+man/man1/xstdcmap.1x
+man/man1/xterm.1x
+man/man1/xtrap.1x
+man/man1/xtrapchar.1x
+man/man1/xtrapin.1x
+man/man1/xtrapinfo.1x
+man/man1/xtrapout.1x
+man/man1/xtrapproto.1x
+man/man1/xtrapreset.1x
+man/man1/xtrapstats.1x
+man/man1/xvidtune.1x
+man/man1/xvinfo.1x
+man/man1/xwd.1x
+man/man1/xwininfo.1x
+man/man1/xwud.1x
diff --git a/x11/XFree86-clients/PLIST.NetBSD b/x11/XFree86-clients/PLIST.NetBSD
new file mode 100644
index 00000000000..c522f5c8778
--- /dev/null
+++ b/x11/XFree86-clients/PLIST.NetBSD
@@ -0,0 +1,106 @@
+@comment $NetBSD: PLIST.NetBSD,v 1.1.1.1 2004/01/24 08:45:39 xtraeme Exp $
+man/cat1/Xmark.0
+man/cat1/appres.0
+man/cat1/atobm.0
+man/cat1/bdftopcf.0
+man/cat1/beforelight.0
+man/cat1/bitmap.0
+man/cat1/bmtoa.0
+man/cat1/cxpm.0
+man/cat1/dga.0
+man/cat1/dpsexec.0
+man/cat1/dpsinfo.0
+man/cat1/editres.0
+man/cat1/fslsfonts.0
+man/cat1/fstobdf.0
+man/cat1/glxgears.0
+man/cat1/glxinfo.0
+man/cat1/iceauth.0
+man/cat1/ico.0
+man/cat1/lbxproxy.0
+man/cat1/listres.0
+man/cat1/luit.0
+man/cat1/makepsres.0
+man/cat1/mkcfm.0
+man/cat1/mkfontdir.0
+man/cat1/mkfontscale.0
+man/cat1/oclock.0
+man/cat1/proxymngr.0
+man/cat1/resize.0
+man/cat1/rstart.0
+man/cat1/rstartd.0
+man/cat1/sessreg.0
+man/cat1/setxkbmap.0
+man/cat1/showfont.0
+man/cat1/showrgb.0
+man/cat1/smproxy.0
+man/cat1/startx.0
+man/cat1/sxpm.0
+man/cat1/texteroids.0
+man/cat1/twm.0
+man/cat1/viewres.0
+man/cat1/x11perf.0
+man/cat1/x11perfcomp.0
+man/cat1/xauth.0
+man/cat1/xbiff.0
+man/cat1/xcalc.0
+man/cat1/xclipboard.0
+man/cat1/xclock.0
+man/cat1/xcmsdb.0
+man/cat1/xconsole.0
+man/cat1/xcursorgen.0
+man/cat1/xcutsel.0
+man/cat1/xditview.0
+man/cat1/xdm.0
+man/cat1/xdpyinfo.0
+man/cat1/xedit.0
+man/cat1/xev.0
+man/cat1/xeyes.0
+man/cat1/xfd.0
+man/cat1/xfindproxy.0
+man/cat1/xfontsel.0
+man/cat1/xfsinfo.0
+man/cat1/xfwp.0
+man/cat1/xgamma.0
+man/cat1/xgc.0
+man/cat1/xhost.0
+man/cat1/xinit.0
+man/cat1/xkbcomp.0
+man/cat1/xkbevd.0
+man/cat1/xkbprint.0
+man/cat1/xkill.0
+man/cat1/xload.0
+man/cat1/xlogo.0
+man/cat1/xlsatoms.0
+man/cat1/xlsclients.0
+man/cat1/xlsfonts.0
+man/cat1/xmag.0
+man/cat1/xman.0
+man/cat1/xmessage.0
+man/cat1/xmh.0
+man/cat1/xmodmap.0
+man/cat1/xon.0
+man/cat1/xprop.0
+man/cat1/xrandr.0
+man/cat1/xrdb.0
+man/cat1/xrefresh.0
+man/cat1/xset.0
+man/cat1/xsetmode.0
+man/cat1/xsetpointer.0
+man/cat1/xsetroot.0
+man/cat1/xsm.0
+man/cat1/xstdcmap.0
+man/cat1/xterm.0
+man/cat1/xtrap.0
+man/cat1/xtrapchar.0
+man/cat1/xtrapin.0
+man/cat1/xtrapinfo.0
+man/cat1/xtrapout.0
+man/cat1/xtrapproto.0
+man/cat1/xtrapreset.0
+man/cat1/xtrapstats.0
+man/cat1/xvidtune.0
+man/cat1/xvinfo.0
+man/cat1/xwd.0
+man/cat1/xwininfo.0
+man/cat1/xwud.0
diff --git a/x11/XFree86-clients/PLIST.common b/x11/XFree86-clients/PLIST.common
new file mode 100644
index 00000000000..a231378d986
--- /dev/null
+++ b/x11/XFree86-clients/PLIST.common
@@ -0,0 +1,743 @@
+@comment $NetBSD: PLIST.common,v 1.1.1.1 2004/01/24 08:45:41 xtraeme Exp $
+bin/Xmark
+bin/appres
+bin/atobm
+bin/bdftopcf
+bin/bdftruncate
+bin/beforelight
+bin/bitmap
+bin/bmtoa
+bin/cxpm
+bin/dga
+bin/dpsexec
+bin/dpsinfo
+bin/editres
+bin/fslsfonts
+bin/fstobdf
+bin/glxgears
+bin/glxinfo
+bin/iceauth
+bin/ico
+bin/lbxproxy
+bin/listres
+bin/luit
+bin/makepsres
+bin/mkcfm
+bin/mkfontdir
+bin/mkfontscale
+bin/oclock
+bin/proxymngr
+bin/resize
+bin/rstart
+bin/rstartd
+bin/sessreg
+bin/setxkbmap
+bin/showfont
+bin/showrgb
+bin/smproxy
+bin/startx
+bin/sxpm
+bin/texteroids
+bin/twm
+bin/ucs2any
+bin/uxterm
+bin/viewres
+bin/x11perf
+bin/x11perfcomp
+bin/xauth
+bin/xbiff
+bin/xcalc
+bin/xclipboard
+bin/xclock
+bin/xcmsdb
+bin/xconsole
+bin/xcursorgen
+bin/xcutsel
+bin/xditview
+bin/xdm
+bin/xdpyinfo
+bin/xedit
+bin/xev
+bin/xeyes
+bin/xfd
+bin/xfindproxy
+bin/xfontsel
+bin/xfsinfo
+bin/xfwp
+bin/xgamma
+bin/xgc
+bin/xhost
+bin/xinit
+bin/xkbbell
+bin/xkbcomp
+bin/xkbevd
+bin/xkbprint
+bin/xkbvleds
+bin/xkbwatch
+bin/xkill
+bin/xload
+bin/xlogo
+bin/xlsatoms
+bin/xlsclients
+bin/xlsfonts
+bin/xmag
+bin/xman
+bin/xmessage
+bin/xmh
+bin/xmodmap
+bin/xon
+bin/xprop
+bin/xrandr
+bin/xrdb
+bin/xrefresh
+bin/xset
+bin/xsetmode
+bin/xsetpointer
+bin/xsetroot
+bin/xsm
+bin/xstdcmap
+bin/xterm
+bin/xtrapchar
+bin/xtrapin
+bin/xtrapinfo
+bin/xtrapout
+bin/xtrapproto
+bin/xtrapreset
+bin/xtrapstats
+bin/xvidtune
+bin/xvinfo
+bin/xwd
+bin/xwininfo
+bin/xwud
+lib/X11/app-defaults/Beforelight
+lib/X11/app-defaults/Bitmap
+lib/X11/app-defaults/Bitmap-color
+lib/X11/app-defaults/Chooser
+lib/X11/app-defaults/Clock-color
+lib/X11/app-defaults/Editres
+lib/X11/app-defaults/Editres-color
+lib/X11/app-defaults/UXTerm
+lib/X11/app-defaults/Viewres
+lib/X11/app-defaults/XCalc
+lib/X11/app-defaults/XCalc-color
+lib/X11/app-defaults/XClipboard
+lib/X11/app-defaults/XClock
+lib/X11/app-defaults/XConsole
+lib/X11/app-defaults/XFontSel
+lib/X11/app-defaults/XLoad
+lib/X11/app-defaults/XLogo
+lib/X11/app-defaults/XLogo-color
+lib/X11/app-defaults/XSm
+lib/X11/app-defaults/XTerm
+lib/X11/app-defaults/XTerm-color
+lib/X11/app-defaults/Xditview
+lib/X11/app-defaults/Xditview-chrtr
+lib/X11/app-defaults/Xedit
+lib/X11/app-defaults/Xedit-color
+lib/X11/app-defaults/Xfd
+lib/X11/app-defaults/Xgc
+lib/X11/app-defaults/Xmag
+lib/X11/app-defaults/Xman
+lib/X11/app-defaults/Xmessage
+lib/X11/app-defaults/Xmessage-color
+lib/X11/app-defaults/Xmh
+lib/X11/app-defaults/Xvidtune
+include/X11/PM/PM.h
+include/X11/PM/PMproto.h
+include/X11/bitmaps/Dashes
+include/X11/bitmaps/Down
+include/X11/bitmaps/Excl
+include/X11/bitmaps/FlipHoriz
+include/X11/bitmaps/FlipVert
+include/X11/bitmaps/Fold
+include/X11/bitmaps/Left
+include/X11/bitmaps/Right
+include/X11/bitmaps/RotateLeft
+include/X11/bitmaps/RotateRight
+include/X11/bitmaps/Stipple
+include/X11/bitmaps/Term
+include/X11/bitmaps/Up
+include/X11/bitmaps/black6
+include/X11/bitmaps/box6
+include/X11/bitmaps/ldblarrow
+include/X11/bitmaps/rdblarrow
+lib/X11/etc/xterm.termcap
+lib/X11/etc/xterm.terminfo
+lib/X11/fonts/util/map-ISO8859-1
+lib/X11/fonts/util/map-ISO8859-10
+lib/X11/fonts/util/map-ISO8859-11
+lib/X11/fonts/util/map-ISO8859-13
+lib/X11/fonts/util/map-ISO8859-14
+lib/X11/fonts/util/map-ISO8859-15
+lib/X11/fonts/util/map-ISO8859-16
+lib/X11/fonts/util/map-ISO8859-2
+lib/X11/fonts/util/map-ISO8859-3
+lib/X11/fonts/util/map-ISO8859-4
+lib/X11/fonts/util/map-ISO8859-5
+lib/X11/fonts/util/map-ISO8859-7
+lib/X11/fonts/util/map-ISO8859-8
+lib/X11/fonts/util/map-ISO8859-9
+lib/X11/fonts/util/map-JISX0201.1976-0
+lib/X11/fonts/util/map-KOI8-R
+lib/X11/icons/default/index.theme
+lib/X11/icons/handhelds/cursors/08e8e1c95fe2fc01f976f1e063a24ccd
+lib/X11/icons/handhelds/cursors/X_cursor
+lib/X11/icons/handhelds/cursors/arrow
+lib/X11/icons/handhelds/cursors/based_arrow_down
+lib/X11/icons/handhelds/cursors/based_arrow_up
+lib/X11/icons/handhelds/cursors/bottom_left_corner
+lib/X11/icons/handhelds/cursors/bottom_right_corner
+lib/X11/icons/handhelds/cursors/bottom_side
+lib/X11/icons/handhelds/cursors/bottom_tee
+lib/X11/icons/handhelds/cursors/center_ptr
+lib/X11/icons/handhelds/cursors/circle
+lib/X11/icons/handhelds/cursors/cross
+lib/X11/icons/handhelds/cursors/cross_reverse
+lib/X11/icons/handhelds/cursors/crosshair
+lib/X11/icons/handhelds/cursors/dot
+lib/X11/icons/handhelds/cursors/dotbox
+lib/X11/icons/handhelds/cursors/double_arrow
+lib/X11/icons/handhelds/cursors/draft_large
+lib/X11/icons/handhelds/cursors/draft_small
+lib/X11/icons/handhelds/cursors/draped_box
+lib/X11/icons/handhelds/cursors/fleur
+lib/X11/icons/handhelds/cursors/gumby
+lib/X11/icons/handhelds/cursors/hand2
+lib/X11/icons/handhelds/cursors/left_ptr
+lib/X11/icons/handhelds/cursors/left_ptr_watch
+lib/X11/icons/handhelds/cursors/left_side
+lib/X11/icons/handhelds/cursors/left_tee
+lib/X11/icons/handhelds/cursors/ll_angle
+lib/X11/icons/handhelds/cursors/pencil
+lib/X11/icons/handhelds/cursors/plus
+lib/X11/icons/handhelds/cursors/right_ptr
+lib/X11/icons/handhelds/cursors/right_side
+lib/X11/icons/handhelds/cursors/right_tee
+lib/X11/icons/handhelds/cursors/sb_h_double_arrow
+lib/X11/icons/handhelds/cursors/sb_right_arrow
+lib/X11/icons/handhelds/cursors/sb_up_arrow
+lib/X11/icons/handhelds/cursors/sb_v_double_arrow
+lib/X11/icons/handhelds/cursors/shuttle
+lib/X11/icons/handhelds/cursors/tcross
+lib/X11/icons/handhelds/cursors/top_left_arrow
+lib/X11/icons/handhelds/cursors/top_left_corner
+lib/X11/icons/handhelds/cursors/top_right_corner
+lib/X11/icons/handhelds/cursors/top_side
+lib/X11/icons/handhelds/cursors/top_tee
+lib/X11/icons/handhelds/cursors/watch
+lib/X11/icons/handhelds/cursors/xterm
+lib/X11/icons/redglass/cursors/08e8e1c95fe2fc01f976f1e063a24ccd
+lib/X11/icons/redglass/cursors/X_cursor
+lib/X11/icons/redglass/cursors/arrow
+lib/X11/icons/redglass/cursors/based_arrow_down
+lib/X11/icons/redglass/cursors/based_arrow_up
+lib/X11/icons/redglass/cursors/bottom_left_corner
+lib/X11/icons/redglass/cursors/bottom_right_corner
+lib/X11/icons/redglass/cursors/bottom_side
+lib/X11/icons/redglass/cursors/bottom_tee
+lib/X11/icons/redglass/cursors/center_ptr
+lib/X11/icons/redglass/cursors/circle
+lib/X11/icons/redglass/cursors/cross
+lib/X11/icons/redglass/cursors/cross_reverse
+lib/X11/icons/redglass/cursors/crosshair
+lib/X11/icons/redglass/cursors/dot
+lib/X11/icons/redglass/cursors/dotbox
+lib/X11/icons/redglass/cursors/double_arrow
+lib/X11/icons/redglass/cursors/draft_large
+lib/X11/icons/redglass/cursors/draft_small
+lib/X11/icons/redglass/cursors/draped_box
+lib/X11/icons/redglass/cursors/fleur
+lib/X11/icons/redglass/cursors/gumby
+lib/X11/icons/redglass/cursors/hand2
+lib/X11/icons/redglass/cursors/left_ptr
+lib/X11/icons/redglass/cursors/left_ptr_watch
+lib/X11/icons/redglass/cursors/left_side
+lib/X11/icons/redglass/cursors/left_tee
+lib/X11/icons/redglass/cursors/ll_angle
+lib/X11/icons/redglass/cursors/pencil
+lib/X11/icons/redglass/cursors/plus
+lib/X11/icons/redglass/cursors/right_ptr
+lib/X11/icons/redglass/cursors/right_side
+lib/X11/icons/redglass/cursors/right_tee
+lib/X11/icons/redglass/cursors/sb_h_double_arrow
+lib/X11/icons/redglass/cursors/sb_right_arrow
+lib/X11/icons/redglass/cursors/sb_up_arrow
+lib/X11/icons/redglass/cursors/sb_v_double_arrow
+lib/X11/icons/redglass/cursors/shuttle
+lib/X11/icons/redglass/cursors/tcross
+lib/X11/icons/redglass/cursors/top_left_arrow
+lib/X11/icons/redglass/cursors/top_left_corner
+lib/X11/icons/redglass/cursors/top_right_corner
+lib/X11/icons/redglass/cursors/top_side
+lib/X11/icons/redglass/cursors/top_tee
+lib/X11/icons/redglass/cursors/watch
+lib/X11/icons/redglass/cursors/xterm
+lib/X11/icons/whiteglass/cursors/08e8e1c95fe2fc01f976f1e063a24ccd
+lib/X11/icons/whiteglass/cursors/X_cursor
+lib/X11/icons/whiteglass/cursors/arrow
+lib/X11/icons/whiteglass/cursors/base_arrow_down
+lib/X11/icons/whiteglass/cursors/base_arrow_up
+lib/X11/icons/whiteglass/cursors/boat
+lib/X11/icons/whiteglass/cursors/bottom_left_corner
+lib/X11/icons/whiteglass/cursors/bottom_right_corner
+lib/X11/icons/whiteglass/cursors/bottom_side
+lib/X11/icons/whiteglass/cursors/bottom_tee
+lib/X11/icons/whiteglass/cursors/center_ptr
+lib/X11/icons/whiteglass/cursors/circle
+lib/X11/icons/whiteglass/cursors/cross
+lib/X11/icons/whiteglass/cursors/cross_reverse
+lib/X11/icons/whiteglass/cursors/crosshair
+lib/X11/icons/whiteglass/cursors/dot
+lib/X11/icons/whiteglass/cursors/dot_box_mask
+lib/X11/icons/whiteglass/cursors/double_arrow
+lib/X11/icons/whiteglass/cursors/draft_large
+lib/X11/icons/whiteglass/cursors/draft_small
+lib/X11/icons/whiteglass/cursors/draped_box
+lib/X11/icons/whiteglass/cursors/exchange
+lib/X11/icons/whiteglass/cursors/fleur
+lib/X11/icons/whiteglass/cursors/gumby
+lib/X11/icons/whiteglass/cursors/hand1
+lib/X11/icons/whiteglass/cursors/hand2
+lib/X11/icons/whiteglass/cursors/left_ptr
+lib/X11/icons/whiteglass/cursors/left_ptr_watch
+lib/X11/icons/whiteglass/cursors/left_side
+lib/X11/icons/whiteglass/cursors/left_tee
+lib/X11/icons/whiteglass/cursors/ll_angle
+lib/X11/icons/whiteglass/cursors/lr_angle
+lib/X11/icons/whiteglass/cursors/pencil
+lib/X11/icons/whiteglass/cursors/pirate
+lib/X11/icons/whiteglass/cursors/plus
+lib/X11/icons/whiteglass/cursors/question_arrow
+lib/X11/icons/whiteglass/cursors/right_ptr
+lib/X11/icons/whiteglass/cursors/right_side
+lib/X11/icons/whiteglass/cursors/right_tee
+lib/X11/icons/whiteglass/cursors/sailboat
+lib/X11/icons/whiteglass/cursors/sb_down_arrow
+lib/X11/icons/whiteglass/cursors/sb_h_double_arrow
+lib/X11/icons/whiteglass/cursors/sb_left_arrow
+lib/X11/icons/whiteglass/cursors/sb_right_arrow
+lib/X11/icons/whiteglass/cursors/sb_up_arrow
+lib/X11/icons/whiteglass/cursors/sb_v_double_arrow
+lib/X11/icons/whiteglass/cursors/shuttle
+lib/X11/icons/whiteglass/cursors/sizing
+lib/X11/icons/whiteglass/cursors/target
+lib/X11/icons/whiteglass/cursors/tcross
+lib/X11/icons/whiteglass/cursors/top_left_arrow
+lib/X11/icons/whiteglass/cursors/top_left_corner
+lib/X11/icons/whiteglass/cursors/top_right_corner
+lib/X11/icons/whiteglass/cursors/top_side
+lib/X11/icons/whiteglass/cursors/top_tee
+lib/X11/icons/whiteglass/cursors/trek
+lib/X11/icons/whiteglass/cursors/ul_angle
+lib/X11/icons/whiteglass/cursors/ur_angle
+lib/X11/icons/whiteglass/cursors/watch
+lib/X11/icons/whiteglass/cursors/xterm
+lib/X11/lbxproxy/AtomControl
+lib/X11/proxymngr/pmconfig
+lib/X11/rgb.txt
+lib/X11/rstart/commands/@List
+lib/X11/rstart/commands/ListContexts
+lib/X11/rstart/commands/ListGenericCommands
+lib/X11/rstart/commands/x
+lib/X11/rstart/commands/x11
+lib/X11/rstart/commands/x11r6/@List
+lib/X11/rstart/commands/x11r6/LoadMonitor
+lib/X11/rstart/commands/x11r6/Terminal
+lib/X11/rstart/config
+lib/X11/rstart/contexts/@List
+lib/X11/rstart/contexts/default
+lib/X11/rstart/contexts/x
+lib/X11/rstart/contexts/x11
+lib/X11/rstart/contexts/x11r6
+lib/X11/rstart/rstartd.real
+lib/X11/twm/system.twmrc
+lib/X11/x11perfcomp/fillblnk
+lib/X11/x11perfcomp/perfboth
+lib/X11/x11perfcomp/perfratio
+lib/X11/xdm/GiveConsole
+lib/X11/xdm/TakeConsole
+lib/X11/xdm/Xaccess
+lib/X11/xdm/Xresources
+lib/X11/xdm/Xservers
+lib/X11/xdm/Xsession
+lib/X11/xdm/Xsetup_0
+lib/X11/xdm/Xwilling
+lib/X11/xdm/chooser
+lib/X11/xdm/pixmaps/XFree86.xpm
+lib/X11/xdm/pixmaps/XFree86bw.xpm
+lib/X11/xdm/xdm-config
+lib/X11/xedit/lisp/indent.lsp
+lib/X11/xedit/lisp/lisp.lsp
+lib/X11/xedit/lisp/progmodes/c.lsp
+lib/X11/xedit/lisp/progmodes/html.lsp
+lib/X11/xedit/lisp/progmodes/imake.lsp
+lib/X11/xedit/lisp/progmodes/lisp.lsp
+lib/X11/xedit/lisp/progmodes/make.lsp
+lib/X11/xedit/lisp/progmodes/man.lsp
+lib/X11/xedit/lisp/progmodes/rpm.lsp
+lib/X11/xedit/lisp/progmodes/sgml.lsp
+lib/X11/xedit/lisp/progmodes/sh.lsp
+lib/X11/xedit/lisp/progmodes/xconf.lsp
+lib/X11/xedit/lisp/progmodes/xlog.lsp
+lib/X11/xedit/lisp/progmodes/xrdb.lsp
+lib/X11/xedit/lisp/syntax.lsp
+lib/X11/xedit/lisp/xedit.lsp
+lib/X11/xinit/xinitrc
+lib/X11/xkb/README
+lib/X11/xkb/README.config
+lib/X11/xkb/README.enhancing
+lib/X11/xkb/compat.dir
+lib/X11/xkb/compat/README
+lib/X11/xkb/compat/accessx
+lib/X11/xkb/compat/basic
+lib/X11/xkb/compat/complete
+lib/X11/xkb/compat/default
+lib/X11/xkb/compat/group_led
+lib/X11/xkb/compat/iso9995
+lib/X11/xkb/compat/japan
+lib/X11/xkb/compat/keypad
+lib/X11/xkb/compat/leds
+lib/X11/xkb/compat/misc
+lib/X11/xkb/compat/mousekeys
+lib/X11/xkb/compat/norepeat
+lib/X11/xkb/compat/pc
+lib/X11/xkb/compat/pc98
+lib/X11/xkb/compat/xfree86
+lib/X11/xkb/compat/xtest
+lib/X11/xkb/compiled/README
+lib/X11/xkb/geometry.dir
+lib/X11/xkb/geometry/README
+lib/X11/xkb/geometry/amiga
+lib/X11/xkb/geometry/ataritt
+lib/X11/xkb/geometry/dell
+lib/X11/xkb/geometry/digital/lk
+lib/X11/xkb/geometry/digital/pc
+lib/X11/xkb/geometry/digital/unix
+lib/X11/xkb/geometry/everex
+lib/X11/xkb/geometry/fujitsu
+lib/X11/xkb/geometry/hp
+lib/X11/xkb/geometry/keytronic
+lib/X11/xkb/geometry/kinesis
+lib/X11/xkb/geometry/macintosh
+lib/X11/xkb/geometry/microsoft
+lib/X11/xkb/geometry/nec
+lib/X11/xkb/geometry/northgate
+lib/X11/xkb/geometry/pc
+lib/X11/xkb/geometry/sgi/O2
+lib/X11/xkb/geometry/sgi/indigo
+lib/X11/xkb/geometry/sgi/indy
+lib/X11/xkb/geometry/sony
+lib/X11/xkb/geometry/sun
+lib/X11/xkb/geometry/winbook
+lib/X11/xkb/keycodes.dir
+lib/X11/xkb/keycodes/README
+lib/X11/xkb/keycodes/aliases
+lib/X11/xkb/keycodes/amiga
+lib/X11/xkb/keycodes/ataritt
+lib/X11/xkb/keycodes/digital/lk
+lib/X11/xkb/keycodes/digital/pc
+lib/X11/xkb/keycodes/fujitsu
+lib/X11/xkb/keycodes/hp
+lib/X11/xkb/keycodes/ibm
+lib/X11/xkb/keycodes/macintosh
+lib/X11/xkb/keycodes/powerpcps2
+lib/X11/xkb/keycodes/sgi/indigo
+lib/X11/xkb/keycodes/sgi/indy
+lib/X11/xkb/keycodes/sgi/iris
+lib/X11/xkb/keycodes/sony
+lib/X11/xkb/keycodes/sun
+lib/X11/xkb/keycodes/xfree86
+lib/X11/xkb/keycodes/xfree98
+lib/X11/xkb/keymap.dir
+lib/X11/xkb/keymap/README
+lib/X11/xkb/keymap/amiga
+lib/X11/xkb/keymap/ataritt
+lib/X11/xkb/keymap/digital/us
+lib/X11/xkb/keymap/macintosh
+lib/X11/xkb/keymap/sgi/be
+lib/X11/xkb/keymap/sgi/bg
+lib/X11/xkb/keymap/sgi/ca
+lib/X11/xkb/keymap/sgi/cz
+lib/X11/xkb/keymap/sgi/cz_qwerty
+lib/X11/xkb/keymap/sgi/de
+lib/X11/xkb/keymap/sgi/de_CH
+lib/X11/xkb/keymap/sgi/dk
+lib/X11/xkb/keymap/sgi/dvorak
+lib/X11/xkb/keymap/sgi/en_US
+lib/X11/xkb/keymap/sgi/es
+lib/X11/xkb/keymap/sgi/fi
+lib/X11/xkb/keymap/sgi/fr
+lib/X11/xkb/keymap/sgi/fr_CH
+lib/X11/xkb/keymap/sgi/gb
+lib/X11/xkb/keymap/sgi/hu
+lib/X11/xkb/keymap/sgi/it
+lib/X11/xkb/keymap/sgi/jp
+lib/X11/xkb/keymap/sgi/no
+lib/X11/xkb/keymap/sgi/pl
+lib/X11/xkb/keymap/sgi/pt
+lib/X11/xkb/keymap/sgi/ru
+lib/X11/xkb/keymap/sgi/se
+lib/X11/xkb/keymap/sgi/sk
+lib/X11/xkb/keymap/sgi/sk_qwerty
+lib/X11/xkb/keymap/sgi/th
+lib/X11/xkb/keymap/sgi/us
+lib/X11/xkb/keymap/sony
+lib/X11/xkb/keymap/sun/de
+lib/X11/xkb/keymap/sun/es
+lib/X11/xkb/keymap/sun/fi
+lib/X11/xkb/keymap/sun/fr
+lib/X11/xkb/keymap/sun/no
+lib/X11/xkb/keymap/sun/pl
+lib/X11/xkb/keymap/sun/ru
+lib/X11/xkb/keymap/sun/se
+lib/X11/xkb/keymap/sun/uk
+lib/X11/xkb/keymap/sun/us
+lib/X11/xkb/keymap/xfree86
+lib/X11/xkb/keymap/xfree98
+lib/X11/xkb/rules/README
+lib/X11/xkb/rules/sgi
+lib/X11/xkb/rules/sgi.lst
+lib/X11/xkb/rules/sun
+lib/X11/xkb/rules/sun.lst
+lib/X11/xkb/rules/xfree86
+lib/X11/xkb/rules/xfree86-it.lst
+lib/X11/xkb/rules/xfree86.lst
+lib/X11/xkb/rules/xfree86.xml
+lib/X11/xkb/semantics/basic
+lib/X11/xkb/semantics/complete
+lib/X11/xkb/semantics/default
+lib/X11/xkb/semantics/xtest
+lib/X11/xkb/symbols.dir
+lib/X11/xkb/symbols/README
+lib/X11/xkb/symbols/al
+lib/X11/xkb/symbols/altwin
+lib/X11/xkb/symbols/am
+lib/X11/xkb/symbols/ar
+lib/X11/xkb/symbols/az
+lib/X11/xkb/symbols/be
+lib/X11/xkb/symbols/ben
+lib/X11/xkb/symbols/bg
+lib/X11/xkb/symbols/br
+lib/X11/xkb/symbols/bs
+lib/X11/xkb/symbols/by
+lib/X11/xkb/symbols/ca
+lib/X11/xkb/symbols/ca_enhanced
+lib/X11/xkb/symbols/compose
+lib/X11/xkb/symbols/ctrl
+lib/X11/xkb/symbols/cz
+lib/X11/xkb/symbols/cz_qwerty
+lib/X11/xkb/symbols/czsk
+lib/X11/xkb/symbols/de
+lib/X11/xkb/symbols/de_CH
+lib/X11/xkb/symbols/dev
+lib/X11/xkb/symbols/digital/lk
+lib/X11/xkb/symbols/digital/pc
+lib/X11/xkb/symbols/digital/us
+lib/X11/xkb/symbols/digital/vt
+lib/X11/xkb/symbols/dk
+lib/X11/xkb/symbols/dvorak
+lib/X11/xkb/symbols/ee
+lib/X11/xkb/symbols/el
+lib/X11/xkb/symbols/en_US
+lib/X11/xkb/symbols/es
+lib/X11/xkb/symbols/fi
+lib/X11/xkb/symbols/fr
+lib/X11/xkb/symbols/fr_CH
+lib/X11/xkb/symbols/fujitsu/jp
+lib/X11/xkb/symbols/fujitsu/us
+lib/X11/xkb/symbols/gb
+lib/X11/xkb/symbols/ge_la
+lib/X11/xkb/symbols/ge_ru
+lib/X11/xkb/symbols/group
+lib/X11/xkb/symbols/guj
+lib/X11/xkb/symbols/gur
+lib/X11/xkb/symbols/hp/us
+lib/X11/xkb/symbols/hr
+lib/X11/xkb/symbols/hu
+lib/X11/xkb/symbols/hu_US
+lib/X11/xkb/symbols/hu_qwerty
+lib/X11/xkb/symbols/ie
+lib/X11/xkb/symbols/il
+lib/X11/xkb/symbols/il_phonetic
+lib/X11/xkb/symbols/inet
+lib/X11/xkb/symbols/ir
+lib/X11/xkb/symbols/is
+lib/X11/xkb/symbols/iso9995-3
+lib/X11/xkb/symbols/it
+lib/X11/xkb/symbols/iu
+lib/X11/xkb/symbols/jp
+lib/X11/xkb/symbols/kan
+lib/X11/xkb/symbols/keypad
+lib/X11/xkb/symbols/la
+lib/X11/xkb/symbols/level3
+lib/X11/xkb/symbols/lo
+lib/X11/xkb/symbols/lock
+lib/X11/xkb/symbols/lt
+lib/X11/xkb/symbols/lt_std
+lib/X11/xkb/symbols/lv
+lib/X11/xkb/symbols/macintosh/de
+lib/X11/xkb/symbols/macintosh/de_CH
+lib/X11/xkb/symbols/macintosh/dk
+lib/X11/xkb/symbols/macintosh/es
+lib/X11/xkb/symbols/macintosh/fi
+lib/X11/xkb/symbols/macintosh/fr
+lib/X11/xkb/symbols/macintosh/fr_CH
+lib/X11/xkb/symbols/macintosh/gb
+lib/X11/xkb/symbols/macintosh/it
+lib/X11/xkb/symbols/macintosh/nl
+lib/X11/xkb/symbols/macintosh/no
+lib/X11/xkb/symbols/macintosh/pt
+lib/X11/xkb/symbols/macintosh/se
+lib/X11/xkb/symbols/macintosh/us
+lib/X11/xkb/symbols/mk
+lib/X11/xkb/symbols/ml
+lib/X11/xkb/symbols/mm
+lib/X11/xkb/symbols/mt
+lib/X11/xkb/symbols/mt_us
+lib/X11/xkb/symbols/nec/jp
+lib/X11/xkb/symbols/nl
+lib/X11/xkb/symbols/no
+lib/X11/xkb/symbols/ogham
+lib/X11/xkb/symbols/ori
+lib/X11/xkb/symbols/pc/al
+lib/X11/xkb/symbols/pc/am
+lib/X11/xkb/symbols/pc/ar
+lib/X11/xkb/symbols/pc/be
+lib/X11/xkb/symbols/pc/ben
+lib/X11/xkb/symbols/pc/bg
+lib/X11/xkb/symbols/pc/br
+lib/X11/xkb/symbols/pc/by
+lib/X11/xkb/symbols/pc/cz
+lib/X11/xkb/symbols/pc/cz_qwerty
+lib/X11/xkb/symbols/pc/de
+lib/X11/xkb/symbols/pc/dev
+lib/X11/xkb/symbols/pc/dk
+lib/X11/xkb/symbols/pc/dvorak
+lib/X11/xkb/symbols/pc/ee
+lib/X11/xkb/symbols/pc/el
+lib/X11/xkb/symbols/pc/en_US
+lib/X11/xkb/symbols/pc/es
+lib/X11/xkb/symbols/pc/fi
+lib/X11/xkb/symbols/pc/fr
+lib/X11/xkb/symbols/pc/fr-latin9
+lib/X11/xkb/symbols/pc/gb
+lib/X11/xkb/symbols/pc/ge_la
+lib/X11/xkb/symbols/pc/ge_ru
+lib/X11/xkb/symbols/pc/guj
+lib/X11/xkb/symbols/pc/gur
+lib/X11/xkb/symbols/pc/hr
+lib/X11/xkb/symbols/pc/ie
+lib/X11/xkb/symbols/pc/il
+lib/X11/xkb/symbols/pc/il_phonetic
+lib/X11/xkb/symbols/pc/ir
+lib/X11/xkb/symbols/pc/is
+lib/X11/xkb/symbols/pc/it
+lib/X11/xkb/symbols/pc/iu
+lib/X11/xkb/symbols/pc/kan
+lib/X11/xkb/symbols/pc/la
+lib/X11/xkb/symbols/pc/latin
+lib/X11/xkb/symbols/pc/lo
+lib/X11/xkb/symbols/pc/lt
+lib/X11/xkb/symbols/pc/lv
+lib/X11/xkb/symbols/pc/mk
+lib/X11/xkb/symbols/pc/ml
+lib/X11/xkb/symbols/pc/mm
+lib/X11/xkb/symbols/pc/mt
+lib/X11/xkb/symbols/pc/mt_us
+lib/X11/xkb/symbols/pc/nl
+lib/X11/xkb/symbols/pc/no
+lib/X11/xkb/symbols/pc/ogham
+lib/X11/xkb/symbols/pc/ori
+lib/X11/xkb/symbols/pc/pc
+lib/X11/xkb/symbols/pc/pl
+lib/X11/xkb/symbols/pc/pl2
+lib/X11/xkb/symbols/pc/pt
+lib/X11/xkb/symbols/pc/ro
+lib/X11/xkb/symbols/pc/ru
+lib/X11/xkb/symbols/pc/sapmi
+lib/X11/xkb/symbols/pc/se
+lib/X11/xkb/symbols/pc/si
+lib/X11/xkb/symbols/pc/sk
+lib/X11/xkb/symbols/pc/sk_qwerty
+lib/X11/xkb/symbols/pc/sr
+lib/X11/xkb/symbols/pc/syr
+lib/X11/xkb/symbols/pc/syr_phonetic
+lib/X11/xkb/symbols/pc/tel
+lib/X11/xkb/symbols/pc/th
+lib/X11/xkb/symbols/pc/tj
+lib/X11/xkb/symbols/pc/tml
+lib/X11/xkb/symbols/pc/tr
+lib/X11/xkb/symbols/pc/ua
+lib/X11/xkb/symbols/pc/us
+lib/X11/xkb/symbols/pc/yu
+lib/X11/xkb/symbols/pc104
+lib/X11/xkb/symbols/pl
+lib/X11/xkb/symbols/pl2
+lib/X11/xkb/symbols/pt
+lib/X11/xkb/symbols/ralt
+lib/X11/xkb/symbols/ro
+lib/X11/xkb/symbols/ru
+lib/X11/xkb/symbols/ru_yawerty
+lib/X11/xkb/symbols/sapmi
+lib/X11/xkb/symbols/se
+lib/X11/xkb/symbols/se_FI
+lib/X11/xkb/symbols/se_NO
+lib/X11/xkb/symbols/se_SE
+lib/X11/xkb/symbols/sgi/jp
+lib/X11/xkb/symbols/si
+lib/X11/xkb/symbols/sk
+lib/X11/xkb/symbols/sk_qwerty
+lib/X11/xkb/symbols/sony/us
+lib/X11/xkb/symbols/sr
+lib/X11/xkb/symbols/srvr_ctrl
+lib/X11/xkb/symbols/sun/se
+lib/X11/xkb/symbols/sun/us
+lib/X11/xkb/symbols/syr
+lib/X11/xkb/symbols/syr_phonetic
+lib/X11/xkb/symbols/tel
+lib/X11/xkb/symbols/th
+lib/X11/xkb/symbols/tj
+lib/X11/xkb/symbols/tml
+lib/X11/xkb/symbols/tr
+lib/X11/xkb/symbols/tr_f
+lib/X11/xkb/symbols/ua
+lib/X11/xkb/symbols/us
+lib/X11/xkb/symbols/us_group2
+lib/X11/xkb/symbols/us_group3
+lib/X11/xkb/symbols/us_intl
+lib/X11/xkb/symbols/vn
+lib/X11/xkb/symbols/xfree68/amiga
+lib/X11/xkb/symbols/xfree68/ataritt
+lib/X11/xkb/symbols/yu
+lib/X11/xkb/types.dir
+lib/X11/xkb/types/README
+lib/X11/xkb/types/basic
+lib/X11/xkb/types/caps
+lib/X11/xkb/types/complete
+lib/X11/xkb/types/default
+lib/X11/xkb/types/extra
+lib/X11/xkb/types/iso9995
+lib/X11/xkb/types/mousekeys
+lib/X11/xkb/types/pc
+lib/X11/xkb/xkbcomp
+lib/X11/xman.help
+lib/X11/xsm/system.xsm
+@dirrm lib/X11/icons/whiteglass/cursors
+@dirrm lib/X11/icons/whiteglass
+@dirrm lib/X11/icons/redglass/cursors
+@dirrm lib/X11/icons/redglass
+@dirrm lib/X11/icons/handhelds/cursors
+@dirrm lib/X11/icons/handhelds
+@dirrm lib/X11/icons/default
+@dirrm lib/X11/icons
+@dirrm lib/X11/xkb/types
+@dirrm lib/X11/xkb/symbols/xfree68
+@dirrm lib/X11/xkb/symbols/sgi
+@dirrm lib/X11/xkb/symbols/pc
+@dirrm lib/X11/xkb/symbols/macintosh
+@dirrm lib/X11/xkb/symbols/hp
+@dirrm lib/X11/xedit/lisp/progmodes
+@dirrm lib/X11/xedit/lisp
+@dirrm lib/X11/xedit
+@dirrm lib/X11/xdm/pixmaps
+@dirrm lib/X11/fonts/util
diff --git a/x11/XFree86-clients/files/host.def b/x11/XFree86-clients/files/host.def
new file mode 100644
index 00000000000..e9b2e1df1be
--- /dev/null
+++ b/x11/XFree86-clients/files/host.def
@@ -0,0 +1,66 @@
+/*
+ * $NetBSD: host.def,v 1.1.1.1 2004/01/24 08:45:42 xtraeme Exp $
+ *
+ * XFree86 packages for pkgsrc system
+ */
+
+#define ProjectRoot @PREFIX@
+#define BuildHtmlManPages NO
+
+#define MakeCmd @MAKE@
+#define HasGnuMake NO
+#define ImakeCmd @IMAKE@
+#define RmanCmd @RMAN@
+#define HtmlIndexCmd @MKHTMLINDEX@
+#define DependDir @GCCMAKEDEP@
+#define DependCmd @MAKEDEPEND@
+#define RevPathCmd @REVPATH@
+
+#define NothingOutsideProjectRoot YES
+#define InstallFSConfig NO
+#define BuildServer NO
+#define BuildFontServer NO
+#define BuildFonts NO
+#define Build75DpiFonts NO
+#define Build100DpiFonts NO
+#define BuildSpeedoFonts NO
+#define BuildType1Fonts NO
+#define BuildCIDFonts NO
+#define BuildCyrillicFonts NO
+#define BuildLatin2Fonts NO
+#define BuildPlugin NO
+#define LibHeaders NO
+#define LibInstall NO
+#define ForceNormalLib NO
+#define ModInstall NO
+#define XTrueTypeInstallCConvHeaders NO
+#define BuildXcursorgen YES
+
+#ifndef LinuxArchitecture
+#define HasShadowPasswd NO
+#endif
+
+#ifdef NetBSDArchitecture
+#define HasSecureRPC NO
+#define HasPam NO
+#endif
+
+#define InstallXdmConfig YES
+#define InstallXinitConfig YES
+#define InstallAppDefFiles YES
+
+#define ExtraLoadFlags @LDFLAGS@
+#define LibInstallBuild YES
+#define StandardIncludes -I@BLNK@/include
+#define DontUseLibPathVar YES
+#define PreloadSetup
+#define UseInstalledPrograms YES
+
+#define HasFreetype2 YES
+#define Freetype2Dir @BLNK@
+
+#define HasExpat YES
+#define ExpatDir @BLNK@
+
+#define HasFontconfig YES
+#define FontconfigDir @BLNK@
diff --git a/x11/XFree86-clients/files/ucs2any.c b/x11/XFree86-clients/files/ucs2any.c
new file mode 100644
index 00000000000..f272f43e328
--- /dev/null
+++ b/x11/XFree86-clients/files/ucs2any.c
@@ -0,0 +1,952 @@
+/*-
+ * Copyright (c) 2003 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Ben Collver <collver1@attbi.com>.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the NetBSD
+ * Foundation, Inc. and its contributors.
+ * 4. Neither the name of The NetBSD Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * This utility allows you to generate from an ISO10646-1 encoded
+ * BDF font other BDF fonts in any possible encoding. This way, you can
+ * derive from a single ISO10646-1 master font a whole set of 8-bit
+ * fonts in all ISO 8859 and various other encodings. (Hopefully
+ * a future XFree86 release will have a similar facility built into
+ * the server, which can reencode ISO10646-1 on the fly, because
+ * storing the same fonts in many different encodings is clearly
+ * a waste of storage capacity).
+*/
+
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <limits.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+/* global variable for argv[0] */
+const char *my_name = NULL;
+
+static char *u_basename(char *pathname)
+{
+ char *ptr;
+
+ ptr = strrchr(pathname, '/');
+ return ((ptr == NULL) ? pathname : &ptr[1]);
+}
+
+/* "CLASS" "z" string and memory manipulation */
+
+void *zmalloc(size_t size)
+{
+ void *r;
+ r = malloc(size);
+ if (r == NULL) {
+ perror(my_name);
+ exit(errno);
+ }
+ memset(r, 0, size);
+ return r;
+}
+
+void *zrealloc(void *ptr, size_t size)
+{
+ void *temp;
+ temp = realloc(ptr, size);
+ if (temp == NULL) {
+ perror(my_name);
+ exit(errno);
+ }
+ return temp;
+}
+
+char *zstrdup(const char *str)
+{
+ char *retval;
+
+ if (str == NULL) {
+ fprintf(stderr, "%s: zstrdup(NULL)\n", my_name);
+ exit(1);
+ }
+ retval = strdup(str);
+ if (retval == NULL) {
+ perror(my_name);
+ exit(errno);
+ }
+ return retval;
+}
+
+void zstrcpy(char **dest, const char *source)
+{
+ if (*dest != NULL)
+ free(*dest);
+ *dest = zstrdup(source);
+}
+
+void zquotedcpy(char **dest, const char *source)
+{
+ const char *start, *end;
+
+ if (*dest != NULL)
+ free(*dest);
+ *dest = NULL;
+ start = source;
+ if (*start == '"') {
+ start = source+1;
+ end = strrchr(start, '"');
+ if (!end) return;
+ *dest = zmalloc(end-start+1);
+ strncpy(*dest, start, end-start);
+ (*dest)[end-start] = '\0';
+ } else {
+ *dest = zstrdup(source);
+ }
+}
+
+void zstrcat(char **dest, const char *source)
+{
+ int dest_size = 1;
+ int source_size;
+
+ if (*dest != NULL)
+ dest_size = strlen(*dest) + 1;
+ source_size = strlen(source);
+ *dest = zrealloc(*dest, dest_size + source_size);
+ strcpy(*dest + dest_size - 1, source);
+}
+
+void zstrtoupper(char *s)
+{
+ char *t;
+
+ for (t = s; *t != '\000'; t++)
+ *t = toupper(*t);
+}
+
+char *zitoa(int value)
+{
+ static char zitoa_buf[23];
+ char *p = zitoa_buf;
+ int n = value;
+ int i = 10;
+
+ if (n < 0) {
+ *p++ = '-';
+ n *= -1;
+ }
+ while (n / i)
+ i *= 10;
+ while (i > 9) {
+ i /= 10;
+ *p++ = '0' + n / i;
+ n -= n / i * i;
+ }
+ *p = '\000';
+ return zitoa_buf;
+}
+
+#define zs_true(x) (x != NULL && strcmp(x, "0") != 0)
+#define zi_true(x) (x == 1)
+
+/* "CLASS" "dynamic array" */
+
+typedef struct {
+ char *name;
+ int size;
+ int count;
+ void **values;
+ void *nv;
+} da_t;
+
+da_t *da_new(char *name)
+{
+ da_t *da;
+
+ da = zmalloc(sizeof(da_t));
+ da->size = 0;
+ da->count = 0;
+ da->values = NULL;
+ da->nv = NULL;
+ da->name = NULL;
+ zstrcpy(&(da->name), name);
+ return da;
+}
+
+void *da_fetch(da_t *da, int key)
+{
+ void *r = NULL;
+
+ if (key >= 0 && key < da->size && da->values[key] != NULL)
+ r = da->values[key];
+ else
+ if (key == -1 && da->nv != NULL)
+ r = da->nv;
+
+ return r;
+}
+
+int da_fetch_int(da_t *da, int key)
+{
+ int *t;
+ int r = -1;
+ t = da_fetch(da, key);
+ if (t != NULL)
+ r = *t;
+ return r;
+}
+
+#define da_fetch_str(a,k) \
+ (char *)da_fetch(a,k)
+
+void da_add(da_t *da, int key, void *value)
+{
+ int i = da->size;
+ if (key >= 0) {
+ if (key >= da->size) {
+ da->size = key + 1;
+ da->values = zrealloc(da->values,
+ da->size * sizeof(void *));
+ for (; i < da->size; i++)
+ da->values[i] = NULL;
+ }
+ if (da->values[key] != NULL) {
+ free(da->values[key]);
+ } else {
+ if (value == NULL) {
+ if (da->count > 0)
+ da->count--;
+ } else {
+ da->count++;
+ }
+ }
+ da->values[key] = value;
+ } else if (key == -1) {
+ if (da->nv != NULL)
+ free(da->nv);
+ da->nv = value;
+ }
+}
+
+void da_add_str(da_t *da, int key, char *value)
+{
+ da_add(da, key, value?zstrdup(value):NULL);
+}
+
+void da_add_int(da_t *da, int key, int value)
+{
+ int *v;
+
+ v = zmalloc(sizeof(int));
+ *v = value;
+ da_add(da, key, v);
+}
+
+#define da_count(da) (da->count)
+#define da_size(da) (da->size)
+
+void da_clear(da_t *da)
+{
+ int i;
+
+ for (i = da->size; i; i--)
+ free(da->values[i]);
+ if (da->values != NULL)
+ free(da->values);
+ da->size = 0;
+ da->count = 0;
+ da->values = NULL;
+}
+
+/* "CLASS" file input */
+
+#define TYPICAL_LINE_SIZE (80)
+
+/* read a line and strip trailing whitespace */
+int read_line(FILE *fp, char **buffer)
+{
+ int buffer_size = TYPICAL_LINE_SIZE;
+ int eof = 0;
+ int position = 0;
+ int c;
+
+ *buffer = zmalloc(TYPICAL_LINE_SIZE);
+ (*buffer)[0] = '\0';
+
+ if ((c = getc(fp)) == EOF)
+ eof = 1;
+
+ while (c != '\n' && !eof) {
+ if (position + 1 >= buffer_size) {
+ buffer_size = buffer_size * 2 + 1;
+ *buffer = zrealloc(*buffer, buffer_size);
+ }
+ (*buffer)[position++] = c;
+ (*buffer)[position] = '\0';
+ c = getc(fp);
+ if (c == EOF)
+ eof = 1;
+ }
+
+ if (eof) {
+ free(*buffer);
+ *buffer = NULL;
+ return 0;
+ }
+
+ while (position > 1) {
+ position--;
+ if (!isspace((*buffer)[position]))
+ break;
+ (*buffer)[position] = '\0';
+ }
+
+ return 1;
+}
+
+/* BEGIN */
+
+/*
+DEC VT100 graphics characters in the range 1-31 (as expected by
+some old xterm versions and a few other applications)
+*/
+#define decmap_size 31
+int decmap[decmap_size] = {
+ 0x25C6, /* BLACK DIAMOND */
+ 0x2592, /* MEDIUM SHADE */
+ 0x2409, /* SYMBOL FOR HORIZONTAL TABULATION */
+ 0x240C, /* SYMBOL FOR FORM FEED */
+ 0x240D, /* SYMBOL FOR CARRIAGE RETURN */
+ 0x240A, /* SYMBOL FOR LINE FEED */
+ 0x00B0, /* DEGREE SIGN */
+ 0x00B1, /* PLUS-MINUS SIGN */
+ 0x2424, /* SYMBOL FOR NEWLINE */
+ 0x240B, /* SYMBOL FOR VERTICAL TABULATION */
+ 0x2518, /* BOX DRAWINGS LIGHT UP AND LEFT */
+ 0x2510, /* BOX DRAWINGS LIGHT DOWN AND LEFT */
+ 0x250C, /* BOX DRAWINGS LIGHT DOWN AND RIGHT */
+ 0x2514, /* BOX DRAWINGS LIGHT UP AND RIGHT */
+ 0x253C, /* BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */
+ 0x23BA, /* HORIZONTAL SCAN LINE-1 (Unicode 3.2 draft) */
+ 0x23BB, /* HORIZONTAL SCAN LINE-3 (Unicode 3.2 draft) */
+ 0x2500, /* BOX DRAWINGS LIGHT HORIZONTAL */
+ 0x23BC, /* HORIZONTAL SCAN LINE-7 (Unicode 3.2 draft) */
+ 0x23BD, /* HORIZONTAL SCAN LINE-9 (Unicode 3.2 draft) */
+ 0x251C, /* BOX DRAWINGS LIGHT VERTICAL AND RIGHT */
+ 0x2524, /* BOX DRAWINGS LIGHT VERTICAL AND LEFT */
+ 0x2534, /* BOX DRAWINGS LIGHT UP AND HORIZONTAL */
+ 0x252C, /* BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */
+ 0x2502, /* BOX DRAWINGS LIGHT VERTICAL */
+ 0x2264, /* LESS-THAN OR EQUAL TO */
+ 0x2265, /* GREATER-THAN OR EQUAL TO */
+ 0x03C0, /* GREEK SMALL LETTER PI */
+ 0x2260, /* NOT EQUAL TO */
+ 0x00A3, /* POUND SIGN */
+ 0x00B7 /* MIDDLE DOT */
+};
+
+int is_control(int ucs)
+{
+ return ((ucs >= 0x00 && ucs <= 0x1f) ||
+ (ucs >= 0x7f && ucs <= 0x9f));
+}
+
+int is_blockgraphics(int ucs)
+{
+ return ucs >= 0x2500 && ucs <= 0x25FF;
+}
+
+/* calculate the bounding box that covers both provided bounding boxes */
+typedef struct {
+ int cwidth;
+ int cheight;
+ int cxoff;
+ int cyoff;
+} bbx_t;
+
+bbx_t *combine_bbx(int awidth, int aheight, int axoff, int ayoff,
+ int cwidth, int cheight, int cxoff, int cyoff, bbx_t *r)
+{
+ r->cwidth = cwidth;
+ r->cheight = cheight;
+ r->cxoff = cxoff;
+ r->cyoff = cyoff;
+
+ if (axoff < r->cxoff) {
+ r->cwidth += r->cxoff - axoff;
+ r->cxoff = axoff;
+ }
+ if (ayoff < r->cyoff) {
+ r->cheight += r->cyoff - ayoff;
+ r->cyoff = ayoff;
+ }
+ if (awidth + axoff > r->cwidth + r->cxoff) {
+ r->cwidth = awidth + axoff - r->cxoff;
+ }
+ if (aheight + ayoff > r->cheight + r->cyoff) {
+ r->cheight = aheight + ayoff - r->cyoff;
+ }
+
+ return r;
+}
+
+void usage(void) {
+ printf("%s", "\n"
+"Usage: ucs2any [+d|-d] <source-name> { <mapping-file> <registry-encoding> }\n"
+"\n"
+"where\n"
+"\n"
+" +d put DEC VT100 graphics characters in the C0 range\n"
+" (default for upright charcell fonts)\n"
+"\n"
+" -d do not put DEC VT100 graphics characters in the\n"
+" C0 range (default for all other font types)\n"
+"\n"
+" <source-name> is the name of an ISO10646-1 encoded BDF file\n"
+"\n"
+" <mapping-file> is the name of a character set table like those on\n"
+" <ftp://ftp.unicode.org/Public/MAPPINGS/>\n"
+"\n"
+" <registry-encoding> are the CHARSET_REGISTRY and CHARSET_ENCODING\n"
+" field values for the font name (XLFD) of the\n"
+" target font, separated by a hyphen\n"
+"\n"
+"Example:\n"
+"\n"
+" ucs2any 6x13.bdf 8859-1.TXT iso8859-1 8859-2.TXT iso8859-2\n"
+"\n"
+"will generate the files 6x13-iso8859-1.bdf and 6x13-iso8859-2.bdf\n"
+"\n");
+}
+
+int chars_compare(const void *aa, const void *bb)
+{
+ int a = *(int *)aa;
+ int b = *(int *)bb;
+
+ return a - b;
+}
+
+/*
+ * Return != 0 if "string" starts with "pattern" followed by whitespace.
+ * If it does, return a pointer to the first non space char.
+ */
+static const char * startswith(const char *string, const char *pattern)
+{
+ int l = strlen(pattern);
+
+ if (strlen(string) <= l) return NULL;
+ if (strncmp(string, pattern, l) != 0) return NULL;
+ string += l;
+ if (!isspace(*string)) return NULL;
+ while (isspace(*string))
+ string++;
+ return string;
+}
+
+int main(int argc, char *argv[])
+{
+ int ai = 1;
+ int dec_chars = -1;
+ char *fsource = NULL;
+ FILE *fsource_fp;
+ int properties;
+ int default_char;
+ char *l = NULL;
+ char *t = NULL;
+ const char *nextc = NULL;
+ char *startfont = NULL;
+ char *slant = NULL;
+ char *spacing = NULL;
+ char *sc = NULL;
+ int code = -1;
+ da_t *startchar;
+ da_t *my_char;
+ char *fmap = NULL;
+ char *registry = NULL;
+ char *encoding = NULL;
+ char *fontname = NULL;
+ FILE *fmap_fp;
+ da_t *map;
+ da_t *headers;
+ int nextheader = -1;
+ int default_char_index = -1;
+ int startproperties_index = -1;
+ int fontname_index = -1;
+ int charset_registry_index = -1;
+ int slant_index = -1;
+ int spacing_index = -1;
+ int charset_encoding_index = -1;
+ int fontboundingbox_index = -1;
+ int target;
+ int ucs;
+ int i;
+ int j;
+ int *chars = NULL;
+ bbx_t bbx;
+ char *fout = NULL;
+ FILE *fout_fp;
+ int k;
+ char *registry_encoding = NULL;
+
+ my_name = argv[0];
+
+ startchar = da_new("startchar");
+ my_char = da_new("my_char");
+ map = da_new("map");
+ headers = da_new("headers");
+
+ if (argc < 2) {
+ usage();
+ exit(0);
+ }
+
+ /* check options */
+ if (strcmp(argv[ai], "+d") == 0) {
+ ai++;
+ dec_chars = 1;
+ } else if (strcmp(argv[ai], "-d") == 0) {
+ ai++;
+ dec_chars = 0;
+ }
+ if (ai >= argc) {
+ usage();
+ exit(0);
+ }
+
+ /* open and read source file */
+ fsource = argv[ai];
+ fsource_fp = fopen(fsource, "r");
+ if (fsource_fp == NULL) {
+ fprintf(stderr, "%s: Can't read file '%s': %s!\n", my_name,
+ fsource, strerror(errno));
+ exit(1);
+ }
+
+ /* read header */
+ properties = 0;
+ default_char = 0;
+ while (read_line(fsource_fp, &l)) {
+ if (startswith(l, "CHARS"))
+ break;
+ if (startswith(l, "STARTFONT")) {
+ zstrcpy(&startfont, l);
+ } else if (startswith(l, "_XMBDFED_INFO") ||
+ startswith(l, "XFREE86_GLYPH_RANGES"))
+ {
+ properties--;
+ } else if ((nextc = startswith(l, "DEFAULT_CHAR")) != NULL)
+ {
+ default_char = atoi(nextc);
+ default_char_index = ++nextheader;
+ da_add_str(headers, default_char_index, NULL);
+ } else {
+ if ((nextc = startswith(l, "STARTPROPERTIES")) != NULL)
+ {
+ properties = atoi(nextc);
+ startproperties_index = ++nextheader;
+ da_add_str(headers, startproperties_index, NULL);
+ } else if ((nextc = startswith(l, "FONT")) != NULL)
+ {
+ char * term;
+ /* slightly simplistic check ... */
+ zquotedcpy(&fontname, nextc);
+ if ((term = strstr(fontname, "-ISO10646-1")) == NULL) {
+ fprintf(stderr,
+ "%s: FONT name in '%s' is '%s' and not '*-ISO10646-1'!\n",
+ my_name, fsource, fontname);
+ exit(1);
+ }
+ *term = '\0';
+ fontname_index = ++nextheader;
+ da_add_str(headers, fontname_index, NULL);
+ } else if ((nextc = startswith(l, "CHARSET_REGISTRY")) != NULL)
+ {
+ if (strcmp(nextc, "\"ISO10646\"") != 0) {
+ fprintf(stderr,
+ "%s: CHARSET_REGISTRY in '%s' is '%s' and not 'ISO10646'!\n",
+ my_name, fsource, nextc);
+ exit(1);
+ }
+ charset_registry_index = ++nextheader;
+ da_add_str(headers, charset_registry_index, NULL);
+ } else if ((nextc = startswith(l, "CHARSET_ENCODING")) != NULL)
+ {
+ if (strcmp(nextc, "\"1\"") != 0) {
+ fprintf(stderr,
+ "%s: CHARSET_ENCODING in '%s' is '%s' and not '1'!\n",
+ my_name, fsource, nextc);
+ exit(1);
+ }
+ charset_encoding_index = ++nextheader;
+ da_add_str(headers, charset_encoding_index, NULL);
+ } else if (startswith(l, "FONTBOUNDINGBOX")) {
+ fontboundingbox_index = ++nextheader;
+ da_add_str(headers, fontboundingbox_index, NULL);
+ } else if ((nextc = startswith(l, "SLANT")) != NULL)
+ {
+ zquotedcpy(&slant, nextc);
+ slant_index = ++nextheader;
+ da_add_str(headers, slant_index, NULL);
+ } else if ((nextc = startswith(l, "SPACING")) != NULL)
+ {
+ zquotedcpy(&spacing, nextc);
+ zstrtoupper(spacing);
+ spacing_index = ++nextheader;
+ da_add_str(headers, spacing_index, NULL);
+ } else if ((nextc = startswith(l, "COMMENT")) != NULL) {
+ if (strncmp(nextc, "$Id: ", 5)==0) {
+ char *header = NULL;
+ char *id = NULL, *end = NULL;
+ id = zstrdup(nextc + 5);
+ end = strrchr(id, '$');
+ if (end) *end = '\0';
+ zstrcpy(&header, "COMMENT Derived from ");
+ zstrcat(&header, id);
+ zstrcat(&header, "\n");
+ free(id);
+ da_add_str(headers, ++nextheader, header);
+ free(header);
+ } else {
+ da_add_str(headers, ++nextheader, l);
+ }
+ } else {
+ da_add_str(headers, ++nextheader, l);
+ }
+ }
+ free(l);
+ }
+
+ if (startfont == NULL) {
+ fprintf(stderr, "%s: No STARTFONT line found in '%s'!\n",
+ my_name, fsource);
+ exit(1);
+ }
+
+ /* read characters */
+ while (read_line(fsource_fp, &l)) {
+ if (startswith(l, "STARTCHAR")) {
+ zstrcpy(&sc, l);
+ zstrcat(&sc, "\n");
+ code = -1;
+ } else if ((nextc = startswith(l, "ENCODING")) != NULL) {
+ code = atoi(nextc);
+ da_add_str(startchar, code, sc);
+ da_add_str(my_char, code, "");
+ } else if (strcmp(l, "ENDFONT")==0) {
+ code = -1;
+ zstrcpy(&sc, "STARTCHAR ???\n");
+ } else {
+ zstrcpy(&t, da_fetch_str(my_char, code));
+ zstrcat(&t, l);
+ zstrcat(&t, "\n");
+ da_add_str(my_char, code, t);
+ if (strcmp(l, "ENDCHAR")==0) {
+ code = -1;
+ zstrcpy(&sc, "STARTCHAR ???\n");
+ }
+ }
+ free(l);
+ }
+
+ fclose(fsource_fp);
+
+ ai++;
+ while (ai < argc) {
+ zstrcpy(&fmap, argv[ai]);
+ i = ai + 1;
+ if (i < argc) {
+ char *temp = NULL;
+ char * hyphen = strchr(argv[i], '-');
+ if (!hyphen || strchr(hyphen+1, '-') != NULL) {
+ fprintf(stderr,
+ "%s: Argument registry-encoding '%s' not in expected format!\n",
+ my_name, i < argc ? fmap : "");
+ exit(1);
+ }
+ temp = zstrdup(argv[i]);
+ hyphen = strchr(temp, '-');
+ if (hyphen) *hyphen = 0;
+ zstrcpy(&registry, temp);
+ zstrcpy(&encoding, hyphen+1);
+ free(temp);
+ } else {
+ fprintf(stderr, "map file argument \"%s\" needs a "
+ "coresponding registry-encoding argument\n", fmap);
+ exit(0);
+ }
+
+ ai++;
+ ai++;
+
+ /* open and read source file */
+ fmap_fp = fopen(fmap, "r");
+ if (fmap_fp == NULL) {
+ fprintf(stderr,
+ "%s: Can't read mapping file '%s': %s!\n",
+ my_name, fmap, strerror(errno));
+ exit(1);
+ }
+
+ da_clear(map);
+
+ for (;read_line(fmap_fp, &l); free(l)) {
+ char *p, *endp;
+
+ for (p = l; isspace(p[0]); p++)
+ ;
+ if (p[0] == '\0' || p[0] == '#')
+ continue;
+ if (p[0] == '0' && (p[1] == 'x' || p[1] == 'X')) {
+ target = strtol(p+2, &endp, 16);
+ if (*endp == '\0') goto bad;
+ p = endp;
+ } else
+ goto bad;
+ for (; isspace(p[0]); p++)
+ ;
+ if (p[0] == '0' && (p[1] == 'x' || p[1] == 'X')) {
+ ucs = strtol(p+2, &endp, 16);
+ if (*endp == '\0') goto bad;
+ p = endp;
+ } else
+ goto bad;
+
+ if (!is_control(ucs)) {
+ if (zs_true(da_fetch_str(startchar, ucs)))
+ {
+ da_add_int(map, target, ucs);
+ } else {
+ if (!((is_blockgraphics(ucs) &&
+ strcmp(slant, "R") != 0) ||
+ (ucs >= 0x200e &&
+ ucs <= 0x200f))) {
+ fprintf(stderr,
+ "No glyph for character U+%04X (0x%02x) available.\n",
+ ucs, target);
+ }
+ }
+ }
+ continue;
+ bad:
+ fprintf(stderr, "Unrecognized line in '%s':\n%s\n", fmap, l);
+ }
+ fclose(fmap_fp);
+
+ /* add default character */
+ if (!zi_true(da_fetch_int(map, 0))) {
+ if (zs_true(da_fetch_str(startchar, default_char))) {
+ da_add_int(map, 0, default_char);
+ da_add_str(startchar, default_char,
+ "STARTCHAR defaultchar\n");
+ } else {
+ fprintf(stderr, "%s",
+ "No default character defined.\n");
+ }
+ }
+
+ if (dec_chars == 1 ||
+ (dec_chars == -1 && strcmp(slant, "R") == 0 &&
+ strcmp(spacing, "C") == 0))
+ {
+ /* add DEC VT100 graphics characters in the range 1-31
+ (as expected by some old xterm versions) */
+ for (i = 0; i < decmap_size; i++) {
+ if (zs_true(da_fetch_str(startchar, decmap[i])))
+ {
+ da_add_int(map, i + 1, decmap[i]);
+ }
+ }
+ }
+
+ /* list of characters that will be written out */
+ j = da_count(map);
+ if (j < 0) {
+ fprintf(stderr,
+ "No characters found for %s-%s.\n",
+ registry, encoding);
+ continue;
+ }
+ if (chars != NULL)
+ free(chars);
+ chars = zmalloc(j * sizeof(int));
+ memset(chars, 0, j * sizeof(int));
+ for (k = 0, i = 0; k < da_count(map) && i < da_size(map); i++) {
+ if (da_fetch(map, i) != NULL)
+ chars[k++] = i;
+ }
+ qsort(chars, j, sizeof(int), chars_compare);
+
+ /* find overall font bounding box */
+ bbx.cwidth = -1;
+ for (i = 0; i < j; i++) {
+ ucs = da_fetch_int(map, chars[i]);
+ zstrcpy(&t, da_fetch_str(my_char, ucs));
+ if ((nextc = startswith(t, "BBX")) != NULL
+ || (nextc = strstr(t, "\nBBX")) != NULL)
+ {
+ char *endp;
+ long w, h, x, y;
+
+ if (*nextc == '\n') {
+ nextc += 4;
+ while (isspace(*nextc))
+ nextc++;
+ }
+ for (;isspace(*nextc);)
+ nextc++;
+ w = strtol(nextc, &endp, 10);
+ nextc = endp;
+ if (*nextc == '\0') goto bbxbad;
+ for (;isspace(*nextc);)
+ nextc++;
+ h = strtol(nextc, &endp, 10);
+ nextc = endp;
+ if (*nextc == '\0') goto bbxbad;
+ for (;isspace(*nextc);)
+ nextc++;
+ x = strtol(nextc, &endp, 10);
+ nextc = endp;
+ if (*nextc == '\0') goto bbxbad;
+ for (;isspace(*nextc);)
+ nextc++;
+ y = strtol(nextc, &endp, 10);
+ if (bbx.cwidth == -1) {
+ bbx.cwidth = w;
+ bbx.cheight = h;
+ bbx.cxoff = x;
+ bbx.cyoff = y;
+ } else {
+ combine_bbx(bbx.cwidth, bbx.cheight,
+ bbx.cxoff, bbx.cyoff,
+ w, h, x, y, &bbx);
+ }
+ continue;
+ bbxbad:
+ fprintf(stderr, "Unparsable BBX found for U+%04x!\n", ucs);
+ } else {
+ fprintf(stderr,
+ "Warning: No BBX found for U+%04X!\n",
+ ucs);
+ }
+ }
+
+ if (!registry) registry = zstrdup("");
+ if (!encoding) encoding = zstrdup("");
+
+ /* generate output file name */
+ zstrcpy(&registry_encoding, "-");
+ zstrcat(&registry_encoding, registry);
+ zstrcat(&registry_encoding, "-");
+ zstrcat(&registry_encoding, encoding);
+
+ {
+ char * p = strstr(fsource, ".bdf");
+ if (p) {
+ zstrcpy(&fout, fsource);
+ p = strstr(fout, ".bdf");
+ *p = 0;
+ zstrcat(&fout, registry_encoding);
+ zstrcat(&fout, ".bdf");
+ } else {
+ zstrcpy(&fout, fsource);
+ zstrcat(&fout, registry_encoding);
+ }
+ }
+
+ /* remove path prefix */
+ zstrcpy(&t, u_basename(fout));
+ zstrcpy(&fout, t);
+
+ /* write new BDF file */
+ fprintf(stderr, "Writing %d characters into file '%s'.\n",
+ j, fout);
+ fout_fp = fopen(fout, "w");
+ if (fout_fp == NULL) {
+ fprintf(stderr, "%s: Can't write file '%s': %s!\n",
+ my_name, fout, strerror(errno));
+ exit(1);
+ }
+
+ fprintf(fout_fp, "%s\n", startfont);
+ fprintf(fout_fp, "%s",
+ "COMMENT AUTOMATICALLY GENERATED FILE. DO NOT EDIT!\n");
+ fprintf(fout_fp,
+ "COMMENT Generated with 'ucs2any %s %s %s-%s'\n",
+ fsource, fmap, registry, encoding);
+ fprintf(fout_fp, "%s",
+ "COMMENT from an ISO10646-1 encoded source BDF font.\n");
+ fprintf(fout_fp, "%s",
+ "COMMENT ucs2any by Ben Collver <collver1@attbi.com>, 2003.\n");
+ fprintf(fout_fp, "%s",
+ "COMMENT based on ucs2any.pl by Markus Kuhn <mkuhn@acm.org>, 2000.\n");
+
+ for (i = 0; i <= nextheader; i++) {
+ if (i == default_char_index)
+ fprintf(fout_fp, "DEFAULT_CHAR %d\n", default_char);
+ else if (i == startproperties_index)
+ fprintf(fout_fp, "STARTPROPERTIES %d\n", properties);
+ else if (i == fontname_index) {
+ fprintf(fout_fp, "FONT %s%s\n", fontname, registry_encoding);
+ }
+ else if (i == charset_registry_index)
+ fprintf(fout_fp, "CHARSET_REGISTRY \"%s\"\n", registry);
+ else if (i == slant_index)
+ fprintf(fout_fp, "SLANT \"%s\"\n", slant);
+ else if (i == charset_encoding_index)
+ fprintf(fout_fp, "CHARSET_ENCODING \"%s\"\n", encoding);
+ else if (i == fontboundingbox_index)
+ fprintf(fout_fp, "FONTBOUNDINGBOX %d %d %d %d\n", bbx.cwidth, bbx.cheight, bbx.cxoff, bbx.cyoff);
+ else if (i == spacing_index)
+ fprintf(fout_fp, "SPACING \"%s\"\n", spacing);
+ else
+ fprintf(fout_fp, "%s\n", da_fetch_str(headers, i));
+ }
+
+ fprintf(fout_fp, "CHARS %d\n", j);
+
+ /* Write characters */
+ for (i = 0; i < j; i++) {
+ ucs = da_fetch_int(map, chars[i]);
+ fprintf(fout_fp, "%s", da_fetch_str(startchar,
+ ucs));
+ fprintf(fout_fp, "ENCODING %d\n", chars[i]);
+ fprintf(fout_fp, "%s", da_fetch_str(my_char,
+ ucs));
+ }
+ fprintf(fout_fp, "%s", "ENDFONT\n");
+ fclose(fout_fp);
+ }
+
+ exit(0);
+}