8 public enum MTextFormat
10 MTEXT_FORMAT_US_ASCII,
12 MTEXT_FORMAT_UTF_16BE,
13 MTEXT_FORMAT_UTF_16LE,
14 MTEXT_FORMAT_UTF_32BE,
15 MTEXT_FORMAT_UTF_32LE,
22 public enum MTextFormat format;
25 private class MTextPlist : MPlist
27 public class MInterval
31 public int start, end;
32 public MInterval prev, next;
37 public MTextPlist (MText mt)
39 head = tail = new MInterval ();
41 head.end = mt.sb.Length;
45 private StringBuilder sb;
46 private int cache_pos;
47 private int cache_idx;
48 private MTextPlist plist;
50 private static UTF8Encoding utf8 = new UTF8Encoding ();
54 cache_pos = cache_idx = 0;
56 sb = new StringBuilder ();
59 public MText (byte[] str)
61 cache_pos = cache_idx = 0;
63 sb = new StringBuilder (utf8.GetString (str));
66 public MText (String str)
68 cache_pos = cache_idx = 0;
70 sb = new StringBuilder (str);
73 public int this[int i]
75 set { this.sb[i] = (char) value; }
76 get { return this.sb[i]; }
80 public class MTextProperty