xfstt - TTF-Schriften unter X11
Obwohl XFree86 seit Version 4.0 über eingebaute TTF-Fähigkeiten verfügt, kann es manchmal zweckmäßig sein, einen separaten Font-Server zu installieren. Dieser Artikel beschreibt die Installation von xfstt.
Installation des Font-Servers xfstt
Laden Sie die Quellen von xfstt (xfstt-1.0.tar.gz) von der Primärseite (USA) bzw. einem Mirror (Österreich) herunter.
Wer noch keine TTF-Fonts besitzt, kann sich hier 11 Fontpakete mit insgesamt 30 Fontdateien herunterladen. Die Fonts sind aber nur als (unter Windows) selbstextrahierende WinZip-Archive verfügbar.
Entpacken Sie das Archiv mit tar xfz xfstt-1.0.tar.gz.
Kompilieren und installieren des Font-Servers mit make und make install (als root).
Die TTF-Fonts kopieren Sie nach /usr/share/fonts/truetype und machen diese mit xfstt --sync dem System bekannt.
Editieren Sie die Datei XF86Config, diese liegt je nach Distribution entweder in /etc oder in /etc/X11. Im Abschnitt Section "Files" muss der Eintrag FontPath "unix/:7101" hinzugefügt werden. Das sollte in etwa so aussehen:
Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/Type1" FontPath "/usr/X11R6/lib/X11/fonts/URW" FontPath "/usr/X11R6/lib/X11/fonts/Speedo" FontPath "/usr/X11R6/lib/X11/fonts/misc" FontPath "/usr/X11R6/lib/X11/fonts/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/100dpi" FontPath "/usr/X11R6/lib/modules" <strong>FontPath "unix/:7101"</strong> EndSection
Das abgebildete Shell-Script speichern Sie als /etc/rc.d/init.d/xfstt.sh ab und setzen die Zugriffsrechte mit chmod 744 /etc/rc.d/init.d/xfstt.sh. Der Font-Server sollte sich ab sofort mit /etc/rc.d/init.d/xfstt.sh start bzw. /etc/rc.d/init.d/xfstt.sh stop starten bzw. beenden lassen.
Um das Starten/Beenden des Font-Servers zu automatisieren, sollte man noch folgende Links für die verschiedenen Runlevel anlegen:
ln -s /etc/rc.d/init.d/xfstt.sh /etc/rc.d/rc2.d/S20xfstt ln -s /etc/rc.d/init.d/xfstt.sh /etc/rc.d/rc2.d/K20xfstt ln -s /etc/rc.d/init.d/xfstt.sh /etc/rc.d/rc3.d/S20xfstt ln -s /etc/rc.d/init.d/xfstt.sh /etc/rc.d/rc3.d/K20xfstt
Ist bis hierher alles glatt verlaufen, wird ab sofort beim Rechnerstart bzw. Herunterfahren der Font-Server automatisch mit gestartet bzw. beendet.
Zu beachten ist nur, dass beim Hinzufügen bzw. Löschen von TTF-Fonts erneut xfstt --sync aufgerufen werden muss. Der Font-Server sollte hierzu mit (/etc/rc.d/init.d/xfstt.sh stop) beendet sein. Alternativ sollte ein /etc/rc.d/init.d/xfstt.sh restart genügen.
Nun noch im Netscape die Codierung auf "Westlich (iso-8859-1)" gesetzt und die Schriftarten Verdana bzw. Courier New ausgewählt und sogleich mal eine Test-Seite aufgerufen.
Skript für SuSE Linux:
#!/bin/sh
# Script zum Starten und Stoppen des Font-Servers xfstt unter SuSE Linux
#
# Author: ScouT <scout666@iname.com>, 1999
# Thomas Gern <Thomas.Gern@gmx.de>, 2000
#
# /etc/rc.d/init.d/xfstt.sh
#
if [ ! -f /etc/rc.config ]; then
echo ""
echo "FEHLER: Falsche Distribution"
echo " Dieses Script funktioniert nur mit SuSE/Linux korrekt."
echo " Fuer Red Hat basierende Distributionen gibt es ein"
echo " gesondertes Script."
echo ""
exit 1
fi
if [ ! -f /sbin/startproc ] ||
[ ! -f /sbin/killproc ] ||
[ ! -f /sbin/checkproc ]; then
echo ""
echo "FEHLER: Konnte eine benoetigte Datei nicht finden."
echo " Sind Sie sicher dass SuSE/Linux korrekt installiert ist ?"
echo ""
echo " benoetigte Dateien:"
echo " /sbin/startproc"
echo " /sbin/killproc"
echo " /sbin/checkproc"
echo ""
exit 1
fi
. /etc/rc.config # enthaelt bei SuSE u.a. die Definitionen
# fuer rc_done und rc_failed
# rc_done="\033[71G\033[32mdone\033[m"
# rc_failed="\033[71G\033[31m\033[1mfailed\033[m"
rc_up="\033[71G\033[32mup\033[m"
rc_down="\033[71G\033[31m\033[1mdown\033[m"
XFSTT=/usr/X11R6/bin/xfstt
PORT=7101
TTDIR=/usr/share/fonts/truetype
test -x $XFSTT || exit 0
return=$rc_done
case "$1" in
start)
echo -n "Starting Font Server Xfstt"
startproc $XFSTT --dir $TTDIR --port $PORT || return=$rc_failed
echo -e "$return"
;;
stop)
echo -n "Shutting down Font Server Xfstt"
killproc $XFSTT || return=$rc_failed
echo -e "$return"
;;
restart)
$0 stop
$XFSTT --dir $TTDIR --sync
$0 start
;;
status)
return=$rc_up
echo -n "Checking Status for Font Server Xfstt"
checkproc $XFSTT || return=$rc_down
echo -e "$return"
;;
status_ps)
echo "USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND"
ps aux | grep $XFSTT | grep -v grep
;;
*)
echo "Usage: $0 {start|stop|restart|status|status_ps}"
exit 1
;;
esac
test "$return" = "$rc_done" || exit 1
exit 0
Skript für Red Hat Linux und für auf Red Hat basierenden Linux-Distributionen, wie z.B. PC Magazin Linux:
#!/bin/sh
# Script zum Starten und Stoppen des Font-Servers xfstt unter Red Hat Linux
#
# Author: ScouT <scout666@iname.com>, 1999
# Thomas Gern <Thomas.Gern@gmx.de>, 2000
#
# /etc/rc.d/init.d/xfstt.sh
#
if [ ! -f /etc/rc.d/init.d/functions ]; then
echo ""
echo "FEHLER: Falsche Distribution"
echo " Dieses Script funktioniert nur mit Red Hat basierenden"
echo " Distributionen korrekt."
echo " Fuer SuSE/Linux gibt es ein gesondertes Script."
echo ""
exit 1
fi
. /etc/rc.d/init.d/functions # enthaelt bei Red Hat u.a. die Definitionen
# fuer daemon und killproc
XFSTT=/usr/X11R6/bin/xfstt
PORT=7101
TTDIR=/usr/share/fonts/truetype
test -x $XFSTT || exit 0
case "$1" in
start)
echo -n "Starting Font Server Xfstt"
daemon $XFSTT --dir $TTDIR --port $PORT
echo
;;
stop)
echo -n "Shutting down Font Server Xfstt"
killproc $XFSTT
echo
;;
restart)
$0 stop
$XFSTT --dir $TTDIR --sync
$0 start
;;
status_ps)
echo "USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND"
ps aux | grep $XFSTT | grep -v grep
;;
*)
echo "Usage: $0 {start|stop|restart|status_ps}"
exit 1
;;
esac
exit 0
Dieser Artikel wurde erfolgreich getestet mit der Version 1.0 von xfstt.

