Пример #1
0
            public ushort       axisNameID;           // The name ID for entries in the 'name' table that provide a display name for this axis.

            public void Read(TTFReader r)
            {
                this.axisTag      = r.ReadString(4);
                this.minValue     = r.ReadFixed();
                this.defaultValue = r.ReadFixed();
                this.maxValue     = r.ReadFixed();
                r.ReadInt(out this.flags);
                r.ReadInt(out this.axisNameID);
            }
Пример #2
0
        public List <DataMap> dataMaps;      // Array of data map records.

        public void Read(TTFReader r)
        {
            r.ReadInt(out this.version);
            r.ReadInt(out this.flags);
            r.ReadInt(out this.reserved);
            r.ReadInt(out this.dataMapsCount);

            this.dataMaps = new List <DataMap>();
            for (int i = 0; i < this.dataMapsCount; ++i)
            {
                DataMap dm = new DataMap();
                dm.tag = r.ReadString(4);
                r.ReadInt(out dm.dataOffset);
                r.ReadInt(out dm.dataLength);
                this.dataMaps.Add(dm);
            }
        }
Пример #3
0
            public ushort jstfScriptOffset;     // Offset to JstfScript table, from beginning of JSTF Header

            public void Read(TTFReader r)
            {
                this.jstfScriptTag = r.ReadString(4);
                r.ReadInt(out this.jstfScriptOffset);
            }
