如何在 XeLatex 中排版藏文并显示正确的换行符?

如何在 XeLatex 中排版藏文并显示正确的换行符?

我正在尝试在文档中排版藏文,但文本在页边空白处不换行。我认为,如果我告诉 XeLaTeX 将藏文 tsheg 字符(“TIBETAN MARK INTERSYLLABIC TSHEG” U+0F0B)识别为软连字符,这个问题就可以轻松解决。有没有办法在环境中设置软连字符?

示例代码:

\documentclass{article} 

\usepackage{fontspec} 
\defaultfontfeatures{Mapping=tex-text}
\usepackage{xunicode} 
\usepackage{xltxtra} 
% \usepackage{polyglossia}

\setmainfont{Cambria} 
\setsansfont{Calibri}

% \setotherlanguages{tibetan}
\newfontfamily\tibetanfont[Script=Tibetan,Scale=MatchUppercase]{MicrosoftHimalaya}

\usepackage{geometry} 
\geometry{letterpaper} 

\begin{document}

Test.

\begin{tibetanfont}
\noindent
༈ རང་གི་མདུན་གྱི་ཐད་དྲང་གི་ནམ་མཁའི་གནས་སུ་སེངྒེ་ཆེན་པོ་བརྒྱད་ཀྱིས་བཏེག་པའི་རིན་པོ་ཆེའི་ཁྲི་མཐོ་ཞིང་ཡངས་པའི་སྟེང་ཁར་སྣ་ཚོགས་པད་ཟླ་ཉི་མའི་དཀྱིལ་འཁོར་གྱི་གདན་ལ་ངོ་བོ་རང་གི་དྲིན་ཅན་རྩ་བའི་བླ་མ་ཡིན་པ་ལ་རྣམ་པ་རྒྱལ་བ་ཤཱཀྱ་ཐུབ་པ་སྐུ་མདོག་གསེར་བཙོ་མ་ལྟ་བུ་དབུ་གཙུག་ཏོར་དང་ལྡན་པ་ཞལ་གཅིག་ཕྱག་གཉིས་གཡས་ས་གནོན། གཡོན་མཉམ་བཞག་གི་སྟེང་ན་བདུད་རྩིས་གང་བའི་ལྷུང་བཟེད་བསྣམས་པ། སྐུ་ལ་ཆོས་གོས་ངུར་སྨྲིག་གོ་མདོག་ཅན་གསོལ་བ། མཚན་དཔེས་བརྒྱན་པའི་དྭངས་གསལ་འོད་ཀྱི་རང་བཞིན་ཅན་སྐུ་ལས་སྐྱེད་པའི་འོད་ཀྱི་ཕུང་པོའི་དབུས་ན་ཞབས་གཉིས་རྡོ་རྗེ་སྐྱིལ་ཀྲུང་གིས་བཞུགས་པ། དེ་ཉིད་ཀྱི་མཐའ་སྐོར་དུ་དངོས་དང་བརྒྱུད་པའི་བླ་མ་ཡི་དམ་སངས་རྒྱས་བྱང་སེམས་དཔའ་བོ་མཁའ་འགྲོ་ཆོས་སྐྱོང་སྲུང་མའི་ཚོགས་རྣམས་ཀྱིས་བསྐོར་ནས་བཞུགས་པ། དེ་དག་རང་རང་གི་མདུན་ན་གདན་ཁྲི་ཕུན་སུམ་ཚོགས་པ་ལ་རང་རང་གིས་གསུངས་པའི་ལུང་གི་ཆོས་རྣམས་འོད་ཀྱི་རང་བཞིན་ཅན་གྱི་པུ་ཏིའི་རྣམ་པར་ཡོད་པ།
\end{tibetanfont}

Test.

\end{document}

答案1

目前 Polyglossia 不支持藏文。不过,您可以使用藏文标记 INTERSYLLABIC TSHEG 作为连字符(恐怕不是软连字符)。

\documentclass[a4paper]{article} 
\usepackage{geometry} 

\usepackage{fontspec} 
\defaultfontfeatures{Ligatures=TeX}
\usepackage{polyglossia}

