コード例 #1
0
    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);
    }
コード例 #2
0
    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));
    }
コード例 #3
0
    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));
        }
    }
コード例 #4
0
 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();
 }
コード例 #5
0
 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));
         }
     }
 }
コード例 #6
0
    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);
            }
        }
    }
コード例 #7
0
    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);
    }
コード例 #8
0
 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()));
 }
コード例 #9
0
    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);
    }
コード例 #10
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;
        }
    }