Tarobish / Mirza

Mirza Arabic Font Project
http://tarobish.github.io/Mirza/
SIL Open Font License 1.1
32 stars 4 forks source link

Glyphs with "stuff" merged into the base form don't decompose. #98

Closed graphicore closed 8 years ago

graphicore commented 8 years ago

This is a common problem that we have in Mirza, as well as in Katibeh. There are certain glyphs with for example a ring (or horizontal strokes etc.) merged into their base form. These glyphs can't be decomposed into a base form plus marks. Hence most of our features don't work for these glyphs.

My preferred solution would be to make custom marks glyphs out of these additions. Then add a custom anchor to the base forms and the marks, plus to the ligatures that are created from these bases. That way we could use the existing features to form ligatures out of these special glyphs.

Alternativeley, if this is not possible, we'd need to make custom ligatures for these special characters. If we want to have ligatures of them.

suggestion

Let's take the case of uni06B0 (ARABIC LETTER GAF WITH RING): The ring is uniFBBF(ARABIC SYMBOL RING) and the base is 06A9(ARABIC LETTER KEHEH) + the gafbarar mark (GAF is 06AF) and the bases of the init, medi,fina forms are in order uniFB90, uniFB91, uniFB8F

We should make a new ring mark like uniFBBF.bodyattached or ring-ar.bodyattached and give it a new custom mark anchor: _custom or _bodyattachment

Then we should give all bases AND the ligatures the bodyattachment base annchor.

I could then decompose uni06B0 in e.g. the feature medi into uniFB91 + gafbar-ar + ring-ar.bodyattachedand the ligatures would kick in.

Here are some randomly picked examples, not complete probably:

http://tarobish.github.io/Mirza/html/generated-pages.html#tests/Issue%20%2335%3A%20ligature%2035%20%28uniFC3D%29

selection_039

http://tarobish.github.io/Mirza/html/generated-pages.html#tests/Issue%20%235%3A%20Ligature%2005%20%28uni066E06BA%29

selection_040

http://tarobish.github.io/Mirza/html/generated-pages.html#tests/Issue%20%2346%3A%20ligature%2046%20%28uniFC42%29

selection_041

http://tarobish.github.io/Mirza/html/generated-pages.html#tests/Issue%20%2351%3A%20ligature%2051%20%28uniFC81%29 (not how it happens twice in the third row)

selection_042

graphicore commented 8 years ago

@Tarobish: If we don't do this we are much faster, but we have these places where ligatures don't appear etc. It's your decision, I can't really judge the linguistic implications.

Tarobish commented 8 years ago

Exactly, thats what i was thinking :D i checked "Amiri" as well. its better to leave them as they are