Java中如何自定义字体文件(引用外部字体)?

Java中如何自定义字体文件(引用外部字体)?图源来自网络有时候我们在程序中,会使用到Java字体,但不是所有的字体系统中都会有,我们就可能会使用外部自定义字体。

大家好,欢迎来到IT知识分享网。

Java中如何自定义字体文件(引用外部字体)?

图源来自网络

有时候我们在程序中,会使用到Java字体,但不是所有的字体系统中都会有,我们就可能会使用外部自定义字体,这样在程序迁移部署中就会少些工作,最近在一个项目中使用到了自定义字体文件,理顺了,记之。

package cy.util; import java.awt.Font; import java.awt.FontFormatException; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; public class CyFont { private Font definedFont = null; public Font getDefinedFont(int ft,float fs) { String fontUrl=""; switch (ft) { case 1: fontUrl="/opt/hwxk.ttf";//华文行楷 break; case 2: fontUrl="/opt/hwkt.ttf";//华文楷体 break; default: String fonturllocal="/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc"; if(!new File(fonturllocal).exists()){ fontUrl="/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc"; }else{ fontUrl=fonturllocal; } break; } if (definedFont == null) { InputStream is = null; BufferedInputStream bis = null; try { is =new FileInputStream(new File(fontUrl)); bis = new BufferedInputStream(is); definedFont = Font.createFont(Font.TRUETYPE_FONT, is); //设置字体大小,float型 definedFont = definedFont.deriveFont(fs); } catch (FontFormatException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (null != bis) { bis.close(); } if (null != is) { is.close(); } } catch (IOException e) { e.printStackTrace(); } } } return definedFont; } public static void main(String[] args) { // TODO Auto-generated method stub CyFont cf=new CyFont(); cf.getDefinedFont(1, 50.0); } } 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/59400.html

(0)
上一篇 2024-06-27 21:26
下一篇 2024-06-29 21:15

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信