Linux下安装字体

以CentOS为例,字体文件在/usr/share/fonts目录

1.网上下载字体库,我用的ttf文件,其它没有试

2.复制ttf文件到/usr/share/fonts目录下,也可新建文件夹以区分

3.建立字体索引,更新字体缓存

cd /usr/share/fonts
mkfontscale
mkfontdir
fc-cache -fv

4.查看已安装字体列表

fc-list

5.代码中遇到的问题

我在做一个在图片上添加水印的功能时,win环境没问题,上linux环境出现找不到字体,按照上述问题安装字体以后,java代码引入字体一直有问题,但是不会报错,最终发现是字体名字不对。
我安装的字体文件:

AdobeHeiti_S60.cn.ttf

fc-list展示的已安装字体列表中,该字体的信息:

Adobe Heiti Std,Adobe 黑体 Std,Adobe Heiti Std R,Adobe 黑体 Std R:style=R,Regular

我在代码中使用引入字体使用:

Font font = new Font("Adobe Heiti Std", Font.BOLD, 55);

但是图片上依然无法打印中文,后来考虑是不是字体的名字有问题,所以在代码中引用该字体后,打印该字体的名字:

Font font = Font.createFont(Font.TRUETYPE_FONT, new File("h:\\AdobeHeiti_S60.cn.ttf"));
System.out.println(font.getName());

这样,打印出来的字体名字竟然是:

Adobe 黑体 Std

然后,把代码改为:

Font font = new Font("Adobe 黑体 Std", Font.BOLD, 55);

具体原因不知道,只能建议大家如果在linux环境下使用自己安装的字体时,先打印一下字体的名字,再在代码中引入。另外如果有大哥知道我上面问题的具体原因,望不吝赐教,拜谢

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、概念 参考网页字体Serif和Sans-serif的区别及浏览器字体的设置CSS Font知识整理总结 1.F...
    合肥黑阅读 6,418评论 0 12
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,648评论 9 468
  • Adobe与Google为东亚地区发布了思源系列字体,这些字体同时支持中文、韩文与日文。但是,思源字体使用了不同的...
    孤门寒雪阅读 44,074评论 2 36
  • 大家都知道,在不同操作系统、不同游览器里面默认显示的字体是不一样的,并且相同字体在不同操作系统里面渲染的效果也不尽...
    陈_宣阅读 1,973评论 0 7
  • 第一章 第一节 第二段 男子从背后取出一本白色封面小薄,厚度大概和普通课本差不多。这个动作没有引起正处于抱头混...
    雨象阅读 262评论 0 0