diff options
author | Donnie Berkholz <spyderous@gentoo.org> | 2004-08-02 08:57:41 +0000 |
---|---|---|
committer | Donnie Berkholz <spyderous@gentoo.org> | 2004-08-02 08:57:41 +0000 |
commit | 3fb869f4479e59b53ebdd6533baecdeaadcc5a4d (patch) | |
tree | 7b1a24725988f4428b19da8a4d67597db11bdc80 /x11-base | |
parent | use mirror:// (Manifest recommit) (diff) | |
download | gentoo-2-3fb869f4479e59b53ebdd6533baecdeaadcc5a4d.tar.gz gentoo-2-3fb869f4479e59b53ebdd6533baecdeaadcc5a4d.tar.bz2 gentoo-2-3fb869f4479e59b53ebdd6533baecdeaadcc5a4d.zip |
Fix font setup (#53753). Previously we trashed fonts.scale for all scalable fonts, even though we only regenerated it for TrueType fonts. ttmkfdir can't regenerate fonts.scale for Type1 or OpenType fonts, so we start using mkfontscale for that. We trashed any other fonts.scale files that happened to be around, such as Speedo/CID. We stop doing that. Also fixed the regexps in the ebuild and the xfs init script to use ttmkfdir for TrueType only and mkfontscale for Type1 and OpenType. Change INFODIR to INFOPATH also (#54275).
Diffstat (limited to 'x11-base')
-rw-r--r-- | x11-base/xfree/ChangeLog | 12 | ||||
-rw-r--r-- | x11-base/xfree/files/4.3.0/10xfree | 2 | ||||
-rw-r--r-- | x11-base/xfree/files/4.3.0/xfs.start | 41 | ||||
-rw-r--r-- | x11-base/xfree/xfree-4.3.0-r5.ebuild | 25 | ||||
-rw-r--r-- | x11-base/xfree/xfree-4.3.0-r6.ebuild | 25 |
5 files changed, 85 insertions, 20 deletions
diff --git a/x11-base/xfree/ChangeLog b/x11-base/xfree/ChangeLog index 0ba43c57332c..aa7d34e59724 100644 --- a/x11-base/xfree/ChangeLog +++ b/x11-base/xfree/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for x11-base/xfree # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/ChangeLog,v 1.355 2004/08/02 01:27:20 spyderous Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/ChangeLog,v 1.356 2004/08/02 08:57:41 spyderous Exp $ + + 02 Aug 2004; Donnie Berkholz <spyderous@gentoo.org>; files/4.3.0/10xfree, + files/4.3.0/xfs.start, xfree-4.3.0-r5.ebuild, xfree-4.3.0-r6.ebuild: + Fix font setup (#53753). Previously we trashed fonts.scale for all scalable + fonts, even though we only regenerated it for TrueType fonts. ttmkfdir can't + regenerate fonts.scale for Type1 or OpenType fonts, so we start using + mkfontscale for that. We trashed any other fonts.scale files that happened to + be around, such as Speedo/CID. We stop doing that. Also fixed the regexps in + the ebuild and the xfs init script to use ttmkfdir for TrueType only and + mkfontscale for Type1 and OpenType. Change INFODIR to INFOPATH also (#54275). 01 Aug 2004; Donnie Berkholz <spyderous@gentoo.org>; xfree-4.3.0-r5.ebuild, xfree-4.3.0-r6.ebuild: diff --git a/x11-base/xfree/files/4.3.0/10xfree b/x11-base/xfree/files/4.3.0/10xfree index 4dba95e6bd68..b47eda85e4f6 100644 --- a/x11-base/xfree/files/4.3.0/10xfree +++ b/x11-base/xfree/files/4.3.0/10xfree @@ -2,6 +2,6 @@ PATH=/usr/X11R6/bin ROOTPATH=/usr/X11R6/bin LDPATH=/usr/X11R6/lib MANPATH=/usr/X11R6/man -INFODIR=/usr/X11R6/info +INFOPATH=/usr/X11R6/info XINITRC=/etc/X11/xinit/xinitrc CONFIG_PROTECT=/usr/X11R6/lib/X11/xkb diff --git a/x11-base/xfree/files/4.3.0/xfs.start b/x11-base/xfree/files/4.3.0/xfs.start index 8b20359b84c2..5ed1dd4d1336 100644 --- a/x11-base/xfree/files/4.3.0/xfs.start +++ b/x11-base/xfree/files/4.3.0/xfs.start @@ -1,11 +1,12 @@ #!/sbin/runscript # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.3.0/xfs.start,v 1.4 2004/07/15 01:03:31 agriffis Exp $ # Author: Martin Schlemmer <azarah@gentoo.org> +# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.3.0/xfs.start,v 1.5 2004/08/02 08:57:41 spyderous Exp $ #NB: Config is in /etc/conf.d/xfs + opts="${opts} mkfontdirs" depend() { @@ -124,6 +125,9 @@ get_fontdir_list() { # Ok, we got our que, so start if (DO_WRITE) { + # Strip and suffixes from the directory lists + sub(/\:[[:alnum:]]*/, "", xfsconf_data) + # Strip any leading spaces and tabs sub(/^[[:space:]]*/, "", xfsconf_data) # Strip the 'catalogue=' part @@ -179,11 +183,18 @@ setup_font_dirs() { umask 022 - if [ ! -x /usr/X11R6/bin/mkfontdir -o ! -x /usr/X11R6/bin/ttmkfdir ] - then - ewarn "Could not find the mkfontdir or ttmkfdir binaries!" - return 0 - fi + local NEEDED_BIN + local NEEDED_BINS="/usr/X11R6/bin/mkfontdir + /usr/X11R6/bin/mkfontscale + /usr/X11R6/bin/ttmkfdir" + for NEEDED_BIN in ${NEEDED_BINS} + do + if [ ! -x ${NEEDED_BIN} ] + then + ewarn "Could not find the `basename ${NEEDED_BIN}` binary!" + return 0 + fi + done if [ ! -d /usr/X11R6/lib/X11/fonts/encodings ] then @@ -220,13 +231,27 @@ setup_font_dirs() { do ebegin " ${x}" - # Only generate .scale files if there are truetype fonts present ... + # Only generate .scale files if truetype, opentype or type1 + # fonts are present ... + + # First truetype (ttf,ttc) + # NOTE: ttmkfdir does NOT work on type1 fonts (#53753) + # Also, there is no way to regenerate Speedo/CID fonts.scale + # <spyderous@gentoo.org> 2 August 2004 if [ "${x/encodings}" = "${x}" -a \ - -n "$(find ${x} -iname '*.[otps][pft][cfad]' -print)" ] + -n "$(find ${x} -iname '*.tt[cf]' -print)" ] then /usr/X11R6/bin/ttmkfdir -x 2 \ -e /usr/X11R6/lib/X11/fonts/encodings/encodings.dir \ -o ${x}/fonts.scale -d ${x} > /dev/null + + # Next type1 and opentype (pfa,pfb,otf,otc) + elif [ "${x/encodings}" = "${x}" -a \ + -n "$(find ${x} -iname '*.[po][ft][abcf]' -print)" ] + then + /usr/X11R6/bin/mkfontscale \ + -a /usr/X11R6/lib/X11/fonts/encodings/encodings.dir \ + -- ${x} fi # Now generate fonts.dir files ... diff --git a/x11-base/xfree/xfree-4.3.0-r5.ebuild b/x11-base/xfree/xfree-4.3.0-r5.ebuild index 6f93d1fb3fb6..1080e9e4c299 100644 --- a/x11-base/xfree/xfree-4.3.0-r5.ebuild +++ b/x11-base/xfree/xfree-4.3.0-r5.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/xfree-4.3.0-r5.ebuild,v 1.20 2004/08/02 01:27:20 spyderous Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/xfree-4.3.0-r5.ebuild,v 1.21 2004/08/02 08:57:41 spyderous Exp $ inherit eutils flag-o-matic gcc xfree @@ -993,7 +993,8 @@ pkg_preinst() { # clean out old fonts.* and encodings.dir files, as we # will regenerate them local G_FONTDIR - local G_FONTDIRS="100dpi 75dpi Speedo TTF Type1 encodings local misc util" + # Not Speedo or CID, as their fonts.scale files are "real" + local G_FONTDIRS="100dpi 75dpi TTF Type1 encodings local misc util" for G_FONTDIR in ${G_FONTDIRS} do find ${ROOT}/usr/X11R6/lib/X11/fonts/${G_FONTDIR} -type f -name 'fonts.*' \ @@ -1084,14 +1085,28 @@ pkg_postinst() { [ -z "$(ls ${x}/)" ] && continue [ "$(ls ${x}/)" = "fonts.cache-1" ] && continue - # Only generate .scale files if there are truetype - # fonts present ... + # Only generate .scale files if truetype, opentype or type1 + # fonts are present ... + + # First truetype (ttf,ttc) + # NOTE: ttmkfdir does NOT work on type1 fonts (#53753) + # Also, there is no way to regenerate Speedo/CID fonts.scale + # <spyderous@gentoo.org> 2 August 2004 if [ "${x/encodings}" = "${x}" -a \ - -n "$(find ${x} -iname '*.[otps][pft][cfad]' -print)" ] + -n "$(find ${x} -iname '*.tt[cf]' -print)" ] then + LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${ROOT}/usr/X11R6/lib" \ ${ROOT}/usr/X11R6/bin/ttmkfdir -x 2 \ -e ${ROOT}/usr/X11R6/lib/X11/fonts/encodings/encodings.dir \ -o ${x}/fonts.scale -d ${x} + # Next type1 and opentype (pfa,pfb,otf,otc) + elif [ "${x/encodings}" = "${x}" -a \ + -n "$(find ${x} -iname '*.[po][ft][abcf]' -print)" ] + then + LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${ROOT}/usr/X11R6/lib" \ + ${ROOT}/usr/X11R6/bin/mkfontscale \ + -a ${ROOT}/usr/share/fonts/encodings/encodings.dir \ + -- ${x} fi done eend 0 diff --git a/x11-base/xfree/xfree-4.3.0-r6.ebuild b/x11-base/xfree/xfree-4.3.0-r6.ebuild index 73996c0cabbe..060c8b2ad3fa 100644 --- a/x11-base/xfree/xfree-4.3.0-r6.ebuild +++ b/x11-base/xfree/xfree-4.3.0-r6.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/xfree-4.3.0-r6.ebuild,v 1.51 2004/08/02 01:27:20 spyderous Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/xfree-4.3.0-r6.ebuild,v 1.52 2004/08/02 08:57:41 spyderous Exp $ inherit eutils flag-o-matic gcc xfree @@ -996,7 +996,8 @@ pkg_preinst() { # clean out old fonts.* and encodings.dir files, as we # will regenerate them local G_FONTDIR - local G_FONTDIRS="100dpi 75dpi Speedo TTF Type1 encodings local misc util" + # Not Speedo or CID, as their fonts.scale files are "real" + local G_FONTDIRS="100dpi 75dpi TTF Type1 encodings local misc util" for G_FONTDIR in ${G_FONTDIRS} do find ${ROOT}/usr/X11R6/lib/X11/fonts/${G_FONTDIR} -type f -name 'fonts.*' \ @@ -1087,14 +1088,28 @@ pkg_postinst() { [ -z "$(ls ${x}/)" ] && continue [ "$(ls ${x}/)" = "fonts.cache-1" ] && continue - # Only generate .scale files if there are truetype - # fonts present ... + # Only generate .scale files if truetype, opentype or type1 + # fonts are present ... + + # First truetype (ttf,ttc) + # NOTE: ttmkfdir does NOT work on type1 fonts (#53753) + # Also, there is no way to regenerate Speedo/CID fonts.scale + # <spyderous@gentoo.org> 2 August 2004 if [ "${x/encodings}" = "${x}" -a \ - -n "$(find ${x} -iname '*.[otps][pft][cfad]' -print)" ] + -n "$(find ${x} -iname '*.tt[cf]' -print)" ] then + LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${ROOT}/usr/X11R6/lib" \ ${ROOT}/usr/X11R6/bin/ttmkfdir -x 2 \ -e ${ROOT}/usr/X11R6/lib/X11/fonts/encodings/encodings.dir \ -o ${x}/fonts.scale -d ${x} + # Next type1 and opentype (pfa,pfb,otf,otc) + elif [ "${x/encodings}" = "${x}" -a \ + -n "$(find ${x} -iname '*.[po][ft][abcf]' -print)" ] + then + LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${ROOT}/usr/X11R6/lib" \ + ${ROOT}/usr/X11R6/bin/mkfontscale \ + -a ${ROOT}/usr/X11R6/lib/X11/fonts/encodings/encodings.dir \ + -- ${x} fi done eend 0 |