Skip to content

Metrics window preview of arabic fonts doesn't join characters correctly #5343

@nadalaba

Description

@nadalaba

The 4 forms of Arabic characters; initial, medial, final, and isolated should be used according to character position in the word, and according to the joining property of the character and the joining property of the surrounding characters 'isol' feature

However, when using the metrics window of fontforge, it seems that it is determining the form, based on character position only, without looking at characters' joining property Unicode Arabic Shaping

Steps to reproduce:

  1. Open arabic font with fontforge (I opened trado.ttf which I copied from C:\Windows\Fonts\Traditional Arabic)
  2. Open Metrics window and type the arabic character ("alef" U+0627), then ("lam" U+0644)
  3. You see that the second glyph "lam" is getting replaced with its final form (U+FEDE "Lam Final Form") instead of its isolated form (U+FEDD "Lam Isolated Form")

Screenshot1

Expected behaviour:

  • Since the first character ("alef U+0627) has an R joining type (doesn't join with following characters), the next character should be in its isolated form (U+FEDD "Lam Isolated Form")
  • If we add a third character which has a D joining type, such as ("kaf" U+0643), we can see in the metrics window that the second character "lam" is getting replaced with its medial form (U+FEE0 "Lam Medial Form"), instead of its initial form (U+FEDF "Lam Initial Form")

Screenshot2

OS: Windows 10 Pro 22H2
FontForge version: 20230101

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions