예제 #1
0
        public void                WriteTo(System.IO.BinaryWriter writer)
        {
            if (writer is null)
            {
                throw new ArgumentNullException(nameof(writer));
            }

            writer.Write(_fontName);
            writer.Write(_fullName);
            writer.Write(_familyName);
            writer.Write(_weight);
            writer.Write(_isCIDFont);
            writer.Write(_italicAngle);
            writer.Write(_isFixedPitch);
            writer.Write(_characterSet);
            _fontBBox.WriteTo(writer);
            writer.Write(Convert.ToInt16(_underlinePosition));
            writer.Write(Convert.ToInt16(_underlineThickness));
            writer.Write(Convert.ToInt16(_capHeight));
            writer.Write(Convert.ToInt16(_xheight));
            writer.Write(Convert.ToInt16(_ascender));
            writer.Write(Convert.ToInt16(_descender));
            writer.Write(Convert.ToInt16(_stdHW));
            writer.Write(Convert.ToInt16(_stdVW));

            for (int i = 1; i < _charMetric.Length; ++i)
            {
                if (_charMetric[i] != null)
                {
                    writer.Write(Convert.ToUInt16(i));
                    _charMetric[i].WriteTo(writer);
                }
            }

            writer.Write((UInt16)0);
        }
 internal void            WriteTo(System.IO.BinaryWriter stream)
 {
     stream.Write(Convert.ToInt16(_height));
     stream.Write(Convert.ToInt16(_width));
     _box.WriteTo(stream);
 }