Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

DIN 5007

102 views
Skip to first unread message

Thorsten Meinecke

unread,
Jan 5, 1997, 3:00:00 AM1/5/97
to Otto....@uni-konstanz.de

'ots>' := Otto Stolz <Otto....@Uni-Konstanz.de>

ots> rba...@babylon.pfm-mainz.de (Ralph Babel) wrote:
> >- Wie werden Wörter mit Umlauten sortiert?
> >
> > DIN 5007 schreibt die Einordnung von Umlauten unter ihren
> > Umschreibungen mit »e« vor.

ots> Das ist ein Märchen, das von der Post verbreitet wird, um die
ots> nicht normgerechte Sortierung der Städte- und Straßennamen im
ots> Postleitzahlenbuch zu kaschieren!
ots> Originalzitat aus der DIN 5007 "Ordnen von Schriftzeichenfolgen"
ots> vom April 1991 ...

Nein, das entspricht m. W. DIN 5007 "Regeln für die alphabetische
Ordnung (ABC-Regeln)" vom November 1962:

| 1. Allgemeine Regeln für Namen

| 1.3. Umlaute
| Die Umlaute ä, ö, ü werden ae, oe, ue gleichgeachtet. Sie sind
| allgemein mit diesen hinter ad, od, ud einzuordnen.

| 1.6. ß
| ß wird ss gleichgeachtet.

Der 4. Abschnitt (Ortsnamen) enthielt keine Regelung für die Einordnung
der Umlaute. Daher werden insoweit die oben angeführten Grundsätze
gegolten haben.


ots> | 5.1.1.3 Buchstaben des lateinischen Alphabets
ots> | mit diakritischen Zeichen einschließlich Umlaute
ots> | Mit diakritischen Zeichen vesehene Buchstaben einschließlich
ots> | Umlaute werden [...] in ihrem Ordnungswert so behandelt wie
ots> | originäre Grundbuchstaben. [...] Umlaute in Namens-
ots> | verzeichnissen (siehe Erläuterungen) werden [...] in ihrem
ots> | Ordnungswert so behandelt wie eine originäre Schriftzeichen-
ots> | folge ae, oe oder ue. [...]
ots> | Anmerkung: Im Hinblick auf internationale und regionale
ots> | Bestrebungen sowie im Interesse einer einheitlichen
ots> | Regelung für das Ordnen von Umlauten sowohl in Namens-
ots> | verzeichnissen wie auch in Nachschlagewerken allgemeiner
ots> | Art kann bei der nächsten Überarbeitung von DIN 5007 eine
ots> | Regelung für das Ordnen der Umlaute allein im Sinne von
ots> | Abschnitt 5.1.1.3, 1. Absatz notwendig werden.
ots>
ots> Also: im Telefonbuch (das ist ein Namensverzeichnis) stehen Müller
ots> und Mueller beieinander; in anderen sortierten Listen (Lexika, Duden)
ots> stehen Wörter und Worte beieinander. Das Postleitzahlenverzeichnis
ots> (kein Namensverzeichnis) sollte Höchenschwand in der Nähe von Hochdorf
ots> einordnen, packt es aber hinter Hodern (falls es sowas gibt).

Die Post befindet sich in völliger Übereinstimmung mit DIN 5007, in der
alten Fassung. :) Ich würde nämlich sagen, daß ein nach Ortsnamen sor-
tiertes Verzeichnis von Postleitzahlen sehr wohl ein Namensverzeichnis
ist.


ots> Die entsprechende ISO-Norm wird den Umlauten keine Sonderbehandlung
ots> zugestehen.

Jetzt kommen wir zu dem Grund, warum ich dies nach de.comp.standards
crossposte: An mir ist die Änderung von DIN 5007 völlig unbemerkt
verübergegangen, und ich vermute, den meisten geht's so.

Was vielleicht daran liegt, daß das populärste Sortierverfahren in
dem Aufruf von qsort(), mit strcmp(), besteht. So bekommt man bei
Umlauten unbefriedigende Ergebnisse, aber dafür ist der Algorithmus
schön einfach. Soweit das z.B. ISO 9899 betrifft, ist meine Frage:

Ist damit zu rechnen, daß bei Erscheinen einer ISO-Norm für die
Ordnung von Schriftzeichenfolgen diese auch von Programmiersprachen
unterstützt werden wird? Bei C denke ich beispielsweise an Erweiterung
der Sprachdefinition, oder an eine Verbesserung des locale-Interface
(wie die {is,to}*-Funktionen in <ctype.h>).


