LaTeX如何通过xeCJK使用本地字体?

我们在使用LaTex的时候,一般情况下只需要使用系统自带的字体,但是在很多场合我们仍然需要使用一些特殊字体,但是如果按照常规的方法使用字体似乎不可行。

例如,我们查看系统字体,看到系统确实安装了汉仪雪君体简字体

 怎么办?


在编写的.tex文件的导言区导入宏包: \usepackage{xeCJK}  % 中文字体扩展管理宏包,务必添加!!

我们再在LaTex编辑器中写入下面配对命令。注意:本地字体不可以直接在tex中使用,需要转化处理,步骤两步:

1. 首先,将tex系统不认识的这个本地字体加入到CJKfamily大家庭,使其被tex系统识别(理解即可~),操作方法如下:

\setCJKfamilyfont{重新命名的字体,如hyxjj} {系统内的某个字体名,如 汉仪雪君体简.TTF}

2. 然后,定义新的字体调用命令。

     \newcommand{  \hyxjj } {  \CJKfamily{hyxjj} %创建新字体调用命令

之后,就可以在正文中通过调用上面创立的新命令{\hyxjj xxx}实现对文本xxx的修饰

举例:

\setCJKfamilyfont{hyxjj}{汉仪雪君体简.TTF} %汉仪雪君体简体\newcommand{\hyxjj}{\CJKfamily{hyxjj}}

  

然后,在正文部分使用刚才声明的字体:

\hyxjj 循环卷积混叠的产生与消除

然后编译,发现报了如下的错误

fontspec error: "font-not-found" The font "汉仪雪君体简" cannot be found. For immediate help type H <return>. ...family {hyxjj}循环卷积混叠的产生与消除}{1}{section.1.1}
fontspec error: "font-not-found" The font "汉仪雪君体简" cannot be found. For immediate help type H <return>. ...family {hyxjj}循环卷积混叠的产生与消除}{1}{section.1.1}
fontspec error: "font-not-found" The font "汉仪雪君体简" cannot be found. For immediate help type H <return>. ...family {hyxjj}循环卷积混叠的产生与消除}{1}{section.1.1}

显然,在进行编译时,系统找不到汉仪雪君体简的字体库,但是当我们使用其他宋体字体库时就可以,经过多次尝试,我们猜想应该是操作系统确实安装了该字体,但是LaTex在调用该字体时有些问题,这个问题在于字体名与字体库文件名不一致,或者说编码不一致,导致编译时没有正确匹配到字体文件,所以我们现在的方法有两种:

  • 更改LaTex的字体文件匹配编码方式
  • 更改字体文件的字体名,使字体名全部为ASCLL编码方式,或者UTF-8编码方式

显然,我们用方法2简单很多,于是我们开始寻找一种能改变字体名的工具,比较幸运的是,确实有像FontCreator这样的字体生成工具,这个当然可以更改字体名。于是我们使用FontCreator对字体文件进行更改

打开FontCreator,并找到需要更改的字体文件,打开它,然后在字体属性中对文件名进行更改,如下图

我们将左图的原文件属性修改为右图的属性,这样就更改了文件的字体名,然后导出为TTF文件,我们再把这个文件粘贴到系统字体路径下,系统就会自动安装刚才的字体,这里注意字体名很有可能不是文件名,为了保险起见,我们将字体名和文件名都改为HYXueJunJ和HYXueJunJ.TTF。
       以上我们就完成了字体名的更改,接下来我们重新使用LaTex尝试编译

\setCJKfamilyfont{hyxjj}{HYXueJunJ.TTF} %汉仪雪君体简体
\newcommand{\hyxjj}{\CJKfamily{hyxjj}} %将调用命令重定义为\hyxjj
然后我们再使用这个命令来码字看看

和我们预想的一样,确实可以以汉仪雪君体简的形式编译  ,同理我们可以声明其他字体

\setCJKfamilyfont{qxybxsj}{QuanXinYingBiXingShuJ.TTF} %全书硬笔行书简体
\newcommand{\qxybxsj}{\CJKfamily{qxybxsj}}
调用重新定义的字体调用命令,然后编译

声明的字体不会影响字号的选择,这样理论上我们就可以安装任何我们想要使用的字体,当然板书的形式是次要的,内容才是核心。

声明:以上涉及使用的字体仅仅是用来学习使用的,严谨作为商业用途,若使用者乱用构成侵权的后果自负。

参考:https://blog.csdn.net/C_ElecM/article/details/100802178

汉仪雪君体简.TTF

