googlefonts / googlefonts/ufo2ft
Mark feature writer doesn't mkmk correctly when both abvm and mark scripts in font
- Dominant language
- Python
- Stars
- 176
- Forks
- 48
- PR merge metrics
- No merged PRs in 30d
Description
Okay, this is slightly complicated, but when the attached Glyphs File
[MarkMarkTest.glyphs.gz](https://github.com/googlefonts/ufo2ft/files/11705548/MarkMarkTest.glyphs.gz) (a subset of Noto Sans Tagalog) is compiled with fontmake, the resulting feature file looks like this:
```
markClass uni1712 @MC_Anchor2;
feature abvm {
lookup abvm_mark2base {
pos base uni170A
mark @MC_Anchor2;
} abvm_mark2base;
lookup abvm_mark2mark_Anchor2 {
@MFS_abvm_mark2mark_Anchor2 = [uni1712];
lookupflag UseMarkFilteringSet @MFS_abvm_mark2mark_Anchor2;
pos mark uni1712
mark @MC_Anchor2;
} abvm_mark2mark_Anchor2;
} abvm;
feature mark {
lookup mark2base {
pos base uni25CC
mark @MC_Anchor2;
} mark2base;
} mark;
table GDEF {
GlyphClassDef [uni170A uni25CC], [], [uni1712], [];
} GDEF;
```
Notice that we have mark-to-base and mark-to-marks rule in the Tagalog part of the font that goes through the `abvm` feature, but we only have mark-to-base, and no mark-to-mark, for the dotted circle bit, leading to:
```
$ shape master_ttf/MarkMarkTest-Regular.ttf -u 170a,1712,1712,25cc,1712,1712
```

I think there should be a `mkmk` feature produced as well.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by compiling the attached MarkMarkTest.glyphs.gz with fontmake and inspect the generated feature file, then use the provided shape command to reproduce the missing mark-to-mark behavior. Trace the feature-generation entry point responsible for abvm and mark output; done means the compiled font includes the expected mkmk behavior for the dotted-circle sequence.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100