1 28 package net.sf.jasperreports.engine.util; 29 30 import java.awt.font.TextAttribute ; 31 import java.util.HashMap ; 32 import java.util.Map ; 33 34 import net.sf.jasperreports.engine.JRFont; 35 36 37 41 public class JRFontUtil 42 { 43 44 45 48 public static Map getNonPdfAttributes(JRFont font) 49 { 50 Map nonPdfAttributes = new HashMap (); 51 52 setNonPdfAttributes(nonPdfAttributes, font); 53 54 return nonPdfAttributes; 55 } 56 57 58 61 public static Map getAttributes(JRFont font) 62 { 63 Map attributes = new HashMap (); 64 65 setAttributes(attributes, font); 66 67 return attributes; 68 } 69 70 71 74 private static Map setNonPdfAttributes(Map attributes, JRFont font) 75 { 76 attributes.put(TextAttribute.FAMILY, font.getFontName()); 77 attributes.put(TextAttribute.SIZE, new Float (font.getFontSize())); 78 79 if (font.isBold()) 80 { 81 attributes.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_BOLD); 82 } 83 if (font.isItalic()) 84 { 85 attributes.put(TextAttribute.POSTURE, TextAttribute.POSTURE_OBLIQUE); 86 } 87 if (font.isUnderline()) 88 { 89 attributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON); 90 } 91 if (font.isStrikeThrough()) 92 { 93 attributes.put(TextAttribute.STRIKETHROUGH, TextAttribute.STRIKETHROUGH_ON); 94 } 95 96 return attributes; 97 } 98 99 100 103 public static Map setAttributes(Map attributes, JRFont font) 104 { 105 attributes = JRFontUtil.setNonPdfAttributes(attributes, font); 106 107 attributes.put(JRTextAttribute.PDF_FONT_NAME, font.getPdfFontName()); 108 attributes.put(JRTextAttribute.PDF_ENCODING, font.getPdfEncoding()); 109 110 if (font.isPdfEmbedded()) 111 { 112 attributes.put(JRTextAttribute.IS_PDF_EMBEDDED, Boolean.TRUE); 113 } 114 115 return attributes; 116 } 117 118 119 } 120 | Popular Tags |