diff options
author | xtraeme <xtraeme> | 2004-01-24 08:45:38 +0000 |
---|---|---|
committer | xtraeme <xtraeme> | 2004-01-24 08:45:38 +0000 |
commit | df01deb28287fde492005d818ab60dc594b5f559 (patch) | |
tree | cb228c6151d0964ce653f461d4b527cd2fa44667 /x11 | |
parent | a0801fced435144ff8e0e43e6b5e8f055d495dc2 (diff) | |
download | pkgsrc-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.
Diffstat (limited to 'x11')
-rw-r--r-- | x11/XFree86-clients/DESCR | 8 | ||||
-rw-r--r-- | x11/XFree86-clients/Makefile | 40 | ||||
-rw-r--r-- | x11/XFree86-clients/PLIST.FreeBSD | 106 | ||||
-rw-r--r-- | x11/XFree86-clients/PLIST.Linux | 106 | ||||
-rw-r--r-- | x11/XFree86-clients/PLIST.NetBSD | 106 | ||||
-rw-r--r-- | x11/XFree86-clients/PLIST.common | 743 | ||||
-rw-r--r-- | x11/XFree86-clients/files/host.def | 66 | ||||
-rw-r--r-- | x11/XFree86-clients/files/ucs2any.c | 952 |
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(®istry, 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(®istry_encoding, "-"); + zstrcat(®istry_encoding, registry); + zstrcat(®istry_encoding, "-"); + zstrcat(®istry_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); +} |