class UnembedFontPdfSmartCopy extends PdfSmartCopy {

    public UnembedFontPdfSmartCopy(Document document, OutputStream os)
            throws DocumentException {
        super(document, os);
    }

    protected PdfDictionary copyDictionary(PdfDictionary in)
            throws IOException, BadPdfFormatException {<FILL_FUNCTION_BODY>}
}


        PdfDictionary out = new PdfDictionary();
        PdfObject type = PdfReader.getPdfObjectRelease(in.get(PdfName.TYPE));

        for (PdfName key : in.getKeys()) {
            PdfObject value = in.get(key);

            if ((PdfName.FONTFILE.equals(key)
                    || PdfName.FONTFILE2.equals(key)
                    || PdfName.FONTFILE3.equals(key))
                    && !PdfReader.isFontSubset(PdfReader.getFontNameFromDescriptor(in))) {
                continue;
            } else {
                out.put(key, copyObject(value));
            }
        }

        return out;
    
<methods>public void <init>(com.lowagie.text.Document, java.io.OutputStream) throws com.lowagie.text.DocumentException<variables>private Map<com.lowagie.text.pdf.PdfSmartCopy.ByteStore,com.lowagie.text.pdf.PdfIndirectReference> streamMap