[Trennmuster] Trennalgorithmus/Surrogates

Lukas Sommer sommerluk at gmail.com
Fr Jun 10 22:37:09 CEST 2016


Hallo zusammen.

Unter skripte/python/hyphenation.py findet sich eine
Python-Implementierung des Trennalgorithmus. Diese Implementierung
(oder vielmehr das Original von Ned Batchelder + Umstellung auf
Unicode, da ich Dateizugriffe usw. nicht brauche) möchte ich gerne
verwenden. Das ganze ist für ein Skript für Scribus (Ligatursatz)
gedacht. Scribus nutzt (leider) Python 2.7, und das bedeutet, dass der
Datentyp “unicode” je nach Betriebssystem und Compiler-Optionen eine
Sequenz von vielleicht UTF-16-Code-Units oder vielleicht auch
UTF-32-Code-Units ist.

Meine Frage: Funktioniert diese Implementierung auch für den Fall der
UTF-16-Code-Units mit den berühmt-berüchtigen Surrogate-Paaren?

Meine bisherigen Überlegungen nach Blick in den Quelltext: Wenn für
zwei Codepoints (Beispiel: Sequenz „ab“) kein einziges Muster
existiert, das zwischen a und b eine Ziffer enthält, dann dürfte doch
zwischen a und b tatsächlich nie getrennt werden. Ist das
hundertprozentig richtig und sicher? Denn wenn dem so wäre, dann
sollte das auch gelten, wenn diese Codepoints Surrogate-Paare sind …

Viele Grüße

-- 
Lukas Sommer




Mehr Informationen über die Mailingliste Trennmuster