Nun hat's mir doch selber in den Fingern gejuckt und ich habe mir unter Einbezug von Wolfgangs komfortablen Funktionen ein Skript zusammengebastelt, das alle im Dokument verwendeten Schriften mit ihren Schnitten in Zeichenformate einfriert.
- Für die Grundschrift selbst, die aus einem Basisabsatzformat ermittelt wird, wird kein Zeichenformat erstellt. - Für die anderen Schnitte der Grundschrift werden Zeichenformate mit den Namen des Schnitts erstellt. - Für alle anderen Schriften werden Zeichenformate mit den Namen der Fonts und dem Namen des Schnitts erstellt.
Beispiel: Grundschrift = Times New Roman - Regular. Für diese Grundschrift wird keine Zeichenformat erstellt. Für den Kursivschnitt der Grundschrift wird (wenn im Dokument vorhanden) ein Zeichenformat "Italic" erstellt. Dasselbe gilt für den fetten Schnitt und für Bold-Italic.
Nehmen wir an, es werden im Dokument auch die Myriad Pro - Regular und Italic verwendet. Dann werden die Zeichenformate "Myriad Pro-Regular" und "Myriad Pro-Italic" erstellt und zugewiesen.
Ein Problem mit nicht aktiven Schriften konnte ich nicht lösen: Wird im Dokument eine Schrift verwendet, die nicht aktiv/vorhanden ist, kann diese (anders als im Suchen-Dialog der graphischen Benutzeroberfläche) über die Suchfunktion im Skript nicht gesucht werden. Diese Schriften, die damit also nicht in ein Zeichenformat eingefroren werden können, werden ggf. am Ende des Skripts in einem Dialogfenster angezeigt.
Eine kleine Überraschung: Das o.g. Problem gibt es nicht, wenn eine aktive Schrift mit einem inaktiven Schnitt verwendet worden ist. Da wird ein Zeichenformat angelegt und zugewiesen.
Andere Zeichenattribute (unterstrichen, hoch-/tiefgestellt, Kapitälchen ...) bleiben von diesem Skript unberücksichtigt. Sie können aus dem Baukasten von Wolfgang leicht nachträglich nach eigenem Bedarf zusammengestellt und eingefügt werden.
Beispiel:
Dieser Block wäre direkt vor oder nach der folgenden Zeile einzufügen:
(Dieser Beitrag wurde von Martin Fischer am 9. Mär 2007, 23:36 geändert)
Änderungsverlauf:
Beitrag geändert von Martin Fischer
(Moderator) am 24. Dez 2006, 10:04
Beitrag geändert von Martin Fischer
(Moderator) am 9. Mär 2007, 23:36: seltsamen Fehler im Code korrigiert; wie sich statt des i wohl ein [i] und statt [i] ein [[i]] eingeschlichen haben mag ...