public static GetCanonical ( int c, int buf, int bufIdx ) : void | ||
c | int | |
buf | int | |
bufIdx | int | |
return | void |
private static void DecomposeChar(ref StringBuilder sb, ref int[] buf, string s, int i, ref int start) { if (sb == null) { sb = new StringBuilder(s.Length + 100); } sb.Append(s, start, i - start); if (buf == null) { buf = new int[19]; } Normalization.GetCanonical((int)s[i], buf, 0); int num = 0; while (buf[num] != 0) { if (buf[num] < 65535) { sb.Append((char)buf[num]); } else { sb.Append((char)(buf[num] >> 10)); sb.Append((char)((buf[num] & 4095) + 56320)); } num++; } start = i + 1; }