コード例 #1
0
 public CWDH(EndianBinaryReader er)
 {
     Signature      = er.ReadString(Encoding.ASCII, 4);
     SectionSize    = er.ReadUInt32();
     StartIndex     = er.ReadUInt16();
     EndIndex       = er.ReadUInt16();
     NextCWDHOffset = er.ReadUInt32();
     CharWidths     = new CharWidthInfo[EndIndex - StartIndex + 1];
     for (int i = 0; i < EndIndex - StartIndex + 1; i++)
     {
         CharWidths[i] = new CharWidthInfo(er); // 3字节, LEFT,GLYPH WIDTH,CHAR WIDTH
     }
 }
コード例 #2
0
            public UInt32 CMAPOffset; //第一个CMAP的起始地址

            public FINF(EndianBinaryReader er)
            {
                Signature      = er.ReadString(System.Text.Encoding.ASCII, 4); //FINF
                SectionSize    = er.ReadUInt32();
                FontType       = er.ReadByte();                                //01
                LineFeed       = er.ReadByte();                                //28
                Width          = er.ReadByte();
                Ascent         = er.ReadByte();
                Padding        = er.ReadByte();
                Height         = er.ReadByte();
                AlterCharIndex = er.ReadUInt16();
                DefaultWidth   = new CharWidthInfo(er);
                Encoding       = er.ReadByte();
                TGLPOffset     = er.ReadUInt32();
                CWDHOffset     = er.ReadUInt32();
                CMAPOffset     = er.ReadUInt32();
            }
コード例 #3
0
            public CWDH(EndianBinaryReader er)
            {
                Signature = er.ReadString(Encoding.ASCII, 4);
                if (Signature != "CWDH")
                {
                    throw new SignatureNotCorrectException(Signature, "CWDH", er.BaseStream.Position - 4);
                }
                SectionSize    = er.ReadUInt32();
                StartIndex     = er.ReadUInt16();
                EndIndex       = er.ReadUInt16();
                NextCWDHOffset = er.ReadUInt32();

                CharWidths = new CharWidthInfo[EndIndex - StartIndex + 1];
                for (int i = 0; i < EndIndex - StartIndex + 1; i++)
                {
                    CharWidths[i] = new CharWidthInfo(er);
                }
            }
コード例 #4
0
 public FINF(EndianBinaryReader er)
 {
     Signature = er.ReadString(System.Text.Encoding.ASCII, 4);
     if (Signature != "FINF")
     {
         throw new SignatureNotCorrectException(Signature, "FINF", er.BaseStream.Position - 4);
     }
     SectionSize    = er.ReadUInt32();
     FontType       = er.ReadByte();
     LineFeed       = er.ReadByte();
     AlterCharIndex = er.ReadUInt16();
     DefaultWidth   = new CharWidthInfo(er);
     Encoding       = er.ReadByte();
     TGLPOffset     = er.ReadUInt32();
     CWDHOffset     = er.ReadUInt32();
     CMAPOffset     = er.ReadUInt32();
     Height         = er.ReadByte();
     Width          = er.ReadByte();
     Ascent         = er.ReadByte();
     Padding        = er.ReadByte();
 }
コード例 #5
0
            public UInt32 CMAPOffset; //第一个CMAP的起始地址

            public FINF(EndianBinaryReader er)
            {
                Signature = er.ReadString(System.Text.Encoding.ASCII, 4); //FINF
                SectionSize = er.ReadUInt32();
                FontType = er.ReadByte(); //01
                LineFeed = er.ReadByte(); //28
                Width = er.ReadByte();
                Ascent = er.ReadByte();
                Padding = er.ReadByte();
                Height = er.ReadByte();
                AlterCharIndex = er.ReadUInt16();
                DefaultWidth = new CharWidthInfo(er);
                Encoding = er.ReadByte();
                TGLPOffset = er.ReadUInt32();
                CWDHOffset = er.ReadUInt32();
                CMAPOffset = er.ReadUInt32();
                
                
            }
コード例 #6
0
 public CWDH(EndianBinaryReader er)
 {
     Signature = er.ReadString(Encoding.ASCII, 4);
     SectionSize = er.ReadUInt32();
     StartIndex = er.ReadUInt16();
     EndIndex = er.ReadUInt16();
     NextCWDHOffset = er.ReadUInt32();
     CharWidths = new CharWidthInfo[EndIndex - StartIndex + 1];
     for (int i = 0; i < EndIndex - StartIndex + 1; i++)
     {
         CharWidths[i] = new CharWidthInfo(er); // 3字节, LEFT,GLYPH WIDTH,CHAR WIDTH
     }
 }