private void method_40(string A_0) { if (!string.IsNullOrEmpty(A_0)) { if (this.list_0 != null) { this.list_0.Clear(); this.list_0 = null; } this.list_0 = new List <Class217>(); this.bool_10 = Class57.smethod_6(A_0[0]) == Spire.Doc.CharacterCategory.FarEast; this.bool_11 = Class57.smethod_6(A_0[A_0.Length - 1]) == Spire.Doc.CharacterCategory.FarEast; Class217 item = new Class217(); bool flag = false; bool flag2 = false; int num = 0; int length = A_0.Length; while (num < length) { flag = Class57.smethod_10(A_0[num]); if ((num + 1) >= length) { flag2 = false; } else { flag2 = Class57.smethod_10(A_0[num + 1]); } if (!item.method_2().HasValue&& flag) { item.method_3(new int?(num)); item.method_7(num == 0); item.method_11(Class57.smethod_11(A_0[num])); } if (item.method_2().HasValue&& !flag2) { item.method_1(new int?(num)); item.method_5((num + 1) == length); item.method_9(Class57.smethod_11(A_0[num])); } if (item.method_2().HasValue&& item.method_0().HasValue) { this.LetterOrDigitPosition.Add(item); item = new Class217(); } num++; } } }
internal void method_42(ParagraphItemCollection A_0) { if ((((this.CharacterCategory == Spire.Doc.CharacterCategory.FarEast) && (this.LetterOrDigitPosition.Count > 0)) && (((base.interface23_0 != null) && !base.interface23_0.imethod_4()) || (base.interface23_0 == null))) && (!(base.PreviousSibling is FieldMark) || !(base.NextSibling is FieldMark))) { string text = this.Text; int startPos = this.StartPos; int startIndex = 0; int num3 = 0; int count = this.LetterOrDigitPosition.Count; while (num3 < count) { Class217 class2 = this.LetterOrDigitPosition[num3]; Class217 class3 = null; if (num3 < (count - 1)) { class3 = this.LetterOrDigitPosition[num3 + 1]; } if ((num3 == 0) && !class2.method_6()) { string str3 = text.Substring(startIndex, class2.method_2().Value); this.method_43(A_0, str3, startPos); startPos += str3.Length; startIndex += str3.Length; str3 = text.Substring(startIndex, (class2.method_0().Value - class2.method_2().Value) + 1); this.method_43(A_0, str3, startPos); startPos += str3.Length; startIndex += str3.Length; if (class3 == null) { str3 = text.Substring(startIndex); } else if ((class3.method_2().Value - class2.method_0().Value) > 1) { str3 = text.Substring(startIndex, (class3.method_2().Value - class2.method_0().Value) - 1); } if (str3.Length > 0) { this.method_43(A_0, str3, startPos); startPos += str3.Length; startIndex += str3.Length; } } else { string str = text.Substring(startIndex, (class2.method_0().Value - class2.method_2().Value) + 1); this.method_43(A_0, str, startPos); startPos += str.Length; startIndex += str.Length; if (class3 == null) { str = text.Substring(startIndex); } else if ((class3.method_2().Value - class2.method_0().Value) > 1) { str = text.Substring(startIndex, (class3.method_2().Value - class2.method_0().Value) - 1); } if (str.Length > 0) { this.method_43(A_0, str, startPos); startPos += str.Length; startIndex += str.Length; } } num3++; } } else { A_0.InnerList.Add(this); } }