Typophile

need help in building mark and mkmk features correctly

Freems

Hello all knowledgeable ones,

I need help with feature markings in a RTL (Syriac) font which utilizes the mark and mkmk features. I have worked making Latin fonts with many open type features so I am familiar with how to write other open type code.

I am using a Mac and have FL 4.6 and have access to FL 5 Studio. This font will be used in the software Mellel. I have downloaded the correct keyboard and other RTL fonts have worked correctly.

I decided to do this in stages to help pinpoint any errors. So far I have marked all the base glyphs with their anchor markings and checked them in the preview in FL. I saved the features file in FL. Then in the demo version of Fontographer 5 I opened the FL .vfb file and did all the linking (to the feature file) needed to process the open type file. No errors were reported but when I viewed in the Mellel it didn’t link the position of the mark to the base glyph.

Obviously I am missing something. Any help will be appreciated.

Thanks,
Frances

Hello again,

Regarding my issues (above post) with adding “mark” features to the Syriac font. I just noticed something when I open the OpenType (not the .vfb) file in Fontlab that I processed in the Demo Fontographer 5. The “mark” feature that I had added doesn’t show up. Is that normal or is there something I missed when processing the features in Demo Fontographer 5? When I open up any other OpenType file in FL it always shows features that have been made.

Thanks.

FLS5 does not support mark and mkmk.

Yes I understand FLS5 doesn’t support mark or mkmk features. From another inquiry I posted last week about using ADFKO Adam Twardoch wrote that in Fontographer 5 I could open my FL .vfb file point to AFDKO 2.5 feature definition file and generate my .otf. This is what I did and it didn’t work. Is it possible that the demo version of Fontographer can’t process this or am I missing a step? I feel that I have written the mark code correctly.

Thanks

So far I have marked all the base glyphs with their anchor markings and checked them in the preview in FL. * I saved the features file in FL. Then in the demo version of Fontographer 5 I opened the FL .vfb file

* There's something missing along the lines of »Then I generated the mark feature code from the anchor positions« here.

Hello Jens,

Would you elaborate more on “generating the mark feature code from the anchor points” please. Is this done in FL or Fontographer5? As far as I understood I just save the feature code file in FL (as it doesn’t support the mark feature) bring that .vbf file into Fontographer and point to my feature file (a step in the generate font). It is something that probably is very obvious but somehow it doesn’t click for me yet (this is my first time working with mark and mkmk code)

Thanks for your help.

--Frances

The anchors you set in FontLab have no relevance to finished font. They are just used internally in FL to produce composite glyphs, and they don't automatically produce a »mark« feature when you save a feature file from FontLab. You have to write the mark feature code yourself. (You wouldn't even need to set FL anchors in order to do so, though it's easier to check the positioning of components when you have anchors and can preview the effect in the FL preview panel.)

If you have for example an anchor in the glyph »A« at position (365, 725) and an anchor on the glyph »tildecomb« at position (0, 500), the corresponding mark feature code could look like this:


feature mark {
markClass tildecomb @ANCHORS_top;
position base A mark @ANCHORS_top;
} mark;

When this code is in your OpenType panel, FontLab won't know what to do with it (pressing the compile button in FL will fail), but saving the complete feature code to a file and generating the font with Fontographer (or use the command-line tool makeotf from the Adobe FDK 2.5 directly) should work. (I don't have Fontographer to check it).

Hope this helps!
Jens

Hi Jens,

I think I have done the marking correct but in a little different way:

This is for the mark U0308 which coordinates are 125, 0 and I named the anchor “_top mark0.” (From what I’ve read it can be written either with the coordinates or name.) I have it anchored to the base glyph U0712 at coordinate 305, 406

feature mark { # Mark Positioning
script syrc; # Syriac
lookupflag RightToLeft;
# mark U0308 125 0;
# pos U0712 mark U0308 305 406;
} mark;

I do understand what FL’s limitations are regarding processing the mark and mkmk features. I haven’t tried the AFDKO 2.5 outside of FL as it seems a little intimidating but if I can figure out command line maybe it will work better.

Thanks again,

Frances

Hrmpf, my mark code didn't go through correctly, the coordinates got lost, I'll try again:


feature mark {
markClass tildecomb <anchor 0 500> @ANCHORS_top;
position base A <anchor 365 725> mark @ANCHORS_top;
} mark;

I think you need both, the coordinates (to define how the marks should be positioned) and a group name (to define which mark can be combined with which base glyph).

Hi Jens,

I think I may have the syntax written correctly but I need to check to see if anyone knows if Fontographer’s demo version will generate the feature. It does generate the font but since it is only the demo version it is noted that some features may be disabled – which may mean that is why the combining marks are not linking.

I do appreciate all your help.

The full version does, from an external file linked via Font Info. And I assume you can download and try the demo version by yourself ...

I have the Fontographer 5 demo version and have tried it several times during the past week and I’m confident that I have connected the feature file the correct way. But when I view the font in Mellel it doesn’t link. So I’m not sure where there could be the error. I’m also pretty sure I have written the correct code but the demo does say that it doesn’t generate all the features and if one of those is the mark feature I can’t check for sure.

Captured from web.archive.org on 18 Apr 2012. view this capture