CTV und Schriftart-Tabellen

Die CTV Laufzeitumgebung überarbeitet alle Textkonserven in einem zusammengestelltem Schriftstück, um u.a. sämtliche benutzten Schriftarten und Farben aus einer einzigen gemeinsamen Aufstellung zu referenzieren.

Alternativ dazu kann jetzt dem CTV Laufzeitsystem mitgeteilt werden, dass es bereits eine derartige gemeinsame Aufstellung gibt, und dass die ausgedruckten Schriftarten und/oder Farben nur dieser zentralen Aufstellung entsprechen dürfen. Das Laufzeitsystem wird dann versuchen, die tatsächlich benutzten Schriftarten und/oder Farben so passend wie möglich durch eine der verfügbaren vordefinierten Schriftarten und/oder Farben zu ersetzen.

In der Registry kann man dazu einen Baustein (SSBS) angeben, dessen benutzte Schriftarten und/oder Farben als Umfang der maximal zulässigen vordefinierten Menge gelten. Im Config-Abschnitt der TAA-Registry werden dazu die Einträge ctvDefaultRtf und ctvDefaultRtfAppl für Name resp. Anwendung eines solchen Bausteins (SSBS) ausgewertet. Mit dem Eintrag ctvDefaultText wird angegeben, welche Textkonserve aus diesem Baustein benutzt werden soll. Ist dieser Eintrag nicht vorhanden oder leer, so wird die [Standard] Textkonserve aus dem Baustein benutzt. Die Einträge ctvDefaultRestrictColor und ctvDefaultRestrictFont bestimmen schlussendlich, ob die Textkonserve aus diesem Baustein die Farben resp. und/oder die Schriftarten einschränken soll.

Mischen von Schriftarten

Achtung: im Nachfolgenden sind die RTF-Abschnitte stark vereinfacht dargestellt um die Lesbarkeit der Beispiele nicht zu gefährden.

In jeder Textkonserve befindet sich ein Abschnitt fonttbl, mit der die in dieser Textkonserve benutzten Schriftarten beschrieben sind, bspw.:

    {\fonttbl
       {\f0\froman Times New Roman;}
       {\f1\fswiss Arial;}
    }

Bei der Nutzung von Schriftarten im weiteren Text werden diese Tabelleneinträge durch \f-Anweisungen referenziert:

 Mit {\f1 Ablauf} des

Ein Dokument kann nur eine einzige Schriftarttabelle (fonttbl) beinhalten. Deshalb mischt das CTV-Laufzeitsystem sämtliche Schriftarttabellen in einer einzigen Tabelle für das jeweilige Ergebnisdokument zu einem Schriftstück. Würde obige Tabelle mit folgender Tabelle:

 
    {\fonttbl
      {\f0\fswiss Arial;}
      {\f1\fswiss Tahoma;}
    }

gemischt werden, so ergäbe das:

    {\fonttbl
      {\f0\froman Times New Roman;}
      {\f1\fswiss Arial;}
      {\f2\fswiss Tahoma;}
    }

Außerdem wird das CTV-Laufzeitsystem in der zweiten Textkonserve jede \f0-Anweisung durch \f1, und jede \f1-Anweisung durch \f2 ersetzen, um der neuen Position der Schriftarten in der neuen Tabelle gerecht zu werden.

Außerdem werden in den Textkonserven die Textabschnitte, die keine explizite Schriftartangabe haben, um eine Referenz auf die für die jeweilige Textkonserve geltende Standardschriftart ergänzt, da diese Standardschriftart im Ergebnisdokument auch nur einmal gesetzt wird (bspw. \deff0 um \f0 als Standard gelten zu lassen) und pro Textkonserve wiederum unterschiedlich sein kann.

Benutzen von Standardschriftarten ohne Mischung

Wenn entsprechende Einträge in der Registry vorhanden sind, werden die Schriftarttabellen aus den einzelnen Textkonserven nicht in einer neuen Tabelle gemischt, sondern wird eine vorgegebene Tabelle mit Schriftarten für das Ergebnisdokument genutzt, wobei diese Tabelle auch nicht um weitere Schriftarten erweitert wird. Die Schriftartreferenzen (\f<n>) in den einzelnen Textkonserven werden durch Verweise auf die jeweils am besten passende Schriftart in dieser vorgegebenen Tabelle ersetzt. Dabei wird zuerst eine Schriftart mit identischem Namen gesucht. Wird eine solche nicht gefunden, so wird nach einer Schriftart mit einem vergleichbaren Namen (erste vier Stellen des Namens sind gleich) aus der gleichen „Schriftartfamilie“ (bspw. Swiss, Roman) gesucht. Wird auch eine solche nicht gefunden, so wird die nächstbeste Schriftart der gleichen Familie genommen. Gibt es keine vordefinierte Schriftarten dieser Familie, dann wird die Standardschriftart aus dem Vorgabedokument genommen.

Beispieleinträge in der Registry

[...\TAA\Config]
"ctvDefaultRtf"="BS-STDFONTTABLE"
"ctvDefaultAppl"="ZentKo"
"ctvDefaultRestrictColor"=hex:00
"ctvDefaultRestrictFont"=hex:01
"ctvDefaultText"=""
faq:ctv:fonttables · Zuletzt geändert: 10.05.2016 09:47

Copyright © 1992-2024 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum