TeX的字体的相关基础知识

    TeX对于某些长期在linux系统工作的人并不陌生,这里打个比方,熟悉在web上写文档的人都知道wiki或twiki吧?TeX就好比wiki&twiki,熟悉TeX的语法就相当于熟悉了wiki&twiki的语法,然而偶觉得这点并不是最重要的,至少它像其他文档编写一样有简易的语法文档。
    而偶觉得最重要的是弄懂TeX的字体,这个才是tex编辑中的精髓。
    熟悉wiki&twiki的人都知道编辑的文字在wiki&twiki中显示,需要一个载体,目前这个载体就是浏览器(比如Firefox、IE、Safari),浏览器管理着这个字体的风格,大小、颜色等等,随着版本不同,甚至操作系统的不同,会导致你在浏览器上看到的文字呈现出千变万化来,而tex不一样,只要你指定了相关的描述,不管是什么操作系统或软件是什么版本,它的排版样式不会因为外界的变化而改变,这就是各种期刊杂志和一些学术界为什么要采用TeX的原因。
    关于TeX还有一个故事,20世纪60年代,著名计算机专家和数学家,美国科学艺术学院院士,美国国家科学院院士,工程院院士,计算机界的诺贝尔奖——图灵奖获奖者斯坦福大学的 Knuth 教授准备出系列专著《计算机程序设计艺术》,出版社拿来书样给他过目,结果令他大失所望,尤其是在数学公式和字体上面的缺陷更令他无法接受,于是牛人自己写一个既能供科学家编排手稿又符合出版社印刷要求的高质量的计算机排版系统,这就是后来的TeX。后来,美国计算机学家 Lamport 博士于1985年对tex进行了改进,开发了lateX。由此可以见TeX的产生,主要用于排版。
    与Microsoft Word相比,TeX相对起点比较高,且不是所见即所得,所以存在一定的劣势,而Tex在复杂的排版方面比Microsoft Word有着先天的优势,特别是数学公式、图、表、自定义编号、交叉引用、索引、参考文献、文章修改频度等等。

    这里有一篇UTF8编码的TeX文档样例:

[cnangel@localhost tex-sample]$cat wqyzh_cjk.utf8.tex
\documentclass[12pt]{article}
\usepackage{CJK}
\begin{document}
\begin{CJK}{UTF8}{wqyzh}

这里是测试文泉驿正黑字体

\end{CJK}
\end{document}
这里使用CJK来使用东亚文字,需要文泉驿的UTF8编码的字符。怎么产生这种字符呢?目前已知的办法种可以使用Unicode.sfd字典和subfonts.pe配置来生成四种.enc、.afm、.tfm和.pfb四种结尾的点阵格式的字体片,这里提到一个命令是fontforge,不过这个命令有个缺点,运行过程非常之慢,以文泉驿正黑字体为例:
fontforge -script subfonts.pe wqy-zenhei.ttc wqyzh Unicode.sfd
如果是方正宋体,可以这样使用,对于UTF8文档也可以这样来写:
[cnangel@localhost tex-sample]$cat sample_cjkutf8.utf8.tex
\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK*}{UTF8}{song}
    你好!这里是Fedora下的Tex+CJKutf8环境!
\end{CJK*}
\end{document}
注意,这里是song的CJKutf8环境。
   对于song的CJKutf8环境,目前是没有的,默认TeX会找cyberbit.ttf的字体,如果没有发现cyberb的map,那么会编译失败,对于这种情况,只要在Internet网上找到cyberbit.ttf的字体,并使用fontforge工具生成四种点阵字体,放在对应的位置上即可。
   上面所说的都是UTF8编码的文档,所对应的也是UTF-8的环境。对于GBK文档的格式该如何处理呢?
[cnangel@localhost tex-sample]$cat sample_cjk.gbk.tex|iconv -f gbk -t utf8
\documentclass{article}
\usepackage{CJK}
\begin{document}
\begin{CJK*}{GBK}{song}
    您看到的是一个GBK编码的中文样例。
\end{CJK*}
\end{document}
    这里还要介绍一款工具,gbkfonts,对文泉驿正黑字体用法如下:
gbkfonts fonts/truetype/chinese/wqy-zenhei.ttc wqyzh
    上面这条命令会将文泉驿正黑字体wqy-zenhei.ttc同样生成gbk方式的点阵字体,适合与GBK编码的环境。
    编译方法如下:
latex TeX文件
如果需要生成pdf文件
dvipdfmx dvi文件

pdflatex TeX文件
    不管是UTF-8环境还是GBK的环境,都需要安装CJK。如果不知道什么是CJK,可以去官方网站下载并了解。关于CJK的安装和点阵字体的放置方式,这里也不多述,应该搜索一下就知道如何防止,但是如何将排版的内容样式显示的丰富多彩,还需要你有乔布斯那样钻研字体的精神。 :)

Monthly Archives

Pages

Powered by Movable Type 7.7.2

About this Entry

This page contains a single entry by Cnangel published on November 2, 2009 10:42 AM.

Linux下获得线程ID was the previous entry in this blog.

fedora 12发布 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.