Silbentrennung / Spracheinstellungen

Silbentrennung ist in den meisten westlichen Sprachen notwendig, um ein akzeptables Erscheinungsbild für schmale Texte zu haben. Silbentrennung ist ein integraler Bestandteil des Umbruchalgorithmus, beispielsweise weil vermieden werden soll, dass mehrere Trennungen in aufeinanderfolgenden Zeilen auftreten.

Die Silbentrennung wird im Publisher über die Sprache gesteuert und musterbasiert vorgenommen. Die Sprache kann man global einstellen über <Options mainlanguage=".​.."> oder Absatzweise.

<Options mainlanguage="German" />

stellt das gesamte Dokument auf deutsche Trennmuster um, während

<Paragraph language="German">
    <Value>Autobahn</Value>
</Paragraph>

nur für einen Absatz die Sprache umstellt. Die verfügbaren Sprachen sind in der Befehlsreferenz unter <Options> beschrieben.

Möchte man testen, ob die Wörter richtig getrennt werden, kann man mit <Trace hyphenation="yes" /> kleine Markierungen erzeugen lassen.

<Layout
  xmlns="urn:speedata.de:2009/publisher/en"
  xmlns:sd="urn:speedata:2009/publisher/functions/en">

  <Options mainlanguage="German" />
  <Trace hyphenation="yes" />

  <Record element="data">
    <PlaceObject>
      <Textblock width="3">
        <Paragraph>
          <Value>Autobahn</Value>
        </Paragraph>
      </Textblock>
    </PlaceObject>
  </Record>
</Layout>

ergibt folgendes:

13 autobahn

Trennstellen anzeigen im Text

Mittels

<Hyphenation>er-go-no-mic</Hyphenation>

kann man für einzelne Wörter Trennvorschläge bzw. -ausnahmen definieren. So werden die Wörter dann nur an den mit Bindestrich angegebenen Stellen getrennt.

Mit optischem Randausgleich, der im Abschnitt Optischer Randausgleich beschrieben ist, kann man die Anzahl der Silbentrennungen im Dokument etwas verringern.

Trennungen für Absätze ausschalten

Für einzelne Absätze kann man die automatische Silbentrennung ausschalten, in dem man ein Textformat definiert mit hyphenate="no"

<DefineTextformat name="nohyphen" hyphenate="no"/>

In so markierten Absätze werden keine Wörter getrennt. Die Anwendung von Textformaten ist in einem eigenen Abschnitt beschrieben.

Das Zeichen für die Silbentrennung kann man ebenfalls über ein Textformat verändern:

<DefineTextformat name="dothyphen" hyphenchar="•"/>
13 dothyphen

Anderes Zeichen für Worttrennungen

Trennungen nur an bestimmten Zeichen zulassen

Eine Eigenschaft von <Paragraph> erlaubt die Zeichen einzugrenzen, an denen ein Zeilenumbruch eingefügt werden darf. Das ist bei technischen Daten oft wichtig, wo z. B. Typbezeichnungen in der Form 12-345/AB vorkommen, und nicht getrennt werden sollen. Im folgenden Beispiel darf nur hinter einem Schrägstrich umbrochen werden:

<Paragraph allowbreak="/">
  <Value>https://download.speedata.de/publisher/development/</Value>
</Paragraph>

Die Voreinstellung für allowbreak ist " -", also ein Umbruch an einem Leerzeichen oder einem Trennstrich.

Das ist ein experimentelles Feature im Publisher. Wahrscheinlich wird dies in einer zukünftigen Version einem Textformat zugeordnet werden.