As a follow up of my previous post I tried now little bit with the current version of texlive. I test with texlive2020


Quick test with Urdu


    یہ ایک جملہ ہے


and have some questions left:

  1. The result seems to be identically no matter if I have specified HarfBuzz or not. Perhaps the text is too short but I've tested as well with longer text and don't see much visible difference. Is it just my perception or is it for real that their is no diff?
  2. The Babel docu mention the word Harbuzz only once their it is written with a lower B and I wonder if this might have an impact? Although I didn't see much of a diff.
    • It refers to the doc of fontspec and Harfbuzz is one of the renderers
    • OpenType works as well as renderer (and seems to have identical results)
    • But AAT and Graphite fail with the given sample (no text is written). Is it on purpose or what is missing?
  3. In the Babel docu it mentions that it supports many different languages. But for font rendering is it sufficient to have Arabic as a base line to write Urdu, Pashto and Arabic? Is it similar to English and German where hyphens and some styles of a paragraph differ while the font layout remains the same?

Honestly I'm confused since there a \babelfont but is now for the font feature or for the handling of the content?

  • 1
    Without [Renderer=HarfBuzz] the node mode is used. This is a different renderer and so can give different output but imho quite some work has been put into the arabic support of node mode so it is quite possible that you can't find a difference. But as I don't know arabic I can't offer details. the Graphite renderer needs a suitable font. In the luaotfload documentation I used AwamiNastaliq-Regular.ttf. Beside this: don't ask to many questions at once. May 27, 2020 at 13:50
  • With some fonts, specifying HarfBuzz makes all the difference: compare the two samples of Aref Ruqaa at tex.stackexchange.com/a/316719
    – Thérèse
    May 27, 2020 at 14:22

1 Answer 1


In most cases, the result should be identical whether HarfBuzz is used or not. After all, both are trying to interpret the same font instructions and try to follow the same specification. Differences only appear if both systems interpret something differently (which would probably be a bug on at least one side) or if one of the systems doesn't support some feature.

It doesn't make any difference here whether you write "Harfbuzz" or "HarfBuzz" (the former is a misspelling from older fontspec versions which is still supported as an alias for compatibility) but I would recommand to use the more correct "HarfBuzz". Either way, you should never need to specify "OpenType", "AAT" or "Graphite". The choice between these depends on the actual font used but normally HarfBuzz will automatically choose the best available option. Explicitly setting them should only be necessary in the unlikely case that the automatic selection breaks for some reason.

But it is important to specify the right language. OpenType fonts can provide different font features and while this isn't used that much for Latin fonts, a ot of Arabic font seem to use it. For example "Amiri" specifies special font features for Kashmiri, Malay, Sindhi, and Urdu. Choosing the wrong one might lead to either incorrect or at least suboptimal rendering. (I can't show you an example because of my entirely lacking ability to read or write arabic text in any language, but for Amiri some effected characters are arabic digits and the arabic comma U+060C, so you might try them under different language setting)

You must log in to answer this question.

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