Пример #4
0
        public void Read(TTFReader r)
        {
            r.ReadInt(out this.version);

            if (this.version == 0)
            {
                r.ReadInt(out this.xAvgCharWidth);
                r.ReadInt(out this.usWeightClass);
                r.ReadInt(out this.usWidthClass);
                r.ReadInt(out this.fsType);
                r.ReadInt(out this.ySubscriptXSize);
                r.ReadInt(out this.ySubscriptYSize);
                r.ReadInt(out this.ySubscriptXOffset);
                r.ReadInt(out this.ySubscriptYOffset);
                r.ReadInt(out this.ySuperscriptXSize);
                r.ReadInt(out this.ySuperscriptYSize);
                r.ReadInt(out this.ySuperscriptXOffset);
                r.ReadInt(out this.ySuperscriptYOffset);
                r.ReadInt(out this.yStrikeoutSize);
                r.ReadInt(out this.yStrikeoutPosition);
                r.ReadInt(out this.sFamilyClass);
                this.panose = ReadPanose(r);
                r.ReadInt(out this.ulUnicodeRange1);
                r.ReadInt(out this.ulUnicodeRange2);
                r.ReadInt(out this.ulUnicodeRange3);
                r.ReadInt(out this.ulUnicodeRange4);
                this.achVendID = r.ReadString(4);
                r.ReadInt(out this.fsSelection);
                r.ReadInt(out this.usFirstCharIndex);
                r.ReadInt(out this.usLastCharIndex);
                r.ReadInt(out this.sTypoAscender);
                r.ReadInt(out this.sTypoDescender);
                r.ReadInt(out this.sTypoLineGap);
                r.ReadInt(out this.usWinAscent);
                r.ReadInt(out this.usWinDescent);
            }
            else if (this.version == 1)
            {
                r.ReadInt(out this.xAvgCharWidth);
                r.ReadInt(out this.usWeightClass);
                r.ReadInt(out this.usWidthClass);
                r.ReadInt(out this.fsType);
                r.ReadInt(out this.ySubscriptXSize);
                r.ReadInt(out this.ySubscriptYSize);
                r.ReadInt(out this.ySubscriptXOffset);
                r.ReadInt(out this.ySubscriptYOffset);
                r.ReadInt(out this.ySuperscriptXSize);
                r.ReadInt(out this.ySuperscriptYSize);
                r.ReadInt(out this.ySuperscriptXOffset);
                r.ReadInt(out this.ySuperscriptYOffset);
                r.ReadInt(out this.yStrikeoutSize);
                r.ReadInt(out this.yStrikeoutPosition);
                r.ReadInt(out this.sFamilyClass);
                this.panose = ReadPanose(r);
                r.ReadInt(out this.ulUnicodeRange1);
                r.ReadInt(out this.ulUnicodeRange2);
                r.ReadInt(out this.ulUnicodeRange3);
                r.ReadInt(out this.ulUnicodeRange4);
                this.achVendID = r.ReadString(4);
                r.ReadInt(out this.fsSelection);
                r.ReadInt(out this.usFirstCharIndex);
                r.ReadInt(out this.usLastCharIndex);
                r.ReadInt(out this.sTypoAscender);
                r.ReadInt(out this.sTypoDescender);
                r.ReadInt(out this.sTypoLineGap);
                r.ReadInt(out this.usWinAscent);
                r.ReadInt(out this.usWinDescent);
                r.ReadInt(out this.ulCodePageRange1);
                r.ReadInt(out this.ulCodePageRange2);
            }
            else if (this.version == 2 || this.version == 3 || this.version == 4)
            {
                r.ReadInt(out this.xAvgCharWidth);
                r.ReadInt(out this.usWeightClass);
                r.ReadInt(out this.usWidthClass);
                r.ReadInt(out this.fsType);
                r.ReadInt(out this.ySubscriptXSize);
                r.ReadInt(out this.ySubscriptYSize);
                r.ReadInt(out this.ySubscriptXOffset);
                r.ReadInt(out this.ySubscriptYOffset);
                r.ReadInt(out this.ySuperscriptXSize);
                r.ReadInt(out this.ySuperscriptYSize);
                r.ReadInt(out this.ySuperscriptXOffset);
                r.ReadInt(out this.ySuperscriptYOffset);
                r.ReadInt(out this.yStrikeoutSize);
                r.ReadInt(out this.yStrikeoutPosition);
                r.ReadInt(out this.sFamilyClass);
                this.panose = ReadPanose(r);
                r.ReadInt(out this.ulUnicodeRange1);
                r.ReadInt(out this.ulUnicodeRange2);
                r.ReadInt(out this.ulUnicodeRange3);
                r.ReadInt(out this.ulUnicodeRange4);
                this.achVendID = r.ReadString(4);
                r.ReadInt(out this.fsSelection);
                r.ReadInt(out this.usFirstCharIndex);
                r.ReadInt(out this.usLastCharIndex);
                r.ReadInt(out this.sTypoAscender);
                r.ReadInt(out this.sTypoDescender);
                r.ReadInt(out this.sTypoLineGap);
                r.ReadInt(out this.usWinAscent);
                r.ReadInt(out this.usWinDescent);
                r.ReadInt(out this.ulCodePageRange1);
                r.ReadInt(out this.ulCodePageRange2);
                r.ReadInt(out this.sxHeight);
                r.ReadInt(out this.sCapHeight);
                r.ReadInt(out this.usDefaultChar);
                r.ReadInt(out this.usBreakChar);
                r.ReadInt(out this.usMaxContext);
            }
            else if (this.version == 5)
            {
                r.ReadInt(out this.xAvgCharWidth);
                r.ReadInt(out this.usWeightClass);
                r.ReadInt(out this.usWidthClass);
                r.ReadInt(out this.fsType);
                r.ReadInt(out this.ySubscriptXSize);
                r.ReadInt(out this.ySubscriptYSize);
                r.ReadInt(out this.ySubscriptXOffset);
                r.ReadInt(out this.ySubscriptYOffset);
                r.ReadInt(out this.ySuperscriptXSize);
                r.ReadInt(out this.ySuperscriptYSize);
                r.ReadInt(out this.ySuperscriptXOffset);
                r.ReadInt(out this.ySuperscriptYOffset);
                r.ReadInt(out this.yStrikeoutSize);
                r.ReadInt(out this.yStrikeoutPosition);
                r.ReadInt(out this.sFamilyClass);
                this.panose = ReadPanose(r);
                r.ReadInt(out this.ulUnicodeRange1);
                r.ReadInt(out this.ulUnicodeRange2);
                r.ReadInt(out this.ulUnicodeRange3);
                r.ReadInt(out this.ulUnicodeRange4);
                this.achVendID = r.ReadString(4);
                r.ReadInt(out this.fsSelection);
                r.ReadInt(out this.usFirstCharIndex);
                r.ReadInt(out this.usLastCharIndex);
                r.ReadInt(out this.sTypoAscender);
                r.ReadInt(out this.sTypoDescender);
                r.ReadInt(out this.sTypoLineGap);
                r.ReadInt(out this.usWinAscent);
                r.ReadInt(out this.usWinDescent);
                r.ReadInt(out this.ulCodePageRange1);
                r.ReadInt(out this.ulCodePageRange2);
                r.ReadInt(out this.sxHeight);
                r.ReadInt(out this.sCapHeight);
                r.ReadInt(out this.usDefaultChar);
                r.ReadInt(out this.usBreakChar);
                r.ReadInt(out this.usMaxContext);
                r.ReadInt(out this.usLowerOpticalPointSize);
                r.ReadInt(out this.usUpperOpticalPointSize);
            }
        }