[Allegro] Indexcodes (Umsortierung)

Bernhard Eversberg ev at biblio.tu-bs.de
Mi Nov 10 13:31:20 CET 2010


Am 10.11.2010 12:58, schrieb Fischer, Thomas:
>
> Ich habe mal probeweise versucht, die Umlaute in die
> Sortierreihenfolge hineinzuschieben, es scheint da aber auch noch
> eine Grenze (256?) für die Ordnungswerte zu geben.
Sicher, sind ja Bytewerte. Antiquiert, ok, wissen wir. Aber Sie brauchen
ja im Index gar nicht alle 256 Werte, viele fliegen ja per p/q raus,
die brauchen keinen i-Wert.

> Mit
>
> i Ä 65 ... i v/ÿ 125
>
> startet A99 gar nicht erst (kurzes Aufblitzen des Fensters, dann
> wieder weg). Ändere ich die letzte Zeile in
>
> i v/÷ 125
>
> so kann ich starten, die Reihenfolge im der Sortierung ändert sich
> aber nicht.
Nach Indexerneuerung alles wie vorher? Ohne Erneuerung rührt sich
nichts, das ist klar. (Der Index wird ja nicht im Moment der Anzeige
erst mal geordnet, sondern liegt sortiert vor.) Vielleicht fangen
Sie mit kleinen Schritten an, mit einem oder wenigen Zeichen.
Und dem Ä können Sie nicht die 65 zuweisen, die hat schon das A.


> Ich glaube nicht, dass dieses Problem eine hohe Priorität verdient,
> fände es aber trotzdem gut, wenn die Funktionalität vorhanden wäre.
> Dazu wünsche ich mir: 1. Dass die Umsortierung so wie von mir
> angegeben funktioniert (steckt da noch ein Denk- oder Rechenfehler
> drin?)
Kann ich so schnell jetzt nicht überblicken, zumal mir Ihre Daten
und Parameter nicht vorliegen.

> 2. Dass das Programm die Umsortierungstabelle auswertet und sie
> zurückweist (mit entsprechender Fehlermeldung) wenn sie fehlerhaft
> ist, so dass man nicht erst an Lücken im Register feststellt, dass
> etwas schief gelaufen ist.
Das wäre zu aufwendig für eine so selten genutzte Sache. Wenn wir intern
alles prüfen, was in 1000 Fällen einmal vorkommen könnte, wird das
Programm zäh wir Sirup. Abgesehen davon, daß nun einmal grundsätzlich
unsere Phantasie nicht reicht, alles vorherzusehen was andere falsch
machen könnten UND was in Wechselwirkung mit anderen seltenen oder
irregulären Vorkommnissen eintreten könnte. Kurz: Sie sprechen hier
eine oft wiederholte, damit aber nicht realistischer werdende
Maximalforderung aus.

> 3. Zur Vereinfachung die Möglichkeit, verschiedenen Buchstaben
> denselben Sortierwert zuzuweisen (das wäre z.B. für é oder ô
> sinnvoll, wenn man solche Zeichen im Index haben will)
Das geht *grundsätzlich* nicht. Da müssen Sie schon mit p/q den beiden
Zeichen denselben Wert zuweisen. Erst auf diesen umgewandelten Werten
operiert dann der i-Befehl! Auf den Zeichen also, die tatsächlich im
Index vorkommen können. Wenn Sie also dem Ä schon per p/q den Wert Ae/ae
zuordnen und das Ä als solches niemals im Index vorkommt, ist es
sinnlos, ihm einen i-Wert zuzuweisen.

>
> Mir ist übrigens nicht ganz klar, was bei dem Beispiel im Handbuch i
> ı 106   Zeichen ı  erhält den Sortierwert 106 i j/z 107         j
> erhält 107, k 108 usw. bis z (normalerweise wäre j=106 usw.)
>
> mit Zeichen jenseits von z (z.B. ß) passiert.
>
Direkt hinter z kommt {. Wenn Sie das nicht per p/q wegfiltern
und es würde tatsächlich im Index vorkommen - tja, das würde irgendwie
nicht gehen, wie wenn i und ı denselben Wert bekämen.

>> Wir empfehlen, im Index auf Sonderzeichen, also auch
>> Sonderbuchstaben, weitestgehend zu verzichten.
>
> Das kommt mir heutzutage, wo man mittlerweile durchgängig (z.B. im
> Browser) UTF-8 verwenden kann, unnötig antiquiert vor
Die interne Mechanik von allegro IST teilweise antiquiert, und das
wäre auch gar nicht leicht zu beheben. Damit gilt's zu leben, wir
sprechen das freimütig aus, bis sich sonstwo Besseres findet oder jemand
mit den freien Quellcodes dann eine Revolution anzettelt.

 > (Das wäre ja so, als würde man in E-Mails auf Umlaute verzichten...)
>


B.Eversberg



Mehr Informationen über die Mailingliste Allegro