Many writing systems / scripts, including Latin and Cyrillic, have one or more cursive forms, where letters are connected, with forms depend on the letters before and after them. While one can create somewhat-grotesque rough approximations of such writing (see this question for example) by relying on a small number of fixed glyphs as the different forms of a character - this actually requires more careful modeling, involving continuous rather than discrete spaces of parameters of glyph-forms, the possibility of adjusting lengths and heights of connective glyph-curves for connection to the previous and next glyph etc. In some cursive systems, the vertical position also varies as one moves forward along a word, so that words or lines move in a diagonal rather than on a straight line (see this example of Nasta'liq Arabic script).

Do any of the layout engines in the TeX world support cursive typesetting, even in a single writing system? Do any font representation systems support it? If not, are there plans or project to introduce such support?

  • The arabluatex manual should interest you. Results will vary depending how featureful a font you use with it.
    – Thérèse
    Apr 13, 2023 at 23:56
  • 1
    Have you seen tex.stackexchange.com/q/29425?
    – Thérèse
    Apr 14, 2023 at 0:50
  • 1
    TeX supports some really complex cursive fonts with the right packages. See tug.org/TUGboat/tb42-3/tb132anane-variable.pdf and github.com/DigitalKhatt/lualatexpackage/blob/main/readme.pdf for the most complex example that I'm aware of. Most scripts/fonts should just work with lualatex+fontspec though. Apr 14, 2023 at 6:31
  • @Thérèse: The accepted answer there suggests the use of alternates, provided by the font; not non-uniformity in the deep sense. But that's certainly a relevant question; I didn't notice it before.
    – einpoklum
    Apr 14, 2023 at 13:27
  • A cursive font that always joins up at the baseline is easy. If the join moves around, one would at least need multibple versions of eash "letter", and perhaps a parser capable of putting them together. Apr 14, 2023 at 13:31

3 Answers 3


The issue can be solved by "generalized ligatures". They are provided by classical TeX.

For example, I created the font Slabikar in 1997. The generalized ligatures are saved to TFM by Metafont. The article about the font linked here describes all these principles and includes illustrations.

  • 1
    "Can be solved" - but in practice, is it solved?
    – einpoklum
    Apr 14, 2023 at 13:26
  • ntg.nl/bijeen/44/slides/piska-slides.pdf A presentation in English that explains the idea.
    – LdBeth
    Apr 14, 2023 at 15:35
  • In practice: it is solved when you are using the font Slabikar.
    – wipet
    Apr 14, 2023 at 19:40
  • How did you produce the Type1 font slabikar.pfb from the Metafont source?
    – User
    Apr 14, 2023 at 20:44
  • 1
    I don't remember exactly. I have used autotracer on MF output with huge resolution and then I did manual corrections.
    – wipet
    Apr 15, 2023 at 12:45

It is hard to not mentioning the showcase of Omega with the Zapfino font.


Note that, Omega is an abandoned project, luaTeX could be considered as the on going successor of Omega, but not all the features from Omega would be ported.

  • Perhaps I'm mistaken, but that seems to rely more on a wealth of gylphs in the font rather than on programmatic drawing and connecting characters.
    – einpoklum
    Apr 14, 2023 at 13:25
  • @einpoklum The Zapfino font was itself made possible by such a programmatic drawing and connecting software, provided by AAT and OpenType, it is not achieve through putting thousands of glyphs into the font and use brutal force to combine them. Omega enhanced TeX with the ability to access AAT and OpenType features.
    – LdBeth
    Apr 14, 2023 at 15:30
  • But the linked article says Zapfino has 1,400 glyphs (supposedly, all for the Latin alphabet and some punctuation).
    – einpoklum
    Apr 14, 2023 at 15:49
  • 1
    Yes, but that is a workaround due to the problem that they Zapfino font they use was copyright protected so they have to use certain hacks to export the combination of glyphs instead of call an API to compute them on the fly. The font file it self is actually very small, which is about 56KB. So to be clear, it is the unique font map format that Omega used enables it access complex feature of OpenType, but it does not support OT direction. The "original TeX" only supports PostScript font.
    – LdBeth
    Apr 14, 2023 at 15:58

Both LuaLaTeX and XeLaTeX support any OpenType feature that HarfBuzz does, including the initial and medial forms of cursive (and Arabic).

You must log in to answer this question.

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