LaTeX如何通过xeCJK使用本地字体?相关推荐

  1. Latex使用本地字体

    Latex+XeCJK宏包使用本地字体 导入宏包 XeCJK 把本地字体放在latex文件夹下 定义字体 \documentclass{article} \usepackage{xeCJK}\setC ...

  2. LaTeX 如何安装一些非免费字体 getnonfreefonts

    LaTeX 如何安装一些非免费字体 getnonfreefonts 在 LaTeX 中,有些字体是可以免费使用的,但是因为这些字体不允许收费分发,所以在本地化的安装里通常没有提前包括它们.本文介绍如何 ...

  3. Qt加载本地字体 .ttc或.ttf

    //设置本地字体,黑体简 int fontId = QFontDatabase::addApplicationFont(QCoreApplication::applicationDirPath() + ...

  4. 本地字体上传到网络后运用到微信小程序详细过程

    前言 首先是直接在本地直接使用很不方便,因为微信小程序最多上传2m代码,而有时候一个字体文件就有十几m或者更多... 使用微信小程序自带的 wx.loadFontFace() 改变项目字体有很多限制, ...

  5. 【106】360查字体-查询本地字体版权是否可商用

    字体版权纠纷现在比较普遍,有些字体不能未经许可用于商业用途,一旦被发现往往面临赔偿.今天分享一个字体版权查询工具,可以识别本机安装的字体是否可以免费商用. 地址:参见文末图 打开"360查字 ...

  6. Latex中subfloat设置子图标题字体大小

    Latex中subfloat设置子图标题字体大小 原本给出的例子为: 注意到(a)与(b)的字体以及字体大小均不合适,居然还比正文大,就很奇怪. 修改方式: 修改开头的控制命令(原始): \usepa ...

  7. ArcGIS JavaScript 使用本地字体库

    一.参考资料 https://www.jianshu.com/p/12c3c8fe05fa ArcGIS API for JavaScript如何使用本地的字体库 - GIS知乎-新一代GIS问答社区 ...

  8. 本地字体库的引入方法

    本地字体库是指在计算机系统中存储的一组字体文件,通常包含多种字体格式,如TTF.OTF.WOFF等.引入本地字体库可以让用户在使用计算机时可以选择不同的字体,从而提高用户的使用体验. 本地字体库的引入 ...

  9. latex字体_[LaTeX 引擎] XeLaTeX + macOS,通过字体名调用发行版字体

    本文已加入专栏文章目录,归入「基本使用」文章系列. 名词约定 本文所称字体,特指 ttf,otf 和 ttc 格式的字体 本文默认使用 macOS 操作系统,安装了 TeX Live 发行版,执行 x ...

最新文章

  1. 剑指offer:二叉树镜像
  2. spring启动过程之源码跟踪(中)--spring Debug
  3. JZOJ 5623. 【NOI2018模拟4.2】program
  4. criscriter英语测试软件,iTEST大学英语测试与训练系统
  5. python实现随机乱序/洗牌
  6. HTML中利用堆栈方式对Table进行行排序
  7. 小程序 cover-view 字体_【企商云】2021年,要知道的9个小程序开发流程清单
  8. vue-devtoools 调试工具安装
  9. Altlas M1 and Tips of Debugger Visualizers
  10. NOIP2018 DAY1T1 铺设道路(水题)
  11. 别再刷百度厂长被浇水啦!来看看大百度APP-首屏秒开优化实践
  12. 传奇脚本中提到的WIL序号是什么?在哪查看WIL序号?
  13. 集团HR人事资源管理系统软件有哪些
  14. 冒死解密,微信逆向:破解聊天记录文件!
  15. Android 广播接收不到短信问题,Android中短信的广播接收问题
  16. #章节四:input()函数
  17. CSDN怎么改变字体颜色
  18. C4D R25 UV的展开与导出
  19. 网络编程中的基本概念
  20. h5游戏引流推广方法:电商平台如何引流推广?

热门文章

  1. 2020 HGAME WEB_Week2
  2. 东北大学OJ-1551: 实验4-13:求四个数中的最大值
  3. 父亲节python代码半个心_父亲节文案来了,太走心了!
  4. 任务的同步和通信(一)
  5. 简单三步教你学会用Vegas做鬼畜!
  6. HTML5七夕情人节表白网页制作【JavaScript和Canvas外太空表盘两款】HTML+CSS+JavaScript
  7. mysql当前时间往后推一周_一篇文章搞定Mysql日期时间函数
  8. php域名绑定模块,迅睿CMS 模块域名绑定
  9. 饲料企业生产管理制度
  10. 关于TM影像各波段组合的简介