Dafür kann Unicode Collation zum Einsatz kommen, wie in diesem Artikel bereits beschrieben.
Dafür benötigt man eine entsprechende Datei mit den Definitionen der UmwandlungsRollen. Diese Datei, wir nennen sie customRolles.bin, können wir durch ein kleines Java Tool erstellen.
Dazu folgendes Java Progrämmchen erstellen/anpassen:
import java.io.*; import java.text.*; import java.util.*; public class createRules { public static void main(String[] args) throws Exception { // zunächst die Standard Rollen laden für die aktuelle Sprache RuleBasedCollator baseCollator = (RuleBasedCollator) Collator.getInstance(new Locale("de", "DE")); // Definition der Alias Zeichen: was steht wo für ae <-> ä (a\u0308) String DIN5007_2_tailorings = "& ae , a\u0308 & AE , A\u0308"+ "& oe , o\u0308 & OE , O\u0308"+ "& ue , u\u0308 & UE , u\u0308"; // Anfügen der persönlichen Rollen an die vorhandenen RuleBasedCollator tailoredCollator = new RuleBasedCollator(baseCollator.getRules() + DIN5007_2_tailorings); String tailoredRules = tailoredCollator.getRules(); // die neuen Rollendefinition als Datei ausgeben Writer fw = new OutputStreamWriter( new FileOutputStream("customRolles.bin"), "UTF-8"); fw.write(tailoredRules); fw.flush(); fw.close(); } }
Die Datei (am besten) als UTF-8 Text (createRules.java) speichern und mittels java Compiler compilieren:
user@host:> javac createRules.java
user@host:> java createRules
Keine Kommentare:
Kommentar veröffentlichen