package net.sf.openrocket.utils;
import java.text.Normalizer;
import net.sf.openrocket.util.Chars;
/**
* This class is used to generate the map used in L10N class
* due to the fact that Android does not support java.text.Normalizer.
*/
public class L10NGenerator {
public static void main(String[] args) throws Exception {
// Latin chars
for (char ch = 128; ch < 0x250; ch++) {
output(ch);
}
// Superscript numbers
for (char ch = 0x2070; ch <= 0x2079; ch++) {
output(ch);
}
// Subscript numbers
for (char ch = 0x2080; ch <= 0x2089; ch++) {
output(ch);
}
output(Chars.FRACTION);
print(Chars.ZWSP, " ");
print(Chars.NBSP, " ");
}
private static void output(char ch) {
String text = "" + ch;
StringBuilder sb = new StringBuilder(text.length());
// s = normalize(s);
text = Normalizer.normalize(text, Normalizer.Form.NFKD);
for (char c : text.toCharArray()) {
if (c < 128) {
sb.append(c);
} else if (c == Chars.FRACTION) {
sb.append('/');
}
}
text = sb.toString().trim();
if (text.length() > 0) {
print(ch, text);
}
}
private static void print(char ch, String text) {
System.out.printf("m.put('\\u%04x', \"%s\");\n", (int) ch, text);
}
}