--- FM2SQL/Attic/Convert.java 2004/07/28 11:21:01 1.64
+++ FM2SQL/Attic/Convert.java 2004/08/02 11:39:23 1.65
@@ -32,6 +32,7 @@ import java.sql.Types;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.Properties;
import java.util.StringTokenizer;
import java.util.TreeSet;
import java.util.Vector;
@@ -75,7 +76,7 @@ class Convert
e1.printStackTrace();
}
PrintStream stream = new PrintStream(file);
- // System.setOut(stream);
+ // System.setOut(stream);
//System.setErr(stream);
readXMLFile(args[0]);
@@ -571,10 +572,10 @@ class Convert
// System.exit(0);
// determine destTableName from createStatement or from source table name
- ConversionProperties prop= getFieldNamesAndDestTableName(creates.get(tbIndex).toString(),query,names.get(tbIndex).toString());
- destTableName = prop.destTableName;
- fieldNames = prop.fieldNames;
- if (mode == Convert.DataBase.CONVERT_MODE)
+ ConversionProperties prop = getFieldNamesAndDestTableName(creates.get(tbIndex).toString(), query, names.get(tbIndex).toString());
+ destTableName = prop.destTableName;
+ fieldNames = prop.fieldNames;
+ if (mode == Convert.DataBase.CONVERT_MODE)
{
if (tables.indexOf(destTableName) >= 0)
@@ -1152,7 +1153,7 @@ class Convert
Node nodeMode = root.find("convert/source/database/mode", new int[] { 1, 1, i, 1, 1 });
Node delimiterNode = root.find("convert/source/database/delimiter", new int[] { 1, 1, i, 1, 1 });
Node useNormanToUnicodeMapper = root.find("convert/source/database/usenormantounicodemapper", new int[] { 1, 1, i, 1, 1 });
-
+
if (node3 == null)
throw new Error("parse error database tag missing");
if (node == null)
@@ -1163,12 +1164,12 @@ class Convert
throw new Error("parse error password tag missing");
if (delimiterNode != null)
delimiter = delimiterNode.getCharacters();
- if(useNormanToUnicodeMapper!=null)
+ if (useNormanToUnicodeMapper != null)
{
database.setUseNormanToUnicodeMapper(Boolean.valueOf(useNormanToUnicodeMapper.getCharacters()).booleanValue());
- System.out.println("useMapper "+Boolean.valueOf(useNormanToUnicodeMapper.getCharacters().trim()).booleanValue());
- }
-
+ System.out.println("useMapper " + Boolean.valueOf(useNormanToUnicodeMapper.getCharacters().trim()).booleanValue());
+ }
+
String url = node.getCharacters();
String user = node1.getCharacters();
String password = node2.getCharacters();
@@ -1191,7 +1192,7 @@ class Convert
else if (modeString.equals("delete"))
mode = DataBase.DELETE_MODE;
else if (modeString.equals("synchronize"))
- mode = DataBase.SYNCHRONIZE_MODE;
+ mode = DataBase.SYNCHRONIZE_MODE;
// if(node3!=null)
// System.out.println(node3.name);
@@ -1262,18 +1263,17 @@ class Convert
DataBase db = (DataBase) iter.next();
if (mode == DataBase.CONVERT_MODE || mode == DataBase.APPEND_MODE)
convertBatch(db.bean, database, db.tables, db.layouts, db.selects, db.creates, db.ids, mode, db.delimiter);
- else
- if (mode == DataBase.UPDATE_MODE)
- update(db.bean.url, database.url, db.tables, db.layouts, db.selects, db.creates, db.ids, mode);
- else if(mode==DataBase.SYNCHRONIZE_MODE)
- {
- user =bean.user;
- passwd =bean.passwd;
- userDest =database.user;
- passwdDest =database.passwd;
-
+ else if (mode == DataBase.UPDATE_MODE)
+ update(db.bean.url, database.url, db.tables, db.layouts, db.selects, db.creates, db.ids, mode);
+ else if (mode == DataBase.SYNCHRONIZE_MODE)
+ {
+ user = bean.user;
+ passwd = bean.passwd;
+ userDest = database.user;
+ passwdDest = database.passwd;
+
synchronize(db.bean.url, database.url, db.tables, db.layouts, db.selects, db.creates, db.ids, mode);
- }
+ }
}
// printContents(node3);
// FM2SQL.fmInstance=new FM2SQL();
@@ -1281,6 +1281,11 @@ class Convert
{
e.printStackTrace();
+
+ } finally
+ {
+ bean.closeAllConnections();
+ beanDest.closeAllConnections();
}
}
public static Vector getXMLConfig(String xmlFile)
@@ -1347,11 +1352,11 @@ class Convert
if (delimiterNode != null)
delimiter = delimiterNode.getCharacters();
- if(useNormanToUnicodeMapper!=null)
+ if (useNormanToUnicodeMapper != null)
{
database.setUseNormanToUnicodeMapper(Boolean.valueOf(useNormanToUnicodeMapper.getCharacters()).booleanValue());
- System.out.println("useMapper "+Boolean.valueOf(useNormanToUnicodeMapper.getCharacters().trim()).booleanValue());
- }
+ System.out.println("useMapper " + Boolean.valueOf(useNormanToUnicodeMapper.getCharacters().trim()).booleanValue());
+ }
if (node3 == null)
throw new Error("parse error database tag missing");
@@ -1508,15 +1513,14 @@ class Convert
try
{
InputStream stream = null;
-
- if(xmlFile.indexOf("file://")>=0||xmlFile.indexOf("http://")>=0)
+
+ if (xmlFile.indexOf("file://") >= 0 || xmlFile.indexOf("http://") >= 0)
{
- URL url=new URL(xmlFile);
+ URL url = new URL(xmlFile);
stream = url.openStream();
- }
- else
- // read XML Metadata from a file
- stream = new FileInputStream(xmlFile);
+ } else
+ // read XML Metadata from a file
+ stream = new FileInputStream(xmlFile);
InputStreamReader isr = new InputStreamReader(stream, "UTF-8");
BufferedReader buffr = new BufferedReader(isr);
StringBuffer sb = new StringBuffer();
@@ -1539,21 +1543,21 @@ class Convert
* @author rogo
*
*/
-
- public static class ConversionProperties
+
+ public static class ConversionProperties
{
String destTableName;
- String[] fieldNames ;
- public ConversionProperties()
+ String[] fieldNames;
+ public ConversionProperties()
{
}
- public ConversionProperties(String destTableName, String[] fieldNames)
+ public ConversionProperties(String destTableName, String[] fieldNames)
{
this.destTableName = destTableName;
- this.fieldNames = fieldNames;
-
+ this.fieldNames = fieldNames;
+
}
-
+
}
/**
* Helper class for XML-File parsing
@@ -1571,13 +1575,13 @@ class Convert
Vector ids;
String delimiter = "//";
boolean useNormanToUnicodeMapper = false;
-
+
final static int CONVERT_MODE = 1;
final static int APPEND_MODE = 2;
final static int UPDATE_MODE = 3;
final static int DELETE_MODE = 4;
final static int SYNCHRONIZE_MODE = 5;
-
+
int mode = -1;
public DataBase(DBBean bean, Vector tables, Vector layouts, Vector selects, Vector creates, Vector ids, int mode)
@@ -1616,7 +1620,7 @@ class Convert
buffr.write(" " + modeString + "\n");
buffr.write(" " + useNormanToUnicodeMapper + "\n");
-
+
int index = 0;
while (index < tables.size())
{
@@ -1876,8 +1880,7 @@ class Convert
dialog.setVisible(false);
}
} // to method
-
-
+
/**
* synchronize method based on delete method code
*
@@ -1951,11 +1954,12 @@ class Convert
System.out.println("added layout " + query);
}
- if(dialog!=null) {
- dialog.title.setText("Getting table data ...");
- dialog.table.setText(names.get(tbIndex).toString());
- dialog.status.setText("Table " + (tbIndex + 1) + " of " + names.size());
- dialog.show();
+ if (dialog != null)
+ {
+ dialog.title.setText("Getting table data ...");
+ dialog.table.setText(names.get(tbIndex).toString());
+ dialog.status.setText("Table " + (tbIndex + 1) + " of " + names.size());
+ dialog.show();
}
bean.getConnection();
bean.makeQuery(query, 50);
@@ -2012,37 +2016,84 @@ class Convert
rowCount = vec.size();
// Deletion will work this way
Vector deleted = new Vector(vec);
- Vector linesToDelete = new Vector(vecDest);
-
+ TreeSet linesToDelete = new TreeSet(vecDest);
+
TreeSet linesToAppend = new TreeSet(vec);
// remove all lines that are already in dest database
linesToAppend.removeAll(vecDest);
// remove all lines that should not be deleted
linesToDelete.removeAll(deleted);
- System.out.println("linesToAppend "+linesToAppend+" "+vecDest+" "+destTableName);
- System.out.println("linesToDelete "+linesToDelete+" "+vecDest+" "+destTableName);
- // prepare new query for next chunk
- if (query.indexOf("where") > 0)
- tempQuery = query + " and " + tempID + ">='" + vec.firstElement() + "' and "+tempID + "<='" + vec.lastElement() + "' order by "+tempID;
- else
- tempQuery = query + " where " + tempID + ">='" + vec.firstElement() + "' and "+tempID + "<='" + vec.lastElement() + "'";// order by "+tempID;
- System.out.println("tempQuery is now "+tempQuery+" order by "+tempID);
- // bean.makeQuery(tempQuery,vec.size());
- Vector[] vectors=bean.getQueryData(tempQuery,vec.size());
- int idIndex = vectors[1].indexOf(idField);
- for (Iterator iter = vectors[0].iterator(); iter.hasNext();)
- {
- Vector line = (Vector) iter.next();
- System.out.println("line "+linesToAppend.contains(line.get(idIndex)));
- }
- System.out.println( );
+ System.out.println("linesToAppend " + linesToAppend + " " + vecDest + " " + destTableName);
+ System.out.println("linesToDelete " + linesToDelete + " " + vecDest + " " + destTableName);
+ // prepare new query for next chunk
+ if (query.indexOf("where") > 0)
+ tempQuery = query + " and " + tempID + ">='" + vec.firstElement() + "' and " + tempID + "<='" + vec.lastElement() + "' order by " + tempID;
+ else
+ tempQuery = query + " where " + tempID + ">='" + vec.firstElement() + "' and " + tempID + "<='" + vec.lastElement() + "'"; // order by "+tempID;
+ System.out.println("tempQuery is now " + tempQuery + " order by " + tempID);
+ // bean.makeQuery(tempQuery,vec.size());
+
+ ConversionProperties prop = getFieldNamesAndDestTableName(creates.get(tbIndex).toString(), query, names.get(tbIndex).toString());
+ StringBuffer insCommand = createInsertCommand(prop.destTableName, prop.fieldNames);
+ StringBuffer updCommand = createUpdateCommand(prop.destTableName, prop.fieldNames, tempID);
+ StringBuffer delCommand = createDeleteCommand(destTableName,tempID);
+ PreparedStatement insPst = beanDest.getConnection().prepareStatement(insCommand.toString());
+ PreparedStatement updPst = beanDest.getConnection().prepareStatement(updCommand.toString());
+ PreparedStatement delPSt = beanDest.getConnection().prepareStatement(delCommand.toString());
+ Vector[] vectors = bean.getQueryData(tempQuery, vec.size());
+ int idIndex = vectors[1].indexOf(idField);
+ // todo arraylist code has to be added
+ for (Iterator iter = vectors[0].iterator(); iter.hasNext();)
+ {
+ Vector line = (Vector) iter.next();
+ Object lineIDIndex = line.get(idIndex);
+ System.out.println("line " + linesToDelete.contains(line.get(idIndex))+" "+lineIDIndex);
+ if (linesToAppend.contains(lineIDIndex))
+ {
+ for (int l = 0; l < line.size(); ++l)
+ {
+ Object obj = line.get(l);
+ if (obj != null)
+ insPst.setString(l + 1, obj.toString());
+ else
+ insPst.setNull(l + 1, Types.NULL);
+ }
+ insPst.execute();
+
+ }
+
+ else // update
+ {
+ for (int l = 0; l < line.size(); ++l)
+ {
+ Object obj = line.get(l);
+ if (obj != null)
+ updPst.setString(l + 1, obj.toString());
+ else
+ updPst.setNull(l + 1, Types.NULL);
+ }
+ updPst.setString(line.size()+1,line.get(idIndex).toString());
+ updPst.execute();
+
+ }
+ }
+
+ // delPSt.setString(1,"6");
+ // delPSt.setString(1,"7");
+ // delPSt.setString(1,"8");
+
+ //delPSt.execute();
+ System.out.println();
// System.out.println("ID LIST SIZE " + Math.round((double) myIds.size() / (double) numIntervalls) + " " + myIdsDest.size());
/// @TODO complete delete task remove query show lines to be deleted let user choose if he wants that
System.out.println("number of lines to be deleted " + linesToDelete.size());
deltaID = (int) Math.round((double) myIds.size() / (double) numIntervalls);
- System.out.println("deltaID "+deltaID);
- System.exit(0);
-
+ System.out.println("deltaID " + deltaID);
+ //System.out.println();
+
+ if (true)
+ return;
+
beanDest.setConnection(destination);
Statement stm = beanDest.getConnection().createStatement();
@@ -2073,7 +2124,7 @@ class Convert
System.out.println(command + " " + tbIndex);
//int rowCount = bean.getRowCount(query);
// int idIndex = bean.getColumnNames().indexOf(ids.get(tbIndex));
- while (true)
+/* while (true)
{
++j;
@@ -2092,7 +2143,7 @@ class Convert
tempQuery = query + " and " + tempID + ">'" + vec.lastElement() + "'";
else
tempQuery = query + " where " + tempID + ">'" + vec.lastElement() + "'";
-
+*/
} //to outer while
} // to idfield if
} // table loop
@@ -2121,519 +2172,1466 @@ class Convert
dialog.setVisible(false);
}
} // to method
-
-
/**
* Converts input String in norman encoding to unicode
* @param inp
* @return converted String
*/
- static public String normanToUnicode(String inp) {
+ static public String normanToUnicode(String inp)
+ {
StringBuffer buf = new StringBuffer();
- for (int i = 0; i < inp.length(); i++) {
+ for (int i = 0; i < inp.length(); i++)
+ {
char c = inp.charAt(i);
- // System.out.println("char "+c+" "+(int)c);
- switch (c) {
- case 1: buf.append("\u00d0"); break; // Eth
- case 2: buf.append("\u00f0"); break; // eth
- case 3: buf.append("\u0141"); break; // Lslash
- case 4: buf.append("\u0142"); break; // lslash
- case 5: buf.append("\u0160"); break; // S caron
- case 6: buf.append("\u0161"); break; // s caron
- case 7: buf.append("\u00dd"); break; // Y acute
- case 8: buf.append("\u00fd"); break; // y acute
- case 11: buf.append("\u00de"); break; // Thorn
- case 12: buf.append("\u00fe"); break; // thorn
- case 14: buf.append("\u017d"); break; // Z caron
- case 15: buf.append("\u017e"); break; // z caron
- case 17: buf.append("\u0073"); break; // asciitilde
- case 18: buf.append("j\u0305"); break; // j macron [does a single char exist?]
- case 19: buf.append("^"); break; // circumflex
- case 20: buf.append("\u0303"); break; // tilde
- case 21: buf.append("\u00bd"); break; // onehalf
- case 22: buf.append("\u00bc"); break; // onequarter
- case 23: buf.append("\u00b9"); break; // onesuperior
- case 24: buf.append("\u00be"); break; // threequarters
- case 25: buf.append("\u00b3"); break; // threesuperior
- case 26: buf.append("\u00b2"); break; // twosuperior
- case 27: buf.append("\u00a6"); break; // brokenbar
- case 28: buf.append("-"); break; // minus
- case 29: buf.append("\u00d7"); break; // multiply
- case 39: buf.append("'"); break; // quotesingle
- case 94: buf.append("\u0302"); break; // circumflex
- case 96: buf.append("\u0300"); break; // grave
- case 196: buf.append("\u00c4"); break; // A dieresis
- case 197: buf.append("\u00c5"); break; // A ring
- case 201: buf.append("\u00c9"); break; // E acute
- case 209: buf.append("\u00d1"); break; // N tilde
- case 214: buf.append("\u00d6"); break; // O dieresis
- case 220: buf.append("\u00dc"); break; // U dieresis
- case 225: buf.append("\u00e1"); break; // a acute
- case 224: buf.append("\u00e0"); break; // a grave
- case 226: buf.append("\u00e2"); break; // a circumflex
- case 228: buf.append("\u00e4"); break; // a dieresis
- case 227: buf.append("\u00e3"); break; // a tilde
- case 229: buf.append("\u0101"); break; // a macron
- case 231: buf.append("\u00e7"); break; // c cedilla
- case 233: buf.append("\u00e9"); break; // e acute
- case 232: buf.append("\u00e8"); break; // e grave
- case 234: buf.append("\u00ea"); break; // e circumflex
- case 235: buf.append("\u00eb"); break; // e dieresis
- case 237: buf.append("\u00ed"); break; // i acute
- case 236: buf.append("\u00ec"); break; // i grave
- case 238: buf.append("\u00ee"); break; // i circumflex
- case 239: buf.append("\u00ef"); break; // i dieresis
- case 241: buf.append("\u00f1"); break; // n tilde
- case 243: buf.append("\u00f3"); break; // o acute
- case 242: buf.append("\u00f2"); break; // o grave
- case 244: buf.append("\u00f4"); break; // o circumflex
- case 246: buf.append("\u00f6"); break; // o dieresis
- case 245: buf.append("\u00f5"); break; // o tilde
- case 250: buf.append("\u00fa"); break; // u acute
- case 249: buf.append("\u00f9"); break; // u grave
- case 251: buf.append("\u00fb"); break; // u circumflex
- case 252: buf.append("\u00fc"); break; // u dieresis
- case 8224: buf.append("\u1e6d"); break; // t underdot
- case 176: buf.append("\u00b0"); break; // degree
- case 162: buf.append("\u1ebd"); break; // e tilde
- case 163: buf.append("\u00a3"); break; // sterling
- case 167: buf.append("\u00a7"); break; // section
- case 182: buf.append("\u00b6"); break; // paragraph
- case 223: buf.append("\u015b"); break; // s acute
- case 174: buf.append("\u1e5b"); break; // r underdot
- case 169: buf.append("\u1e45"); break; // n overdot
- case 353: buf.append("\u1e45"); break; // n overdot
- case 180: buf.append("\u0301"); break; // acute
- case 168: buf.append("\u0308"); break; // dieresis
- case 8800: buf.append("\u1e6d"); break; // t underdot
- case 198: buf.append("\u00c6"); break; // AE
- case 216: buf.append("\u014d"); break; // o macron
- case 8734: buf.append("\u0129"); break; // i tilde
- case 177: buf.append("\u00b1"); break; // plusminus
- case 165: buf.append("\u012b"); break; // i macron
- case 181: buf.append("\u1e43"); break; // m underdot
- case 8706: buf.append("\u1e0d"); break; // d underdot
- case 240: buf.append("\u1e0d"); break; // d underdot
-
- case 8721: buf.append("\u1e63"); break; // s underdot
- case 960: buf.append("\u017a"); break; // z acute
- case 8747: buf.append("\u1e45"); break; // n overdot
- case 937: buf.append("\u0169"); break; // u tilde
- case 230: buf.append("\u00e6"); break; // ae
- case 248: buf.append("\u00f8"); break; // oslash
- case 191: buf.append("\u0304\u0306"); break; // macron breve
- case 172: buf.append("\u1e37"); break; //
- case 8730: buf.append("j\u0305"); break; // j macron [does a single char exist?]
- case 402: buf.append("\u0103"); break; // a breve
- case 8776: buf.append("\u016d"); break; // u breve
- case 187: buf.append("\u1e42"); break; // M underdot
- case 8230: buf.append("\u2026"); break; // ellipsis
- case 192: buf.append("\u00c0"); break; // A grave
- case 195: buf.append("\u00c3"); break; // A tilde
- case 213: buf.append("\u00d5"); break; // O tilde
- case 338: buf.append("m\u0306"); break; // m breve
- case 339: buf.append("\u0153"); break; // oe
- case 8211: buf.append("\u2013"); break; // endash
- case 8212: buf.append("\u2014"); break; // emdash
- case 8220: buf.append("\u201c"); break; // quotedblleft
- case 8221: buf.append("\u201d"); break; // quotedblright
- case 8216: buf.append("\u2018"); break; // quoteleft
- case 8217: buf.append("\u2019"); break; // quoteright
- case 247: buf.append("\u1e37"); break; // l underring [actually underdot]
- case 9674: buf.append("\u1e41"); break; // m overdot
- case 255: buf.append("n\u0306"); break; // n breve
- case 376: buf.append("\u00d7"); break; // multiply
- case 8364: buf.append("\u1e5b"); break; // r underring [actually underdot]
- case 8249: buf.append("\u1e44"); break; // N overdot
- case 8250: buf.append("\u1e62"); break; // S underdot
- case 64257: buf.append("\u1e24"); break; // H underdot
- case 64258: buf.append("\u1e0c"); break; // D underdot
- case 8225: buf.append("\u2021"); break; // daggerdbl
- case 8218: buf.append("\u1e36"); break; // L underdot
- case 8222: buf.append("\u0113"); break; // e macron
- case 194: buf.append("\u1e5f"); break; // r underbar
- case 202: buf.append("r\u0324"); break; // r underdieresis
- case 193: buf.append("\u012a"); break; // I macron
- case 8486:
- case 203: buf.append("\u016b"); break; // u macron
- case 200: buf.append("\u1e6c"); break; // T underdot
- case 205: buf.append("\u1e64"); break; // S acute
- case 206: buf.append("\u2020"); break; // dagger
- case 207: buf.append("\u0115"); break; // e breve
- case 204: buf.append("\u014f"); break; // o breve
- case 211: buf.append("\u0100"); break; // A macron
- case 212: buf.append("\u1e46"); break; // N underdot
- case 210: buf.append("\u1e3b"); break; // l underbar
- case 218: buf.append("\u016a"); break; // U macron
- case 219: buf.append("\u0179"); break; // Z acute
- case 217: buf.append("\u1e5a"); break; // R underdot
- case 305: buf.append("\u0131"); break; // dotlessi
- case 710: buf.append("\u1e47"); break; // n underdot
- case 732: buf.append("\u1e49"); break; // n underbar
- case 175: buf.append("\u0304"); break; // macron
- case 728: buf.append("\u0306"); break; // breve
- case 729:case 215: buf.append("\u1e25"); break; // h underdot
- case 730: buf.append("\u012d"); break; // i breve
- case 184: buf.append("\u0327"); break; // cedilla
- case 733: buf.append("\u030b"); break; // hungarumlaut
- case 731: buf.append("\u0328"); break; // ogonek
- case 711: buf.append("\u030c"); break; // caron
- case 199: buf.append("\u012b\u0303"); break; // imacron tilde
- case 8226: buf.append("\u1e5d"); break; // runderdot macron
- case 8482: buf.append("\u016b\0306"); break; // umacron breve
- case 8804: buf.append("\u0101\u0301"); break; // amacron acute
- case 8805: buf.append("\u016b\u0301"); break; // umacron acute
- case 8719: buf.append("\u0113\u0301"); break; // emacron acute
- case 170: buf.append("\u0113\u0300"); break; // emacron breve
- case 186: buf.append("\u014d\u0300"); break; // omacron breve
- case 161: buf.append("\u0101\u0306"); break; // amacron breve
- case 8710: buf.append("\u0101\u0303"); break; // amacron tilde
- case 171: buf.append("\u012b\u0301"); break; // imacron acute
- case 8260: buf.append("\u1e00"); break; // runderdotmacron acute
- case 183: buf.append("\u1e5b\u0301"); break; // runderdot acute
- case 8240: buf.append("\u012b\u0306"); break; // imacron breve
- case 63743: buf.append("\u016b\u0303"); break; // umacron tilde
- default: buf.append(c);
- if((int)c>127)
- System.out.println("char "+c+" "+(int)c);
- break;
+ // System.out.println("char "+c+" "+(int)c);
+ switch (c)
+ {
+ case 1 :
+ buf.append("\u00d0");
+ break; // Eth
+ case 2 :
+ buf.append("\u00f0");
+ break; // eth
+ case 3 :
+ buf.append("\u0141");
+ break; // Lslash
+ case 4 :
+ buf.append("\u0142");
+ break; // lslash
+ case 5 :
+ buf.append("\u0160");
+ break; // S caron
+ case 6 :
+ buf.append("\u0161");
+ break; // s caron
+ case 7 :
+ buf.append("\u00dd");
+ break; // Y acute
+ case 8 :
+ buf.append("\u00fd");
+ break; // y acute
+ case 11 :
+ buf.append("\u00de");
+ break; // Thorn
+ case 12 :
+ buf.append("\u00fe");
+ break; // thorn
+ case 14 :
+ buf.append("\u017d");
+ break; // Z caron
+ case 15 :
+ buf.append("\u017e");
+ break; // z caron
+ case 17 :
+ buf.append("\u0073");
+ break; // asciitilde
+ case 18 :
+ buf.append("j\u0305");
+ break; // j macron [does a single char exist?]
+ case 19 :
+ buf.append("^");
+ break; // circumflex
+ case 20 :
+ buf.append("\u0303");
+ break; // tilde
+ case 21 :
+ buf.append("\u00bd");
+ break; // onehalf
+ case 22 :
+ buf.append("\u00bc");
+ break; // onequarter
+ case 23 :
+ buf.append("\u00b9");
+ break; // onesuperior
+ case 24 :
+ buf.append("\u00be");
+ break; // threequarters
+ case 25 :
+ buf.append("\u00b3");
+ break; // threesuperior
+ case 26 :
+ buf.append("\u00b2");
+ break; // twosuperior
+ case 27 :
+ buf.append("\u00a6");
+ break; // brokenbar
+ case 28 :
+ buf.append("-");
+ break; // minus
+ case 29 :
+ buf.append("\u00d7");
+ break; // multiply
+ case 39 :
+ buf.append("'");
+ break; // quotesingle
+ case 94 :
+ buf.append("\u0302");
+ break; // circumflex
+ case 96 :
+ buf.append("\u0300");
+ break; // grave
+ case 196 :
+ buf.append("\u00c4");
+ break; // A dieresis
+ case 197 :
+ buf.append("\u00c5");
+ break; // A ring
+ case 201 :
+ buf.append("\u00c9");
+ break; // E acute
+ case 209 :
+ buf.append("\u00d1");
+ break; // N tilde
+ case 214 :
+ buf.append("\u00d6");
+ break; // O dieresis
+ case 220 :
+ buf.append("\u00dc");
+ break; // U dieresis
+ case 225 :
+ buf.append("\u00e1");
+ break; // a acute
+ case 224 :
+ buf.append("\u00e0");
+ break; // a grave
+ case 226 :
+ buf.append("\u00e2");
+ break; // a circumflex
+ case 228 :
+ buf.append("\u00e4");
+ break; // a dieresis
+ case 227 :
+ buf.append("\u00e3");
+ break; // a tilde
+ case 229 :
+ buf.append("\u0101");
+ break; // a macron
+ case 231 :
+ buf.append("\u00e7");
+ break; // c cedilla
+ case 233 :
+ buf.append("\u00e9");
+ break; // e acute
+ case 232 :
+ buf.append("\u00e8");
+ break; // e grave
+ case 234 :
+ buf.append("\u00ea");
+ break; // e circumflex
+ case 235 :
+ buf.append("\u00eb");
+ break; // e dieresis
+ case 237 :
+ buf.append("\u00ed");
+ break; // i acute
+ case 236 :
+ buf.append("\u00ec");
+ break; // i grave
+ case 238 :
+ buf.append("\u00ee");
+ break; // i circumflex
+ case 239 :
+ buf.append("\u00ef");
+ break; // i dieresis
+ case 241 :
+ buf.append("\u00f1");
+ break; // n tilde
+ case 243 :
+ buf.append("\u00f3");
+ break; // o acute
+ case 242 :
+ buf.append("\u00f2");
+ break; // o grave
+ case 244 :
+ buf.append("\u00f4");
+ break; // o circumflex
+ case 246 :
+ buf.append("\u00f6");
+ break; // o dieresis
+ case 245 :
+ buf.append("\u00f5");
+ break; // o tilde
+ case 250 :
+ buf.append("\u00fa");
+ break; // u acute
+ case 249 :
+ buf.append("\u00f9");
+ break; // u grave
+ case 251 :
+ buf.append("\u00fb");
+ break; // u circumflex
+ case 252 :
+ buf.append("\u00fc");
+ break; // u dieresis
+ case 8224 :
+ buf.append("\u1e6d");
+ break; // t underdot
+ case 176 :
+ buf.append("\u00b0");
+ break; // degree
+ case 162 :
+ buf.append("\u1ebd");
+ break; // e tilde
+ case 163 :
+ buf.append("\u00a3");
+ break; // sterling
+ case 167 :
+ buf.append("\u00a7");
+ break; // section
+ case 182 :
+ buf.append("\u00b6");
+ break; // paragraph
+ case 223 :
+ buf.append("\u015b");
+ break; // s acute
+ case 174 :
+ buf.append("\u1e5b");
+ break; // r underdot
+ case 169 :
+ buf.append("\u1e45");
+ break; // n overdot
+ case 353 :
+ buf.append("\u1e45");
+ break; // n overdot
+ case 180 :
+ buf.append("\u0301");
+ break; // acute
+ case 168 :
+ buf.append("\u0308");
+ break; // dieresis
+ case 8800 :
+ buf.append("\u1e6d");
+ break; // t underdot
+ case 198 :
+ buf.append("\u00c6");
+ break; // AE
+ case 216 :
+ buf.append("\u014d");
+ break; // o macron
+ case 8734 :
+ buf.append("\u0129");
+ break; // i tilde
+ case 177 :
+ buf.append("\u00b1");
+ break; // plusminus
+ case 165 :
+ buf.append("\u012b");
+ break; // i macron
+ case 181 :
+ buf.append("\u1e43");
+ break; // m underdot
+ case 8706 :
+ buf.append("\u1e0d");
+ break; // d underdot
+ case 240 :
+ buf.append("\u1e0d");
+ break; // d underdot
+
+ case 8721 :
+ buf.append("\u1e63");
+ break; // s underdot
+ case 960 :
+ buf.append("\u017a");
+ break; // z acute
+ case 8747 :
+ buf.append("\u1e45");
+ break; // n overdot
+ case 937 :
+ buf.append("\u0169");
+ break; // u tilde
+ case 230 :
+ buf.append("\u00e6");
+ break; // ae
+ case 248 :
+ buf.append("\u00f8");
+ break; // oslash
+ case 191 :
+ buf.append("\u0304\u0306");
+ break; // macron breve
+ case 172 :
+ buf.append("\u1e37");
+ break; //
+ case 8730 :
+ buf.append("j\u0305");
+ break; // j macron [does a single char exist?]
+ case 402 :
+ buf.append("\u0103");
+ break; // a breve
+ case 8776 :
+ buf.append("\u016d");
+ break; // u breve
+ case 187 :
+ buf.append("\u1e42");
+ break; // M underdot
+ case 8230 :
+ buf.append("\u2026");
+ break; // ellipsis
+ case 192 :
+ buf.append("\u00c0");
+ break; // A grave
+ case 195 :
+ buf.append("\u00c3");
+ break; // A tilde
+ case 213 :
+ buf.append("\u00d5");
+ break; // O tilde
+ case 338 :
+ buf.append("m\u0306");
+ break; // m breve
+ case 339 :
+ buf.append("\u0153");
+ break; // oe
+ case 8211 :
+ buf.append("\u2013");
+ break; // endash
+ case 8212 :
+ buf.append("\u2014");
+ break; // emdash
+ case 8220 :
+ buf.append("\u201c");
+ break; // quotedblleft
+ case 8221 :
+ buf.append("\u201d");
+ break; // quotedblright
+ case 8216 :
+ buf.append("\u2018");
+ break; // quoteleft
+ case 8217 :
+ buf.append("\u2019");
+ break; // quoteright
+ case 247 :
+ buf.append("\u1e37");
+ break; // l underring [actually underdot]
+ case 9674 :
+ buf.append("\u1e41");
+ break; // m overdot
+ case 255 :
+ buf.append("n\u0306");
+ break; // n breve
+ case 376 :
+ buf.append("\u00d7");
+ break; // multiply
+ case 8364 :
+ buf.append("\u1e5b");
+ break; // r underring [actually underdot]
+ case 8249 :
+ buf.append("\u1e44");
+ break; // N overdot
+ case 8250 :
+ buf.append("\u1e62");
+ break; // S underdot
+ case 64257 :
+ buf.append("\u1e24");
+ break; // H underdot
+ case 64258 :
+ buf.append("\u1e0c");
+ break; // D underdot
+ case 8225 :
+ buf.append("\u2021");
+ break; // daggerdbl
+ case 8218 :
+ buf.append("\u1e36");
+ break; // L underdot
+ case 8222 :
+ buf.append("\u0113");
+ break; // e macron
+ case 194 :
+ buf.append("\u1e5f");
+ break; // r underbar
+ case 202 :
+ buf.append("r\u0324");
+ break; // r underdieresis
+ case 193 :
+ buf.append("\u012a");
+ break; // I macron
+ case 8486 :
+ case 203 :
+ buf.append("\u016b");
+ break; // u macron
+ case 200 :
+ buf.append("\u1e6c");
+ break; // T underdot
+ case 205 :
+ buf.append("\u1e64");
+ break; // S acute
+ case 206 :
+ buf.append("\u2020");
+ break; // dagger
+ case 207 :
+ buf.append("\u0115");
+ break; // e breve
+ case 204 :
+ buf.append("\u014f");
+ break; // o breve
+ case 211 :
+ buf.append("\u0100");
+ break; // A macron
+ case 212 :
+ buf.append("\u1e46");
+ break; // N underdot
+ case 210 :
+ buf.append("\u1e3b");
+ break; // l underbar
+ case 218 :
+ buf.append("\u016a");
+ break; // U macron
+ case 219 :
+ buf.append("\u0179");
+ break; // Z acute
+ case 217 :
+ buf.append("\u1e5a");
+ break; // R underdot
+ case 305 :
+ buf.append("\u0131");
+ break; // dotlessi
+ case 710 :
+ buf.append("\u1e47");
+ break; // n underdot
+ case 732 :
+ buf.append("\u1e49");
+ break; // n underbar
+ case 175 :
+ buf.append("\u0304");
+ break; // macron
+ case 728 :
+ buf.append("\u0306");
+ break; // breve
+ case 729 :
+ case 215 :
+ buf.append("\u1e25");
+ break; // h underdot
+ case 730 :
+ buf.append("\u012d");
+ break; // i breve
+ case 184 :
+ buf.append("\u0327");
+ break; // cedilla
+ case 733 :
+ buf.append("\u030b");
+ break; // hungarumlaut
+ case 731 :
+ buf.append("\u0328");
+ break; // ogonek
+ case 711 :
+ buf.append("\u030c");
+ break; // caron
+ case 199 :
+ buf.append("\u012b\u0303");
+ break; // imacron tilde
+ case 8226 :
+ buf.append("\u1e5d");
+ break; // runderdot macron
+ case 8482 :
+ buf.append("\u016b\0306");
+ break; // umacron breve
+ case 8804 :
+ buf.append("\u0101\u0301");
+ break; // amacron acute
+ case 8805 :
+ buf.append("\u016b\u0301");
+ break; // umacron acute
+ case 8719 :
+ buf.append("\u0113\u0301");
+ break; // emacron acute
+ case 170 :
+ buf.append("\u0113\u0300");
+ break; // emacron breve
+ case 186 :
+ buf.append("\u014d\u0300");
+ break; // omacron breve
+ case 161 :
+ buf.append("\u0101\u0306");
+ break; // amacron breve
+ case 8710 :
+ buf.append("\u0101\u0303");
+ break; // amacron tilde
+ case 171 :
+ buf.append("\u012b\u0301");
+ break; // imacron acute
+ case 8260 :
+ buf.append("\u1e00");
+ break; // runderdotmacron acute
+ case 183 :
+ buf.append("\u1e5b\u0301");
+ break; // runderdot acute
+ case 8240 :
+ buf.append("\u012b\u0306");
+ break; // imacron breve
+ case 63743 :
+ buf.append("\u016b\u0303");
+ break; // umacron tilde
+ default :
+ buf.append(c);
+ if ((int) c > 127)
+ System.out.println("char " + c + " " + (int) c);
+ break;
}
}
return buf.toString();
}
- static public String normanToUnicodeOld(String inp) {
+ static public String normanToUnicodeOld(String inp)
+ {
StringBuffer buf = new StringBuffer();
- for (int i = 0; i < inp.length(); i++) {
+ for (int i = 0; i < inp.length(); i++)
+ {
char c = inp.charAt(i);
- switch (c) {
- case 1: buf.append("\u00d0"); break; // Eth
- case 2: buf.append("\u00f0"); break; // eth
- case 3: buf.append("\u0141"); break; // Lslash
- case 4: buf.append("\u0142"); break; // lslash
- case 5: buf.append("\u0160"); break; // S caron
- case 6: buf.append("\u0161"); break; // s caron
- case 7: buf.append("\u00dd"); break; // Y acute
- case 8: buf.append("\u00fd"); break; // y acute
- case 11: buf.append("\u00de"); break; // Thorn
- case 12: buf.append("\u00fe"); break; // thorn
- case 14: buf.append("\u017d"); break; // Z caron
- case 15: buf.append("\u017e"); break; // z caron
- case 17: buf.append("\u0073"); break; // asciitilde
- case 18: buf.append("j\u0305"); break; // j macron [does a single char exist?]
- case 19: buf.append("^"); break; // circumflex
- case 20: buf.append("\u0303"); break; // tilde
- case 21: buf.append("\u00bd"); break; // onehalf
- case 22: buf.append("\u00bc"); break; // onequarter
- case 23: buf.append("\u00b9"); break; // onesuperior
- case 24: buf.append("\u00be"); break; // threequarters
- case 25: buf.append("\u00b3"); break; // threesuperior
- case 26: buf.append("\u00b2"); break; // twosuperior
- case 27: buf.append("\u00a6"); break; // brokenbar
- case 28: buf.append("-"); break; // minus
- case 29: buf.append("\u00d7"); break; // multiply
- case 39: buf.append("'"); break; // quotesingle
- case 94: buf.append("\u0302"); break; // circumflex
- case 96: buf.append("\u0300"); break; // grave
- case 128: buf.append("\u00c4"); break; // A dieresis
- case 129: buf.append("\u00c5"); break; // A ring
- case 131: buf.append("\u00c9"); break; // E acute
- case 132: buf.append("\u00d1"); break; // N tilde
- case 133: buf.append("\u00d6"); break; // O dieresis
- case 134: buf.append("\u00dc"); break; // U dieresis
- case 135: buf.append("\u00e1"); break; // a acute
- case 136: buf.append("\u00e0"); break; // a grave
- case 137: buf.append("\u00e2"); break; // a circumflex
- case 138: buf.append("\u00e4"); break; // a dieresis
- case 139: buf.append("\u00e3"); break; // a tilde
- case 140: buf.append("\u0101"); break; // a macron
- case 141: buf.append("\u00e7"); break; // c cedilla
- case 142: buf.append("\u00e9"); break; // e acute
- case 143: buf.append("\u00e8"); break; // e grave
- case 144: buf.append("\u00ea"); break; // e circumflex
- case 145: buf.append("\u00eb"); break; // e dieresis
- case 146: buf.append("\u00ed"); break; // i acute
- case 147: buf.append("\u00ec"); break; // i grave
- case 148: buf.append("\u00ee"); break; // i circumflex
- case 149: buf.append("\u00ef"); break; // i dieresis
- case 150: buf.append("\u00f1"); break; // n tilde
- case 151: buf.append("\u00f3"); break; // o acute
- case 152: buf.append("\u00f2"); break; // o grave
- case 153: buf.append("\u00f4"); break; // o circumflex
- case 154: buf.append("\u00f6"); break; // o dieresis
- case 155: buf.append("\u00f5"); break; // o tilde
- case 156: buf.append("\u00fa"); break; // u acute
- case 157: buf.append("\u00f9"); break; // u grave
- case 158: buf.append("\u00fb"); break; // u circumflex
- case 159: buf.append("\u00fc"); break; // u dieresis
- case 160: buf.append("\u1e6d"); break; // t underdot
- case 161: buf.append("\u00b0"); break; // degree
- case 162: buf.append("\u1ebd"); break; // e tilde
- case 163: buf.append("\u00a3"); break; // sterling
- case 164: buf.append("\u00a7"); break; // section
- case 166: buf.append("\u00b6"); break; // paragraph
- case 167: buf.append("\u015b"); break; // s acute
- case 168: buf.append("\u1e5b"); break; // r underdot
- case 169: buf.append("\u1e67"); break; // s caron
- case 171: buf.append("\u0301"); break; // acute
- case 172: buf.append("\u0308"); break; // dieresis
- case 173: buf.append("\u1e6d"); break; // t underdot
- case 174: buf.append("\u00c6"); break; // AE
- case 175: buf.append("\u014d"); break; // o macron
- case 176: buf.append("\u0129"); break; // i tilde
- case 177: buf.append("\u00b1"); break; // plusminus
- case 180: buf.append("\u012b"); break; // i macron
- case 181: buf.append("\u1e43"); break; // m underdot
- case 182: buf.append("\u1e0d"); break; // d underdot
- case 183: buf.append("\u1e63"); break; // s underdot
- case 185: buf.append("\u017a"); break; // z acute
- case 186: buf.append("\u1e45"); break; // n overdot
- case 189: buf.append("\u0169"); break; // u tilde
- case 190: buf.append("\u00e6"); break; // ae
- case 191: buf.append("\u00f8"); break; // oslash
- case 192: buf.append("\u0304\u0306"); break; // macron breve
- case 194: buf.append("\u1e37"); break; //
- case 195: buf.append("j\u0305"); break; // j macron [does a single char exist?]
- case 196: buf.append("\u0103"); break; // a breve
- case 197: buf.append("\u016d"); break; // u breve
- case 200: buf.append("\u1e42"); break; // M underdot
- case 201: buf.append("\u2026"); break; // ellipsis
- case 203: buf.append("\u00c0"); break; // A grave
- case 204: buf.append("\u00c3"); break; // A tilde
- case 205: buf.append("\u00d5"); break; // O tilde
- case 206: buf.append("m\u0306"); break; // m breve
- case 207: buf.append("\u0153"); break; // oe
- case 208: buf.append("\u2013"); break; // endash
- case 209: buf.append("\u2014"); break; // emdash
- case 210: buf.append("\u201c"); break; // quotedblleft
- case 211: buf.append("\u201d"); break; // quotedblright
- case 212: buf.append("\u2018"); break; // quoteleft
- case 213: buf.append("\u2019"); break; // quoteright
- case 214: buf.append("\u1e37"); break; // l underring [actually underdot]
- case 215: buf.append("\u1e41"); break; // m overdot
- case 216: buf.append("n\u0306"); break; // n breve
- case 217: buf.append("\u00d7"); break; // multiply
- case 219: buf.append("\u1e5b"); break; // r underring [actually underdot]
- case 220: buf.append("\u1e44"); break; // N overdot
- case 221: buf.append("\u1e62"); break; // S underdot
- case 222: buf.append("\u1e24"); break; // H underdot
- case 223: buf.append("\u1e0c"); break; // D underdot
- case 224: buf.append("\u2021"); break; // daggerdbl
- case 226: buf.append("\u1e36"); break; // L underdot
- case 227: buf.append("\u0113"); break; // e macron
- case 229: buf.append("\u1e5f"); break; // r underbar
- case 230: buf.append("r\u0324"); break; // r underdieresis
- case 231: buf.append("\u012a"); break; // I macron
- case 232: buf.append("\u016b"); break; // u macron
- case 233: buf.append("\u01e6c"); break; // T underdot
- case 234: buf.append("\u1e64"); break; // S acute
- case 235: buf.append("\u2020"); break; // dagger
- case 236: buf.append("\u0115"); break; // e breve
- case 237: buf.append("\u014f"); break; // o breve
- case 238: buf.append("\u0100"); break; // A macron
- case 239: buf.append("\u1e46"); break; // N underdot
- case 241: buf.append("\u1e3b"); break; // l underbar
- case 242: buf.append("\u016a"); break; // U macron
- case 243: buf.append("\u0179"); break; // Z acute
- case 244: buf.append("\u1e5a"); break; // R underdot
- case 245: buf.append("\u0131"); break; // dotlessi
- case 246: buf.append("\u1e47"); break; // n underdot
- case 247: buf.append("\u1e49"); break; // n underbar
- case 248: buf.append("\u0304"); break; // macron
- case 249: buf.append("\u0306"); break; // breve
- case 250: buf.append("\u1e25"); break; // h underdot
- case 251: buf.append("\u012d"); break; // i breve
- case 252: buf.append("\u0327"); break; // cedilla
- case 253: buf.append("\u030b"); break; // hungarumlaut
- case 254: buf.append("\u0328"); break; // ogonek
- case 255: buf.append("\u030c"); break; // caron
- case 130: buf.append("\u012b\u0303"); break; // imacron tilde
- case 165: buf.append("\u1e5d"); break; // runderdot macron
- case 170: buf.append("\u016b\0306"); break; // umacron breve
- case 178: buf.append("\u0101\u0301"); break; // amacron acute
- case 179: buf.append("\u016b\u0301"); break; // umacron acute
- case 184: buf.append("\u0113\u0301"); break; // emacron acute
- case 187: buf.append("\u0113\u0300"); break; // emacron breve
- case 188: buf.append("\u014d\u0300"); break; // omacron breve
- case 193: buf.append("\u0101\u0306"); break; // amacron breve
- case 198: buf.append("\u0101\u0303"); break; // amacron tilde
- case 199: buf.append("\u012b\u0301"); break; // imacron acute
- case 218: buf.append("\u1e00"); break; // runderdotmacron acute
- case 225: buf.append("\u1e5b\u0301"); break; // runderdot acute
- case 228: buf.append("\u012b\u0306"); break; // imacron breve
- case 240: buf.append("\u016b\u0303"); break; // umacron tilde
- default: buf.append(c); break;
+ switch (c)
+ {
+ case 1 :
+ buf.append("\u00d0");
+ break; // Eth
+ case 2 :
+ buf.append("\u00f0");
+ break; // eth
+ case 3 :
+ buf.append("\u0141");
+ break; // Lslash
+ case 4 :
+ buf.append("\u0142");
+ break; // lslash
+ case 5 :
+ buf.append("\u0160");
+ break; // S caron
+ case 6 :
+ buf.append("\u0161");
+ break; // s caron
+ case 7 :
+ buf.append("\u00dd");
+ break; // Y acute
+ case 8 :
+ buf.append("\u00fd");
+ break; // y acute
+ case 11 :
+ buf.append("\u00de");
+ break; // Thorn
+ case 12 :
+ buf.append("\u00fe");
+ break; // thorn
+ case 14 :
+ buf.append("\u017d");
+ break; // Z caron
+ case 15 :
+ buf.append("\u017e");
+ break; // z caron
+ case 17 :
+ buf.append("\u0073");
+ break; // asciitilde
+ case 18 :
+ buf.append("j\u0305");
+ break; // j macron [does a single char exist?]
+ case 19 :
+ buf.append("^");
+ break; // circumflex
+ case 20 :
+ buf.append("\u0303");
+ break; // tilde
+ case 21 :
+ buf.append("\u00bd");
+ break; // onehalf
+ case 22 :
+ buf.append("\u00bc");
+ break; // onequarter
+ case 23 :
+ buf.append("\u00b9");
+ break; // onesuperior
+ case 24 :
+ buf.append("\u00be");
+ break; // threequarters
+ case 25 :
+ buf.append("\u00b3");
+ break; // threesuperior
+ case 26 :
+ buf.append("\u00b2");
+ break; // twosuperior
+ case 27 :
+ buf.append("\u00a6");
+ break; // brokenbar
+ case 28 :
+ buf.append("-");
+ break; // minus
+ case 29 :
+ buf.append("\u00d7");
+ break; // multiply
+ case 39 :
+ buf.append("'");
+ break; // quotesingle
+ case 94 :
+ buf.append("\u0302");
+ break; // circumflex
+ case 96 :
+ buf.append("\u0300");
+ break; // grave
+ case 128 :
+ buf.append("\u00c4");
+ break; // A dieresis
+ case 129 :
+ buf.append("\u00c5");
+ break; // A ring
+ case 131 :
+ buf.append("\u00c9");
+ break; // E acute
+ case 132 :
+ buf.append("\u00d1");
+ break; // N tilde
+ case 133 :
+ buf.append("\u00d6");
+ break; // O dieresis
+ case 134 :
+ buf.append("\u00dc");
+ break; // U dieresis
+ case 135 :
+ buf.append("\u00e1");
+ break; // a acute
+ case 136 :
+ buf.append("\u00e0");
+ break; // a grave
+ case 137 :
+ buf.append("\u00e2");
+ break; // a circumflex
+ case 138 :
+ buf.append("\u00e4");
+ break; // a dieresis
+ case 139 :
+ buf.append("\u00e3");
+ break; // a tilde
+ case 140 :
+ buf.append("\u0101");
+ break; // a macron
+ case 141 :
+ buf.append("\u00e7");
+ break; // c cedilla
+ case 142 :
+ buf.append("\u00e9");
+ break; // e acute
+ case 143 :
+ buf.append("\u00e8");
+ break; // e grave
+ case 144 :
+ buf.append("\u00ea");
+ break; // e circumflex
+ case 145 :
+ buf.append("\u00eb");
+ break; // e dieresis
+ case 146 :
+ buf.append("\u00ed");
+ break; // i acute
+ case 147 :
+ buf.append("\u00ec");
+ break; // i grave
+ case 148 :
+ buf.append("\u00ee");
+ break; // i circumflex
+ case 149 :
+ buf.append("\u00ef");
+ break; // i dieresis
+ case 150 :
+ buf.append("\u00f1");
+ break; // n tilde
+ case 151 :
+ buf.append("\u00f3");
+ break; // o acute
+ case 152 :
+ buf.append("\u00f2");
+ break; // o grave
+ case 153 :
+ buf.append("\u00f4");
+ break; // o circumflex
+ case 154 :
+ buf.append("\u00f6");
+ break; // o dieresis
+ case 155 :
+ buf.append("\u00f5");
+ break; // o tilde
+ case 156 :
+ buf.append("\u00fa");
+ break; // u acute
+ case 157 :
+ buf.append("\u00f9");
+ break; // u grave
+ case 158 :
+ buf.append("\u00fb");
+ break; // u circumflex
+ case 159 :
+ buf.append("\u00fc");
+ break; // u dieresis
+ case 160 :
+ buf.append("\u1e6d");
+ break; // t underdot
+ case 161 :
+ buf.append("\u00b0");
+ break; // degree
+ case 162 :
+ buf.append("\u1ebd");
+ break; // e tilde
+ case 163 :
+ buf.append("\u00a3");
+ break; // sterling
+ case 164 :
+ buf.append("\u00a7");
+ break; // section
+ case 166 :
+ buf.append("\u00b6");
+ break; // paragraph
+ case 167 :
+ buf.append("\u015b");
+ break; // s acute
+ case 168 :
+ buf.append("\u1e5b");
+ break; // r underdot
+ case 169 :
+ buf.append("\u1e67");
+ break; // s caron
+ case 171 :
+ buf.append("\u0301");
+ break; // acute
+ case 172 :
+ buf.append("\u0308");
+ break; // dieresis
+ case 173 :
+ buf.append("\u1e6d");
+ break; // t underdot
+ case 174 :
+ buf.append("\u00c6");
+ break; // AE
+ case 175 :
+ buf.append("\u014d");
+ break; // o macron
+ case 176 :
+ buf.append("\u0129");
+ break; // i tilde
+ case 177 :
+ buf.append("\u00b1");
+ break; // plusminus
+ case 180 :
+ buf.append("\u012b");
+ break; // i macron
+ case 181 :
+ buf.append("\u1e43");
+ break; // m underdot
+ case 182 :
+ buf.append("\u1e0d");
+ break; // d underdot
+ case 183 :
+ buf.append("\u1e63");
+ break; // s underdot
+ case 185 :
+ buf.append("\u017a");
+ break; // z acute
+ case 186 :
+ buf.append("\u1e45");
+ break; // n overdot
+ case 189 :
+ buf.append("\u0169");
+ break; // u tilde
+ case 190 :
+ buf.append("\u00e6");
+ break; // ae
+ case 191 :
+ buf.append("\u00f8");
+ break; // oslash
+ case 192 :
+ buf.append("\u0304\u0306");
+ break; // macron breve
+ case 194 :
+ buf.append("\u1e37");
+ break; //
+ case 195 :
+ buf.append("j\u0305");
+ break; // j macron [does a single char exist?]
+ case 196 :
+ buf.append("\u0103");
+ break; // a breve
+ case 197 :
+ buf.append("\u016d");
+ break; // u breve
+ case 200 :
+ buf.append("\u1e42");
+ break; // M underdot
+ case 201 :
+ buf.append("\u2026");
+ break; // ellipsis
+ case 203 :
+ buf.append("\u00c0");
+ break; // A grave
+ case 204 :
+ buf.append("\u00c3");
+ break; // A tilde
+ case 205 :
+ buf.append("\u00d5");
+ break; // O tilde
+ case 206 :
+ buf.append("m\u0306");
+ break; // m breve
+ case 207 :
+ buf.append("\u0153");
+ break; // oe
+ case 208 :
+ buf.append("\u2013");
+ break; // endash
+ case 209 :
+ buf.append("\u2014");
+ break; // emdash
+ case 210 :
+ buf.append("\u201c");
+ break; // quotedblleft
+ case 211 :
+ buf.append("\u201d");
+ break; // quotedblright
+ case 212 :
+ buf.append("\u2018");
+ break; // quoteleft
+ case 213 :
+ buf.append("\u2019");
+ break; // quoteright
+ case 214 :
+ buf.append("\u1e37");
+ break; // l underring [actually underdot]
+ case 215 :
+ buf.append("\u1e41");
+ break; // m overdot
+ case 216 :
+ buf.append("n\u0306");
+ break; // n breve
+ case 217 :
+ buf.append("\u00d7");
+ break; // multiply
+ case 219 :
+ buf.append("\u1e5b");
+ break; // r underring [actually underdot]
+ case 220 :
+ buf.append("\u1e44");
+ break; // N overdot
+ case 221 :
+ buf.append("\u1e62");
+ break; // S underdot
+ case 222 :
+ buf.append("\u1e24");
+ break; // H underdot
+ case 223 :
+ buf.append("\u1e0c");
+ break; // D underdot
+ case 224 :
+ buf.append("\u2021");
+ break; // daggerdbl
+ case 226 :
+ buf.append("\u1e36");
+ break; // L underdot
+ case 227 :
+ buf.append("\u0113");
+ break; // e macron
+ case 229 :
+ buf.append("\u1e5f");
+ break; // r underbar
+ case 230 :
+ buf.append("r\u0324");
+ break; // r underdieresis
+ case 231 :
+ buf.append("\u012a");
+ break; // I macron
+ case 232 :
+ buf.append("\u016b");
+ break; // u macron
+ case 233 :
+ buf.append("\u01e6c");
+ break; // T underdot
+ case 234 :
+ buf.append("\u1e64");
+ break; // S acute
+ case 235 :
+ buf.append("\u2020");
+ break; // dagger
+ case 236 :
+ buf.append("\u0115");
+ break; // e breve
+ case 237 :
+ buf.append("\u014f");
+ break; // o breve
+ case 238 :
+ buf.append("\u0100");
+ break; // A macron
+ case 239 :
+ buf.append("\u1e46");
+ break; // N underdot
+ case 241 :
+ buf.append("\u1e3b");
+ break; // l underbar
+ case 242 :
+ buf.append("\u016a");
+ break; // U macron
+ case 243 :
+ buf.append("\u0179");
+ break; // Z acute
+ case 244 :
+ buf.append("\u1e5a");
+ break; // R underdot
+ case 245 :
+ buf.append("\u0131");
+ break; // dotlessi
+ case 246 :
+ buf.append("\u1e47");
+ break; // n underdot
+ case 247 :
+ buf.append("\u1e49");
+ break; // n underbar
+ case 248 :
+ buf.append("\u0304");
+ break; // macron
+ case 249 :
+ buf.append("\u0306");
+ break; // breve
+ case 250 :
+ buf.append("\u1e25");
+ break; // h underdot
+ case 251 :
+ buf.append("\u012d");
+ break; // i breve
+ case 252 :
+ buf.append("\u0327");
+ break; // cedilla
+ case 253 :
+ buf.append("\u030b");
+ break; // hungarumlaut
+ case 254 :
+ buf.append("\u0328");
+ break; // ogonek
+ case 255 :
+ buf.append("\u030c");
+ break; // caron
+ case 130 :
+ buf.append("\u012b\u0303");
+ break; // imacron tilde
+ case 165 :
+ buf.append("\u1e5d");
+ break; // runderdot macron
+ case 170 :
+ buf.append("\u016b\0306");
+ break; // umacron breve
+ case 178 :
+ buf.append("\u0101\u0301");
+ break; // amacron acute
+ case 179 :
+ buf.append("\u016b\u0301");
+ break; // umacron acute
+ case 184 :
+ buf.append("\u0113\u0301");
+ break; // emacron acute
+ case 187 :
+ buf.append("\u0113\u0300");
+ break; // emacron breve
+ case 188 :
+ buf.append("\u014d\u0300");
+ break; // omacron breve
+ case 193 :
+ buf.append("\u0101\u0306");
+ break; // amacron breve
+ case 198 :
+ buf.append("\u0101\u0303");
+ break; // amacron tilde
+ case 199 :
+ buf.append("\u012b\u0301");
+ break; // imacron acute
+ case 218 :
+ buf.append("\u1e00");
+ break; // runderdotmacron acute
+ case 225 :
+ buf.append("\u1e5b\u0301");
+ break; // runderdot acute
+ case 228 :
+ buf.append("\u012b\u0306");
+ break; // imacron breve
+ case 240 :
+ buf.append("\u016b\u0303");
+ break; // umacron tilde
+ default :
+ buf.append(c);
+ break;
}
}
return buf.toString();
}
- static public String normanToUnicodeNew(String inp) {
+ static public String normanToUnicodeNew(String inp)
+ {
StringBuffer buf = new StringBuffer();
- for (int i = 0; i < inp.length(); i++) {
+ for (int i = 0; i < inp.length(); i++)
+ {
char c = inp.charAt(i);
- switch (c) {
- case 1: buf.append("\u00d0"); break; // Eth
- case 2: buf.append("\u00f0"); break; // eth
- case 3: buf.append("\u0141"); break; // Lslash
- case 4: buf.append("\u0142"); break; // lslash
- case 5: buf.append("\u0160"); break; // S caron
- case 6: buf.append("\u0161"); break; // s caron
- case 7: buf.append("\u00dd"); break; // Y acute
- case 8: buf.append("\u00fd"); break; // y acute
- case 11: buf.append("\u00de"); break; // Thorn
- case 12: buf.append("\u00fe"); break; // thorn
- case 14: buf.append("\u017d"); break; // Z caron
- case 15: buf.append("\u017e"); break; // z caron
- case 17: buf.append("\u0073"); break; // asciitilde
- case 18: buf.append("j\u0305"); break; // j macron [does a single char exist?]
- case 19: buf.append("^"); break; // circumflex
- case 20: buf.append("\u0303"); break; // tilde
- case 21: buf.append("\u00bd"); break; // onehalf
- case 22: buf.append("\u00bc"); break; // onequarter
- case 23: buf.append("\u00b9"); break; // onesuperior
- case 24: buf.append("\u00be"); break; // threequarters
- case 25: buf.append("\u00b3"); break; // threesuperior
- case 26: buf.append("\u00b2"); break; // twosuperior
- case 27: buf.append("\u00a6"); break; // brokenbar
- case 28: buf.append("-"); break; // minus
- case 29: buf.append("\u00d7"); break; // multiply
- case 39: buf.append("'"); break; // quotesingle
- case 94: buf.append("\u0302"); break; // circumflex
- case 96: buf.append("\u0300"); break; // grave
- case 196: buf.append("\u00c4"); break; // A dieresis
- case 197: buf.append("\u00c5"); break; // A ring
- case 201: buf.append("\u00c9"); break; // E acute
- case 209: buf.append("\u00d1"); break; // N tilde
- case 214: buf.append("\u00d6"); break; // O dieresis
- case 220: buf.append("\u00dc"); break; // U dieresis
- case 225: buf.append("\u00e1"); break; // a acute
- case 224: buf.append("\u00e0"); break; // a grave
- case 226: buf.append("\u00e2"); break; // a circumflex
- case 228: buf.append("\u00e4"); break; // a dieresis
- case 227: buf.append("\u00e3"); break; // a tilde
- case 229: buf.append("\u0101"); break; // a macron
- case 231: buf.append("\u00e7"); break; // c cedilla
- case 233: buf.append("\u00e9"); break; // e acute
- case 232: buf.append("\u00e8"); break; // e grave
- case 234: buf.append("\u00ea"); break; // e circumflex
- case 235: buf.append("\u00eb"); break; // e dieresis
- case 237: buf.append("\u00ed"); break; // i acute
- case 236: buf.append("\u00ec"); break; // i grave
- case 238: buf.append("\u00ee"); break; // i circumflex
- case 239: buf.append("\u00ef"); break; // i dieresis
- case 241: buf.append("\u00f1"); break; // n tilde
- case 243: buf.append("\u00f3"); break; // o acute
- case 242: buf.append("\u00f2"); break; // o grave
- case 244: buf.append("\u00f4"); break; // o circumflex
- case 246: buf.append("\u00f6"); break; // o dieresis
- case 245: buf.append("\u00f5"); break; // o tilde
- case 250: buf.append("\u00fa"); break; // u acute
- case 249: buf.append("\u00f9"); break; // u grave
- case 251: buf.append("\u00fb"); break; // u circumflex
- case 252: buf.append("\u00fc"); break; // u dieresis
- case 8224: buf.append("\u1e6d"); break; // t underdot
- case 176: buf.append("\u00b0"); break; // degree
- case 162: buf.append("\u1ebd"); break; // e tilde
- case 163: buf.append("\u00a3"); break; // sterling
- case 167: buf.append("\u00a7"); break; // section
- case 182: buf.append("\u00b6"); break; // paragraph
- case 223: buf.append("\u015b"); break; // s acute
- case 174: buf.append("\u1e5b"); break; // r underdot
- case 169: buf.append("\u1e45"); break; // n overdot
- case 180: buf.append("\u0301"); break; // acute
- case 168: buf.append("\u0308"); break; // dieresis
- case 8800: buf.append("\u1e6d"); break; // t underdot
- case 198: buf.append("\u00c6"); break; // AE
- case 216: buf.append("\u014d"); break; // o macron
- case 8734: buf.append("\u0129"); break; // i tilde
- case 177: buf.append("\u00b1"); break; // plusminus
- case 165: buf.append("\u012b"); break; // i macron
- case 181: buf.append("\u1e43"); break; // m underdot
- case 8706: buf.append("\u1e0d"); break; // d underdot
- case 8721: buf.append("\u1e63"); break; // s underdot
- case 960: buf.append("\u017a"); break; // z acute
- case 8747: buf.append("\u1e45"); break; // n overdot
- case 937: buf.append("\u0169"); break; // u tilde
- case 230: buf.append("\u00e6"); break; // ae
- case 248: buf.append("\u00f8"); break; // oslash
- case 191: buf.append("\u0304\u0306"); break; // macron breve
- case 172: buf.append("\u1e37"); break; //
- case 8730: buf.append("j\u0305"); break; // j macron [does a single char exist?]
- case 402: buf.append("\u0103"); break; // a breve
- case 8776: buf.append("\u016d"); break; // u breve
- case 187: buf.append("\u1e42"); break; // M underdot
- case 8230: buf.append("\u2026"); break; // ellipsis
- case 192: buf.append("\u00c0"); break; // A grave
- case 195: buf.append("\u00c3"); break; // A tilde
- case 213: buf.append("\u00d5"); break; // O tilde
- case 338: buf.append("m\u0306"); break; // m breve
- case 339: buf.append("\u0153"); break; // oe
- case 8211: buf.append("\u2013"); break; // endash
- case 8212: buf.append("\u2014"); break; // emdash
- case 8220: buf.append("\u201c"); break; // quotedblleft
- case 8221: buf.append("\u201d"); break; // quotedblright
- case 8216: buf.append("\u2018"); break; // quoteleft
- case 8217: buf.append("\u2019"); break; // quoteright
- case 247: buf.append("\u1e37"); break; // l underring [actually underdot]
- case 9674: buf.append("\u1e41"); break; // m overdot
- case 255: buf.append("n\u0306"); break; // n breve
- case 376: buf.append("\u00d7"); break; // multiply
- case 8364: buf.append("\u1e5b"); break; // r underring [actually underdot]
- case 8249: buf.append("\u1e44"); break; // N overdot
- case 8250: buf.append("\u1e62"); break; // S underdot
- case 64257: buf.append("\u1e24"); break; // H underdot
- case 64258: buf.append("\u1e0c"); break; // D underdot
- case 8225: buf.append("\u2021"); break; // daggerdbl
- case 8218: buf.append("\u1e36"); break; // L underdot
- case 8222: buf.append("\u0113"); break; // e macron
- case 194: buf.append("\u1e5f"); break; // r underbar
- case 202: buf.append("r\u0324"); break; // r underdieresis
- case 193: buf.append("\u012a"); break; // I macron
- case 203: buf.append("\u016b"); break; // u macron
- case 200: buf.append("\u1e6c"); break; // T underdot
- case 205: buf.append("\u1e64"); break; // S acute
- case 206: buf.append("\u2020"); break; // dagger
- case 207: buf.append("\u0115"); break; // e breve
- case 204: buf.append("\u014f"); break; // o breve
- case 211: buf.append("\u0100"); break; // A macron
- case 212: buf.append("\u1e46"); break; // N underdot
- case 210: buf.append("\u1e3b"); break; // l underbar
- case 218: buf.append("\u016a"); break; // U macron
- case 219: buf.append("\u0179"); break; // Z acute
- case 217: buf.append("\u1e5a"); break; // R underdot
- case 305: buf.append("\u0131"); break; // dotlessi
- case 710: buf.append("\u1e47"); break; // n underdot
- case 732: buf.append("\u1e49"); break; // n underbar
- case 175: buf.append("\u0304"); break; // macron
- case 728: buf.append("\u0306"); break; // breve
- case 729: buf.append("\u1e25"); break; // h underdot
- case 730: buf.append("\u012d"); break; // i breve
- case 184: buf.append("\u0327"); break; // cedilla
- case 733: buf.append("\u030b"); break; // hungarumlaut
- case 731: buf.append("\u0328"); break; // ogonek
- case 711: buf.append("\u030c"); break; // caron
- case 199: buf.append("\u012b\u0303"); break; // imacron tilde
- case 8226: buf.append("\u1e5d"); break; // runderdot macron
- case 8482: buf.append("\u016b\0306"); break; // umacron breve
- case 8804: buf.append("\u0101\u0301"); break; // amacron acute
- case 8805: buf.append("\u016b\u0301"); break; // umacron acute
- case 8719: buf.append("\u0113\u0301"); break; // emacron acute
- case 170: buf.append("\u0113\u0300"); break; // emacron breve
- case 186: buf.append("\u014d\u0300"); break; // omacron breve
- case 161: buf.append("\u0101\u0306"); break; // amacron breve
- case 8710: buf.append("\u0101\u0303"); break; // amacron tilde
- case 171: buf.append("\u012b\u0301"); break; // imacron acute
- case 8260: buf.append("\u1e00"); break; // runderdotmacron acute
- case 183: buf.append("\u1e5b\u0301"); break; // runderdot acute
- case 8240: buf.append("\u012b\u0306"); break; // imacron breve
- case 63743: buf.append("\u016b\u0303"); break; // umacron tilde
- default: buf.append(c); break;
+ switch (c)
+ {
+ case 1 :
+ buf.append("\u00d0");
+ break; // Eth
+ case 2 :
+ buf.append("\u00f0");
+ break; // eth
+ case 3 :
+ buf.append("\u0141");
+ break; // Lslash
+ case 4 :
+ buf.append("\u0142");
+ break; // lslash
+ case 5 :
+ buf.append("\u0160");
+ break; // S caron
+ case 6 :
+ buf.append("\u0161");
+ break; // s caron
+ case 7 :
+ buf.append("\u00dd");
+ break; // Y acute
+ case 8 :
+ buf.append("\u00fd");
+ break; // y acute
+ case 11 :
+ buf.append("\u00de");
+ break; // Thorn
+ case 12 :
+ buf.append("\u00fe");
+ break; // thorn
+ case 14 :
+ buf.append("\u017d");
+ break; // Z caron
+ case 15 :
+ buf.append("\u017e");
+ break; // z caron
+ case 17 :
+ buf.append("\u0073");
+ break; // asciitilde
+ case 18 :
+ buf.append("j\u0305");
+ break; // j macron [does a single char exist?]
+ case 19 :
+ buf.append("^");
+ break; // circumflex
+ case 20 :
+ buf.append("\u0303");
+ break; // tilde
+ case 21 :
+ buf.append("\u00bd");
+ break; // onehalf
+ case 22 :
+ buf.append("\u00bc");
+ break; // onequarter
+ case 23 :
+ buf.append("\u00b9");
+ break; // onesuperior
+ case 24 :
+ buf.append("\u00be");
+ break; // threequarters
+ case 25 :
+ buf.append("\u00b3");
+ break; // threesuperior
+ case 26 :
+ buf.append("\u00b2");
+ break; // twosuperior
+ case 27 :
+ buf.append("\u00a6");
+ break; // brokenbar
+ case 28 :
+ buf.append("-");
+ break; // minus
+ case 29 :
+ buf.append("\u00d7");
+ break; // multiply
+ case 39 :
+ buf.append("'");
+ break; // quotesingle
+ case 94 :
+ buf.append("\u0302");
+ break; // circumflex
+ case 96 :
+ buf.append("\u0300");
+ break; // grave
+ case 196 :
+ buf.append("\u00c4");
+ break; // A dieresis
+ case 197 :
+ buf.append("\u00c5");
+ break; // A ring
+ case 201 :
+ buf.append("\u00c9");
+ break; // E acute
+ case 209 :
+ buf.append("\u00d1");
+ break; // N tilde
+ case 214 :
+ buf.append("\u00d6");
+ break; // O dieresis
+ case 220 :
+ buf.append("\u00dc");
+ break; // U dieresis
+ case 225 :
+ buf.append("\u00e1");
+ break; // a acute
+ case 224 :
+ buf.append("\u00e0");
+ break; // a grave
+ case 226 :
+ buf.append("\u00e2");
+ break; // a circumflex
+ case 228 :
+ buf.append("\u00e4");
+ break; // a dieresis
+ case 227 :
+ buf.append("\u00e3");
+ break; // a tilde
+ case 229 :
+ buf.append("\u0101");
+ break; // a macron
+ case 231 :
+ buf.append("\u00e7");
+ break; // c cedilla
+ case 233 :
+ buf.append("\u00e9");
+ break; // e acute
+ case 232 :
+ buf.append("\u00e8");
+ break; // e grave
+ case 234 :
+ buf.append("\u00ea");
+ break; // e circumflex
+ case 235 :
+ buf.append("\u00eb");
+ break; // e dieresis
+ case 237 :
+ buf.append("\u00ed");
+ break; // i acute
+ case 236 :
+ buf.append("\u00ec");
+ break; // i grave
+ case 238 :
+ buf.append("\u00ee");
+ break; // i circumflex
+ case 239 :
+ buf.append("\u00ef");
+ break; // i dieresis
+ case 241 :
+ buf.append("\u00f1");
+ break; // n tilde
+ case 243 :
+ buf.append("\u00f3");
+ break; // o acute
+ case 242 :
+ buf.append("\u00f2");
+ break; // o grave
+ case 244 :
+ buf.append("\u00f4");
+ break; // o circumflex
+ case 246 :
+ buf.append("\u00f6");
+ break; // o dieresis
+ case 245 :
+ buf.append("\u00f5");
+ break; // o tilde
+ case 250 :
+ buf.append("\u00fa");
+ break; // u acute
+ case 249 :
+ buf.append("\u00f9");
+ break; // u grave
+ case 251 :
+ buf.append("\u00fb");
+ break; // u circumflex
+ case 252 :
+ buf.append("\u00fc");
+ break; // u dieresis
+ case 8224 :
+ buf.append("\u1e6d");
+ break; // t underdot
+ case 176 :
+ buf.append("\u00b0");
+ break; // degree
+ case 162 :
+ buf.append("\u1ebd");
+ break; // e tilde
+ case 163 :
+ buf.append("\u00a3");
+ break; // sterling
+ case 167 :
+ buf.append("\u00a7");
+ break; // section
+ case 182 :
+ buf.append("\u00b6");
+ break; // paragraph
+ case 223 :
+ buf.append("\u015b");
+ break; // s acute
+ case 174 :
+ buf.append("\u1e5b");
+ break; // r underdot
+ case 169 :
+ buf.append("\u1e45");
+ break; // n overdot
+ case 180 :
+ buf.append("\u0301");
+ break; // acute
+ case 168 :
+ buf.append("\u0308");
+ break; // dieresis
+ case 8800 :
+ buf.append("\u1e6d");
+ break; // t underdot
+ case 198 :
+ buf.append("\u00c6");
+ break; // AE
+ case 216 :
+ buf.append("\u014d");
+ break; // o macron
+ case 8734 :
+ buf.append("\u0129");
+ break; // i tilde
+ case 177 :
+ buf.append("\u00b1");
+ break; // plusminus
+ case 165 :
+ buf.append("\u012b");
+ break; // i macron
+ case 181 :
+ buf.append("\u1e43");
+ break; // m underdot
+ case 8706 :
+ buf.append("\u1e0d");
+ break; // d underdot
+ case 8721 :
+ buf.append("\u1e63");
+ break; // s underdot
+ case 960 :
+ buf.append("\u017a");
+ break; // z acute
+ case 8747 :
+ buf.append("\u1e45");
+ break; // n overdot
+ case 937 :
+ buf.append("\u0169");
+ break; // u tilde
+ case 230 :
+ buf.append("\u00e6");
+ break; // ae
+ case 248 :
+ buf.append("\u00f8");
+ break; // oslash
+ case 191 :
+ buf.append("\u0304\u0306");
+ break; // macron breve
+ case 172 :
+ buf.append("\u1e37");
+ break; //
+ case 8730 :
+ buf.append("j\u0305");
+ break; // j macron [does a single char exist?]
+ case 402 :
+ buf.append("\u0103");
+ break; // a breve
+ case 8776 :
+ buf.append("\u016d");
+ break; // u breve
+ case 187 :
+ buf.append("\u1e42");
+ break; // M underdot
+ case 8230 :
+ buf.append("\u2026");
+ break; // ellipsis
+ case 192 :
+ buf.append("\u00c0");
+ break; // A grave
+ case 195 :
+ buf.append("\u00c3");
+ break; // A tilde
+ case 213 :
+ buf.append("\u00d5");
+ break; // O tilde
+ case 338 :
+ buf.append("m\u0306");
+ break; // m breve
+ case 339 :
+ buf.append("\u0153");
+ break; // oe
+ case 8211 :
+ buf.append("\u2013");
+ break; // endash
+ case 8212 :
+ buf.append("\u2014");
+ break; // emdash
+ case 8220 :
+ buf.append("\u201c");
+ break; // quotedblleft
+ case 8221 :
+ buf.append("\u201d");
+ break; // quotedblright
+ case 8216 :
+ buf.append("\u2018");
+ break; // quoteleft
+ case 8217 :
+ buf.append("\u2019");
+ break; // quoteright
+ case 247 :
+ buf.append("\u1e37");
+ break; // l underring [actually underdot]
+ case 9674 :
+ buf.append("\u1e41");
+ break; // m overdot
+ case 255 :
+ buf.append("n\u0306");
+ break; // n breve
+ case 376 :
+ buf.append("\u00d7");
+ break; // multiply
+ case 8364 :
+ buf.append("\u1e5b");
+ break; // r underring [actually underdot]
+ case 8249 :
+ buf.append("\u1e44");
+ break; // N overdot
+ case 8250 :
+ buf.append("\u1e62");
+ break; // S underdot
+ case 64257 :
+ buf.append("\u1e24");
+ break; // H underdot
+ case 64258 :
+ buf.append("\u1e0c");
+ break; // D underdot
+ case 8225 :
+ buf.append("\u2021");
+ break; // daggerdbl
+ case 8218 :
+ buf.append("\u1e36");
+ break; // L underdot
+ case 8222 :
+ buf.append("\u0113");
+ break; // e macron
+ case 194 :
+ buf.append("\u1e5f");
+ break; // r underbar
+ case 202 :
+ buf.append("r\u0324");
+ break; // r underdieresis
+ case 193 :
+ buf.append("\u012a");
+ break; // I macron
+ case 203 :
+ buf.append("\u016b");
+ break; // u macron
+ case 200 :
+ buf.append("\u1e6c");
+ break; // T underdot
+ case 205 :
+ buf.append("\u1e64");
+ break; // S acute
+ case 206 :
+ buf.append("\u2020");
+ break; // dagger
+ case 207 :
+ buf.append("\u0115");
+ break; // e breve
+ case 204 :
+ buf.append("\u014f");
+ break; // o breve
+ case 211 :
+ buf.append("\u0100");
+ break; // A macron
+ case 212 :
+ buf.append("\u1e46");
+ break; // N underdot
+ case 210 :
+ buf.append("\u1e3b");
+ break; // l underbar
+ case 218 :
+ buf.append("\u016a");
+ break; // U macron
+ case 219 :
+ buf.append("\u0179");
+ break; // Z acute
+ case 217 :
+ buf.append("\u1e5a");
+ break; // R underdot
+ case 305 :
+ buf.append("\u0131");
+ break; // dotlessi
+ case 710 :
+ buf.append("\u1e47");
+ break; // n underdot
+ case 732 :
+ buf.append("\u1e49");
+ break; // n underbar
+ case 175 :
+ buf.append("\u0304");
+ break; // macron
+ case 728 :
+ buf.append("\u0306");
+ break; // breve
+ case 729 :
+ buf.append("\u1e25");
+ break; // h underdot
+ case 730 :
+ buf.append("\u012d");
+ break; // i breve
+ case 184 :
+ buf.append("\u0327");
+ break; // cedilla
+ case 733 :
+ buf.append("\u030b");
+ break; // hungarumlaut
+ case 731 :
+ buf.append("\u0328");
+ break; // ogonek
+ case 711 :
+ buf.append("\u030c");
+ break; // caron
+ case 199 :
+ buf.append("\u012b\u0303");
+ break; // imacron tilde
+ case 8226 :
+ buf.append("\u1e5d");
+ break; // runderdot macron
+ case 8482 :
+ buf.append("\u016b\0306");
+ break; // umacron breve
+ case 8804 :
+ buf.append("\u0101\u0301");
+ break; // amacron acute
+ case 8805 :
+ buf.append("\u016b\u0301");
+ break; // umacron acute
+ case 8719 :
+ buf.append("\u0113\u0301");
+ break; // emacron acute
+ case 170 :
+ buf.append("\u0113\u0300");
+ break; // emacron breve
+ case 186 :
+ buf.append("\u014d\u0300");
+ break; // omacron breve
+ case 161 :
+ buf.append("\u0101\u0306");
+ break; // amacron breve
+ case 8710 :
+ buf.append("\u0101\u0303");
+ break; // amacron tilde
+ case 171 :
+ buf.append("\u012b\u0301");
+ break; // imacron acute
+ case 8260 :
+ buf.append("\u1e00");
+ break; // runderdotmacron acute
+ case 183 :
+ buf.append("\u1e5b\u0301");
+ break; // runderdot acute
+ case 8240 :
+ buf.append("\u012b\u0306");
+ break; // imacron breve
+ case 63743 :
+ buf.append("\u016b\u0303");
+ break; // umacron tilde
+ default :
+ buf.append(c);
+ break;
}
}
return buf.toString();
}
- public static ConversionProperties getFieldNamesAndDestTableName(String create,String query,String tableName )
+ public static ConversionProperties getFieldNamesAndDestTableName(String create, String query, String tableName)
{
String[] fieldNames = null;
String destTableName = null;
@@ -2695,7 +3693,7 @@ class Convert
{
String fieldName = tokenizer.nextToken().trim();
fieldNames[fieldIndex] = convertText(fieldName);
- // System.out.println("field "+ fieldNames[fieldIndex]);
+ // System.out.println("field "+ fieldNames[fieldIndex]);
fieldIndex++;
}
@@ -2708,10 +3706,70 @@ class Convert
{
String element = (String) iter.next();
fieldNames[++fieldIndex] = bean.getQC() + convertText(element) + bean.getQC();
- // System.out.println("field " + fieldNames[fieldIndex]);
+ // System.out.println("field " + fieldNames[fieldIndex]);
}
}
}
- return new ConversionProperties(destTableName,fieldNames);
+ return new ConversionProperties(destTableName, fieldNames);
+ }
+ /**
+ * creates an insert into statement for the specified table and given
+ * field names
+ * @param destTableName
+ * @param fieldNames
+ * @return
+ */
+ public static StringBuffer createInsertCommand(String destTableName, String[] fieldNames)
+ {
+ StringBuffer command = new StringBuffer();
+ command.append("INSERT INTO ");
+ command.append(beanDest.getQC());
+ command.append(destTableName); //convertText((String) names.get(tbIndex)));
+ command.append(beanDest.getQC());
+ command.append(" (");
+ for (int i = 0; i < fieldNames.length; i++)
+ {
+ command.append(fieldNames[i]);
+ if (i < fieldNames.length - 1)
+ command.append(",");
+ }
+ command.append(") ");
+
+ command.append(" values ( ");
+ // add a question marks for every field
+ for (int i = 0; i < bean.getColumnNames().size() - 1; ++i)
+ command.append("?,");
+ command.append("?)");
+ return command;
+ }
+ public static StringBuffer createUpdateCommand(String destTableName, String[] fieldNames, String id)
+ {
+ StringBuffer command = new StringBuffer();
+
+ command.append("UPDATE ");
+ command.append(beanDest.getQC());
+ command.append(destTableName);
+ //command.append(convertText((String) names.get(tbIndex)));
+ command.append(beanDest.getQC());
+ command.append(" SET ");
+
+ int size = bean.getColumnNames().size();
+ for (int i = 0; i < size - 1; ++i)
+ command.append(fieldNames[i] + " = ? ,");
+ command.append(fieldNames[size - 1] + " = ? ");
+ command.append("WHERE " + id + " = ?");
+ return command;
+ }
+ public static StringBuffer createDeleteCommand(String destTableName, String idField)
+ {
+ StringBuffer command = new StringBuffer();
+
+ command.append("DELETE FROM");
+ command.append(beanDest.getQC());
+ command.append(destTableName);
+ //command.append(convertText((String) names.get(tbIndex)));
+ command.append(beanDest.getQC());
+ command.append("WHERE " + idField + " = ?");
+ return command;
}
}
\ No newline at end of file