Re: Deutsche locales und thousands_sep bei FreeBSD

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Wed, 5 Aug 2015 12:32:35 +0200 (CEST)

Alexander Klein wrote:
> Am 05.08.2015 um 09:47 schrieb Oliver Fromme:
>
> > Ich denke nicht, denn etliche andere europäische locales
> > haben schon seit langer Zeit einen Punkt in thousands_sep
> > (z.B. da_DK, fi_FI, no_NO).
>
> Auch dafür gibt es natürlich eine Norm, die in Grundzügen auf Seite 175
> folgender PTB-Mitteilung beschrieben ist:
>
> http://www.ptb.de/cms/fileadmin/internet/publikationen/mitteilungen/2007/PTB-Mitteilungen_2007_Heft_2.pdf
>
> Als zulässiges Trennzeichen ist das Leerzeichen angegeben, aber Punkte
> und Kommata seien nicht zulässig.

Wobei im gleichen Absatz auch steht: "Ziffern so zu gruppieren
ist letztlich eine persönliche Geschmacksfrage", und es wird
erwähnt, dass bei "speziellen Anwendungen" anders verfahren
werden kann als beschrieben.

Und es geht hier ja nicht um wissenschaftliche Dokumente, die
in TeX gesetzt werden (dort würde ich in der Tat auch eher
schmale Abstände verwenden, d.h. "\," in TeX-Syntax), sondern
in erster Linie um Ausgaben von Shell-Kommandos in Terminals
mit Monospace-Schriftart.

Übrigens gibt es kein einziges locale, in dem ein Leerzeichen
als Trenner verwendet wird. Die meisten setzen einen Punkt
oder ein Komma ein (letzteres z.B. bei en_US). Die Schweizer
(de_CH) verwenden ein Apostroph.

> Auf Anhieb würde ich sagen, daß vielleicht das Zeichen U+202f (Narrow
> No-Break Space) hier ganz gut passen könnte, gesetzt den Fall, daß es
> auch in der Shell ordentlich dargestellt und nicht zu zwei Oktalzeichen
> gequoted wird.

Im konkreten vorliegenden Fall ist das Entscheidende, dass es
eine Möglichkeit gibt, Ausgaben von Shell-Kommandos, bei denen
große Zahlen auftreten können, so darzustellen, dass diese
Zahlen von einem Menschen möglichst bequem erfasst werden
können, ohne dass er erst anfangen muss, Stellen zu zählen.
Dazu ist eine Trennung zwischen jeweils drei Ziffern hilfreich.

Ein Leerzeichen kann nicht verwendet werden, da Leerzeichen
bereits zur Trennung von mehreren Zahlen (Spalten) verwendet
werden, etwa in der Ausgabe von df(1).

Unicode-Zeichen wie U+202F können theoretisch verwendet werden,
allerdings wird auf vielen Systemen noch ISO8859 verwendet.
Was aber noch schwerer wiegt, ist die Tatsache, dass die
meisten gängigen Terminals nicht mit Proportionalschriften
eingesetzt werden, weshalb dort U+202F genauso breit ist wie
ein normales Leerzeichen und optisch nicht davon unterschieden
werden kann. Damit ist es also wertlos.

Ein Punkt als Trenner (bei deutschsprachigem locale) ist die
naheliegendste Lösung, da er mit jedem Zeichensatz dargestellt
werden kann, im Kontext eindeutig ist und von jedem verstanden
wird. Man sieht diese Art der Darstellung durchaus häufig,
etwa bei tabellarischer Darstellung von Zahlenwerten mit
Monospace-Schriftarten, es ist also keineswegs unüblich.

Natürlich wird es auch niemandem aufgezwungen: Der Tausender-
trenner wird nur verwendet, wenn das locale (z.B. LC_NUMERIC)
passend gesetzt ist und entsprechende Optionen bei den
jeweiligen Tools angegeben werden; von allein machen das ls(1)
oder df(1) nicht.

Dass man als Admin etwa ein norwegisches locale als Work-around
verwenden muss, um besser lesbare Ausgaben bei bestimmten Shell-
Kommandos zu erhalten, kann gewiss nicht der Weisheit letzter
Schluss sein ...

Gruß
   Olli

-- 
Oliver Fromme,  secnetix GmbH & Co. KG,  Marktplatz 29, 85567 Grafing
Handelsregister:  Amtsgericht Muenchen, HRA 74606, Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsreg.: Amtsgericht München,
HRB 125758, Geschäftsführer:  Maik Bachmann,  Olaf Erb,  Ralf Gebhart
FreeBSD-Dienstleistungen/-Produkte + mehr: http://www.secnetix.de/bsd
"Python is an experiment in how much freedom programmers need.
Too much freedom and nobody can read another's code; too little
and expressiveness is endangered."
        -- Guido van Rossum
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 05 Aug 2015 - 12:32:46 CEST

search this site