package de.knurt.fam.service.pdf.control.bu; import java.io.IOException; import org.apache.log4j.Logger; import com.lowagie.text.DocumentException; import com.lowagie.text.pdf.BaseFont; import de.knurt.fam.service.pdf.control.ebc.BoardUnit; import de.knurt.fam.service.pdf.model.TextContent; public class TextContent2BaseFont implements BoardUnit<TextContent, BaseFont> { private BaseFont defaultBaseFont; private BaseFont createFont(String fontFamily) throws DocumentException, IOException { return BaseFont.createFont(fontFamily, BaseFont.WINANSI, BaseFont.EMBEDDED); } public TextContent2BaseFont() { try { defaultBaseFont = this.createFont(BaseFont.HELVETICA); } catch (DocumentException e) { Logger.getRootLogger().fatal("201106061115"); } catch (IOException e) { Logger.getRootLogger().fatal("201106061114"); } } @Override public BaseFont process(TextContent datum) { BaseFont result = null; Object fontFamily = datum.getStyle("font-family"); if (fontFamily == null) { result = this.defaultBaseFont; } else { try { result = this.createFont(fontFamily.toString()); } catch (DocumentException e) { result = this.defaultBaseFont; } catch (IOException e) { result = this.defaultBaseFont; } } return result; } }