![老挝语、元音、XeLaTeX、fontspec](https://linux22.com/image/260956/%E8%80%81%E6%8C%9D%E8%AF%AD%E3%80%81%E5%85%83%E9%9F%B3%E3%80%81XeLaTeX%E3%80%81fontspec.png)
有人能看出这里的错误吗?
我使用\newfontfamily{\L}[Script=Lao]{Lao Sangam MN}
切换到老挝语,然后使用\L{ວຽງຈັນ}
,但进入ວຽງຈ ັນ
PDF 后就成功了。其他字体(所有 TrueType...我没有任何老挝语 OTF)都无法使用。
我在 Mac 上使用 TexShop。
最小工作示例:
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass[12pt]{article}
% PACKAGES
\usepackage{fontspec}
\usepackage{xltxtra}
\usepackage{xunicode}
\defaultfontfeatures{Mapping=tex-text}
\setromanfont[Mapping=tex-text]{Linux Libertine O}
\setsansfont[Scale=MatchLowercase,Mapping=tex-text]{Linux Biolinum O}
\setmonofont[Scale=MatchLowercase]{Linux Libertine Mono O}
% BEGIN
\begin{document}
% RUNTIME TWEAKS
\newfontfamily{\L}[Script=Lao]{Lao Sangam MN}
% BODY
{\L ວຽງຈັນ} (Vientiane)
\end{document}
答案1
在 XeTeX 中使用不同语言的首选方法是使用polyglossia
包。似乎有问题的字体无法使用 ICU 渲染器正确渲染,但可以使用 Apple AAT 渲染器正确渲染:
% !TEX TS-program = XeLaTeX
\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{lao}
\newfontfamily\laofont[Script=Lao, Renderer=AAT]{Lao Sangam MN}
\begin{document}
\begin{lao}
ວຽງຈັນ
\end{lao}
\end{document}