/** Creates new ScriptTable */ protected Script(final DataInputStream dis, final int offset) throws IOException { // Ensure we're in the right place dis.reset(); dis.skipBytes(offset); // Start reading _defaultLangSysOffset = dis.readUnsignedShort(); _langSysCount = dis.readUnsignedShort(); if (_langSysCount > 0) { _langSysRecords = new LangSysRecord[_langSysCount]; for (int i = 0; i < _langSysCount; i++) { _langSysRecords[i] = new LangSysRecord(dis); } } // Read the LangSys tables if (_langSysCount > 0) { _langSys = new LangSys[_langSysCount]; for (int i = 0; i < _langSysCount; i++) { dis.reset(); dis.skipBytes(offset + _langSysRecords[i].getOffset()); _langSys[i] = new LangSys(dis); } } if (_defaultLangSysOffset > 0) { dis.reset(); dis.skipBytes(offset + _defaultLangSysOffset); _defaultLangSys = new LangSys(dis); } }
/** Creates new ScriptTable */ protected Script(final DataInputStream dis, final int offset) throws IOException { // Ensure we're in the right place dis.reset(); dis.skipBytes(offset); // Start reading _defaultLangSysOffset = dis.readUnsignedShort(); _langSysCount = dis.readUnsignedShort(); if (_langSysCount > 0) { _langSysRecords = new LangSysRecord[_langSysCount]; for (int i = 0; i < _langSysCount; i++) { _langSysRecords[i] = new LangSysRecord(dis); } } // Read the LangSys tables if (_langSysCount > 0) { _langSys = new LangSys[_langSysCount]; for (int i = 0; i < _langSysCount; i++) { dis.reset(); dis.skipBytes(offset + _langSysRecords[i].getOffset()); _langSys[i] = new LangSys(dis); } } if (_defaultLangSysOffset > 0) { dis.reset(); dis.skipBytes(offset + _defaultLangSysOffset); _defaultLangSys = new LangSys(dis); } }