本文以安装黑体simhei.ttf为例,简单演示如何在Linux下安装中文字体。

环境信息介绍

[root@thatsit ~]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
[root@thatsit ~]# [root@thatsit ~]# uname -r
3.10.0-229.el7.x86_64
[root@thatsit ~]# [root@thatsit ~]# echo $LANG
en_US.UTF-8
[root@thatsit ~]# cat /etc/locale.conf
LANG="zh_CN.UTF-8"
[root@thatsit ~]# [root@thatsit ~]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
[root@thatsit ~]#

依赖的命令

操作依赖几个命令,如果系统中不存在需要手动安装下。

  • fc-list:列举可用的字体
  • fc-cache:生成字体信息的缓存

这两个命令包含在fontconfig包里,可以通过下面的命令进行安装。

yum install fontconfig
  • mkfontscale:生成字体索引

这个命令属于xorg-x11-font-utils工具包,可以通过下面的命令进行安装。

yum install mkfontscale

操作步骤

  • 创建一个用于存放中文字体的目录
mkdir /usr/share/fonts/zh_CN

PS: /usr/share/fonts/这个目录会在安装fontconfig包之后自动创建

  • 上传字体simhei.ttf到上述目录中

  • 构建字体索引和缓存

# cd /usr/share/fonts/zh_CN # 需要进到这个目录
mkfontscale
mkfontdir
fc-cache -fv

执行上述命令之后,在目录下可以看到一个fonts.dir和一个fonts.scale文件

[root@thatsit zh_CN]# pwd
/usr/share/fonts/zh_CN
[root@thatsit zh_CN]# ll
total 9532
-rw-r--r-- 1 root root 66 Sep 4 11:39 fonts.dir
-rw-r--r-- 1 root root 66 Sep 4 11:39 fonts.scale
-rwxrw-rw- 1 root root 9751960 Sep 4 11:38 simhei.ttf
[root@thatsit zh_CN]#

文件内容

[root@thatsit zh_CN]# cat fonts.dir
1
simhei.ttf -misc-simhei-medium-r-normal--0-0-0-0-p-0-iso10646-1
[root@thatsit zh_CN]# cat fonts.scale
1
simhei.ttf -misc-simhei-medium-r-normal--0-0-0-0-p-0-iso10646-1
[root@thatsit zh_CN]#
  • 查看字体
# 查看所有可用字体
[root@thatsit zh_CN]# fc-list
/usr/share/fonts/dejavu/DejaVuSansCondensed-Oblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Oblique,Oblique
/usr/share/fonts/dejavu/DejaVuSansCondensed-Bold.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold,Bold
/usr/share/fonts/dejavu/DejaVuSans.ttf: DejaVu Sans:style=Book
/usr/share/fonts/zh_CN/simhei.ttf: SimHei:style=Regular,Normal
/usr/share/fonts/dejavu/DejaVuSans-Bold.ttf: DejaVu Sans:style=Bold
/usr/share/fonts/dejavu/DejaVuSansCondensed.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed,Book
/usr/share/fonts/dejavu/DejaVuSans-ExtraLight.ttf: DejaVu Sans,DejaVu Sans Light:style=ExtraLight
/usr/share/fonts/dejavu/DejaVuSansCondensed-BoldOblique.ttf: DejaVu Sans,DejaVu Sans Condensed:style=Condensed Bold Oblique,Bold Oblique
/usr/share/fonts/dejavu/DejaVuSans-Oblique.ttf: DejaVu Sans:style=Oblique
/usr/share/fonts/dejavu/DejaVuSans-BoldOblique.ttf: DejaVu Sans:style=Bold Oblique
[root@thatsit zh_CN]# # 只查看中文字体,SimHei字体安装成功。
[root@thatsit zh_CN]# fc-list :lang=zh
/usr/share/fonts/zh_CN/simhei.ttf: SimHei:style=Regular,Normal
[root@thatsit zh_CN]#

dir和scale文件生成的详细过程

[root@thatsit zh_CN]# ls
simhei.ttf
[root@thatsit zh_CN]#
[root@thatsit zh_CN]#
[root@thatsit zh_CN]# mkfontscale
[root@thatsit zh_CN]# ls
fonts.scale simhei.ttf
[root@thatsit zh_CN]# mkfontdir
[root@thatsit zh_CN]# ls
fonts.dir fonts.scale simhei.ttf
[root@thatsit zh_CN]# fc-cache -fv
/usr/share/fonts: caching, new cache contents: 0 fonts, 3 dirs
/usr/share/fonts/default: caching, new cache contents: 0 fonts, 2 dirs
/usr/share/fonts/default/Type1: caching, new cache contents: 35 fonts, 0 dirs
/usr/share/fonts/default/ghostscript: caching, new cache contents: 4 fonts, 0 dirs
/usr/share/fonts/dejavu: caching, new cache contents: 13 fonts, 0 dirs
/usr/share/fonts/zh_CN: caching, new cache contents: 1 fonts, 0 dirs
/usr/share/X11/fonts/Type1: caching, new cache contents: 13 fonts, 0 dirs
/usr/share/X11/fonts/TTF: skipping, no such directory
/usr/local/share/fonts: skipping, no such directory
/root/.local/share/fonts: skipping, no such directory
/root/.fonts: skipping, no such directory
/usr/share/fonts/default: skipping, looped directory detected
/usr/share/fonts/dejavu: skipping, looped directory detected
/usr/share/fonts/zh_CN: skipping, looped directory detected
/usr/share/fonts/default/Type1: skipping, looped directory detected
/usr/share/fonts/default/ghostscript: skipping, looped directory detected
/usr/lib/fontconfig/cache: cleaning cache directory
/root/.cache/fontconfig: not cleaning non-existent cache directory
/root/.fontconfig: not cleaning non-existent cache directory
/usr/bin/fc-cache-64: succeeded
[root@thatsit zh_CN]# ls
fonts.dir fonts.scale simhei.ttf
[root@thatsit zh_CN]#