ots> DIN 5007 schreibt nämlich ein dreistufiges Ordnungsschema vor:
ots> - in Abschnitt 5, aus dem ich oben zitiert habe, werden Sonderbuch-
ots> staben (Ligaturen und Buchstaben mit diakritischen Zeichen) in
ots> ihrem Ordnungswert den Grundbuchstaben gleichgesetzt; andere
ots> Zeichen (Zahlzeichen, Sonderzeichen) erhalten ebenfalls einen
ots> primären Ordnungswert;
ots> - Abschnitte 6.1 und 6.2 bestimmen, dass Zeichenfolgen, die insgesamt
ots> den gleichen primären Ordnungswert haben (z.B. "Maße" und "Masse"),
ots> nach den tatsächlich vorhandenen Buchstaben geordnet werden, und
ots> zwar in dere Reihenfolge echte Grundbuchstaben -- Ligaturen --
ots> Umlaute -- sonstige diakritische Zeichen; (dabei ist die Reihen-
ots> folge der diversen diakritischen Zeichen untereinander genau fest-
ots> gelegt;)
ots> - unterscheiden sich zwei Zeichenfolgen nur durch Groß- und Klein-
ots> buchstaben, so ergibt dies ein tertiäres Ordnungsmerkmal: nach
ots> Abschnitt 6.3 werden Großbuchstaben (nur in diesem Fall) den ent-
ots> sprechenden Kleinbuchstaben nachgeordnet.
ots>
ots> Demnach ist beispielweise so zu ordnen
ots> ((A gleich Ä, sowie ß gleich ss im primären Ordnungswert)):
ots> Dampf ((Wortende vor E im primären Ordnungswert))
ots> dampfen
ots> Dampfen ((D nach d im tertiären Ordnungswert))
ots> dämpfen ((Ä nach A im sekundären Ordnungswert))
ots> Dämpfen ((D nach d im tertiären Ordnungswert))
ots> Dämpfung ((U nach E im primären Ordnungswert))
ots> Maß ((Wortende vor E vor im primären Ordnungswert))
ots> Masse
ots> Maße ((ß nach ss im sekundären Ordnunswert))
ots> mäße ((A vor Ä im sekundären Ordnungswert))
ots> Masseur ((Wortende vor U im primären Ordnungswert))
ots> Schlägerei ((E vor F im primären Ordnungswert))
ots> Schlagerforderung
ots> Schlagerförderung ((auch der sekundäre Ordnungswert
ots> Schlägerforderung wird von links nach rechts sortiert))
ots> Schlägerförderung
ots> Schlagerparade ((P nach F im primären Ordnungswert))

Hat das schon mal jemand implementiert? :)

Gruß,
--Thorsten
Bitte das massive Quoten zu entschuldigen. Halte es für interessante Lektüre.

Georg Schwarz

unread,
Jan 5, 1997, 3:00:00 AM1/5/97
to

Markus Kuhn <msk...@cip.informatik.uni-erlangen.de> wrote:

> Ballot laeuft. Darin werden Buchstaben in einem ersten Schritt ohne
> die diacritical marks (accents, etc.) verglichen, und erst wenn
> das keinen Unterschied der verglichenen Zeichenketten aufzeigt werden
> in einem 2. Durchgang die Umlautpuenktchen, usw. mit beruecksichtigt.

