java 图片合成文字或者awt包下的对话框引入自定义字体库

成就卡图片字体问题:
1、下载 xxx.ttf 文件
2、mkdir /usr/local/jdk1.6.0_11/jre/lib/fonts/fallback。     在jre/lib/fonts 下创建 fallback文件夹(该文件夹为系统未找到字体时的调用)
3、将ttf文件上传至fallback位置
4、重启应用实例
注: 还存在问题 复制一份ttf文件到fonts文件夹下

亲测有效  !

如果还有问题!文中引用font字体时先创建并注册一下

public final class FontUtils {
//文件存放路径
private static final String SONG_TI_FONT = "classpath:font/原版宋体.ttf"; private static final Map<String, Font> MAP_FONT = new HashMap();/** * 获取宋体 字体对象 * * @param fontSize * @return */ public static Font songTiFont(Integer style, Float fontSize) { //调用 Font font = FileUtils.loadFont(SONG_TI_FONT, style, fontSize); return font; } /** * 第一个参数是外部字体名,第二个是字体大小 */ public static Font loadFont(String fontFileName, Integer style, Float fontSize) { FileInputStream inputStream = null; try { if (MAP_FONT.get(fontFileName + fontSize) != null) { return MAP_FONT.get(fontFileName + fontSize); } inputStream = new FileInputStream(ResourceUtils.getFile(fontFileName)); Font dynamicFont = Font.createFont(Font.TRUETYPE_FONT, inputStream); Font dynamicFontPt = dynamicFont.deriveFont(style, fontSize); MAP_FONT.put(fontFileName + fontSize, dynamicFontPt); GraphicsEnvironment.getLocalGraphicsEnvironment().registerFont(dynamicFontPt); return dynamicFontPt; } catch (Exception e) { return new java.awt.Font("宋体", Font.PLAIN, fontSize.intValue()); } finally { if (inputStream != null) { try { inputStream.close(); }catch (Exception E){ } } } } }
原文地址:https://www.cnblogs.com/niunafei/p/10316226.html