package de.knurt.fam.service.pdf.control.bu; import java.awt.Color; import com.lowagie.text.Font; import com.lowagie.text.FontFactory; import com.lowagie.text.pdf.BaseFont; import de.knurt.fam.service.pdf.control.ebc.BoardUnit; import de.knurt.fam.service.pdf.model.TextContent; /** * * @author Daniel Oltmanns <info@knurt.de> * @since 07.06.2011 * */ public class TextContent2Font implements BoardUnit<TextContent, Font> { private final Font defaultBaseFont; private Font createFont(String fontname, int size, int style, Color color) { return FontFactory.getFont(fontname, size, style, color); } private Font createFont(String fontname, float size, int style, Color color) { return this.createFont(fontname, (int) size, style, color); } public TextContent2Font() { defaultBaseFont = this.createFont(BaseFont.HELVETICA, 12, Font.NORMAL, Color.BLACK); } @Override public Font process(TextContent datum) { Object fontFamily = datum.getStyle("font-family"); if (fontFamily == null) { fontFamily = this.defaultBaseFont.getFamilyname(); } return this.createFont(fontFamily.toString(), datum.getFontSize(), datum.getFontStyle(), datum.getFontColor()); } }