Arbeiten mit Silbentrennung
Manchmal ist es notwendig, Silbentrennung für eine kompaktere Anordnung von Text in einem Dokument zu verwenden. Gleichzeitig ist es wichtig zu verstehen, dass die Besonderheiten der Worttrennung für jede Sprache unterschiedlich sein können.
Gegenwärtig wird die Silbentrennung nicht mehr so oft verwendet wie früher, insbesondere in englischen Texten. Dennoch kann die Verwendung dieser Funktion schwerwiegende Auswirkungen auf Benutzerdokumente haben – die Silbentrennung wirkt sich auf das Layout und damit auf das Erscheinungsbild der Ausgabedateien aus, beispielsweise im Format PDF.
Zur korrekten Aufteilung von Wörtern werden sprachspezifische Silbentrennungswörterbücher verwendet. Aspose.Words verwendet erweiterte Algorithmen, um mit solchen Wörterbüchern zu arbeiten, und ermöglicht es Ihnen, dieselbe Silbentrennung wie in Microsoft Word zu erhalten.
Silbentrennungswörterbücher
Da verschiedene Sprachen unterschiedliche Normen und Regeln für die Worttrennung verwenden, ist die optimale Lösung für die korrekte Silbentrennung die Verwendung spezieller Wörterbücher. Aspose.Words verwendet OpenOffice Wörterbücher.
Für die Rechtschreibprüfung verwendet OpenOffice die Hunspell bibliothek, was eine Verallgemeinerung des Silbentrennungsalgorithmus von TeX ist. Dieser Algorithmus ermöglicht die automatische nicht standardmäßige Silbentrennung unter Verwendung konkurrierender Standard- und benutzerdefinierter Silbentrennungsmuster. Hunspell verwendet die Bindestrich zur Silbentrennung.
Silbentrennungsalgorithmus
Aspose.Words implementiert der TEX-Silbertrennungsalgorithmus und kann OpenOffice Silbentrennungswörterbücher wiederverwenden.
Die folgenden Merkmale von Aspose.Words -Algorithmen sollten berücksichtigt werden:
- Parameter für die Silbentrennungsentfernung (LEFTHYPHENMIN, RIGHTHYPHENMIN, COMPOUNDLEFTHYPHENMIN, COMPOUNDRIGHTHYPHENMIN) die im Silbentrennungswörterbuch angegebenen Werte werden ignoriert. Aspose.Words verwendet je nach Dokumentkompatibilitätsmodus einen eigenen Satz von Entfernungsparametern.
- Der Silbentrennungsalgorithmus in Aspose.Words unterstützt zusammengesetzte Silberrennen. Aspose.Words teilt jedoch Zeichenfolgen, die gemischte alphabetische und nicht alphabetische Zeichen enthalten, in nur alphabetische Teile (Wörter) auf und trennt sie getrennt voneinander. Beachten Sie, dass die Microsoft Word -Logik der Silbentrennung von zusammengesetzten Wörtern vom Dokumentkompatibilitätsmodus abhängt.
- Der Silbentrennungsalgorithmus in Aspose.Words implementiert das nicht nicht standardmäßige Silbertrennung. Nicht standardmäßige Muster werden ignoriert.
Silbentrennungswörterbücher laden
Um die Silbentrennungsfunktion zu verwenden, registrieren Sie zuerst ein Silbentrennungswörterbuch.Das folgende Codebeispiel zeigt, wie Silbentrennungswörterbücher für die angegebenen Sprachen aus einer Datei geladen werden:
Das folgende Codebeispiel zeigt, wie Silbentrennungswörterbücher für die angegebene Sprache aus einem Stream geladen werden:
Alternativ zur Vorregistrierung von Trennwörterbüchern ist es möglich, nur benötigte Trennwörterbücher “auf Anfrage” zu registrieren. Implementieren Sie dazu die Schnittstelle IHyphenationCallback und verwenden Sie den statischen Callback Callback.
Das folgende Codebeispiel zeigt, wie die IHyphenationCallback-Schnittstelle implementiert wird:
Auswirkung der Silbentrennung auf das Layout
Beim Aufteilen von Text in Zeilen überprüft Aspose.Words jedes Wort, ob es vollständig in die aktuelle Zeile passt. Wenn ein anderes Wort zu lang ist, um an das Zeilenende zu passen, verschiebt Aspose.Words es standardmäßig an den Anfang der nächsten Zeile, anstatt es zu trennen.
Die Silbentrennungsfunktion kann jedoch in Aspose.Words verwendet werden, um Bindestriche in Wörter einzufügen, um Lücken im Blocksatz zu beseitigen 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 zum Auswählen eines Haltepunkts, wenn Text ausgerichtet und Silbentrennung aktiviert ist. Kurz gesagt, Microsoft Word kann es vorziehen, Leerzeichen zu verkleinern oder zu dehnen, um eine Zeilentrennung zu vermeiden. Höchstwahrscheinlich basiert diese Logik auf Knuths Artikel.
Aspose.Words implementiert einen eigenen H & J-Algorithmus, der das gleiche Ergebnis wie Microsoft Word liefert und identische Zeilenumbrüche im Ausgabedokument bereitstellt.