Das vielleicht bisher meist gewünschte – und das von uns am vehementesten abgelehnte – Feature ist die Untersütztung von Umlauten bei den Buchstabenwerten.

Warum waren ÄÖÜß bislang nicht drin?

1. Es ist nicht definiert, wie ÄÖÜß kodiert werden. Uns sind allein 3-4 Möglichkeiten der Interpretation bekannt. Dies zeigte sich auch noch einmal in den zahllosen E-Mails, die wir von euch bekamen: Jeder einzelne bestand darauf, dass seine Interpretation „die geläufige“ wäre und man das doch so einfach einbauen könne. 😀 Viele nutzen die Werte 27-30 für ÄÖÜß. Andere wollen aber Ä zu AE machen und dann erst berechnen. Das heißt aber, dass bspw. die Anzahl der Buchstaben im Wort erhöht wird (anstelle eines Buchstaben Ä haben wir jetzt zwei Buchstaben A und E). Auch auf alternierende Quersumme hat das Einfluss. Nun, dann addiert man eben A = 1 und E = 5 zusammen, dann hat man den Buchstabenwert 6. Nur, was macht man dann bei der Rückkodierung? Ist 6 nun ein Ä oder ein F? Zustätzlich könnte man die Werte einfach ignorieren (wie es bisher war), aber dann geht auch ein Buchstabe verloren, was widerum Auswirkungen auf Anzahl und alternierende Quersummen hat. Oder man gibt sie mit Wert 0 an, um wenigstens die Anzahl der Buchstaben zu erhalten. Oder… oder… oder…
2. Die allermeisten Meldungen kamen von deutschsprachigen Usern (ich bin nicht sicher, ob sich hier noch andere tummeln). Oft wurde von ihnen nicht bedacht, dass eine Unterstützung von ÄÖÜß eine Diskriminierung sein könnte ggü. anderen Sprachen. Was ist zum Beispiel mit einem spanischen Ñ oder einem türkischen Ç? Wird ein Æ auch zu A und E? Ist ein schwedisches Ä gleich zu behandeln wie ein deutsches Ä? Ich habe keine Ahnung! Aber der Anspruch vom #GCWizard ist ein internationaler. Es muss also zumindest die Möglichkeit geschaffen werden, andere nicht auszugrenzen.

Was ist jetzt neu?

Entstanden ist eine Funktion, deren Code 7x (sic!) größer ist, als der bisherige Code der Buchstabenwerte. Und das nur für die Behandlung von Ausnahmefällen

Das Auffälligste dürfte sein, dass es nun in der Funktion eine Auswahlbox für das zu nutzende Alphabet gibt. Dort allein sind drei Interpretationen der deutschen Umlaute zu finden! Weiterhin sind zwei Versionen des spanischen Alphabets drin (Je nach Interpretation ist CH und LL Teil des Alphabets oder nicht, aber beide enthalten natürlich das Ñ), sowie ein polnisches und sogar griechisches und russisch/kyrillisches.

Wer genau hinsieht, findet neben der Auswahlbox einen Einstellungs-Button. Es öffnet sich ein Tool, mit dem man das gewählte Alphabet ein wenig justieren kann. Beispielsweise kann man einen Offset angeben, also festlegen, dass das Alphabet bspw. nicht mit A=1 sondern A=0 oder A=-42 beginnen soll. Außerdem lässt sich das Alphabet umkehren, also mit Z=1 (oder welchem Offset auch immer) beginnen und mit A = 26 enden.

Doch damit lösen wir natürlich das Sonderzeichen-Problem nicht. Deswegen kann man nun in den „Expertenmodus“ umschalten. Hier wird nun genau aufgelistet, wie das aktuelle gewählte (und justierte!) Alphabet aussieht, d.h. jeder einzelne Buchstabe und dessen Wert wird angezeigt.
Es besteht jetzt die Möglichkeit, Buchstaben/Zeichen hinzuzufügen und auch zu löschen. Dabei sind der Fantasie keine Grenzen gesetzt. Sogar ganze Buchstabengruppen lassen sich auswerten; als Vorlage diente der bereits oben genannte Fall des CH im spanischen, was eben nicht 2 Buchstaben sind, sondern einer und damit nur einen Wert und einen Zähler bei „Anzahl“ hat. Die Umkehrung ist ebenfalls möglich, wie bei der einen Umlaut-Interpretation Ä = A,E. Hierbei wird als einem Buchstabe zwei Werte zugeordnet. In der Tabelle sieht das so aus: Ä = 1,5 Damit macht man dem Tool klar, hier sollen zwei separate Werte genutzt werden. Ä hat also den Wert „Anzahl“ = 2. Natürlich lassen sich Buchstaben aus dem Alphabet auch entfernen. Vielleicht gibt es Sprachen, wo kein Q vorkommt oder soetwas.

Doch was ist dieses „Anpassen“, was man da sieht? Ganz einfach. Man stelle sich vor, man möchte aus dem Standard A-Z = 1-26 Alphabet ein spanisches Alphabet machen. Dafür muss man hinter das N = 14 ein Ñ = 15 einfügen. Nun, der Wert 15 ist aber schon vergeben, es ist das O. Also möchte man womöglich, alle nachfolgenden Buchstaben um einen Wert erhöhen, also O = 16, P = 17, etc. Genau das tut dieses „Anpassen“. Das gleiche gibt es natürlich auch rückwärts. Wenn ich das Ñ wieder entfernen möchte, entsteht ja eine Lücke, es gibt keinen Buchstaben mit dem Wert 15 mehr. Also will man evtl. diese Lücke wieder schließen und alle Nachfolger einfach um den Wert 1 verringern. Aus O = 16, P = 17, … wird O = 15, P = 16, …

So ergibt sich die Möglichkeit, dass jeder sein ganz eigenes Alphabet erstellen kann, im Grunde komplett von Null auf jeden Buchstaben definieren. Und das macht Arbeit und keinen Spaß! Ja, leider: Der #GCWizard ist nicht immer nur lustig Das möchte man nicht mehrfach machen. Also besteht natürlich die Möglichkeit, sich seine konfigurierten Alphabete dann im Expertenmodus auch zu speichern (und löschen). Zusätzlich wird das zuletzt in der Auswahlbox ausgewählte Alphabet auch beim nächsten Öffnen wieder angezeigt. Also: Alphabet konfigurieren, speichern, auswählen und glücklich sein. Einmal Wunschalphabet erstellen und nie wieder daran rumfummeln müssen!

Wie gesagt: Viel Stoff für so ein paar Umlaute! Ich hoffe, ich konnte euch einen Einblick geben, welche Probleme so mit dem einfach hinzufügen von Umlauten auf einen Programmierer zukommen!