Tim Tepaße: Whitspace

Beitrag lesen

Hallo Sven

Unter Whitespaces versteht man
...alle nicht sichtbar druckbaren Zeichen, d.h. alle Zeichen, die keine Farbe aufs Papier bringen.

Jein. Es gibt ja auch noch nicht sichtbar druckende Zeichen, die keinen Leerraum erzwingen und auch nicht gedruckt werden sollten. Zum Beispiel WORD JOINER – ein eindeutiges Zeichen mit eigenem Code Point, aber es hat kein dazugehörigen Glyphen.

Für „alle Zeichen, die keine Zeichen haben“, gibt's tatsächlich in Unicode keine Klassifikation.

Was ist denn bitte #255 für ein Zeichen? Auf jeden Fall kein Leerzeichen. Und die "sonstigen" Leerzeichen aus Unicode sind natürlich auch zu erwähnen: en-space, em-space, 3em-space, 4em-space, 6em-space, thin space, hair space, zero-width space,...

Weit kommt man aber schon mit der allgemeinen Kategorie „Zs“ (Seperator, Space), die die hier erwähnten Leerzeichen umfasst. In PCRE benutzenden oder PCRE-kompatiblen Implementationen Regulärer Ausdrücke kann man bequem den Ausdruck \p{Zs} benutzen oder sogar auf \p{Z} aufrunden, um auch die Klassen Zl (Seperator, Line) oder Zp (Seperator, Paragraph) zu integrieren.

Abgesehen von den sonstigen Steuerzeichen im Bereich 0 bis 31, die allesamt nicht druckbar sind.

Kategorie \p{C}. Als Vereinigung mit \p{S} kommt man bestimmt schon sehr weit.

Unicode hat übrigens auch noch eine generellere Eigenschaft Whitespace, allerdings enthält die auch wieder nicht „alle nicht druckbaren Zeichen“.

Tim