Tarobish / Katibeh

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

"lam_alef-ar" and "lam_alef-ar.fina" #84

Closed Tarobish closed 8 years ago

Tarobish commented 8 years ago

in both case "lam_alef-ar" and "lam_alef-ar.fina" ligatures are broken

screen shot 2016-02-03 at 7 53 02 pm screen shot 2016-02-03 at 7 55 02 pm

graphicore commented 8 years ago

Please add a live testing link plus screenshot. Also post the link of the ligature testing page here: http://tarobish.github.io/Katibeh/html/generated-pages.html

graphicore commented 8 years ago

Ok, I see. This is because we never had an issue for these ligatures and the stuff we inherited from glyphs in insufficient.

Look at the fea excerpt below. These are the ligatures I never touched and where we have no issues/testing pages for.

I guess I should have a closer look at them?

Also, as in the ligature issues that we already have, I need your help to tell me in which languages and features (dlig/rlig) these ligatures should appear.

rlig featue:
    # TODO: the come from Glyphs and were not covered in the issues on Github
    sub uniFEDF uniFE8E by uniFEFB;
    sub uniFEE0 uniFE8E by uniFEFC;
    sub uniFEDF uniFE84 by uniFEF7;
    sub uniFEE0 uniFE84 by uniFEF8;
    sub uniFEDF uniFE88 by uniFEF9;
    sub uniFEE0 uniFE88 by uniFEFA;
    sub uniFEE0 uni0672.fina by uni06440672.fina;
    sub uniFEE0 uni0673.fina by uni06440673.fina;
    sub uniFEDF uniFE82 by uniFEF5;
    sub uniFEE0 uniFE82 by uniFEF6;
    sub uniFEDF uniFB51 by uni06440671;
    sub uniFEE0 uniFB51 by uni06440671.fina;

    sub uni06B5.medi uniFE8E by uni06B50627.fina;
    sub uni06B6.medi uniFE8E by uni06B60627.fina;
    sub uni06B7.medi uniFE8E by uni06B70627.fina;
    sub uni06B8.medi uniFE8E by uni06B80627.fina;
    sub uni076A.medi uniFE8E by uni076A0627.fina;

dlig feature:
    # TODO: the come from Glyphs and were not covered in the issues on Github
    sub uniFEE0 uni0672.fina by uni06440672.fina;
    sub uni0644 uni0672 by uni06440672.isol;
    sub uniFEE0 uni0673.fina by uni06440673.fina;
    sub uni0644 uni0673 by uni06440673.isol;

    sub uni06B5.medi uniFE8E by uni06B50627.fina;
    sub uni06B5 uni0627 by uni06B50627.isol;
    sub uni06B6.medi uniFE8E by uni06B60627.fina;
    sub uni06B6 uni0627 by uni06B60627.isol;
    sub uni06B7.medi uniFE8E by uni06B70627.fina;
    sub uni06B7 uni0627 by uni06B70627.isol;
    sub uni06B8.medi uniFE8E by uni06B80627.fina;
    sub uni06B8 uni0627 by uni06B80627.isol;

    sub uni076A.medi uniFE8E by uni076A0627.fina;
    sub uni076A uni0627 by uni076A0627.isol;
graphicore commented 8 years ago

Here is a rough test for the stuff shown above. It indeed is exactly what you are complaining about!

This is Mirza, but we will have to solve this for both fonts anyways.

screen shot 2016-02-05 at 23 49 21

Tarobish commented 8 years ago

This ligatures it a default for all the Arabic script, when "lam-ar.init" and "lam-ar.medi" comes before "alef-ar.fina" it must change to the "lam_alef-ar" and "lam_alef-ar.fina" as you see in the rough test, i didn't happen in many places

screen shot 2016-02-05 at 5 36 54 pm

screen shot 2016-02-05 at 5 37 00 pm

screen shot 2016-02-05 at 5 37 07 pm

graphicore commented 8 years ago

Sure I see, that's what I mean with what glyphs did for us is insufficient.

Tarobish commented 8 years ago

Unfortunately :( it makes extra works for you

graphicore commented 8 years ago

Sorry, this makes mo sense:

, when "lam-ar.init" and "lam-ar.medi" comes before "alef-ar.fina" it must change to the "lam_alef-ar" and "lam_alef-ar.fina"

what you say is:

lam-ar.init + lam-ar.medi + alef-ar.fina = lam_alef-ar + lam_alef-ar.fina

But that means that we have one alef too much! (lam + alef + lam + alef)

Tarobish commented 8 years ago

Sorry :) i mean lam-ar.init + alef-ar.fina or lam-ar.medi + alef-ar.fina

graphicore commented 8 years ago

Well, it looks like there is no version of this that stands in the middle of a word, it's always at the end of a word. Is it that what you meant?

graphicore commented 8 years ago

yeah, so either it is the init + fina combination or it is medi + fina but never init + medi or medi + medi

Tarobish commented 8 years ago

Yes it dose "uniFEFC" (lam_alef-ar.fina) it comes in the middle or at the end of the word like: ملاحظه or بلا

Tarobish commented 8 years ago

please take a look at sub uniFEDF uniFE8E by uniFEFB; sub uniFEE0 uniFE8E by uniFEFC; for each combination it must be like these two :)

graphicore commented 8 years ago

Oh, and when it comes in the middle of the word it "breaks" he? I think the open type engine implements that for us, I don't think I have to do it.

graphicore commented 8 years ago

uniFEFB uniFEFC

right, I thought so. I think some of the existing ligature glyphs that we have here are never going to be used.

Tarobish commented 8 years ago

Yes, also in the table somewhere its broke in the isolate form like uni06440673.isol

graphicore commented 8 years ago

yeah, that's why I called it a rough test. Some of these combinations are impossible.

Tarobish commented 8 years ago

in this case, we are fine then :) but we have uni06440673.isol as a "lam_alefWavyhamzabelow-ar.isol" so it has to function, right?

Tarobish commented 8 years ago

You are the boss :)

graphicore commented 8 years ago

uni06440673.isol as a "lam_alefWavyhamzabelow-ar.fina" so it has to function, right?

That's uni06440673.isol:

selection_047

That would be uniFEFB + Wavyhamzabelow-ar in the end, right?

Tarobish commented 8 years ago

it could be anywhere, at the first, in the middle or at the end in arabic like screen shot 2016-02-05 at 6 38 00 pm

graphicore commented 8 years ago

Ok, got it. So this is the exception from the rule (of being a connected script), heh?

Tarobish commented 8 years ago

Yes :) if they are isol they could be anywhere and never get connected to the rest of the characters in the isol form they are playing like a single isol character :)

graphicore commented 8 years ago

Ok, check this out:

http://tarobish.github.io/Katibeh/html/generated-pages.html#jomhuriaTests/collision-above-2

and make you own testing as in the initial description please.

Note that the "rough test" is not really useful, don't use it or copy and paste from it. It uses wrong input values.

graphicore commented 8 years ago

If your test doesn't yield in a pleasing result, please post a live testing page with your input here.