in src/java/org/apache/fop/render/pdf/pdfbox/FOPPDFMultiByteFont.java [318:345]
private void readFontBBox(COSBase b) throws IOException {
if (b instanceof COSDictionary) {
COSDictionary dict = (COSDictionary)b;
for (Map.Entry<COSName, COSBase> n : dict.entrySet()) {
readFontBBox(n.getValue());
if (n.getKey() == COSName.FONT_BBOX) {
COSBase bboxArray = n.getValue();
if (bboxArray instanceof COSObject) {
bboxArray = ((COSObject) bboxArray).getObject();
}
float[] bboxf = ((COSArray)bboxArray).toFloatArray();
int[] bbox = new int[bboxf.length];
for (int i = 0; i < bbox.length; i++) {
bbox[i] = (int)bboxf[i];
}
setFontBBox(bbox);
}
}
} else if (b instanceof COSObject) {
COSObject o = (COSObject)b;
readFontBBox(o.getObject());
} else if (b instanceof COSArray) {
COSArray o = (COSArray)b;
for (int i = 0; i < o.size(); i++) {
readFontBBox(o.get(i));
}
}
}