zoukankan      html  css  js  c++  java
  • java jdk-awt.font在centos上中文乱码的问题, 安装中文字体

    有需求生成一个二维码,并且有一段文本说明,但是使用awt.font来生成中文时,一直存在乱码的问题。网上的解决办法有几种,但是在centos上亲测有用的就是如下的方法。

    Java代码如下:new java.awt.Font("宋体",Font.BOLD,13);

    1,从windows上拷贝simsun.ttc宋体文件(有的说改后缀为ttf,没有试),拷贝到/usr/share/fonts下,可以新建一个文件夹,比如我创建的是chinese,即路径为/user/share/fonts/chinese

    2,上传simsun.ttc到/usr/share/fonts/chinese下,执行chmod 777 simsun.ttc (修改执行权限)

    3,在/usr/share/fonts/chinese路径下执行fc-cache -fv,安装字体到系统

    4,执行fc-list能够看到已经安装过的字体,能够看到安装的字体。

    5,重启tomcat即可。

    之前的思路一直是想使用java.awt.Font的public static Font createFont(int fontFormat,File fontFile) 方法来做,即传入一个ttf文件(把simsun.ttc改名为simsun.ttf,这个地方一定要求是ttf后缀不然会报错),因为这样毕竟是api代码层级的实现,不用改动服务器环境,但是一直不成功

    1、先从你本机 C:WindowsFonts 拷贝或者网络上下载你想要安装的字体文件(*.ttf文件)到 /usr/share/fonts/chinese/TrueType 目录下(如果系统中没有此目录,则自行mkdir创建,亦可重命名为自己喜欢的文件夹名)

    2、修改字体文件的权限,使root用户以外的用户也可以使用

    # cd /usr/share/fonts/chinese/TrueType
    # chmod 755 *.ttf

    3、建立字体缓存

    # mkfontscale (如果提示 mkfontscale: command not found,需自行安装 # yum install mkfontscale )
    # mkfontdir 
    # fc-cache -fv (如果提示 fc-cache: command not found,则需要安装# yum install fontconfig )

    4、重启计算机
    # reboot

  • 相关阅读:
    js 简单排序
    封装Vue轮播图
    MonggoDB 基本操作
    Node + MVC模式 登录注册 小示例
    Node__Express
    Canvas 碎碎念
    vue 动态添加 删除 属性
    Vue 下 浏览器 点击实现复制功能
    电脑共享无线网
    抓包tcpdump
  • 原文地址:https://www.cnblogs.com/beyang/p/7580637.html
Copyright © 2011-2022 走看看