\setmainlanguage{english}
\newfontfamily\tibetanfont[Script=Tibetan,Scale=MatchUppercase,
  HyphenChar="0F0B]{Kailasa}
\newenvironment{tibetan}
  {\par\tibetanfont\raggedright}
  {\par}

\begin{document}

Test.

\begin{tibetan}
\noindent
༈ རང་གི་མདུན་གྱི་ཐད་དྲང་གི་ནམ་མཁའི་གནས་སུ་སེངྒེ་ཆེན་པོ་བརྒྱད་ཀྱིས་བཏེག་པའི་རིན་པོ་ཆེའི་ཁྲི་མཐོ་ཞིང་ཡངས་པའི་སྟེང་ཁར་སྣ་ཚོགས་པད་ཟླ་ཉི་མའི་དཀྱིལ་འཁོར་གྱི་གདན་ལ་ངོ་བོ་རང་གི་དྲིན་ཅན་རྩ་བའི་བླ་མ་ཡིན་པ་ལ་རྣམ་པ་རྒྱལ་བ་ཤཱཀྱ་ཐུབ་པ་སྐུ་མདོག་གསེར་བཙོ་མ་ལྟ་བུ་དབུ་གཙུག་ཏོར་དང་ལྡན་པ་ཞལ་གཅིག་ཕྱག་གཉིས་གཡས་ས་གནོན། གཡོན་མཉམ་བཞག་གི་སྟེང་ན་བདུད་རྩིས་གང་བའི་ལྷུང་བཟེད་བསྣམས་པ། སྐུ་ལ་ཆོས་གོས་ངུར་སྨྲིག་གོ་མདོག་ཅན་གསོལ་བ། མཚན་དཔེས་བརྒྱན་པའི་དྭངས་གསལ་འོད་ཀྱི་རང་བཞིན་ཅན་སྐུ་ལས་སྐྱེད་པའི་འོད་ཀྱི་ཕུང་པོའི་དབུས་ན་ཞབས་གཉིས་རྡོ་རྗེ་སྐྱིལ་ཀྲུང་གིས་བཞུགས་པ། དེ་ཉིད་ཀྱི་མཐའ་སྐོར་དུ་དངོས་དང་བརྒྱུད་པའི་བླ་མ་ཡི་དམ་སངས་རྒྱས་བྱང་སེམས་དཔའ་བོ་མཁའ་འགྲོ་ཆོས་སྐྱོང་སྲུང་མའི་ཚོགས་རྣམས་ཀྱིས་བསྐོར་ནས་བཞུགས་པ། དེ་དག་རང་རང་གི་མདུན་ན་གདན་ཁྲི་ཕུན་སུམ་ཚོགས་པ་ལ་རང་རང་གིས་གསུངས་པའི་ལུང་གི་ཆོས་རྣམས་འོད་ཀྱི་རང་བཞིན་ཅན་གྱི་པུ་ཏིའི་རྣམ་པར་ཡོད་པ།
\end{tibetan}

Test.

\end{document}

在此处输入图片描述

答案2

后面加\XeTeXlinebreaklocale“bo”\begin{document}

\documentclass{article} 
\usepackage{fontspec}
\setmainfont{Microsoft Himalaya}
\usepackage{microtype}
\begin{document}
\XeTeXlinebreaklocale "bo"
།།འདིར་སྨྲས་པ།
\begin{quotation}
 གལ་ཏེ་འདི་དག་ཀུན་སྟོང་ན། །འབྱུང་བ་མེད་ཅིང་འཇིག་པ་མེད།།གང་ཞིག་སྤང་དང་འགོག་པ་ལས། །མྱ་ངན་འདའ་བར་འགྱུར་བར་འདོད།
\end{quotation}
\end{document}

在此处输入图片描述

我确信你会得到正确的换行符。

答案3

昨天我在上面回答过一个问题,通过对 Polyglossia Package 的重新研究,我发现了藏文换行的新解决方案。其实 Polyglossia 现在支持藏文了,我完全被这个问题下评论的 Tom 误导了。这是我的例子。

\documentclass{article} 
\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{eledmac}
\usepackage{setspace}
\setdefaultlanguage{english}
\setotherlanguage{tibetan}
\setmainfont{Microsoft Himalaya}
\lineation{page}
\sidenotemargin{inner}
\linenummargin{outer}
\doublespacing
\begin{document}
\begin{tibetan}
\beginnumbering
\pstart
།།འདིར་སྨྲས་པ།
\begin{quotation}
 གལ་ཏེ་འདི་དག་ཀུན་སྟོང་ན། །འབྱུང་བ་མེད་ཅིང་འཇིག་པ་མེད།

།གང་ཞིག་སྤང་དང་འགོག་པ་ལས། །མྱ་ངན་འདའ་བར་འགྱུར་བར་འདོད། 25.1
\end{quotation}
།འདི་ན་བཅོམ་ལྡན་འདས་ཀྱིས་གང་ཟག་ཚངས་པར་སྤྱོད་པ་བསྟེན་ཞིང༌། དེ་བཞིན་གཤེགས་པའི་བསྟན་པ་ལ་ཞུགས་པ་ཆོས་རྗེས་སུ་མཐུན་པའི་ཆོས་ཀྱི་ནན་ཏན་དང་ལྡན་པ་རྣམས་ལ། མྱ་ངན་ལས་འདས་པ་རྣམ་པ་གཉིས་སུ་གསུངས་ཏེ། ཕུང་པོ་ལྷག་མ་དང་བཅས་པ་དང༌། ཕུང་པོ་ལྷག་མ་མེད་པའོ།
\pend
\endnumbering
\end{tibetan}
\end{document}

结果如下: 在此处输入图片描述

相关内容