in src/java/org/apache/fop/render/pdf/pdfbox/MergeTTFonts.java [239:268]
public void readFont(InputStream is, String name, FontContainer fontContainer,
Map<Integer, Integer> subsetGlyphs, boolean cid) throws IOException {
this.cid = cid;
if (subsetGlyphs.isEmpty()) {
return;
}
this.fontFile = new FontFileReader(is);
size += fontFile.getAllBytes().length;
readDirTabs();
readFontHeader();
getNumGlyphs();
readHorizontalHeader();
readHorizontalMetrics();
readIndexToLocation();
int sgsize = subsetGlyphs.size();
if (!cid && subsetGlyphs.size() <= 1) {
for (int i = 0; i < mtxTab.length; i++) {
subsetGlyphs.put(i, i);
}
}
scanGlyphs(fontFile, subsetGlyphs);
readGlyf(subsetGlyphs, fontFile);
if (nhmtxDiff == null) {
nhmtxDiff = sgsize - nhmtx;
if (nhmtxDiff < 0) {
nhmtxDiff = 0;
}
}
}