皕杰报表部署到linux上字体问题

helloworld_34035044
• 阅读 532
当报表部署到linux时,出现了字体问题,可能的原因有:

1.Linux系统缺少字体

2.Linux系统缺少字符集

3.jdk未成功加载字体

配置中文字体
  1. fc-list 查看字体列表

  2. yum -y install fontconfig 安装字体库

安装完成后,在/usr/share目录就可以看到fonts和fontconfig目录了(之前是没有的)

3.首先在/usr/share/fonts目录下新建一个目录chinese:将所需的字体上传至/usr/share/fonts/chinese目录下

4.修改chinese目录的权限:

chmod -R 755 /usr/share/fonts/chinese

5.安装ttmkfdir来搜索目录中所有的字体信息,并汇总生成fonts.scale文件,输入命令:

yum -y install ttmkfdir

然后执行ttmkfdir命令即可:

ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir

6.修改字体配置文件了,首先通过编辑器打开配置文件:

vim /etc/fonts/fonts.conf

可以看到一个Font list,即字体列表,在这里需要把我们添加的中文字体位置加进去: 7.不用重启,刷新内存中的字体缓存使配置对系统生效:

fc-cache

添加中文字符集

Locale 然后查看系统当前字符集

yum -y groupinstall chinese-support 下载字符集

vim /etc/sysconfig/i18n 将字符集配置到系统变量中

将变量LANG的值设置为:“zh_CN.UTF-8”。

即:LANG=zh_CN.UTF-8

编辑保存之后,注意要重新载入此文件。 重新载入命令:. /etc/profile 使用命令echo $LANG 可以看到输出:zh_CN.UTF-8,证明设置成功。

另外使用locale命令也可以看到,字符集已经成功设置:

给JDK添加字体
  1. 进入 JDK 的目录,如果没有fonts目录,自行创建

echo $JAVA_HOME

cd $JAVA_HOME/jre/lib/fonts

  1. 创建目录

mkdir fallback

cd fallback

  1. 将所需要的中文字体拷贝过来
  1. 生效

mkfontscale

mkfontdir

如果运行mkfontscale命令时终端提示mkfontscale: command not found,则需要首先安装这个命令

使mkfontscale和mkfontdir命令正常运行

yum install mkfontscale

使fc-cache命令正常运行。如果提示 fc-cache: command not found

yum install fontconfig

或者将Linux系统的字体目录作为JDK下面的一个字体目录连接

ln -s $FONTS_PATH/FONT_DIR $JAVA_HOME/jre/lib/fonts/fallback

点赞
收藏
评论区
推荐文章
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
皕杰报表使用字体和部署后添加字体
Windows系统1、打开Win10系统的字体安装文件夹,可以双击打开此电脑打开C盘打开Windows打开Fonts;也可先打开计算机,在计算机地址栏上直接拷贝“C:WindowsFonts”路径。回车打开Win10字体文件夹。2.下载自己需要的字体。3.
皕杰报表(关于预览时文字变成方块)
在linux系统部署皕杰报表后,预览字体会变成小方块。可能的原因有:1.Linux系统缺少字体2.Linux系统缺少字符集3.jdk未成功加载字体:::tip解决方法:::解决办法一:拷贝中文字体:1)在启动java的时候加入如下参数,参数值为jdk的安装路径Dsun.java2d.fontpath……/j2se/jre/lib/fonts2)操作
混世魔王 混世魔王
1年前
在VM VirtualBox6.1中安装redhat7.3过程实录
最近试用皕杰报表工具,需要把报表部署到linux系统,因而在VMVirtualBox虚拟机上安装linux操作系统,现把过程记录下来,作为今后的备忘。打开VMVirtualBox虚拟机,见下图:点击控制菜单选择新建:输入虚拟电脑名称,选择安装的文件夹,点击
Wesley13 Wesley13
3年前
Ubuntu上Netbeans8.0字体的一次蛋疼体验
   最近准备转到Ubuntu操作系统下开发。开发工具我已经习惯了是使用netbeans。在原来windows,通过修改JAVA\_HOME/jre/lib的fontconfig.properties,定制monospaced,并且在netbeans选改字体来使得编辑代码界面使用我们的字体,同时也解决英文字体显示中文乱码问题。   由于对fon
Wesley13 Wesley13
3年前
ubuntu 字体
1。解决在ubuntu下安装xp字体的问题:第一步:拷贝xp下的字体文件(控制面板字体)到一个文件夹,可命名为xpfonts;此方法适合单系统用户,如果是双系统用户,也可以考虑建立软链接;第二步:拷贝xpfonts文件夹到/usr/share/fonts下;具体的实现命令:#cdxpfonts文件夹所在目录#sudo
Stella981 Stella981
3年前
Linux下添加windows字体
在Linux下使用wqy字体,在视觉效果上就已近很好了,其实没有必要添加windows字体。但是显然有些人(比如领导,^..^)就喜欢宋体、楷体,所以添加windows字体有时还是需要的,幸运的是这件事很简单。windows字体的来源可以从windows系统中拷贝。对于大多数Linux系统,在你双击某种ttf字体时,就会打开类似于包管理器的界面,通常
Wesley13 Wesley13
3年前
Ubuntu下解决中文显示为方块最佳方法
一、问题分析由于Linux系统中并没有包含中文相关的字体库,而不是系统不支持中文或者中文乱码,因此显示给我们的是方块儿二、解决方法1、从window系统中的字体库复制需要的中文库到Linux系统中windows字体库路径:C:\\Windows\\Fonts这里我自己选择的是宋体simsun.ttc这个文件
Stella981 Stella981
3年前
Docker 容器添加中文字体
系统里有一个需要在图片上画中文的功能,在测试环境是ok的,一到线上Docker容器环境中文就不显示了,查了一些资料说是缺少中文字体,那我们就来安装中文字体吧。1\.查看当前使用的系统语言:$echo$LANGen_US.UTF8en\_US.UTF8是支持中文编码的,所以并不需要去安装中文编
天航星 天航星
3个月前
Docker 安装字体文件
由于Docker容器的隔离性,与宿主机是独立的运行环境,如果需要用到宿主机的字体文件就需要进行安装。例如在导出PDF文件时,如果缺少字体文件,就会产生乱码(常表现为中文变成方框)。Docker字体文件的安装比较简单,因为Linux系统的字体文件一般都在/u