Skip to content

Hebrew elongated justification #402

Description

@Udi-Fogiel

Some Hebrew fonts provide a just feature which substitute some letters with a wider version. This was historically used to help justification, and although not commonly used today it will be a nice feature to have. The common letters with wide variants are aleph, dalet, he, kaf, lamed, final mem, resh and tav, you can find the wide variant in the Alphabetic Presentation Forms block. The implementation should be similar to how it is done for Arabic (maybe with some configuration to which characters should be elongated).

\documentclass{article}
\usepackage{fontspec}
\setmainfont[Script=Hebrew,Renderer=HarfBuzz]{NachlieliCLM}

\begin{document}
אדהכלםרת

\addfontfeature{RawFeature={+jalt}}
אדהכלםרת
\end{document}
Image

Activity

  1. nmccamish commented on Jul 21, 2026

    @nmccamish

    I know Culmus has support for jalt, see https://culmus.sourceforge.io/opentype/.

  2. Udi-Fogiel commented on Jul 21, 2026

    @Udi-Fogiel
    ContributorAuthor

    @nmccamish well yes, see the example above :) Note that currently some fonts in culmus (such as David CLM) the jalt table points to empty glyphs, Maxim is working on a fix.

  3. nmccamish commented on Jul 21, 2026

    @nmccamish

    Does the jalt table allow for more than one alternate / width to it? I'd expect something like METAFONT would be ideal for a truly variable width, but are there any fonts currently available that have at least two different alternates?

  4. Udi-Fogiel commented on Jul 22, 2026

    @Udi-Fogiel
    ContributorAuthor

    Does the jalt table allow for more than one alternate / width to it?

    The spec recommends not to do that:

    https://learn.microsoft.com/en-us/typography/opentype/spec/features_fj#tag-jalt
    https://learn.microsoft.com/en-us/typography/opentype/spec/gsub#lookup-type-1-subtable-single-substitution

    I'm not sure if that means there is no font that do that in practice.

    I'd expect something like METAFONT would be ideal for a truly variable width

    METAFONT doesn't have any notion of these concepts, as it was built way before opentype fonts were created. In fact I believe it was created with the idea that interword space is used for justification, not font features.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions