Пример #1
0
        public static BaseScript Read(BinaryReaderFont reader)
        {
            long       position = reader.Position;
            BaseScript value    = new BaseScript {
                baseValuesOffset    = reader.ReadUInt16(),
                defaultMinMaxOffset = reader.ReadUInt16(),
                baseLangSysCount    = reader.ReadUInt16(),
            };

            if (value.baseLangSysCount != 0)
            {
                value.baseLangSysRecords = BaseLangSysRecord.ReadArray(
                    reader, value.baseLangSysCount
                    );
            }
            if (value.baseValuesOffset != 0)
            {
                reader.Position  = position + value.baseValuesOffset;
                value.baseValues = BaseValues.Read(reader);
            }
            if (value.defaultMinMaxOffset != 0)
            {
                reader.Position     = position + value.defaultMinMaxOffset;
                value.defaultMinMax = MinMax.Read(reader);
            }
            return(value);
        }
Пример #2
0
        public static BaseValues Read(BinaryReaderFont reader)
        {
            BaseValues value = new BaseValues {
                defaultBaselineIndex = reader.ReadUInt16(),
                baseCoordCount       = reader.ReadUInt16()
            };

            if (value.baseCoordCount != 0)
            {
                value.baseCoords = reader.ReadUInt16Array(
                    value.baseCoordCount
                    );
            }
            return(value);
        }