Hans,

Sorry to bring this up after over a year, but I just noticed something that doesn't seem right. I implemented some contextual substitutions in my own fork of the Keter YG Hebrew font (.ttf file attached) under the "dlig" feature that should do the following two things:
  1. If a shin with a sin dot (שׂ) is pointed with a holam (the vowel point placed high and on the left), then the shin, sin dot, and holam are combined into a single ligature that depicts the sin dot and holam merged into a single point.
  2. If a shin with a shin dot (שׁ) follows another letter pointed with a holam (except for vav, which must be pointed with a holam haser), then the shin and shin dot are replaced with a ligature that moves the shin dot a bit to the right (so that it appears to be merged with the preceding holam), and the combination of the preceding letter and the actual holam is changed to just the preceding letter (thus effectively stripping the old holam).
I've tested both of these features in FontForge, and they work as expected there. Likewise, if I test them in the following XeLaTeX script, XeLaTeX handles both rules correctly:

```
\documentclass{article}
%Set fonts and font features:
\usepackage{fontspec}
\setmainfont[Path=../fonts/KeterYG/, UprightFont = *-Medium, Script=Hebrew, Ligatures=Discretionary]{KeterYG} % I'm using a local copy of the attached font
\begin{document}
שֹׂבַע

עָשׂוֹר

קֹשֶׁט

שֹׁשַׁנִּים

עָשׂוֹר

מֹשֶׁה

שַׁלֹשׁ
\end{document}
```

But in ConTeXt, only rule (1) above works as expected. Here is a minimal (non-)working example:

```

\starttypescriptcollection[keteryg]

\starttypescript[serif][keteryg]

\definefontsynonym[Serif][file:../fonts/KeterYG/KeterYG-Medium.ttf][features=hebrew] % use a local copy of the attached font, with all the necessary Hebrew features (this includes dlig by default)

\stoptypescript


\starttypescript[keteryg]

\definetypeface[keteryg][rm][serif][keteryg][default]

\stoptypescript

\stoptypescriptcollection


%Set up the main font:

\setupbodyfont[keteryg]

%Set up right-to-left alignment:

\setupalign[r2l]

\starttext

שֹׂבַע

עָשׂוֹר

קֹשֶׁט

שֹׁשַׁנִּים

עָשׂוֹר

מֹשֶׁה

שַׁלֹשׁ

\stoptext

```

In examples 3, 4, 6, and 7, the holam dot still appears before the shin-with-merged-shin-dot-and-holam ligature, when it should be absent. (I realize that it may be difficult to tell; in the last two examples, the presence of two dots is easier to make out.)

Do you have any idea why this might be happening in ConTeXt? Does the glyph reordering in font-imp-combining.lua take place before any OpenType features in the font are applied?

Thanks again!

Joey

On Thu, Apr 30, 2020 at 4:17 PM Joey McCollum <jmccollum20140511@gmail.com> wrote:
Okay! I have not figured out how to add a new page to the wiki, but I was able to add a section to the end of the "Arabic and Hebrew" page (https://www.contextgarden.net/Arabic_and_Hebrew) discussing the issue, providing a test, and briefly describing the fix.

Joey

On Thu, Apr 30, 2020 at 11:14 AM Hans Hagen <j.hagen@xs4all.nl> wrote:
On 4/30/2020 4:28 PM, Joey McCollum wrote:
> Thanks so much, Hans! I should be able to add a wiki page summarizing
> the tests before the end of the week.
>
> For reference purposes, do you know which version of ConTeXt has (or
> will have) this update included?
todays upload


-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------