![如何在 XeLatex 中排版藏文并显示正确的换行符?](https://linux22.com/image/267063/%E5%A6%82%E4%BD%95%E5%9C%A8%20XeLatex%20%E4%B8%AD%E6%8E%92%E7%89%88%E8%97%8F%E6%96%87%E5%B9%B6%E6%98%BE%E7%A4%BA%E6%AD%A3%E7%A1%AE%E7%9A%84%E6%8D%A2%E8%A1%8C%E7%AC%A6%EF%BC%9F.png)
我正在尝试在文档中排版藏文,但文本在页边空白处不换行。我认为,如果我告诉 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}
结果如下: