首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理XeLaTeX文档中的unicode字符串?

如何处理XeLaTeX文档中的unicode字符串?
EN

Stack Overflow用户
提问于 2009-10-18 15:34:47
回答 5查看 1.4K关注 0票数 2

前面的一个问题把我带到了XeLaTex (它是关于LaTeX和Unicode的)。所以我现在有了一份文件:

代码语言:javascript
复制
\documentclass[a4paper]{article}
\usepackage[cm-default]{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\setmainfont[Mapping=tex-text]{Arial}
\begin{document}
গ a ä ͷ 
\end{document}

字体"Arial“只显示a和a,其余两个字符各为一个方框。如果删除\setmainfont命令,则只显示a。如果我将"Arial“更改为”Libertine“,则会收到一条错误消息:

非法字体名称“Libertine”:contains‘’

这是令人恼火的,因为维基百科关于XeLaTeX的例子有一个包含空格的字体名。

我要做什么才能使所有给定的字符出现在我的pdf-文档中?

EN

回答 5

Stack Overflow用户

发布于 2009-10-18 20:20:27

如果字体安装正确,它们应该能像预期的那样工作(至少它们为我工作)。然而,Arial和Libertine都不包含所有四个字符。特别是第一个字符只受少量字体的支持(参见这份清单)。下面的示例使用Code2000并正确显示所有字符:

代码语言:javascript
复制
\documentclass[a4paper]{article}
\usepackage{fontspec}
\usepackage{xunicode}
\usepackage{xltxtra}
\setmainfont{Code2000}
\begin{document}
গ a ä ͷ 
\end{document}
票数 1
EN

Stack Overflow用户

发布于 2009-10-20 02:39:18

啊,我明白了,我真该试试你的例子。字体的OpenType名称不是Linux Libertine,而是Linux Libertine O。或者,您可以使用PostScript名称:

代码语言:javascript
复制
\setmainfont{LinLibertineO}

尽管如此,这个字体也没有这四个字符。你可能很难找到这样的人。

票数 1
EN

Stack Overflow用户

发布于 2009-10-18 15:53:19

显然,您需要您的字体来支持您的Unicode字符。TeX Gyre Pagella,如建议的这里,为我工作的一些中欧的二元化字符和西里尔。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1585177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档