1

I am writing a document in Hebrew with nikud in LuaLaTeX using the babel package. I can't understand why the 'dagesh' (the dot that sits inside letters) is consistently off-centred to the left. Here is some example code:

\documentclass{article}
\usepackage[nil, bidi=basic]{babel}
\babelprovide[import=he, main]{hebrew}
\babelfont{rm}{FrankRuehl}

\begin{document}
    \noindent
בְּ שָּׁ נֵּ כָּ מָּ גָּ תַּ דִּ פְּ\\
בְּרֵאשִׁית בָּרָא אֱלֹהִים; אֵת הַשָּׁמַיִם וְאֵת הָאָרֶץ
\end{document}

which gives the following output: hebrew letters with off-centre dagesh

As you can see, the dot looks fine in the source code, so I'm really stuck as to why it looks off in the output.

Any help is very much appreciated!

5
  • Maybe this is a problem in the font. With Frank Ruehl CLM the output looks ok.
    – Udi Fogiel
    Jul 25, 2023 at 12:14
  • Possibly, but I am not running Linux so I can't use Frank Ruehl CLM. I tried a lot of other fonts and almost all of them gave me the same results. Jul 25, 2023 at 13:12
  • You don't need linux to install Frank Ruehl CLM, you can get the font from sourceforge.net/projects/culmus/files/culmus/0.133 .
    – Udi Fogiel
    Jul 25, 2023 at 13:26
  • 1
    Seems a bug in the default renderer. Try with \babelfont{rm}[Rendeder=Harfbuzz]{FrankRuehl}. Jul 25, 2023 at 15:15
  • Thank you everyone for your help! I downloaded Frank Ruehl CLM and got the same results but, @JavierBezos, your answer did the the trick! (You have a slight typo Renderer not Rendeder). Jul 25, 2023 at 22:03

1 Answer 1

1

The pointing of your hebrew is in canonical unicode order (NFC): first the vowel, then the dageš. You probably cannot help producing text encoded this way – it is, after all, the standard – but some fonts have historically expected the (much) more logical order dageš-vowel. See this related question.

Most modern fonts accept (and will re-order) both versions, but your font appears not to. Hence the dageš, following a vowel mark, cannot be attached to a letter, and will float on its own.

The easiest solution is updating your font, as noted above. If that would be impossible, however, and if you are compiling with luaTeX, you have the theoretical possibility of repairing your font on-the-fly by adding a custom font feature. Proper documentation for doing so does not exist (LuaLaTeX font code is derived from the ConTeXt project, whose internals are not documented very well), but this question offers a very good starting point for learning more.

1
  • I’ve reorderer the characters with a babel transform, but it still fails. Jul 25, 2023 at 15:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .