美文网首页
Linux下安装字体

Linux下安装字体

作者: 土卫十六 | 来源:发表于2017-12-16 14:22 被阅读0次

    以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环境下使用自己安装的字体时,先打印一下字体的名字,再在代码中引入。另外如果有大哥知道我上面问题的具体原因,望不吝赐教,拜谢

    相关文章

      网友评论

          本文标题:Linux下安装字体

          本文链接:https://www.haomeiwen.com/subject/kduswxtx.html