private static void InitNamedCategory(string name, int[] cats) { Bitset bs = new Bitset(); foreach(int cat in cats){ bs.SetCategory(cat); } namedClasses[name] = bs; }
private static void InitNames() { InitNamedCategory("C",new int[]{UnicodeConstants.Cn,UnicodeConstants.Cc,UnicodeConstants.Cf,UnicodeConstants.Co,UnicodeConstants.Cs}); InitNamedCategory("Cn",UnicodeConstants.Cn); InitNamedCategory("Cc",UnicodeConstants.Cc); InitNamedCategory("Cf",UnicodeConstants.Cf); InitNamedCategory("Co",UnicodeConstants.Co); InitNamedCategory("Cs",UnicodeConstants.Cs); InitNamedCategory("L",new int[]{UnicodeConstants.Lu,UnicodeConstants.Ll,UnicodeConstants.Lt,UnicodeConstants.Lm,UnicodeConstants.Lo}); InitNamedCategory("Lu",UnicodeConstants.Lu); InitNamedCategory("Ll",UnicodeConstants.Ll); InitNamedCategory("Lt",UnicodeConstants.Lt); InitNamedCategory("Lm",UnicodeConstants.Lm); InitNamedCategory("Lo",UnicodeConstants.Lo); InitNamedCategory("M",new int[]{UnicodeConstants.Mn,UnicodeConstants.Me,UnicodeConstants.Mc}); InitNamedCategory("Mn",UnicodeConstants.Mn); InitNamedCategory("Me",UnicodeConstants.Me); InitNamedCategory("Mc",UnicodeConstants.Mc); InitNamedCategory("N",new int[]{UnicodeConstants.Nd,UnicodeConstants.Nl,UnicodeConstants.No}); InitNamedCategory("Nd",UnicodeConstants.Nd); InitNamedCategory("Nl",UnicodeConstants.Nl); InitNamedCategory("No",UnicodeConstants.No); InitNamedCategory("Z",new int[]{UnicodeConstants.Zs,UnicodeConstants.Zl,UnicodeConstants.Zp}); InitNamedCategory("Zs",UnicodeConstants.Zs); InitNamedCategory("Zl",UnicodeConstants.Zl); InitNamedCategory("Zp",UnicodeConstants.Zp); InitNamedCategory("P",new int[]{UnicodeConstants.Pd,UnicodeConstants.Ps,UnicodeConstants.Pi,UnicodeConstants.Pe,UnicodeConstants.Pf,UnicodeConstants.Pc,UnicodeConstants.Po}); InitNamedCategory("Pd",UnicodeConstants.Pd); InitNamedCategory("Ps",UnicodeConstants.Ps); InitNamedCategory("Pi",UnicodeConstants.Pi); InitNamedCategory("Pe",UnicodeConstants.Pe); InitNamedCategory("Pf",UnicodeConstants.Pf); InitNamedCategory("Pc",UnicodeConstants.Pc); InitNamedCategory("Po",UnicodeConstants.Po); InitNamedCategory("S",new int[]{UnicodeConstants.Sm,UnicodeConstants.Sc,UnicodeConstants.Sk,UnicodeConstants.So}); InitNamedCategory("Sm",UnicodeConstants.Sm); InitNamedCategory("Sc",UnicodeConstants.Sc); InitNamedCategory("Sk",UnicodeConstants.Sk); InitNamedCategory("So",UnicodeConstants.So); Bitset bs = new Bitset(); bs.SetCategory(UnicodeConstants.Cn); RegisterClass("UNASSIGNED",bs,unicodeCategories); bs = new Bitset(); bs.SetCategory(UnicodeConstants.Cn); bs.SetPositive(false); RegisterClass("ASSIGNED",bs,unicodeCategories); string[] results = blockData.Split(new char[]{'.', ',', ':', ';'}, System.StringSplitOptions.RemoveEmptyEntries); int ix = 0; while(ix < results.Length) { int first = Convert.ToInt32(results[ix++], 16); int last = Convert.ToInt32(results[ix++], 16); string name = results[ix++]; InitNamedBlock(name,first,last); } InitNamedBlock("ALL",0,0xffff); namesInitialized=true; }
private static void InitNamedCategory(string name, int cat) { Bitset bs = new Bitset(); bs.SetCategory(cat); RegisterClass(name,bs,unicodeCategories); }