// Token: 0x060033F6 RID: 13302 RVA: 0x000E75FC File Offset: 0x000E57FC
        internal void MapFonts()
        {
            Hashtable fontMappings = this.FontMappings;

            for (int i = 0; i < this.Count; i++)
            {
                FontTableEntry fontTableEntry = this.EntryAt(i);
                if (fontTableEntry.Name != null)
                {
                    string text = (string)fontMappings[fontTableEntry.Name.ToLower(CultureInfo.InvariantCulture)];
                    if (text != null)
                    {
                        fontTableEntry.Name = text;
                    }
                    else
                    {
                        int num = fontTableEntry.Name.IndexOf('(');
                        if (num >= 0)
                        {
                            while (num > 0 && fontTableEntry.Name[num - 1] == ' ')
                            {
                                num--;
                            }
                            fontTableEntry.Name = fontTableEntry.Name.Substring(0, num);
                        }
                    }
                }
            }
        }
 // Token: 0x060033ED RID: 13293 RVA: 0x000E7244 File Offset: 0x000E5444
 internal void ComputePreferredCodePage()
 {
     int[] array = new int[]
     {
         1252,
         932,
         949,
         1361,
         936,
         950,
         1253,
         1254,
         1258,
         1255,
         1256,
         1257,
         1251,
         874,
         1250,
         437,
         850
     };
     this.CodePage = 1252;
     this.CharSet  = 0;
     if (this.Name != null && this.Name.Length > 0)
     {
         byte[] bytes  = new byte[this.Name.Length * 6];
         char[] array2 = new char[this.Name.Length * 6];
         for (int i = 0; i < array.Length; i++)
         {
             Encoding encoding = Encoding.GetEncoding(array[i]);
             int      bytes2   = encoding.GetBytes(this.Name, 0, this.Name.Length, bytes, 0);
             int      chars    = encoding.GetChars(bytes, 0, bytes2, array2, 0);
             if (chars == this.Name.Length)
             {
                 int num = 0;
                 while (num < chars && array2[num] == this.Name[num])
                 {
                     num++;
                 }
                 if (num == chars)
                 {
                     this.CodePage = array[i];
                     this.CharSet  = FontTableEntry.CodePageToCharSet(this.CodePage);
                     break;
                 }
             }
         }
         if (FontTableEntry.IsSymbolFont(this.Name))
         {
             this.CharSet = 2;
         }
     }
 }
 // Token: 0x060033F3 RID: 13299 RVA: 0x000E7544 File Offset: 0x000E5744
 internal FontTableEntry FindEntryByName(string name)
 {
     for (int i = 0; i < this.Count; i++)
     {
         FontTableEntry fontTableEntry = this.EntryAt(i);
         if (name.Equals(fontTableEntry.Name))
         {
             return(fontTableEntry);
         }
     }
     return(null);
 }
 // Token: 0x060033F2 RID: 13298 RVA: 0x000E7510 File Offset: 0x000E5710
 internal FontTableEntry FindEntryByIndex(int index)
 {
     for (int i = 0; i < this.Count; i++)
     {
         FontTableEntry fontTableEntry = this.EntryAt(i);
         if (fontTableEntry.Index == index)
         {
             return(fontTableEntry);
         }
     }
     return(null);
 }
        // Token: 0x060033F1 RID: 13297 RVA: 0x000E74D0 File Offset: 0x000E56D0
        internal FontTableEntry DefineEntry(int index)
        {
            FontTableEntry fontTableEntry = this.FindEntryByIndex(index);

            if (fontTableEntry != null)
            {
                fontTableEntry.IsPending = true;
                fontTableEntry.Name      = null;
                return(fontTableEntry);
            }
            fontTableEntry       = new FontTableEntry();
            fontTableEntry.Index = index;
            this.Add(fontTableEntry);
            return(fontTableEntry);
        }
        // Token: 0x060033F5 RID: 13301 RVA: 0x000E758C File Offset: 0x000E578C
        internal int DefineEntryByName(string name)
        {
            int num = -1;

            for (int i = 0; i < this.Count; i++)
            {
                FontTableEntry fontTableEntry = this.EntryAt(i);
                if (name.Equals(fontTableEntry.Name))
                {
                    return(fontTableEntry.Index);
                }
                if (fontTableEntry.Index > num)
                {
                    num = fontTableEntry.Index;
                }
            }
            FontTableEntry fontTableEntry2 = new FontTableEntry();

            fontTableEntry2.Index = num + 1;
            this.Add(fontTableEntry2);
            fontTableEntry2.Name = name;
            return(num + 1);
        }
        internal int DefineEntryByName(string name)
        {
            int maxIndex = -1;
            for (int i = 0; i < Count; i++)
            {
                FontTableEntry entry = EntryAt(i);

                if (name.Equals(entry.Name))
                {
                    return entry.Index;
                }
                if (entry.Index > maxIndex)
                {
                    maxIndex = entry.Index;
                }
            }

            // Not there - define one.
            FontTableEntry newEntry = new FontTableEntry();
            newEntry.Index = maxIndex + 1;
            Add(newEntry);
            newEntry.Name = name;
            return maxIndex + 1;
        }
        //------------------------------------------------------
        //
        //  Internal Methods
        //
        //------------------------------------------------------

        #region Internal Methods

        internal FontTableEntry DefineEntry(int index)
        {
            // Might happen with bad input
            FontTableEntry entry = FindEntryByIndex(index);

            if (entry != null)
            {
                // Re-open it
                entry.IsPending = true;
                entry.Name = null;

                return entry;
            }

            entry = new FontTableEntry();

            entry.Index = index;

            Add(entry);

            return entry;
        }