Skip to content

Tibetan line breaks #291

Open
Open
@BenjaminGalliot

Description

@BenjaminGalliot

Hello,

(Related to #250 but I can’t reopen this issue, so I moved messages here.)

I've noticed another problem , involving Tibetan word breaks especially when there is another language on the same line.

This affects both XeLaTeX and LuaLaTeX, but with variations...

Changing the geometry (the margins) or even deactivating it is interesting.

It seems that LuaLaTeX has some general difficulties cutting Tibetan (but this is more or less visible depending on the geometry configuration).

The behavior seems to be improved with XeLaTeX if language changes are made with selectlanguage and not with foreignlanguage.

I am using the latest version of Texlive 2024 (updated 2 days ago).

Here is the MWE:

\documentclass{article}

\RequirePackage{babel}
\RequirePackage[top=1cm, bottom=1cm, left=3cm, right=2cm]{geometry} % toggle comment
\RequirePackage{lipsum}

\babelprovide[import=bo]{tibetan}
\babelprovide[import=fr]{french}

\babelfont[french]{rm}{EB Garamond}
\babelfont[french]{sf}{EB Garamond}
\babelfont[french]{tt}{EB Garamond}

\babelfont[tibetan]{rm}{Jomolhari}
\babelfont[tibetan]{sf}{Jomolhari}
\babelfont[tibetan]{tt}{Jomolhari}

\setlength{\parindent}{0cm}

\begin{document}

\lipsum[1]

\subsubsection*{Everything foreignlanguage}

\foreignlanguage{tibetan}{དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད།}

\medskip

\foreignlanguage{tibetan}{དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད།}

\medskip

\foreignlanguage{tibetan}{དེང་སང་ \foreignlanguage{french}{TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ \foreignlanguage{french}{TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ \foreignlanguage{french}{TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ \foreignlanguage{french}{TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད།}

\subsubsection*{Tibetan selectlanguage, Latin foreignlanguage}

\selectlanguage{tibetan}

དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད།

\medskip

དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད།

\medskip

དེང་སང་ \foreignlanguage{french}{TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ \foreignlanguage{french}{TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ \foreignlanguage{french}{TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ \foreignlanguage{french}{TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད།

\subsubsection*{Tibetan foreignlanguage, Latin selectlanguage}

\foreignlanguage{tibetan}{
དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད།

\medskip

དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད།}

\medskip

\foreignlanguage{tibetan}{དེང་སང་ {\selectlanguage{french}TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ {\selectlanguage{french}TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ {\selectlanguage{french}TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ {\selectlanguage{french}TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད།}

\subsubsection*{Everything selectlanguage}

\selectlanguage{tibetan}

དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད།

\medskip

དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ TB ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད།

\medskip

དེང་སང་ {\selectlanguage{french}TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ {\selectlanguage{french}TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ {\selectlanguage{french}TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད། དེང་སང་ {\selectlanguage{french}TB} ན་ཚ་ན་ནའང་སྨན་ཡག་པོ་བཟས་ན་གློ་བ་བཀོག་དགོས་མ་རེད།

\end{document}

Here are the screenshots:

LuaLaTeX:
lualatex

XeLaTeX:
xelatex

The other issue concerns LuaLaTeX, with a line break problem when adding a parenthesis.

The MWE:

\documentclass{article}

\RequirePackage{babel}
\RequirePackage{multicol}

\babelprovide[import=bo]{tibetan}
\babelprovide[import=fr]{french}

\babelfont[french]{rm}{EB Garamond}
\babelfont[french]{sf}{EB Garamond}
\babelfont[french]{tt}{EB Garamond}

\babelfont[tibetan]{rm}{Jomolhari}
\babelfont[tibetan]{sf}{Jomolhari}
\babelfont[tibetan]{tt}{Jomolhari}

\setlength{\parindent}{0cm}

\begin{document}

\selectlanguage{tibetan}

\begin{multicols}{2}

་་་་་་་་་་་་་་་་་་་་་་་་་་་་་་་་་་་་་་་སྐད་(ཆེན་པོ་)བརྒྱབ་པ།ངས་སྐད་བརྒྱབ་པ་ཡིན། ཡིན་ནའང་ཁོང་གིས་གོ་མ་སོང་།སྐད་(ཆེན་པོ་)བརྒྱབ་པ།ངས་སྐད་བརྒྱབ་པ་ཡིན། ཡིན་ནའང་ཁོང་གིས་གོ་མ་སོང་།སྐད་(ཆེན་པོ་)བརྒྱབ་པ།ངས་སྐད་བརྒྱབ་པ་ཡིན། ཡིན་ནའང་ཁོང་གིས་གོ་མ་སོང་།སྐད་(ཆེན་པོ་)བརྒྱབ་པ།ངས་སྐད་བརྒྱབ་པ་ཡིན། ཡིན་ནའང་ཁོང་གིས་གོ་མ་སོང་།

\end{multicols}

\end{document}

With LuaLaTeX:
lualatex2

With XeLaTeX:
xelatex2

As you can see in LuaLaTeX, a tsheg followed by a closing parenthesis will break the line right between them, instead of breaking the line after the closing parenthesis, as can be seen in XeLaTeX…

Another question: is there a simple way to prevent a single syllable from being alone on its line (beginning – in the case where the line incorporates other languages just before – or end)?

A last one: བོུ། seems to be rendered as བོ◌ུ།, how to correct that?

Thanks a lot!

Metadata

Metadata

Assignees

No one assigned

    Labels

    🐞 bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions