Arbeiten mit Silbentrennung

Manchmal ist es notwendig, die Silbentrennung zu verwenden, um den Text in einem Dokument kompakter anzuordnen. Gleichzeitig ist es wichtig zu verstehen, dass die Besonderheiten der Worttrennung je nach Sprache unterschiedlich sein können.

Heutzutage wird die Silbentrennung nicht mehr so häufig verwendet wie früher, insbesondere in englischen Texten. Dennoch kann die Verwendung dieser Funktion schwerwiegende Auswirkungen auf Benutzerdokumente haben – die Silbentrennung beeinträchtigt das Layout und damit das Erscheinungsbild der Ausgabedateien, beispielsweise im PDF-Format.

Zur korrekten Aufteilung von Wörtern werden sprachspezifische Silbentrennungswörterbücher verwendet. Aspose.Words verwendet fortschrittliche Algorithmen für die Arbeit mit solchen Wörterbüchern und ermöglicht Ihnen die gleiche Silbentrennung wie in Microsoft Word.

Silbentrennungswörterbücher

Da verschiedene Sprachen unterschiedliche Normen und Regeln für die Silbentrennung von Wörtern verwenden, ist die Verwendung spezieller Wörterbücher die optimale Lösung für eine korrekte Silbentrennung. Aspose.Words verwendet OpenOffice-Wörterbücher.

Für die Rechtschreibprüfung verwendet OpenOffice Hunspell-Bibliothek, eine Verallgemeinerung des Silbentrennungsalgorithmus von TeX. Dieser Algorithmus ermöglicht eine automatische, nicht standardmäßige Silbentrennung unter Verwendung konkurrierender Standard- und benutzerdefinierter Silbentrennungsmuster. Hunspell verwendet Bindestrich zur Silbentrennung.

Silbentrennungsalgorithmus

Aspose.Words implementiert der TeX-Silbentrennungsalgorithmus und kann OpenOffice-Silbentrennungswörterbücher wiederverwenden.

Die folgenden Merkmale von Aspose.Words-Algorithmen sollten berücksichtigt werden:

  • Im Silbentrennungswörterbuch angegebene Silbentrennungsabstandsparameter (LEFTHYPHENMIN, RIGHTHYPHENMIN, COMPOUNDLEFTHYPHENMIN, COMPOUNDRIGHTHYPHENMIN) werden ignoriert. Aspose.Words verwendet je nach Dokumentkompatibilitätsmodus einen eigenen Satz von Abstandsparametern.
  • Der Silbentrennungsalgorithmus in Aspose.Words unterstützt zusammengesetzte Silbentrennung. Aspose.Words teilt jedoch Zeichenfolgen, die gemischte alphabetische und nicht-alphabetische Zeichen enthalten, in nur alphabetische Teile (Wörter) auf und trennt sie separat. Beachten Sie, dass die Microsoft Word-Logik der Silbentrennung zusammengesetzter Wörter vom Dokumentkompatibilitätsmodus abhängt.
  • Der Silbentrennungsalgorithmus in Aspose.Words implementiert nicht standardmäßige Silbentrennung nicht. Nicht standardmäßige Muster werden ignoriert.

Silbentrennungswörterbücher werden geladen

Um die Silbentrennungsfunktion zu verwenden, registrieren Sie zunächst ein Silbentrennungswörterbuch. Das folgende Codebeispiel zeigt, wie Sie Silbentrennungswörterbücher für die angegebenen Sprachen aus einer Datei laden:

Das folgende Codebeispiel zeigt, wie Silbentrennungswörterbücher für die angegebene Sprache aus einem Stream geladen werden:

Alternativ zur Vorregistrierung von Silbentrennungswörterbüchern ist es möglich, nur erforderliche Silbentrennungswörterbücher “auf Anfrage” zu registrieren. Um dies zu erreichen, implementieren Sie die IHyphenationCallback-Schnittstelle und verwenden Sie den statischen Rückruf Callback.

Das folgende Codebeispiel zeigt, wie die IHyphenationCallback-Schnittstelle implementiert wird:

Einfluss der Silbentrennung auf das Layout

Beim Aufteilen von Text in Zeilen prüft Aspose.Words für jedes Wort, ob es vollständig in die aktuelle Zeile passt. Wenn ein anderes Wort zu lang ist, um am Ende der Zeile zu passen, verschiebt Aspose.Words es standardmäßig an den Anfang der nächsten Zeile, anstatt es zu trennen.

Allerdings kann die Silbentrennungsfunktion in Aspose.Words verwendet werden, um Bindestriche in Wörter einzufügen, um Lücken im Blocksatz zu schließen oder um eine gleichmäßige Zeilenlänge in schmalen Spalten beizubehalten. Dies kann sich natürlich auf die Anzahl der Zeilen und damit auf die Anzahl der Seiten auswirken. Mit anderen Worten: Die Verwendung der Silbentrennungsfunktion wirkt sich auf das Dokumentlayout aus.

Silbentrennung und Blocksatz (H&J)

Microsoft Word verfügt über eine komplexe Logik zur Auswahl eines Haltepunkts, wenn der Text ausgerichtet und die Silbentrennung aktiviert ist. Kurz gesagt: Microsoft Word zieht es möglicherweise vor, Leerzeichen zu verkleinern oder zu strecken, um eine Zeilentrennung zu vermeiden. Höchstwahrscheinlich basiert diese Logik auf Knuths Artikel.

Aspose.Words implementiert seinen eigenen H&J-Algorithmus, der das gleiche Ergebnis wie Microsoft Word liefert und für identische Zeilenumbrüche im Ausgabedokument sorgt.

Siehe auch