示例#1
0
            void ReadFrom(BinaryReader reader)
            {
                long   tableStartAt = reader.BaseStream.Position;
                ushort posRuleCount = reader.ReadUInt16();

                short[] posRuleTableOffsets = Utils.ReadInt16Array(reader, posRuleCount);
                int     j = posRuleTableOffsets.Length;

                posRuleTables = new PosRuleTable[posRuleCount];
                for (int i = 0; i < j; ++i)
                {
                    //move to and read
                    reader.BaseStream.Seek(tableStartAt + posRuleTableOffsets[i], SeekOrigin.Begin);
                    var posRuleTable = new PosRuleTable();
                    posRuleTable.ReadFrom(reader);
                    posRuleTables[i] = posRuleTable;
                }
            }
示例#2
0
            void ReadFrom(BinaryReader reader)
            {
                long tableStartAt = reader.BaseStream.Position;
                ushort posRuleCount = reader.ReadUInt16();
                short[] posRuleTableOffsets = Utils.ReadInt16Array(reader, posRuleCount);
                int j = posRuleTableOffsets.Length;
                posRuleTables = new PosRuleTable[posRuleCount];
                for (int i = 0; i < j; ++i)
                {
                    //move to and read
                    reader.BaseStream.Seek(tableStartAt + posRuleTableOffsets[i], SeekOrigin.Begin);
                    var posRuleTable = new PosRuleTable();
                    posRuleTable.ReadFrom(reader);
                    posRuleTables[i] = posRuleTable;

                }
            }