示例#1
0
        /// <summary>
        ///     Updates the checkSumAdjustment field in the head table.
        /// </summary>
        private void WriteChecksumAdjustment()
        {
            HeaderTable head = (HeaderTable)tables[TableNames.Head];

            // Move to beginning of head table and skip the version no and
            // font revision no fields.
            stream.Position = head.Entry.Offset + 2 * PrimitiveSizes.Fixed;
            stream.WriteULong(CalculateCheckSumAdjustment());
        }
示例#2
0
        /// <summary>
        ///     Writes the contents of the head table to the supplied stream.
        /// </summary>
        /// <param name="writer"></param>
        protected internal override void Write(FontFileWriter writer)
        {
            FontFileStream stream = writer.Stream;

            stream.WriteFixed(versionNo);
            stream.WriteFixed(fontRevision);
            stream.WriteULong(0);
            stream.WriteULong(0x5F0F3CF5);
            stream.WriteUShort(flags);
            stream.WriteUShort(unitsPermEm);
            stream.WriteDateTime((long)(createDate - BaseDate).TotalSeconds);
            stream.WriteDateTime((long)(updateDate - BaseDate).TotalSeconds);
            stream.WriteShort(xMin);
            stream.WriteShort(yMin);
            stream.WriteShort(xMax);
            stream.WriteShort(yMax);
            stream.WriteUShort(macStyle);
            stream.WriteUShort(lowestRecPPEM);
            stream.WriteShort(fontDirectionHint);
            stream.WriteShort(1);
            stream.WriteShort(glyphDataFormat);
        }