Я хочу иметь таблицу гласных с diacritics, но не хочу искать таблицы символов вручную.Как автоматически генерировать диакритическую гласную таблицу?
Возможно ли сгенерировать эту таблицу путем пересечения списка гласных и списка diacritics на следующих языках: Java, PHP, Wolfram Mathematica, языки .NET и т. Д.?
Мне нужно иметь символы (unicode) в качестве вывода.
Java Решение
я обнаружил, что есть специальная функция Unicode для этого: http://en.wikipedia.org/wiki/Unicode_normalization
Java поддерживает его, так как 1,6 http://docs.oracle.com/javase/6/docs/api/java/text/Normalizer.html
Итак, образец кода:
public static void main(String[] args) {
String vowels = "aeiou";
char[] diacritics = {'\u0304', '\u0301', '\u0300', '\u030C'};
StringBuilder sb = new StringBuilder();
for(int v=0; v<vowels.length(); ++v) {
for(int d=0; d<diacritics.length; ++d) {
sb.append(vowels.charAt(v));
sb.append(diacritics[d]);
sb.append(' ');
}
sb.append(vowels.charAt(v));
sb.append('\n');
}
String ans = Normalizer.normalize(sb.toString(), Normalizer.Form.NFC);
JOptionPane.showMessageDialog(null, ans);
}
Т.е. мы просто добавляем сочетание диакритики после гласных, а затем применяем нормализацию к строке.
Вы можете попытаться извлечь информацию из http://unicode.org/Public/UNIDATA/NamesList.txt Я предполагаю, что вы хотите только латинские буквы. Все, что соответствует LATIN SMALL | CAPITAL LETTER A | E | I | O | U WITH, должно быть релевантным. Я не знаю, насколько это здорово, и если вам нужны такие вещи, как ø. Кроме того, будьте осторожны, что Mathematica не поддерживает Unicode за пределами Basic Multilingual Plane: http://stackoverflow.com/questions/5597013/reading-an-utf-8-encoded-text-file-in-mathematica – Szabolcs
Кроме того, что о таких вещах, как æ? Вы считаете это гласным (это, конечно, на норвежском языке) или нет? – Szabolcs