mark and mkmk in FontLab

Ken Krugh's picture

I'm trying to learn about mark and mkmk (and am COMPLETELY clueless) and opened a newer version of Times New Roman from a new Windows 7 machine that seemed to be using it.

The mark feature comes in with code that looks like it could be correct but all the lines within the lookups are commented.

The beginning of the feature looks like this:
feature mark { # Mark Positioning
# Latin
lookup mark5 {
# mark hookabovecomb -280 1410;
# mark tildecomb -455 1440;
# mark gravecomb -280 1460;
# mark acutecomb -280 1460;
# mark uni0302 -15 1010;
# mark uni0304 -15 1180;
# mark uni0305 -15 1430;
# mark uni0306 0 1040;
# mark uni0307 -15 1080;
# mark uni0308 15 1080;
# mark uni030A 15 1040;
# mark uni030B -50 1000;
# mark uni030C 0 1010;
# mark uni030D 0 1050;
# mark uni030E 0 1050;
# mark uni030F 60 1000;

If I un-comment the lines I get a syntax error trying to compile at the very first "mark" line.

Does FontLab even support mark and mkmk?

Thanks for the help,
Ken

John Hudson's picture

No, the version of the Adobe FDK code that FontLab uses only supports GPOS for the kern feature, not anchor attachment positioning. FontLab will try to interpret the compiled GPOS table producing the commented code that you see, but can't do anything with it.

Ken Krugh's picture

Thanks very much for the info John.

We have an existing font we developed in FontLab. Is there anyway to add that kind of positioning?

Last time I looked into font development software for Windows FontLab seemed to be the most complete package. Any idea if there is anything else that's better suited and / or has more extensive support of OTF?

Thanks again,
Ken

John Hudson's picture

You can use the Adobe Font Development Kit for OpenType (AFDKO 2.0). The syntax is basically the same as that used in FontLab, but it can compile GPOS mark positioning features. So you can save your OpenType feature code from FontLab as a .fea file and then use this as the basis of a larger AFDKO feature file including the GPOS.

Alternatively, if you want a tool with a visual interface, you could rebuild your OTL features in VOLT. I've documented my FontLab-to-VOLT workflow, which might help your decision making.

Ken Krugh's picture

I'll check both things out.

Thanks again for your help John, very much apprecaited.

Ken

Ken Krugh's picture

Boy, this stuff has me feeling thick once again!

I'm working with an existing font just for learning purposes. When using makeotf from the AFDKO I'm getting two errors.

makeotf [Warning] Source TTF font contains multiple Unicode values ['060C'] for glyph uni060C. Only the first will be used.

and

makeotf [Error] For TTF fonts, the Glyph Order And AliasDB file must preserve the original font glyph order, and use the same names as are derived by the 'tx' tool. GlyphOrderAndAliasDB.

The first seems to indicate that one can't have glyphs with more than one Unicode code point. Which seems odd, though something I know that can be easilly rectified.

The 2nd error is a little more perplexing for me. I've written a Python script in FontLab that dumps out all the glyph names in a similar fasion to the example GlyphOrderAndAliasDB file that comes with the AFDKO. Does this error mean that its in the correct order as compared to the TTF file I generated from FontLab? Is there anything that will do this out of fontLab? I didn't see anything in the multitude of files that come with the AFDKO that seemed to do so. I'm in the process of looking at the tx tool.

In regard to VOLT; I exported the vlt file from FontLab but is there a way to transfer the OT features I already have in FontLab for VOLT so they can be expanded upon?

Thanks again,
Ken

John Hudson's picture

I'm afraid I can't offer much help on the AFDKO front. I suspect the first error message is because Adobe's own practice is to limit encodings to one per glyph, and their tool enforces this. As you say, there are easy ways around this, such as copying the cmap table from a font that hasn't been through the AFDKO tool.

With regard to VOLT, it is possible to export VOLT formatted OpenType feature data from FontLab, but I don't think it is very reliable. I do all my OTL work in VOLT, so have never had occasion to test this very thoroughly.

Ken Krugh's picture

Hmm, I'll have to look into the exporting. I used the fly-out menu on the OpenType panel and that seemed to export just classes and glyph info. When generating the TTF out of FontLab there is an "Export VOL T data" button but it doesn't create any addtional files, which was what I expected.

Thanks again, John.

John Hudson's picture

Did you try opening the TTF with exported VOLT data in VOLT? I think what FontLab might be doing in this case is writing the private VOLT table to the font, which is the format in which a VOLT project is saved within a TTF (and stripped when you 'ship' the font from VOLT).

Ken Krugh's picture

Well, nothing I do makes anything show up in VOLT when I open the TTF.

I'll keep plugging.

Aleksandra2206's picture

Dear John,

Do you know what programs sould be used for making arabic fonts?

I installed Fontlab and Volt program. Do I need Python too?

Letters won't connect :/

A.

Bahman Eslami's picture

Aleksandra, Currently the most convenient tool for designing and testing arabic fonts is the glyphs program. You can even manipulate the glyphs while they are connected and even add kerning and mark positioning to them.

B

Aleksandra2206's picture

Do you mean this programe: http://www.glyphsapp.com/ ?

Bahman Eslami's picture

Yup, That's the one.

B

Aleksandra2206's picture

Thank a lot, B. :)

Just a few questions: Do I have to use Volt preograme with glyphs program? Will this provides me a font that actually works? :)

(I'm sorry because I've been asking a lot about this but I'm new one in this area, and I don't know who to ask)

A.

Bahman Eslami's picture

You don't need VOLT while working with glyphs. You can use VOLT but it's not gonna make the process easier. Just stick with the glyphs app and you would be fine with most of the arabic features.

Syndicate content Syndicate content