Top-Infos zu Version 5.1

 

Über StarOffice

Tips & Tricks

Sicherheit

Bücher

Links

Download

Warum

History

 

Zur Startseite eMail an Bodo

 

StarPage
See MY ideas work!

StarOffice für Linux und True-Type-Fonts

Endlich habe ich es geschafft auch mal StarOffice 5.1 unter Linux zu installieren. Ich würde ja schon gerne komplett auf Linux umsteigen, dafür müßte aber StarOffice auch 100%ig laufen. Ich werde demnächst mal die entsprechenden Newsgroups lesen.

Ich benötige besonders häufig StarImpress um Präsentationen auf einem mitgeführten Laptop ablaufen zu lassen. Nach der Installation des StarOffice unter SuSE-Linux habe ich also mal die mitgelieferte Präsentation zur "Recar-Hauptversammlung" gestartet und war entsetzt: Lauter Klötzchen anstatt anständiger Schriftbilder. Als Problem stellte sich die Verwendung der TrueType-Fonts Arial, Times New Roman und Courier New in dieser Präsentation heraus. Ändert man die entsprechenden Stellen derart ab, daß Type-I Schriften Verwendung finden, gibt es keine Probleme mehr. Schaut Euch die Präsentation jetzt ruhig mal an, damit Ihr nachher den Unterschied seht.

Wer nun aber Präsentationen unter Windows und Linux verwenden will, möchte vielleicht doch lieber die True-Type-Fonts benutzen. Also mußte ttf-Unterstützung für Linux her. Ich habe lange Zeit im Internet gesucht und viele Zeitschriften durchgewälzt, bis es endlich funktioniert hat. (Ich muß allerdings einräumen, daß ich nicht der versierteste Linux-User bin)

Ich habe mich daher entschlossen hier noch einmal einen Weg zu beschreiben, wie man die ttf-Unterstützung in Linux einbindet.

