正如其他人提到的,你应该尝试XeTeX,你应该确保安装了正确的字体。使用该命令 的 xelatex 强> 代替 的 pdflatex 强> ,以便在.tex文件中使用非拉丁字符。
你没有说出你想要的字体编码,但是下面两个应该可以很好地工作:Linux Libertine和Computer Modern Unicode。 OpenSuSE包名是 的 LinuxLibertine 强> 和 的 CM-unicode的 强> ;希望它在其他系统上类似。
将以下内容添加为文档中的第一个导入:
\usepackage{xunicode,fontspec,xltxtra} \usepackage[english]{polyglossia} % EXAMPLE: \setotherlanguages{russian} % set as "other" so English hyphenation active
在所有其他导入之后添加以下内容(因此旧程序包导入不会覆盖它),
\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase} \setromanfont{Linux Libertine O} \setsansfont{Linux Biolinum O} \setmonofont[Scale=0.9]{Courier New}
或者,如果你想要Computer Modern字体,
\setromanfont{CMU Serif} \setsansfont{CMU Sans Serif} \setmonofont{CMU Typewriter Text}
使用xetex或xelatex,poitn是你不必指定tex字体,你应该使用你的系统字体。
你应该发布你遇到错误的部分的代码和序言。就像html + css一样,不同的tex发行版可以使事物彼此略有不同。
最低限度,你的序言应该是这样的:
\documentclass[12pt,letterpaper]{article} \usepackage{fontspec}% provides font selecting commands \usepackage{xunicode}% provides unicode character macros \usepackage{xltxtra} % provides some fixes/extras \setromanfont[Mapping=tex-text]{Font Name}
加载字体时,[Mapping = tex-text]特别重要。
Parsi数字是你目前没有的字体和错误,你得到的是因为你没有字体。只需更换 Parsi Digits' with another font and it all should go fine. \setdigitfont is a command that makes digits in math mode Persian and it can accept 缩放'作为选项。
Parsi Digits' with another font and it all should go fine. \setdigitfont is a command that makes digits in math mode Persian and it can accept
什么是实际的字体文件名?最近在XeTeX邮件列表上讨论过一个错误,该错误阻止在Windows上加载名称中带有空格的字体文件(在 档案馆 )。如果更改文件名适合您,您可能刚刚遇到此错误。
您看到的kpathsea调用只是一个副作用:它表示XeTeX在TeX的默认字体查找系统之上使用的系统库找不到该字体,并且XeTeX回退到查找TFM文件,最多基本文件格式。
TECkit与字体无关,它可以即时转换字符;在你的情况下,我想你可以使用映射将阿拉伯数字转换成印度数字(这样你就不需要直接在源文件中输入后者)。但它不会以任何方式生成字体。