Linux 下安装中文字体的更多相关文章

  1. Linux下安装中文字体

    目录 一.Centos系列 二.Ubuntu系列 一.Centos系列 1.安装字体库 yum -y install fontconfig 2.添加中文字体,建立存储中文字体的文件夹 mkdir /u ...

  2. Linux 下安装中文 ctex 指南

    大家在用 $\LaTeX$ 进行中文排版时相信会遇到不少问题,而$\textbf{ctex}$套装的出现则有效的解决了这一问题,只要安装了$\textbf{ctex}$那么在文中不用进行引用设置就可以 ...

  3. CentOS 7.6环境下安装中文字体库

    JAVA画图时常用到Font 类对象 这样的对象依赖于本地的字段.新装的linux没有安装字段库,和相应的字体. 1.fc-list查看字体库 2.yum -y install fontconfig安 ...

  4. Centos6下安装中文字体

    先安装字体管理软件 [root@localhost ~]# yum install fontconfig 将需要安装的字体放到/usr/share/fonts/chinese/目录下 如果不存在这个目 ...

  5. Linux(Centos)安装中文字体库(文档中文字符不显示)

    yum -y install fontconfig 在/usr/shared/fonts目录下新建一个目录chinese 然后打开windows本地的字体库 将这里面的所有文件上传到centos里我们 ...

  6. Linux下JDK中文字体乱码

    java生成图片的时候用到字体,但是liunx系统没有这些字体需要把C:\Windows\Fonts 上传到/usr/local/jdk1.8.0_171/jre/lib/fonts 重启tomcat ...

  7. Linux下安装中文宋体

    1,#cd /usr/share/fonts/default 2,mkdir -p ./truetype/simsun 3,取得simsun.ttc文件:如果网上下载不到则在windows (c:/w ...

  8. Linux安装中文字体(已验证)

    1.安装字体命令 sudo apt install -y fontconfig 2.查看已安装的字体 (1)查看linux已安装字体 fc-list (2)查看linux已安装中文字体 fc-list ...

  9. 解决Linux下sqlplus中文乱码问题

    错误现象:在windows下用其他工具访问oracle,确认中文正常显示.在Linux下使用sqlplus查询数据表中文内容出现乱码. 分析及解决:因为windows下正常,所以问题应出现在Linux ...

随机推荐

  1. nginx中lua主动设置Content-Length

    最近发现lua调用ngx.say和ngx.print 默认返回的HTTP头是trunk模式的,通常情况下是很好的,没有什么问题:但是要提供给其他人回源的时候就有问题了,特别是我要给slice模块回源, ...

  2. linux修改时区为东八时区,北京时间,上海时间

    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo "Asia/Shanghai" > /etc/tim ...

  3. 阶段3 1.Mybatis_07.Mybatis的连接池及事务_6 mybatis中的事务原理和自动提交设置

    在实际的开发中,建议使用连接池的形式. JNDI的资料 H:\BaiDu\黑马传智JavaEE57期 2019最新基础+就业+在职加薪\讲义+笔记+资料\主流框架\31.会员版(2.0)-就业课(2. ...

  4. 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第3节 maven标准目录结构和常用命令_07maven常用命令

    以给的hellowordl的的代码为例. src/main/java下,这是主业务逻辑代码 里面的内容只有一个jsp的跳转 测试包下: 里面很简单的就输出了一句话 复制项目的目录 先cd进入复制的这个 ...

  5. 应用安全 - 软件漏洞 - 可视化平台kibana漏洞汇总

    CVE-2019-7609  Date: 类型: RCE 前置条件: Timelion And Canvas 影响范围: kibana-RCE < PoC | ExP: https://gith ...

  6. 关于Java多线程的一些面试问题

    1.ArrayList和Vecoter区别? Array和ArrayList的异同点一.Array和ArrayList的区别#1. Array类型的变量在声明的同时必须进行实例化(至少得初始化数组的大 ...

  7. java基础笔记(7)

    Socket编程 通信基础:ip地址(位置).协议(语言).端口(软件程序): java提供网络功能的四大类: InetAddress没有构造函数,不够里面有一些方法是可以返回实例,如: InetAd ...

  8. P5020货币系统

    这个题是2018提高组真题,是一道看不出是背包的背包题. 题干特别长,甚至有些没看懂.题意为给出一组货币面值,然后从这里面用最少的面值数量取代原先的面值.比如3,6直接用3表示.一开始想到了小凯的疑惑 ...

  9. vmware下使用nat方法联网

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/Li_Zefeng/article/det ...

  10. dajngo ORM查询中select_related的作用,博客主题的定制,从数据库中按照年月筛选时间

    1.dajngo ORM查询中select_related的作用 select_related()方法一次性的把数据库关联的对象都查询出来放入对象中,再次查询时就不需要再连接数据库,节省了后面查询数据 ...