在LaTeX中配置西夏文字体与环境

警告:这篇文章的部分内容需要西夏文字体才能正常显示。若您需要安装,可参考本文的第四部分。

赖云帆已经在他的博客里发布了在LaTeX中排印西夏文的基本方法。这里多说一点。

1 配置字族

我的做法是:直接占用sans字族,将其用于打印西夏文。对于中国的研究者,排西夏文的时候肯定是和汉文混排,所以还是建议直接上xeCJK宏包(或ctex宏包),免得麻烦多:

\usepackage{xeCJK}
\setCJKmainfont{华文仿宋}       % 景永时字体比较接近于仿宋的字形,搭配效果较好
\setCJKsansfont{Tangut N4694}   % 由ccamc.co发布的字体,修改自景永时字体

之后,在正文中用\sf的控制序列即可设定一个区域中显示西夏文。例如,为方便在大量的汉文中插入少量的西夏文,可单独设定一条“西夏文短句”的命令:

\newcommand{\tangut}[1]{{\sf #1}}

然后在正文中写一个这样的段落:

下面我们来显示一段西夏文:\Tangut{《??????????????????》}

效果如下。

如果不需要中文或其他CJK字体,则可以单用fontspec宏包,可参考赖云帆的博客

2 粗体、斜体设定

LaTeX中不能实现伪粗体或伪斜体,需要自行设置替代字族。说起来,西夏文能打在屏幕上已经不错了,还要什么粗体、斜体……如果要试一下的话,可以采用下面这套字体组合,还比较美观。

\setCJKsansfont[BoldFont=新西夏字体,ItalicFont={Tangut TWU}]{Tangut Yinchuan}

其中Tangut TWU字体有部分缺字,使用时需注意。排版下面这样一个段落,注意其中对粗体和斜体用了\large命令,因实验发现此处使用的粗体/斜体字体都偏小:

以下这段话则显示了一整个引用段落:
\begin{quotation}\sf
??????????!\textbf{\large ??????????}!??????????!??????????????!??????????????!\textit{\large ??????????????????????????????}。????。??????????????????。????????。??、??????????,??????????。????????。????、????????、????????、????????、??。??????、????????,??????????,??????。??,????????。????????,????????。????。????、????????????????,??????????。
\end{quotation}

效果如下。粗体不明显,斜体(实质上是手写体)还比较突出。

参考目前的西夏研究文献,没有见到需要使用粗、斜体的情况。如果确实需要(例如编写纯西夏文的文献……),应当专门设计针对的粗体、斜体字体。

3 文本编辑器的字体设定(以Sublime Text为例)

编程时需要等宽字体。要使得西夏文很好的在编辑器中显示,其字体要求有二类:要么是将西夏字体与等宽的英文字体配合起来,要么是使西夏字体不占用英文字体的编码(从而使得编辑器默认的等宽字体与西夏文搭配起来)。

我是用Sublime Text 3编辑LaTeX源码的。由ccamc.co发布的Tangut N4694是一款比较理想的西夏字体,不幸的是其中还嵌入了非等宽的英文字体,这使得其在文本编辑器中效果很差。另一款由魏安整理的字体Tangut Yinchuan(也是改编自景永时字体)内嵌了等宽的字体,跟Consolas比较接近,效果较好(中文显示为比较磕碜的细明体,但好歹能忍)。在已安装这款字体的情况下,在菜单栏Preferences->Settings弹出的User文件中填入:

{
    "font_face": "Tangut Yinchuan",
}

应用即可,效果如下:

在其他编辑器中,应用类似的修改字体操作也可实现同样的效果。

4 附录:一些字体的下载源

以下给出的都是unicode编码的字体,不占用汉字或其他编码空间。因为西夏文进入unicode只是几年前的事,所以这些字体都还比较新。

首先是由ccamc.co发布的四款字体:Tangut N4694(改编自景永时字体)、new Tangut Std(字形与景永时体类似,但进行了大幅度的重新设计,修正了许多错误,字形偏粗)、Tangut TWU(改编自台湾中研院的字体,手写风)、Mojikyo Tangut(直接取自日本的今昔文字镜字体,错误较多未做修正)。这些字体的发布页面为“字體和输入法”。(另外,该页面上还可以下载到几款很合用的西夏文输入法,同时也附有相应的教程。)

英国学者魏安的个人网站BabelStone上发布有两款西夏文字体:Tangut Wenhai(取自《文海》,缺字较多)、Tangut Yinchuan(改编自景永时字体,字库齐全,字体比较纤细)。点击它们的名称即可下载。

目前可用的unicode编码西夏字体,应该就这几个。占用其他文字编码的字体,同样可以使用,但是这对编辑器当然是一点也不友好:代码编辑器里可不能像在Word里一样,这里用这个字体,那里用那个字体。

最后……我不是西夏文的研究者,西夏文纯粹是过去因偶然原因而获得的“爱好”。今后由于时间、精力的有限,估计不会再涉足了,毕竟深度太低的认识不如一无所知——我自己是这个看法。此文算是一个阶段的终点。

原文地址:https://www.cnblogs.com/xjtu-blacksmith/p/10356742.html

时间: 2024-11-05 18:44:21

在LaTeX中配置西夏文字体与环境的相关文章

在IntelliJ IDEA 13中配置OpenCV的Java开发环境

准备工作: 下载IDEA 13(这里以版本13为例,后面简称IDEA): 下载Java JDK(用于配置基本的Java开发环境): 下载OpenCV 2.4.9(这里以版本2.4.9为例,据这篇文章说,OpenCV的2.4版本开始支持Java API接口): 安装IDEA: 安装JDK,并在IDEA中配置JDK: 将下载好的OpenCV 2.4.9解压到某个目录下,例如,解压后的路径为“D:\opencv”,该路径下包含build文件夹和source文件夹. 配置开发环境: 1)在IDEA中新建

Anaconda中配置Pyspark的Spark开发环境

1.windows下载并安装Anaconda集成环境 https://www.continuum.io/downloads 2.在控制台中测试ipython是否启动正常 3.安装JDK 3.1环境变量配置: 3.2测试: 4.安装Spark并配置环境变量 4.1 URL: http://spark.apache.org/downloads.html 4.2解压到本地磁盘的对应目录 4.3配置环境变量 5.Pyspark配置 5.1配置如下系统变量    5.2修改spark\conf下的spar

Mac中配置eclipse的php开发环境

1.mac中自带php和apache,不过版本不是最新的. 2.打开apache配置文件中php相关设置,并设置php的工程目录为你想要的目录 3.复制php.ini.default为php.ini,并设置php.ini为当前用户可读写 4.在eclipse中安装php相关插件,我安装的是zendphp 5.安装xdebug,命令为 brew xdebug(如果没有brew要先安装brew,如果出现brew updating并且半天没反应,按一次control +c) 6.在php.ini中最下

Android中配置JDK和SDK的环境变量

JDK环境变量的配置: 右击"计算机"或"我的电脑",选择"属性"-->"高级"或"高级系统设置"(如下图1)-->"环境变量"(如下图2),如下图: 图1 图2 单机"环境变量",出现如下图3的界面, 图3 然后在"系统变量"处选择"新建"(红色标记处),出现如下图4界面, 图4 下面进行正式的配置部分: (1)在

在RedHat 和 Ubuntu 中配置 Delphi 的Linux开发环境(转)

原文地址:http://chapmanworld.com/2016/12/29/configure-delphi-and-redhat-or-ubuntu-for-linux-development/ 方便大家使用,直接转过来. Image courtesy of Jim McKeeth. One of the more exciting features of the pending 10.2 release of Delphi and RAD Studio, is support for t

Ubuntu18.04中配置wxWidget3.0.4开发环境

准备工作 在 https://www.wxwidgets.org/downloads/ 下载最新的稳定版 wxWidgets-3.0.4.tar.bz2 安装依赖 sudo apt install libgtk-3-dev build-essential checkinstall 编译安装 $ make # ... 略 ... $ sudo checkinstall checkinstall会需要准备好package的描述等, 详细的输入输出. 使用checkinstall会同时生成deb包,

Android Studio中配置及使用OpenCV示例

Android Studio配置及使用OpenCV 前言:最近在做项目移植,项目较大,在Eclipse中配置的Jni及OpenCV环境没任何问题,但是迁移到Studio中就问题一大堆,网上也找了一些资料参考及学习,很感谢前人留下的总结及经验.关于在AS中使用jni及配置OpenCV也研究了一 Android Studio配置及使用OpenCV 前言:最近在做项目移植,项目较大,在Eclipse中配置的Jni及OpenCV环境没任何问题,但是迁移到Studio中就问题一大堆,网上也找了一些资料参考

被遗忘的宝藏-LaTeX发行版自带字体&自己一些字体心得

KMC大作,如果用xelatex的话,这些知识仅仅作为大家了解.希望对于学习latex有所裨益.原文地址:http://bbs.ctex.org/viewthread.php?tid=43596&extra=&page=1 可能有不少人像我一样在用LaTeX不久就开始跟字体较劲.我走的是这样一个过程:- 最初用惯了Word,从而无法理解为什么LaTeX调用字体那么难:- 为了在LaTeX中调用字体,想用现有的工具一蹴而就(像TTFshape,MTFI,xGBKfonts),往往不能轻易成功

LaTeX中的数学公式

因为想在过年之前把论文写出来(虽然现在看来似乎痴人说梦),用word写PDE的公式简直是自己找虐,就想说自己研究一下LaTex,用起来发现这东西写格式性的文档真心甩word几个陈景润啊,出来的公式不仅可以自动排版,还可以非常方便的设置Label,甚至连平时最费力的参考文献也变得so easy了,不过这东西不是所见即所得,所以没有编程基础和树结构概念的人可能用起来就比较吃力,但是一旦会用就完全不想打开word了.... 数学公式是Latex的大强项,所以主要记录了如下的一些数学公式的关键字,以备不