/* */ package com.ibm.icu.text;
/* */
/* */
/* */
/* */
/* */
/* */ final class RBNFChinesePostProcessor
/* */ implements RBNFPostProcessor
/* */ {
/* */ private boolean longForm;
/* */
/* */
/* */
/* */ private int format;
/* */
/* */
/* */
/* 18 */ private static final String[] rulesetNames = { "%traditional", "%simplified", "%accounting", "%time" };
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public void init(RuleBasedNumberFormat formatter, String rules) {}
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */ public void process(StringBuffer buf, NFRuleSet ruleSet)
/* */ {
/* 38 */ String name = ruleSet.getName();
/* 39 */ for (int i = 0; i < rulesetNames.length; i++) {
/* 40 */ if (rulesetNames[i].equals(name)) {
/* 41 */ this.format = i;
/* 42 */ this.longForm = ((i == 1) || (i == 3));
/* 43 */ break;
/* */ }
/* */ }
/* */
/* */
/* 48 */ if (this.longForm) {
/* 49 */ for (int i = buf.indexOf("*"); i != -1; i = buf.indexOf("*", i)) {
/* 50 */ buf.delete(i, i + 1);
/* */ }
/* 52 */ return;
/* */ }
/* */
/* 55 */ String DIAN = "點";
/* */
/* 57 */ String[][] markers = { { "萬", "億", "兆", "〇" }, { "万", "亿", "兆", "〇" }, { "萬", "億", "兆", "零" } };
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* */
/* 81 */ String[] m = markers[this.format];
/* 82 */ for (int i = 0; i < m.length - 1; i++) {
/* 83 */ int n = buf.indexOf(m[i]);
/* 84 */ if (n != -1) {
/* 85 */ buf.insert(n + m[i].length(), '|');
/* */ }
/* */ }
/* */
/* */
/* 90 */ int x = buf.indexOf("點");
/* 91 */ if (x == -1) {
/* 92 */ x = buf.length();
/* */ }
/* 94 */ int s = 0;
/* 95 */ int n = -1;
/* 96 */ String ling = markers[this.format][3];
/* 97 */ while (x >= 0) {
/* 98 */ int m = buf.lastIndexOf("|", x);
/* 99 */ int nn = buf.lastIndexOf(ling, x);
/* 100 */ int ns = 0;
/* 101 */ if (nn > m) {
/* 102 */ ns = (nn > 0) && (buf.charAt(nn - 1) != '*') ? 2 : 1;
/* */ }
/* 104 */ x = m - 1;
/* */
/* */
/* 107 */ switch (s * 3 + ns) {
/* */ case 0:
/* 109 */ s = ns;
/* 110 */ n = -1;
/* 111 */ break;
/* */ case 1:
/* 113 */ s = ns;
/* 114 */ n = nn;
/* 115 */ break;
/* */ case 2:
/* 117 */ s = ns;
/* 118 */ n = -1;
/* 119 */ break;
/* */ case 3:
/* 121 */ s = ns;
/* 122 */ n = -1;
/* 123 */ break;
/* */ case 4:
/* 125 */ buf.delete(nn - 1, nn + ling.length());
/* 126 */ s = 0;
/* 127 */ n = -1;
/* 128 */ break;
/* */ case 5:
/* 130 */ buf.delete(n - 1, n + ling.length());
/* 131 */ s = ns;
/* 132 */ n = -1;
/* 133 */ break;
/* */ case 6:
/* 135 */ s = ns;
/* 136 */ n = -1;
/* 137 */ break;
/* */ case 7:
/* 139 */ buf.delete(nn - 1, nn + ling.length());
/* 140 */ s = 0;
/* 141 */ n = -1;
/* 142 */ break;
/* */ case 8:
/* 144 */ s = ns;
/* 145 */ n = -1;
/* 146 */ break;
/* */ default:
/* 148 */ throw new IllegalStateException();
/* */ }
/* */
/* */ }
/* 152 */ int i = buf.length(); for (;;) { i--; if (i < 0) break;
/* 153 */ char c = buf.charAt(i);
/* 154 */ if ((c == '*') || (c == '|')) {
/* 155 */ buf.delete(i, i + 1);
/* */ }
/* */ }
/* */ }
/* */ }
/* Location: C:\Users\Ethan\Desktop\FontZip\FontTool\sfnttool.jar!\com\ibm\icu\text\RBNFChinesePostProcessor.class
* Java compiler version: 5 (49.0)
* JD-Core Version: 0.7.1
*/