/** * Read a fixed length ascii string. * * @param length The length of the string to read. * @return A string of the desired length. * @throws IOException If there is an error reading the data. */ public String readString(int length) throws IOException { return readString(length, Charsets.ISO_8859_1); }
private Map<String, ScriptTable> readScriptList(TTFDataStream data, long offset) throws IOException { data.seek(offset); int scriptCount = data.readUnsignedShort(); ScriptTable[] scriptTables= new ScriptTable[scriptCount]; int[] scriptOffsets = new int[scriptCount]; String[] scriptTags = new String[scriptCount]; for (int i = 0; i < scriptCount; i++) { scriptTags[i] = data.readString(4); scriptOffsets[i] = data.readUnsignedShort(); } for (int i = 0; i < scriptCount; i++) { scriptTables[i] = readScriptTable(data, offset + scriptOffsets[i]); } Map<String, ScriptTable> resultScriptList = new LinkedHashMap<>(scriptCount); for (int i = 0; i < scriptCount; i++) { ScriptRecord scriptRecord = new ScriptRecord(scriptTags[i], scriptTables[i]); resultScriptList.put(scriptRecord.getScriptTag(), scriptRecord.getScriptTable()); } return Collections.unmodifiableMap(resultScriptList); }
for (int i = 0; i < langSysCount; i++) langSysTags[i] = data.readString(4); langSysOffsets[i] = data.readUnsignedShort();
private FeatureListTable readFeatureList(TTFDataStream data, long offset) throws IOException { data.seek(offset); int featureCount = data.readUnsignedShort(); FeatureRecord[] featureRecords = new FeatureRecord[featureCount]; int[] featureOffsets = new int[featureCount]; String[] featureTags = new String[featureCount]; for (int i = 0; i < featureCount; i++) { featureTags[i] = data.readString(4); featureOffsets[i] = data.readUnsignedShort(); } for (int i = 0; i < featureCount; i++) { FeatureTable featureTable = readFeatureTable(data, offset + featureOffsets[i]); featureRecords[i] = new FeatureRecord(featureTags[i], featureTable); } return new FeatureListTable(featureCount, featureRecords); }
nameArray[i] = data.readString(numberOfChars);
String string = data.readString(nr.getStringLength(), charset); nr.setString(string);
/** * Read a fixed length ascii string. * * @param length The length of the string to read. * @return A string of the desired length. * @throws IOException If there is an error reading the data. */ public String readString(int length) throws IOException { return readString(length, Charsets.ISO_8859_1); }
/** * Read a fixed length ascii string. * * @param length The length of the string to read. * @return A string of the desired length. * @throws IOException If there is an error reading the data. */ public String readString(int length) throws IOException { return readString(length, Charsets.ISO_8859_1); }
private TTFTable readTableDirectory(TrueTypeFont font, TTFDataStream raf) throws IOException String tag = raf.readString(4); switch (tag)
LinkedHashMap<String, ScriptTable> readScriptList(TTFDataStream data, long offset) throws IOException { data.seek(offset); int scriptCount = data.readUnsignedShort(); ScriptRecord[] scriptRecords = new ScriptRecord[scriptCount]; int[] scriptOffsets = new int[scriptCount]; for (int i = 0; i < scriptCount; i++) { ScriptRecord scriptRecord = new ScriptRecord(); scriptRecord.scriptTag = data.readString(4); scriptOffsets[i] = data.readUnsignedShort(); scriptRecords[i] = scriptRecord; } for (int i = 0; i < scriptCount; i++) { scriptRecords[i].scriptTable = readScriptTable(data, offset + scriptOffsets[i]); } LinkedHashMap<String, ScriptTable> resultScriptList = new LinkedHashMap<String, ScriptTable>(scriptCount); for (ScriptRecord scriptRecord : scriptRecords) { resultScriptList.put(scriptRecord.scriptTag, scriptRecord.scriptTable); } return resultScriptList; }
unicodeRange3 = data.readUnsignedInt(); unicodeRange4 = data.readUnsignedInt(); achVendId = data.readString(4); fsSelection = data.readUnsignedShort(); firstCharIndex = data.readUnsignedShort();
FeatureRecord[] readFeatureList(TTFDataStream data, long offset) throws IOException { data.seek(offset); int featureCount = data.readUnsignedShort(); FeatureRecord[] featureRecords = new FeatureRecord[featureCount]; int[] featureOffsets = new int[featureCount]; for (int i = 0; i < featureCount; i++) { FeatureRecord featureRecord = new FeatureRecord(); featureRecord.featureTag = data.readString(4); featureOffsets[i] = data.readUnsignedShort(); featureRecords[i] = featureRecord; } for (int i = 0; i < featureCount; i++) { featureRecords[i].featureTable = readFeatureTable(data, offset + featureOffsets[i]); } return featureRecords; }
ScriptTable readScriptTable(TTFDataStream data, long offset) throws IOException { data.seek(offset); ScriptTable scriptTable = new ScriptTable(); int defaultLangSys = data.readUnsignedShort(); int langSysCount = data.readUnsignedShort(); LangSysRecord[] langSysRecords = new LangSysRecord[langSysCount]; int[] langSysOffsets = new int[langSysCount]; for (int i = 0; i < langSysCount; i++) { LangSysRecord langSysRecord = new LangSysRecord(); langSysRecord.langSysTag = data.readString(4); langSysOffsets[i] = data.readUnsignedShort(); langSysRecords[i] = langSysRecord; } if (defaultLangSys != 0) { scriptTable.defaultLangSysTable = readLangSysTable(data, offset + defaultLangSys); } for (int i = 0; i < langSysCount; i++) { langSysRecords[i].langSysTable = readLangSysTable(data, offset + langSysOffsets[i]); } scriptTable.langSysTables = new LinkedHashMap<String, LangSysTable>(langSysCount); for (LangSysRecord langSysRecord : langSysRecords) { scriptTable.langSysTables.put(langSysRecord.langSysTag, langSysRecord.langSysTable); } return scriptTable; }
private TTFTable readTableDirectory(TrueTypeFont font, TTFDataStream raf) throws IOException String tag = raf.readString(4); if (tag.equals(CmapTable.TAG))
String string = data.readString(nr.getStringLength(), charset); nr.setString(string);
nameArray[i] = data.readString(numberOfChars);
nameArray[i] = data.readString(numberOfChars);
private TTFTable readTableDirectory(TrueTypeFont font, TTFDataStream raf) throws IOException String tag = raf.readString(4); switch (tag)
unicodeRange3 = data.readUnsignedInt(); unicodeRange4 = data.readUnsignedInt(); achVendId = data.readString(4); fsSelection = data.readUnsignedShort(); firstCharIndex = data.readUnsignedShort();
unicodeRange3 = data.readUnsignedInt(); unicodeRange4 = data.readUnsignedInt(); achVendId = data.readString(4); fsSelection = data.readUnsignedShort(); firstCharIndex = data.readUnsignedShort();