Example usage for org.apache.pdfbox.cos COSName TYPE1

List of usage examples for org.apache.pdfbox.cos COSName TYPE1

Introduction

In this page you can find the example usage for org.apache.pdfbox.cos COSName TYPE1.

Prototype

COSName TYPE1

To view the source code for org.apache.pdfbox.cos COSName TYPE1.

Click Source Link

Usage

From source file:org.apache.fop.render.pdf.pdfbox.MergeFontsPDFWriter.java

License:Apache License

private String getNewFont(COSDictionary fontData, FontInfo fontinfo, Collection<String> usedFonts)
        throws IOException {
    String base = getUniqueFontName(fontData);
    if (base == null || usedFonts.contains(base) || (parentFonts != null && parentFonts.contains(base))) {
        return null;
    }/*  w w w .  j  a va  2 s .  c  o m*/
    try {
        for (Typeface t : fontinfo.getUsedFonts().values()) {
            if (t instanceof FOPPDFFont && base.equals(t.getFontName())) {
                return ((FOPPDFFont) t).addFont(fontData);
            }
        }
        if (base.endsWith("cid") || fontData.getItem(COSName.SUBTYPE) != COSName.TYPE1
                && fontData.getItem(COSName.SUBTYPE) != COSName.TRUE_TYPE) {
            fontinfo.addMetrics(base, new FOPPDFMultiByteFont(fontData, base));
        } else {
            fontinfo.addMetrics(base, new FOPPDFSingleByteFont(fontData, base));
        }
    } catch (IOException e) {
        log.warn(e.getMessage());
        return null;
    }
    fontinfo.useFont(base);
    return base;
}