I have this typeface, that has separate variable font files for Romans and Italics. Both fonts have corresponding named instances and one axis (weight axis).
I installed this font in my adobe font folder to test it in different adobe apps.
Illustrator works smoothly.
But in InDesign I have a problem.
This is what happens:
If I select, for example, "Bold" from the style dropdown and I want to see how the letter shape behaves by dragging the axis slider my font jumps immediately to the italic style.
Does anyone know what to do with this?
I tried to set STAT table, I set default masters' font info from the scratch, I recreated design space files several times. I exported font with makeotf and fontmake separately. With different apps. I still have no clue how does it work for example in SourceSans. I believe that I omitted some important stuff in the spec. I just don't know what exactly.
Here <https://www.dropbox.com/s/2jiznwvr6ucd3r2/TestFont.zip?dl=0> I'm attaching source files and ttf files of my test font that behaves the same. There is also a small video illustrating what is happening.
I lost all my hope,
Thanks in advance
I believe that indesign's VF implementation is "a bit" buggy, but I really want to figure out how other fonts are working and mine is
Yeah, I tested it all also including FontGoggles, and everything works fine but InDesign.
I also thought that maybe InDesign somehow uses the NAME table in order to address some particular parts of the variable font family. I compared mine NAME table to SourceSans and everything looks similar. I tested small differences in my font and nothing happened.
One thing I have been recommending is to set postscriptNameID for all fvar Named Instances (along with entries in the name table of course). Your fonts do not have these names, but all the Adobe Source fonts do. I don’t have evidence that this in itself cures the InDesign issues, but I would still recommend it.
Is there anyone from Adobe who can advise on this? It is urgent that all font engineers understand how to get variable font families working in InDesign.
https://www.dropbox.com/s/fwc56u4n9laodcr/version with postscriptNameIDs.zip?dl=0
here is testFont version with postscriptNameIDs. Still doesn't work as expected.
The interesting thing is: I found that this font is working as expected: https://fontsarena.com/fraunces-by-undercase-type/ in InDesign and IBM plex Sans, which is in general well-known font, commissioned by significant tech company doesn't. I posted the issue on IBM Plex's github repo.
Have you checked fsSelection, macStyle, and Panose settings? Maybe also italicAngle?
(Rafał, I'm paraphrasing some info that my colleague Zachary just sent you. Please let us know if this worked.)
One requirement is named 25,
Variations PostScript Name Prefix.
nameid 25 "MyRoman";
nameid 25 "MyItalic";
There’s some information in https://wwwimages2.adobe.com/content/dam/acom/en/devnet/font/pdfs/5902.AdobePSNameGeneration.pdfabout this. The code actually does what it says here which is to look for nameid 25 first and then if it doesn’t exist check nameid 16 and then nameid 1. In most cases id 1 will be the same for Roman and Italic so that will cause the conflict you see. It should work if you make sure nameid 16 exists and is unique, but using 25 is the best way to do it and one of the reasons nameid 25 was created.
A list of axis value records in your STAT table is also required, particularly ones that correspond with each font in the family. This is the requirement for things to go smoothly in Windows, too.
You can check the discussion I had with Google here:
Roboto 3.002 is made according to my advice.
In short: nameID 25 + postscriptNameID in fvar + AxisValue format 2.
I filled this bug also:
(the information given in this bug is a bit out of date: since then, FontBakey's gftools-fix-vf-meta.py script creates AxisValue format 2, so new fonts passed through this script like Roboto works in InDesign)
Yeah, I applied the unique nameID 25 accordingly to Zachary's directions. That was the cause of the issue in this case. I already had applied postscriptNameIDs to my VF before and STAT table in format 2. I found it on my own that STAT records in format 1 are crashing slider action.
Thank you again for the swift response.
From my first tests nameID 25 + postscriptNameID in fvar is still needed, but AxisValue format 2 is no longer needed.