[XeTeX] Khmer: ligatures break if XeTeXlinebreaklocale is turned on
Jo Hund
jhund at clearcove.ca
Tue Apr 10 17:55:14 CEST 2018
Hi there,
I was told by David Carlisle on https://tex.stackexchange.com that the
xetex mailing list may be a good place to ask my question:
When generating documents in Khmer, we noticed that some ligatures do
not work. We found that turning off XeTeXlinebreaklocale fixes all
ligatures, however this causes problems with linebreaks, and lines
extend past the right margin if there aren't any zero width spaces
between words. (In Khmer words within the same sentence or phrase are
generally run together with no spaces between them.)
Our objective is to have all ligatures work, and to use
XeTeXlinebreaklocale at the same time.
Please note that we are not looking for a manual workaround for this
particular example. We are looking for a fix to the root cause that we
can then use in our automated system where we cannot fix individual
instances of this problem.
My question at
https://tex.stackexchange.com/questions/425652/khmer-ligatures-break-if-xetexlinebreaklocale-is-turned-on
includes screenshots of the generated output for both MWEs:
MWE 1: XeTeXlinebreaklocale turned off, ligatures work (text in red),
however text runs into right margin.
\documentclass[12pt]{article}
%\XeTeXlinebreaklocale "km"
\usepackage{color}
\usepackage{fontspec}
\setmainfont[Ligatures=Required]{Khmer OS Content}
\begin{document}
មានមនុស្សម្នាក់ដែលបានធ្វើការមួយដែលអាចដឹងបាន
នោះគឺជាកា{\color{red}ស្រ្តូ}នៅទីនេះ។ បាទ អ្នកទាំងអស់គ្នា។
គាត់បានចុះទៅទីនោះ។ ហើយពួកនាយទុនមានអស់ទាំងព្រនង់ ហើយនឹងអ្វីៗដែល…
វាគឺឋិតនៅក្នុងស្តង់ដាមាស ដូចជាសហរដ្ឋអាមេរិកដែរ។ តើគាត់បានធ្វើអ្វី?
គាត់បានទិញអស់ទាំងបណ្ណ័ភាគហ៊ុន។
គឺរកលុយតាមគ្រប់ទាំងវិធីដែលគាត់អាចធ្វើទៅបាន។ បន្ទាប់មកតើគាត់ធ្វើអ្វីទៀត?
គាត់ក៏បានក្លែងបន្លំក្រដាស់ប្រាក់ ហើយបានប្ដូរវា។ ហើយក៏ដាក់ទៅវិញ។
នេះហើយគឺជាអ្វីតែមួយដែលជាតិសាសន៍នេះអាចធ្វើបាន។
\end{document}
MWE 2: XeTeXlinebreaklocale set to "km", line breaks work, however some
ligatures are broken (text in red).
\documentclass[12pt]{article}
\XeTeXlinebreaklocale "km"
\usepackage{color}
\usepackage{fontspec}
\setmainfont[Ligatures=Required]{Khmer OS Content}
\begin{document}
មានមនុស្សម្នាក់ដែលបានធ្វើការមួយដែលអាចដឹងបាន
នោះគឺជាកា{\color{red}ស្រ្តូ}នៅទីនេះ។ បាទ អ្នកទាំងអស់គ្នា។
គាត់បានចុះទៅទីនោះ។ ហើយពួកនាយទុនមានអស់ទាំងព្រនង់ ហើយនឹងអ្វីៗដែល…
វាគឺឋិតនៅក្នុងស្តង់ដាមាស ដូចជាសហរដ្ឋអាមេរិកដែរ។ តើគាត់បានធ្វើអ្វី?
គាត់បានទិញអស់ទាំងបណ្ណ័ភាគហ៊ុន។
គឺរកលុយតាមគ្រប់ទាំងវិធីដែលគាត់អាចធ្វើទៅបាន។ បន្ទាប់មកតើគាត់ធ្វើអ្វីទៀត?
គាត់ក៏បានក្លែងបន្លំក្រដាស់ប្រាក់ ហើយបានប្ដូរវា។ ហើយក៏ដាក់ទៅវិញ។
នេះហើយគឺជាអ្វីតែមួយដែលជាតិសាសន៍នេះអាចធ្វើបាន។
\end{document}
Setup:
* TexShop 3.62 on Mac
* Typesetting it as XeLatex with XeTeX, Version 3.14159265-2.6-0.99996
(TeX Live 2016)
* Font Khmer OS Content:
https://drive.google.com/file/d/1YuoheWcKu9jS0cyZ-LU9g2ohicCMd5yX/view?usp=sharing
My question is whether there is a way to change our setup so that both
XeTeXlinebreaklocale and ligatures work?
Thank you for your help
Jo Hund
More information about the XeTeX
mailing list