make/tools/src/build/tools/charsetmapping/GenerateDBCS.java

Print this page




  46             String[] fields = line.split("\\s+");
  47             if (fields.length < 10) {
  48                 System.err.println("Misconfiged sbcs line <" + line + ">?");
  49                 continue;
  50             }
  51             String clzName = fields[0];
  52             String csName  = fields[1];
  53             String hisName = ("null".equals(fields[2]))?null:fields[2];
  54             String type = fields[3].toUpperCase();
  55             if ("BASIC".equals(type))
  56                 type = "";
  57             else
  58                 type = "_" + type;
  59             String pkgName  = fields[4];
  60             boolean isASCII = Boolean.valueOf(fields[5]);
  61             int    b1Min = toInteger(fields[6]);
  62             int    b1Max = toInteger(fields[7]);
  63             int    b2Min    = toInteger(fields[8]);
  64             int    b2Max    = toInteger(fields[9]);
  65             System.out.printf("%s,%s,%s,%b,%s%n", clzName, csName, hisName, isASCII, pkgName);
  66             genClass(args[0], args[1], "DoubleByte-X.java",
  67                     clzName, csName, hisName, pkgName,
  68                     isASCII, type,
  69                     b1Min, b1Max, b2Min, b2Max);
  70         }
  71     }
  72 
  73     private static int toInteger(String s) {
  74         if (s.startsWith("0x") || s.startsWith("0X"))
  75             return Integer.valueOf(s.substring(2), 16);
  76         else
  77             return Integer.valueOf(s);
  78     }
  79 
  80     private static void outString(Formatter out,
  81                                   char[] cc, int off, int end,
  82                                   String closure)
  83     {
  84         while (off < end) {
  85             out.format("        \"");
  86             for (int j = 0; j < 8; j++) {




  46             String[] fields = line.split("\\s+");
  47             if (fields.length < 10) {
  48                 System.err.println("Misconfiged sbcs line <" + line + ">?");
  49                 continue;
  50             }
  51             String clzName = fields[0];
  52             String csName  = fields[1];
  53             String hisName = ("null".equals(fields[2]))?null:fields[2];
  54             String type = fields[3].toUpperCase();
  55             if ("BASIC".equals(type))
  56                 type = "";
  57             else
  58                 type = "_" + type;
  59             String pkgName  = fields[4];
  60             boolean isASCII = Boolean.valueOf(fields[5]);
  61             int    b1Min = toInteger(fields[6]);
  62             int    b1Max = toInteger(fields[7]);
  63             int    b2Min    = toInteger(fields[8]);
  64             int    b2Max    = toInteger(fields[9]);
  65             System.out.printf("%s,%s,%s,%b,%s%n", clzName, csName, hisName, isASCII, pkgName);
  66             genClass(args[0], args[1], "DoubleByte-X.java.template",
  67                     clzName, csName, hisName, pkgName,
  68                     isASCII, type,
  69                     b1Min, b1Max, b2Min, b2Max);
  70         }
  71     }
  72 
  73     private static int toInteger(String s) {
  74         if (s.startsWith("0x") || s.startsWith("0X"))
  75             return Integer.valueOf(s.substring(2), 16);
  76         else
  77             return Integer.valueOf(s);
  78     }
  79 
  80     private static void outString(Formatter out,
  81                                   char[] cc, int off, int end,
  82                                   String closure)
  83     {
  84         while (off < end) {
  85             out.format("        \"");
  86             for (int j = 0; j < 8; j++) {