hyphenator.js: Silbentrennung auf Web-Seiten per JavaScript

image 

Warum benutzen fast alle Websites Flattersatz? Weil Blocksatz im Web unansehnliche und schlecht lesbare Texte erzeugt. Aber warum ist das so? Weil ein Browser keine automatische Silbentrennung bietet und deshalb – besonders bei schmalen Textspalten – übergrosse und sehr unregelmässige Wortzwischenräume entstehen.

Was wir seit rund 15 Jahren als gegeben hinnehmen, ist allerdings kein Naturgesetz. Wie man bei Textverarbeitungsprogrammen sieht, kann man einer Software durchaus die Trennregeln unterschiedlicher Sprachen beibringen. Grundsätzlich könnten auch Web-Browser mit Silbentrennung ausgestattet werden, nur hat das bisher kein Browser-Hersteller getan. Das einzige, was heute alle wichtigen Browser bieten, ist die Unterstützung des weichen Trennzeichens (­ = Soft Hyphen, in Microsoft Word “bedingter Trennstrich” genannt): Enthält ein Wort, das nicht mehr auf eine Zeile passt, ein weiches (unsichtbares) Trennzeichen, so ersetzt es der Browser durch ein normales (sichtbares) Trennzeichen und bricht die Zeile an dieser Stelle um.

So weit, so gut – aber wer fügt diese weichen Trennzeichen in den HTML-Code ein? Hierzu gibt es zwei Ansätze:

  • Client-side: Das JavaScript hyphenator.js des Schweizer Entwicklers Mathias Nater fügt die Soft Hyphens ein, nachdem die Seite vom Browser geladen wurde. Weil dieses JavaScript auch in Form eines Bookmarklets genutzt werden kann lässt es sich grundsätzlich auf jede Website anwenden.
  • Server-side: Das PHP-Skript phpHyphenator ist eine Portierung des obigen JavaScripts und fügt die Soft Hyphens vor der Auslieferung der Seite ein. Eine solche Lösung muss zwingend vom Website-Betreiber implementiert werden.

Es ist beeindruckend, was hyphenator.js leistet. Trotzdem hat diese Lösung prinzipbedingt einige Schwächen. Zunächst wird die Website etwas langsamer, weil sowohl das Laden des JavaScripts als auch das Einfügen der weichen Trennzeichen Zeit beansprucht. Zudem lassen sich gewisse Suchmaschinen und Screen Readers (siehe hier) von weichen Trennzeichen irritieren und erkennen nur noch die Wortteile statt die ganzen Wörter. Und schliesslich ist zu sagen, dass die Worttrennung von hyphenator.js zwar gut, aber nicht perfekt ist und man bei Sonderfällen die Trennung nicht manuell übersteuern kann.

Offenbar wird Firefox 6.0 erstmals eine integrierte Silbentrennung besitzen. Bis es so weit ist (und bis auch die anderen Browser nachgezogen haben) ist hyphenator.js fast die einzige Alternative.