sind Umlaute, wie sie Bestandteil der deutschen Sprache sind, Buchstaben
mit "diacritical marks" wie Akzente oder Trema in z.B. spanisch oder
französisch?
Die beiden Pünktchen sehen für ein ë im Französischen und ein ü im
Deutschen zwar sehr ähnlich aus, doch ist z.B. die "Ersatzschreibweise"
für "Müller" nicht "Muller" sondern "Mueller". Dies wird z.B. von
Amerikanern häufig falsch gemacht, z.B. wenn Personen mit entsprechenden
Namen in amerikanischen Zeitschriften publizieren bzw. dort zitiert
werden.
Soweit ich weiß gibt es auch schriftsatztechnische Unterschiede; so
sieht ein "u bzw. {\"u} in LaTeX mit german.sty anders (und zwar
zumindest für die deutsche Sprache korrekt) aus als ein {\"u} ohne.

Es ist denkbar, daß es andere Sprachen als deutsch gibt, die ebenfalls
einen Buchstaben "ä", "ö" oder "ü" verwenden, hier aber die beiden
Punkte sich wie Akzente verhalten, was z.B. die Umschreibung anbelangt.
In einem solchen Fall handelt es sich meines Erachtens dann um von der
Bedeutung her unterschiedliche, wenn auch vom Schriftsatz her ähnliche
oder gar identische Zeichen, die eigentlich unterschiedlich kodiert
werden müßten.
--
Georg Schwarz sch...@physik.tu-berlin.de, ku...@cs.tu-berlin.de
Institut für Theoretische Physik +49 30 314-24254, FAX -21130
Technische Universität Berlin http://home.pages.de/~schwarz/

Markus Kuhn

unread,
Jan 5, 1997, 3:00:00 AM1/5/97
to

kae...@aglaia.aball.de (Thorsten Meinecke) writes:

>ots> Die entsprechende ISO-Norm wird den Umlauten keine Sonderbehandlung
>ots> zugestehen.

Du sprichst wahrscheinlich von ISO/IEC 14651, der "International
Sorting Order (ISO ;-)", die gerade durch einen Committee Draft


Ballot laeuft. Darin werden Buchstaben in einem ersten Schritt ohne
die diacritical marks (accents, etc.) verglichen, und erst wenn
das keinen Unterschied der verglichenen Zeichenketten aufzeigt werden
in einem 2. Durchgang die Umlautpuenktchen, usw. mit beruecksichtigt.

Genaugenommen werden VIER Durchlaeufe mit unterschiedlicher Prioritaet
durchgefuehrt. Beim 2. bis 4. Durchlauf werden nach und nach
folgende bei der ersten normallisierung weggefallenen Informationen
wieder mitberuecksichtigt: Gross/Kleinschreibung, diakritische
Zeichen, whitespace und Satzzeichen. Eine effiziente Implementation
macht das natuerlich in einem Durchlauf mit aequivalentem Ergebnis.

Es wird einen default-Algorithmus geben, der dann fuer nationale Belange
konfiguriert werden kann. Schweden wollen beispielsweise ihre
Umlate nach dem z sortiert haben, was natuerlich der internationale
default-Algorithmus nicht macht.

Der ISO-Algorithmus ist dafuer ausgelegt, dass ein String informationserhaltend
mit strxfrm() in einen anderen String umgewandelt werden kann, und diese anderen
Strings koennen dann mit strcmp() effizient verglichen oder in
Datenstrukturen wie etwa Praefix-B-Baeume eingefuegt werden.

>Jetzt kommen wir zu dem Grund, warum ich dies nach de.comp.standards

>crossposte: An mir ist die Aenderung von DIN 5007 voellig unbemerkt
>veruebergegangen, und ich vermute, den meisten geht's so.

DIN 5007 definiert zwei Sortiermethoden, wenn ich mich recht erinnere,
eine fuer deutsche Namen (den die Telekom benutzt) und eine fuer
lexikographische Anwendungen (fuer den Benutzer der weiss, wie
das Wort geschrieben wird effizienter und naeher am kuenftigen
ISO Standard).

>Ist damit zu rechnen, dass bei Erscheinen einer ISO-Norm fuer die


>Ordnung von Schriftzeichenfolgen diese auch von Programmiersprachen

>unterstuetzt werden wird? Bei C denke ich beispielsweise an Erweiterung


>der Sprachdefinition, oder an eine Verbesserung des locale-Interface
>(wie die {is,to}*-Funktionen in <ctype.h>).

Ja, daran wird ganz konkret gearbeitet. Es wird eine abstrakte
API fuer den Sortieralgorithmus geben, die dann auf C und andere
Sprachen abgebildet wird. Alain LaBonte <a...@sct.gouv.qc.ca>, der
ISO/IEC 14651 Project Editor sagte mir, dass es eine Referenz
Implementation des ISO-Algorithmus geben werde, den man z.B. in die
GNU libc mit aufnehmen koennte fuer strcoll() und strxfrm().
Die Prozeduren gibt es in ISO C schon ewig, nur ist bislang
nicht richtig definiert, was sie machen sollen.

Du hast das 3-stufige Ordnungsschema von DIN 5007 zitiert. Das ist aber
nicht fuer Computeranwendungen gedacht, wo sich zwei Zeichenfolgen auch
dann noch eindeutig unterscheiden lassen muessen, wenn sie sich nur in irgend
einem Bit unterscheiden. Daher muss sich die ISO auch um Satzzeichen
und Spaces in einem vierten Schritt kuemmern.

Ausserdem gilt DIN 5007 nur fuer den deutschen Zeichenvorrat,
waehrend der ISO-Algorithmus eindeutig definiert, wie jeder beliebige
Unicode-String verglichen werden kann (damit du auch einen Buchindex
mit deutschen, griechischen und ukrainischen Woertern noch
wohldefiniert sortiert hast).

ISO/IEC 14651 wird von ISO/IEC JTC1/SC22/WG20 erarbeitet. Wer auf die
Mailing List will: <SC22WG20...@dkuug.dk>. Der Web-Server
dazu ist <URL:http://www.dkuug.dk/JTC1/SC22/WG20/>, wo weitere
Infos erhaeltlich sind. (Drafts in <URL:http://www.dkuug.dk/JTC1/SC22/
WG20/prot/>, lesenswert, aber bitte nicht weitersagen ...)

Markus

---
Markus Kuhn, Computer Science grad student, Purdue
University, Indiana, US, email: ku...@cs.purdue.edu

Prof Karl Kleine

unread,
Jan 7, 1997, 3:00:00 AM1/7/97
to

Markus Kuhn (msk...@cip.informatik.uni-erlangen.de) wrote:
............. Absaetze geloescht
: DIN 5007 definiert zwei Sortiermethoden, wenn ich mich recht erinnere,

: eine fuer deutsche Namen (den die Telekom benutzt) und eine fuer
: lexikographische Anwendungen (fuer den Benutzer der weiss, wie
: das Wort geschrieben wird effizienter und naeher am kuenftigen
: ISO Standard).
............. noch mehr geloescht....

Ich habe vor mit das aktuelle DIN-Taschenbuch 153 "Publikation und
Dokumentation 1", worin DIN 5007 (April 1991) sowie DIN 5007-2
(Mai 1996) abgedruckt sind.

DIN 5007 laesst einiges offen hinsichtlich der Aufbereitung. Das muss
man selber lesen, es kann nur schwer einfach zusammengefasst werden.
Immerhin hat die Norm einen Anhang mit Zusammenfassung der Regeln (was
man wohl fuer Otto Normalverbraucher fuer noetig hielt) und Erlaeuterungen.
Was Markus sicher meint "fuer deutsche Namen" ist DIN 5007-2
Ordnen von Schriftzeichenfolgen
Teil 2: Absatzregeln fuer die alphabetische Ordnung von Namen

Umfang: DIN 5007: 7 Seiten, DIN 5007-2: 4 Seiten.
____________________________________________________________________________
Prof. Karl Kleine, Fachhochschule Jena kle...@fh-jena.de
Postfach 100314, D-07703 Jena, Germany +49-3641-64-3451 [fax -3449]


Helmut Richter

unread,
Jan 17, 1997, 3:00:00 AM1/17/97
to

msk...@cip.informatik.uni-erlangen.de (Markus Kuhn) writes:

>kae...@aglaia.aball.de (Thorsten Meinecke) writes:

>>ots> Die entsprechende ISO-Norm wird den Umlauten keine Sonderbehandlung
>>ots> zugestehen.

>Du sprichst wahrscheinlich von ISO/IEC 14651, der "International


>Sorting Order (ISO ;-)", die gerade durch einen Committee Draft
>Ballot laeuft. Darin werden Buchstaben in einem ersten Schritt ohne
>die diacritical marks (accents, etc.) verglichen, und erst wenn
>das keinen Unterschied der verglichenen Zeichenketten aufzeigt werden
>in einem 2. Durchgang die Umlautpuenktchen, usw. mit beruecksichtigt.

Ich kann nicht recht einsehen, was an so einer Sortierreihenfolge
"international" sein soll. Es ist eine Reihenfolge, die sich recht gut
fuer diejenigen Sprachen eignet, deren Alphabet zufaellig eine
Teilmenge von U+0041 bis U+005A sowie U+0061 bis U+007A ist. Das sind
aber nicht sehr viele, gerade mal Englisch, Suaheli, Tagalog und ein
paar ausserhalb ihres Verwendungsgebietes unbekannte polynesische
Sprachen.

Das waere also eine Einschraenkung gegenueber dem, was heutzutage
mittels Locale definiert werden kann.

Helmut Richter


0 new messages