GithubHelp home page GithubHelp logo

Comments (12)

roozbehp avatar roozbehp commented on August 15, 2024

It seems that the lookup for forming Allah-related ligatures is also wrong. Using my own names, it is currently something like this:

lookup 10 { # type=4 flag=0x8
  sub alef.isol lam.init lam.medi shadda_superscriptalef heh.fina by alef_lam_lam_heh;
  sub lam.init lam.medi heh.fina by lam_lam_heh;
}

The first rule is basically eating the shadda and the superscript alef, and the second rule is shortening a lam unnecessarily.

It should instead be something like this:

lookup 10 {
  sub lam.init lam.medi shadda_superscriptalef heh.fina by lam_lam_shadda_superscriptalef_heh;
}

from arabic.

roozbehp avatar roozbehp commented on August 15, 2024

/cc @raphlinus

from arabic.

roozbehp avatar roozbehp commented on August 15, 2024

The second rule, the current

sub lam.init lam.medi heh.fina by lam_lam_heh;

could probably be replaced by an alternative, that shortens in second lam only when a shadda is present on it, to get words like "lam, lam, shadda, fatha, heh" (pronounced "lellah" in Persian) right. If we do this, we may need an additional glyph, that has a shorter second lam and shadda on that lam, but no superscript alef.

(This specific comment is really just an idea. It's not high priority. But the original report and my first comment are high priority.)

/cc @behdad

from arabic.

roozbehp avatar roozbehp commented on August 15, 2024

The lookup flag on lookup 10 may also need to change. Currently, it's set to skip marks, and shadda_superscriptalef is defined as a mark, so it seems to be skipping it.

from arabic.

roozbehp avatar roozbehp commented on August 15, 2024

Internal tracker b/21492433

from arabic.

roozbehp avatar roozbehp commented on August 15, 2024

Lowering the priority, since we could do a hotfix for the product. We still need a fix, but it's no as urgent anymore.

from arabic.

khaledhosny avatar khaledhosny commented on August 15, 2024

Note that there are many ways that this ligature can be applied in wrong contexts, like the word خالله (the last part of it is not the name of God and should not use the ligature) and many more. I suggest to either not apply the ligature by default or (if you think it is worth the effort) use some complex contextual rules like the ones used in Amiri (which might still give false positives, only Arabic was considered).

from arabic.

raphlinus avatar raphlinus commented on August 15, 2024

@khaledhosny: We're trying to be more careful than that. In our current "hotfix" version, we form the ligature for alif-lam-lam-shadda-daggeralif-ha, but not for alif-lam-lam-ha. The word you pasted does form the ligature on my Mac (Geeza Pro, see http://www.org.uib.no/smi/ksv/ArabicFonts.html), but does not on Android.

There's a good chance it'll make it into the next M developer preview. If you could test it then, it would be deeply appreciated.

from arabic.

khaledhosny avatar khaledhosny commented on August 15, 2024

I think this should be fine. For completeness, you probably should added a فلله ligature (that is feh-alif-lam-lam-shadda-daggeralif-ha).

from arabic.

roozbehp avatar roozbehp commented on August 15, 2024

A related issue found by @behdad: Currently the ligature doesn't have correct MarkLig positioning.

from arabic.

dougfelt avatar dougfelt commented on August 15, 2024

OK, version 1.05 of Naskh is in the repo now. MTI says this issue has been fixed by this drop. @roozbehp can you confirm?

from arabic.

xiangyexiao avatar xiangyexiao commented on August 15, 2024

confirmed it is fixed.

from arabic.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.