private bool method_26(Class762 A_0, FootnoteType A_1, Class537 A_2, int A_3, int A_4, Class1107 A_5, CharacterFormat A_6) { int num = 0; A_0.bool_0 = A_2.method_2()[A_3] == '\x0002'; if (A_0.bool_0 && !A_5.bool_0) { return(false); } string str = null; if (!A_0.bool_0) { str = new string(A_2.method_2(), A_3, A_4 - A_3); if ((A_5.bool_0 && (A_5.char_0 != '\0')) && (str == BookmarkStart.b("ล", num))) { if (A_5.string_0 != null) { A_6.FontName = A_5.string_0; } str = new string(new char[] { Class742.smethod_2(A_5.char_0) }); } } this.class764_0.method_43().imethod_23(A_1, A_0.bool_0, str, A_6); new Class1108(this.class764_0, Class700.smethod_0(A_1)).method_4(A_0.method_2(), A_0.method_6()); this.class764_0.method_43().imethod_24(); return(true); }
internal Class537(Class537 A_0, int A_1, int A_2) { int length = A_2 - A_1; this.char_0 = new char[length]; Array.Copy(A_0.char_0, A_1, this.char_0, 0, length); this.class870_0 = new Class870(A_0.method_3().method_0(), A_0.method_3().method_1() + A_1); this.int_0 = A_0.method_4() + (A_1 * (A_0.method_3().method_0().bool_0 ? 2 : 1)); }
private void method_6(Class537 A_0) { int num = 0; for (int i = 0; i < A_0.method_2().Length; i++) { switch (A_0.method_2()[i]) { case '\f': if ((this.subDocumentType_0 != SubDocumentType.Footnote) && (this.subDocumentType_0 != SubDocumentType.Endnote)) { Class17 class2 = this.class764_0.method_35(A_0.method_0(i + 1)); if (class2 != null) { Struct24 struct3 = this.method_8(A_0, num, i); num = i + 1; if (struct3.class1150_0.int_0 == 0) { this.method_9(A_0, i, struct3); if (this.class263_0.method_0() == ElementPostion.None) { this.class764_0.method_43().imethod_5(); this.class764_0.method_43().imethod_3(); this.int_1++; this.class764_0.method_43().imethod_2(class2); this.method_1(); this.class764_0.method_43().imethod_4(); } } } } break; case '\r': case '\a': if (this.method_7(A_0, i)) { Struct24 struct2 = this.method_8(A_0, num, i); num = i + 1; this.method_9(A_0, i, struct2); } break; } } if (num < A_0.method_2().Length) { this.class985_0.Add(new Class537(A_0, num, A_0.method_2().Length)); } }
private void method_9(Class537 A_0, int A_1, Struct24 A_2) { this.class263_0.method_2(A_2.class1150_0); if (A_2.class1150_0.method_1()) { int num = A_0.method_0(A_1); this.class132_0.method_2(num); this.class136_0.method_2(num); } else { this.method_10(A_2.paragraphFormat_0); } this.class263_0.method_3(A_2.class1150_0, A_2.rowFormat_0, this.class985_0.method_1().method_8()); this.class985_0.Clear(); }
private void method_15(CharacterFormat A_0, Class1107 A_1, Class537 A_2, int A_3, int A_4) { if (A_4 != 0) { string str = new string(A_2.method_2(), A_3, A_4); if ((A_4 != 1) || (str[0] != '\x0001')) { int startIndex = 0; string str2 = str; do { startIndex += this.method_11(ref str, A_1); this.method_16(str, A_0); str = str2.Substring(startIndex); }while (!string.IsNullOrEmpty(str)); } } }
private void method_4(int A_0, int A_1) { int num = this.class764_0.method_5().method_7(this.subDocumentType_0, A_0); this.method_5(num); int num2 = this.class764_0.method_6().method_1(num); if (num2 != -1) { int num4 = num - this.class764_0.method_6().method_4(num2).method_0().method_2(); int num3 = A_1; while (num3 > 0) { if (num2 >= this.class764_0.method_6().method_5()) { break; } Class602 class2 = this.class764_0.method_6().method_4(num2); int num5 = class2.int_0; int count = class2.method_0().method_6(); if (num4 > 0) { num5 += num4 * (class2.bool_0 ? 2 : 1); count -= num4; } this.class764_0.method_1().BaseStream.Position = num5; count = (count > num3) ? num3 : count; BinaryReader reader = class2.bool_0 ? this.class764_0.method_1() : this.class764_0.method_2(); Class537 class3 = new Class537(reader.ReadChars(count), new Class870(class2, num4), num5); this.method_6(class3); num3 -= count; num2++; num4 = 0; } if (this.class985_0.Count > 0) { Struct24 struct2 = new Struct24(new ParagraphFormat(), new Class1150(), new RowFormat(this.class764_0.method_42())); this.method_9(this.class985_0.method_0(0), 0, struct2); } } }
private void method_10(ParagraphFormat A_0) { this.class764_0.method_43().imethod_10(); int num = this.class985_0.method_2(); CharacterFormat format = null; for (int i = 0; i < this.class985_0.Count; i++) { Class537 class2 = this.class985_0.method_0(i); int index = 0; while (index < class2.method_2().Length) { Class1107 class3; char ch1 = class2.method_2()[index]; int num4 = class2.method_1(index); int num5 = this.class764_0.method_38(num4, class2.method_3().method_0().method_1(), out format, out class3); if (num5 == num4) { break; } int num6 = num5 - num4; if (num6 < (class2.method_7() ? 2 : 1)) { num6 = class2.method_7() ? 2 : 1; } int num7 = num6 >> ((class2.method_7() != null) ? 1 : 0); int num8 = class2.method_2().Length - index; num7 = (num7 > num8) ? num8 : num7; bool flag = num == num7; this.method_14(format, class3, class2, index, ref num7, flag); index += num7; num -= num7; } } this.class764_0.method_43().imethod_11(A_0, format); }
private Struct24 method_8(Class537 A_0, int A_1, int A_2) { this.class985_0.Add(new Class537(A_0, A_1, A_2 + 1)); return(this.class764_0.method_37(A_0.method_1(A_2), this.class985_0.method_3())); }
private bool method_7(Class537 A_0, int A_1) { int num = A_0.method_1(A_1 + 1); return(this.class764_0.method_14().method_13(num) >= 0); }
private void method_14(CharacterFormat A_0, Class1107 A_1, Class537 A_2, int A_3, ref int A_4, bool A_5) { if ((!A_1.bool_0 && (A_4 == 1)) && (A_2.method_2()[A_3] == '\x0015')) { A_1.bool_0 = true; } int num2 = A_3; int num = A_3; int num3 = A_3 + A_4; int num6 = A_4; bool flag = false; int num5 = A_2.method_0(num) - num; while (num < num3) { int num4 = num + num5; if ((this.class130_0.method_1() == num4) || (this.class130_1.method_1() == num4)) { flag = true; } char ch = A_2.method_2()[num]; if (((((ch != '\b') && !A_1.bool_0) && ((this.class132_0.method_1() != num4) && (this.class136_0.method_1() != num4))) && (((this.class135_0.method_1() != num4) && (this.class133_0.method_1() != num4)) && ((this.class131_0.method_1() != num4) && (this.class134_0.method_1() != num4)))) && ((this.class129_0.method_1() != num4) && !flag)) { if (A_5 || (ch.ToString().IndexOfAny(Class818.char_20) <= -1)) { goto Label_0290; } if (num == num2) { num++; } A_4 = num - num2; break; } CharacterFormat format = (CharacterFormat)A_0.Clone(); if (!A_1.bool_0 && (num > num2)) { this.method_15(format, A_1, A_2, num2, num - num2); num2 = num; } this.class132_0.method_2(num4); if (this.class135_0.method_1() == this.class136_0.method_1()) { this.class136_0.method_2(num4); this.class135_0.method_2(num4); this.class133_0.method_2(num4); } else { this.class135_0.method_2(num4); this.class133_0.method_2(num4); this.class136_0.method_2(num4); } this.class131_0.method_2(num4); this.class134_0.method_2(num4); this.class129_0.method_2(num4); if (flag) { FootnoteType type; flag = false; if (this.class130_0.method_1() == num4) { this.class130_0.method_2(num4); } else { this.class130_1.method_2(num4); } Class762 class2 = this.method_25(num4, out type); if ((class2 != null) && this.method_26(class2, type, A_2, num, num3, A_1, format)) { num2 = num3; } } else if ((A_1.bool_0 && ((A_4 == 1) || (Array.IndexOf <char>(Class818.char_22, ch) > -1))) || (ch == '\b')) { if (((A_4 > 1) && (num > num2)) && (Array.IndexOf <char>(Class818.char_22, ch) > -1)) { this.method_15(format, A_1, A_2, num2, num - num2); } this.method_17(ch, num4, format, A_1); num2 = num + 1; } Label_0290: num++; } if (A_5) { num--; } if (num > num2) { this.method_15(A_0, A_1, A_2, num2, num - num2); A_4 = (A_4 < num6) ? (num - A_3) : A_4; } }