Es gibt verschiedene Ansätze ttf-Unterstützung in Linux zu realisieren, ich habe mich für die Installation des "X Font Server for TrueType fonts" (xfstt) entschieden. Die folgende Beschreibung bezieht sich auf ein System mit SuSE-Linux 6.0 und KDE als Window-Manager.

  1. Zunächst benötigt Ihr das Source-Paket des xfstt (aktuelle Version 0.9.10), das Ihr hier von meiner Site runterladen könnt. (Vielleicht gibt es für Eure Distribution ja auch ein rpm-Paket oder xfstt ist bei Eurer Distribution direkt dabei)

  2. Entpackt das Source-Paket mit Hilfe von

    tar -xvzf xfstt-0.9.10.tgz

    (ein neues Verzeichnis xfstt0910 wird automatisch erstellt). Wer ein rpm-Paket hat installiert es mit "rpm -i [Dateiname]" und kann direkt mit Schritt 4 weitermachen.

    Achtung: Achtet bei der Installation von rpm-Paketen unbedingt auf die verwendeten Pfade. Es kann sein, daß für die Fonts nicht der Standardpfad /usr/ttfonts verwendet wird. Dies müßt Ihr dann beim Abarbeiten dieser Anleitung beachten!

  3. Die Sourcen müssen nun compiliert werden, zunächst solltet Ihr aber das Makefile mit einem Editor eurer Wahl anpassen. Wechselt dazu in das neue Verzeichnis xfstt0910.

    Im Makefile solltet Ihr unter install: die folgen Zeilen finden

    mkdir /usr/ttfonts ;
    ln -s /DOS/windows/fonts /usr/ttfonts/winfonts ;
    cp xfstt /usr/X11R6/bin/ ;
    cp xfstt.1x /usr/X11R6/man/man1/ ;
    xfstt --sync ;


    D.h. beim Aufruf von make wird zunächst das Verzeichnis /usr/ttfonts angelegt. Hierin werden später die .ttf-Dateien abgelegt. Danach wird ein symbolischer Link auf Euer Windows/Fonts-Verzeichnis angelegt. Dies funktioniert natürlich nur, wenn Ihr eine Festplatte oder Partition mit einer Windows-Installation unter Linux gemountet habt. Hier wird vom Mount-Point /DOS ausgegangen. Ihr müßt diese Zeile entsprechend anpassen oder gar entfernen, falls Ihr keine Windows-Installation gemountet habt.

    Im folgenden werden die xfstt-Dateien an die richtigen Stellen im System kopiert und die erste Suche nach True-Type-Fonts durchgeführt (dazu später mehr).

    Wenn Ihr die Datei angepaßt habt, könnt Ihr nun

    make

    und anschließend

    make install

    aufrufen. Das wars dann schon mit der Installation.

    Solltet Ihr Fehlermeldungen während des make erhalten, so liegt das meist daran, das bestimmte Pakete der Distribution nicht installiert wurden. Seht mal unter Yast in der Serie d (development) nach, ob aller möglicher Kram im Zusammenhang mit C++ installiert ist. Meist hilft das schon. (Sobald ich weiß was genau gebraucht wird schreibe ich hier konkreteres, kann aber dauern)

  4. Jetzt ist es an der Zeit .ttf-Dateien rüberzuschaufeln. Wenn Ihr nicht bereits eine gemountete Windows-Installation über den symbolischen Link eingebunden habt, könnt Ihr das jetzt noch nachholen. Ihr könnt so Eure .ttf-Dateien beliebig im System verteilen, solange Ihr nur einen symbolischen Link im Verzeichnis /usr/ttfonts anlegt. Die Syntax lautet:

    ln -s [Pfad zu Eurem Verzeichnis mit .ttf-Dateien] /usr/ttfonts/[Verzeichnisname nach Wahl]

    z.B.

    ln -s /home/kurt/fonts/ttf /usr/ttfonts/kurtfonts

    Habt Ihr noch keine .ttf-Dateien auf Eurem Linux-System und auch keine gemountete Windows-Installation, so solltet Ihr Euch jetzt aus einer Windows-Installation heraus ein paar Dateien aus dem windows/fonts-Verzeichnis auf Diskette kopieren und anschließend auf dem Linux-System in das Verzeichnis /usr/ttfonts/. (Ihr könnt unter /usr/ttfonts ruhig weitere Verzeichnisebenen anlegen um Eure Fonts zu sortieren, diese werden beim synchronisieren automatisch mit durchsucht.) Ich empfehle Euch zum Testen erstmal die arial*.ttf, courier*.ttf und tim*.ttf, damit Ihr Euch die Recar-Hauptversammlung nachher nochmal anschauen könnt. Nach dem Kopieren der .ttf-Dateien in Euer Linux-System (bzw. nach erstellen der symbolischen Links) müssen die neuen Schriftarten dem Font-Server auch noch bekannt gemacht werden. Dies geschieht durch den Aufruf von

    xfstt --sync

  5. Ok, die Installation ist durchgeführt und die .ttf-Dateien sind drüben. Zeit um einen ersten Test durchzuführen. Startet den Font-Server durch die Eingabe von

    xfstt &

    und gebt anschließend die Kommandos

    xset fp+ unix/:7100

    und

    fslsfonts -server localhost:7100

    ein. Ihr solltet nun in Form einer (recht kryptischen) Liste auf dem Schirm sehen, welche True-Type-Fonts euer Font-Server dem System anbieten kann.

  6. Jetzt müssen wir dem KDE noch mitteilen, daß seine Applikationen von den neuen Schriftarten Gebrauch machen dürfen/sollen. Startet den KDE und anscließend über das Menü den Fontmanager (System>Fontmanager). Auf der linken Seite des Fensters tauchen auch Eure Schriften auf. Selektiert sie nacheinander und wählt Hinzufügen. Nun erscheint der Schriftname im rechten Fenster und nachdem Ihr Ok bestätigt habt können Applikationen auf die neuen Schriftarten zugreifen. Startet nun mal StarOffice und laßt die Präsentation von der "Recar-Hauptversammlung" ablaufen >>> Na, sieht das nicht viel besser aus? Wenn nicht, dann habt Ihr was falsch gemacht, oder ich hier etwas nicht richtig beschrieben ;-)

  7. Bis jetzt müßt Ihr den Font-Server noch vor jedem Start des X-Servers manuell starten, das ist aber recht umständlich. Ihr könnt das Ganze einfacher haben, in dem Ihr ein init-Skript im Verzeichnis /sbin/init.d erstellt. Das folgende Skript funktioniert bei mir ganz gut. Es basiert auf dem skript-Gerüst, das Ihr im Verzeichnis /sbin/init.d unter dem Namen skeleton findet. Ihr könnt es Euch hier herunterladen.

    #! /bin/sh
    # Copyright (c) 1995-1998 SuSE GmbH Nuernberg, Germany.
    #
    # Author: Bodo Meseke
    #
    # /sbin/init.d/xfstt
    #
    # and symbolic its link
    #
    # /sbin/init.d/rc1.d/S89xfstt
    # /sbin/init.d/rc1.d/K89xfstt
    # /sbin/init.d/rc2.d/S89xfstt
    # /sbin/init.d/rc2.d/K89xfstt
    #
    . /etc/rc.config
    # Determine the base and follow a runlevel link name.
    base=${0##*/} link=${base#*[SK][0-9][0-9]}
    # Force execution if not called by a runlevel directory.
    test $link = $base && START_XFSTT=yes
    test "$START_XFSTT" = yes || exit 0
    # The echo return value for success (defined in /etc/rc.config).
    return=$rc_done
    case "$1" in
    start)
    echo "Searching for True-Type-Fonts"
    /usr/X11R6/bin/xfstt --sync || return=$rc_failed
    echo -e "$return"
    echo -n "Starting service xfstt"
    ## Start daemon with startproc(8). If this fails
    ## the echo return value is set appropriate.
    startproc /usr/X11R6/bin/xfstt || return=$rc_failed
    echo -e "$return"
    ;;
    stop)
    echo -n "Shutting down service xfstt"
    ## Stop daemon with killproc(8) and if this fails
    ## set echo the echo return value.
    killproc -TERM /usr/X11R6/bin/xfstt || return=$rc_failed
    echo -e "$return"
    ;;
    restart)
    ## If first returns OK call the second, if first or
    ## second command fails, set echo return value.
    $0 stop && $0 start || return=$rc_failed
    ;;
    status)
    echo -n "Checking for service xfstt: "
    ## Check status with checkproc(8), if process is running
    ## checkproc will return with exit status 0.
    checkproc /usr/X11R6/bin/xfstt && echo OK || echo No process
    ;;
    *)
    echo "Usage: $0 {start|stop|status|restart}"
    exit 1
    ;;
    esac
    # Inform the caller not only verbosely and set an exit status.
    test "$return" = "$rc_done" || exit 1
    exit 0

    Genaueres über Init-Skripte erfahrt Ihr im Abschnitt Das SuSE Linux-Bootkonzept im Handbuch zur SuSE-Distribution. Nur soviel in aller Kürze: es müssen symbolische Links auf das obige Skript in den mit den gewünschten Runleveln korrespondierenden Verzeichnissen erstellt werden.

    cd /sbin/init.d/rc1.d
    ln -s ../xfstt S89xfstt
    ln -s ../xfstt K89xfstt
    cd /sbin/init.d/rc2.d
    ln -s ../xfstt S89xfstt
    ln -s ../xfstt K89xfstt


    Zu guter Letzt muß noch ein Eintrag in der Datei /etc/rc.config erfolgen, der entscheidet, ob das Skript beim Systemstart den Font-Server startet.

    #
    # Den Font-Server starten ?
    #
    START_XFSTT="yes"


  8. Jetzt startet zwar der Font-Server automatisch, aber Ihr müßtet immer noch durch das xset-Kommando die Fonts dem X-Server zur Verfügung stellen. Auch das läßt sich einfacher erledigen. Es muß lediglich im Abschnitt Section "Files" der Datei /etc/XF86Config die Zeile

    FontPath "unix/:7100"


    hinzugefügt werden. Das war es auch schon, jetzt solltet Ihr unter Linux gescheit mit TrueType-Schriften arbeiten können. Bei Problemen schickt mir ruhig eine Mail, ich versuche dann Euch weiterzuhelfen.

  9. Links zum Thema:

    - StarOffice TT Fonts
    - XFree86 Font Deuglification Mini HOW-TO

  10. Hinweis:

    Wenn Ihr unter StarWriter nicht alle Schriften angezeigt bekommt, so hat das seine Richtigkeit. StarOffice kann unter Linux nur Type1-Schriften drucken und zeigt deshalb im StarWriter (wo ein gewünschter Ausdruck wahrscheinlich ist) nur diese Schrifttypen an. Für Bildschirmpräsentationen (StarImpress) stehen jedoch auch die TrueType-Fonts zur Verfügung. Ich werde weiter rumbasteln und neue Möglichkeiten direkt hier veröffentlichen.