-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crashes in InDesign #220
Comments
Still reading all my saved links about this.
This last one I am still trying to figure-out exactly. |
This is a working example: LibreCaslonText-format2.zip Take a look at the postscriptNameID's in the fvar table. The normal FamilyName-StyleName does not work. EDIT: Hmm... Source Serif 4 looks a bit different... Maybe that is all that is needed. |
LibreCaslon also has the nameID 25 in the name table And all the fvar names like |
Hmmm... So maybe all it needs is STAT table AxisValue Format="2" |
It used to have format 2, but then someone who had advised me about the STAT table before told me that it could take format 1 (see the post by Thomas Linard here). Source Serif 4 uses format 1, and it works fine (Source Sans 3, however, still uses Format 2). I also studied the Source Sans 4 PostScript names and copied they way they did it (Source Sans 3 does it the same way). The PostScript names all look fine to me, but I could easily be missing a typo (though I doubt it, since it's programmatically generated). I'm onto another possiblity: font validator found a mismatch between maxComponentDepth in the maxp table and the actual component depth—the maxp value too low. That could cause a crash in some apps. I'm flattening it (depth never more than one) and will see if that makes a difference. I'll also check the maxp settings relating to hinting. I'm fairly confident by now that the problem is neither the fvar nor the STAT table. |
Another detail: the font when generated by Glyphs instead of fontmake does not cause a crash in the Adobe apps. It provides a useful point of comparison, particularly as Glyphs now produces a competent STAT table. |
Well, the maxp table did need correcting, but it didn't solve the problem. InDesign is still crashing (with italic only). I'll see what happens if I restore Format 2 in the STAT table. It feels like a desperation move. |
Hmm... today I was comparing Junicode v2.000beta5, Source Serif 4 v4.005 release (from the repo not the Google Fonts version which is different), and Inter v4.000beta9h. |
Inter was dealing with this same issue and one of the 3 fixes (as listed above) was to change to Format 2. There have been a lot of discussions among the GF folks about this - and I have saved them all - which is what I was going back through and reading today. Quite a few of those discussions involved Thomas Linard. So I think looking at a few more recently updated fonts would be useful. |
Interesting . . . I was looking at 4.004. So they went back to Format 2. I wonder why. Anyway, I tried going back to Format 2 as well, but it's still crashing. I can't go on building all those static fonts when I'm just running tests (many tests!) on the variable fonts, so instead of building everything and tagging it, I'll leave a couple of Google Drive links, if you want to check out the current copy: italic and roman. BTW, I have now tested in Firefox, Chrome, and Safari. No crashes or other problems there. It seems to be working perfectly everywhere but in Adobe. |
OK. Will look at those tomorrow. Another thought - the LibreCaslon format2 fonts that I attached above were made by Thomas Linard as an example of what works in InDesign (from one of those many discussions). |
We should compare these STAT tables. That has been mentioned in the discussions. So I will see if there are any comments/ answers there. Roboto-Flex? I remember it has been discussed related to InDesign, but I don't remember if it works. |
I'll try Roboto Flex in ID tomorrow. Meanwhile, here are the rival STAT tables. First from the Glyphs-generated Italic:
And then by my mkstat.py script (since fontmake creates a very minimal STAT table; this still contains Format 2 axis values, but I'll probably put back Format 1, since it seems to make no difference):
|
Also--thanks for the leads on GF fonts that have wrestled with this problem. I'll follow up tomorrow. |
@kenmcd: Here is a quick survey of the variable fonts you mentioned (where "correctness" means behaving as expected, "stability" means not crashing) in InDesign:
The diversity here is startling. These fonts are doing things in very different ways and (mostly) succeeding. Only Fraunces exhibits that well-known behavior of flipping the style from italic to roman. None of them crashes InDesign the way Junicode Italic does. |
Another thing tried: Making sure there were platform 1 entries for fvar PS names and name ID 25. Didn't make any difference. (Glyphs inserts no Platform 1 names.) I'm removing the platform 1 names now. I've been over this and over this, and I've followed every lead I've either been given or thought up myself. Now I'm just throwing sh*t at the walls more or less randomly, because I am out of ideas. I'm knocking off for the time being. |
I noticed that the Source Serif 4 STAT table had no style linking except for Roman/Italic, and that was two-way linking. Thus the table had only Format 2 and 3 axis values. I decided to try that out, but it had no effect: Italic still crashes InDesign. |
OK. I'm back. |
Good luck to you. I'm pretty fed up. |
Here you go. Italic only—something about the GPOS in the roman disagrees with Glyphs, and it refuses to export. Those were good experiments. I can say that I looked at the maxp table, and made sure it was okay (I've noticed that it can be a source of instability). If you have thoughts about places to look, I can do part of the looking. Even a small font is a big thing to search through . . . |
One thing I noticed was that some masters for combining marks didn't have zero widths. Thought that might result in reports of negative widths, possibly causing the crash. Fixed that problem, but unfortunately it didn't help with InDesign. Another test gone. The good thing is, many of these experiments result in real improvements. |
OK. Got it. Thanks. Let the fun begin! Hmm... I have not tried opening the |
Was going to do a quick comparison to the other Italic, and it looked terrible in Windows Font Viewer - then I noticed it has "Junicode" not "Junicode VF" as the family names. Is this the same Italic font you tested in ID? Still gonna compare the two versions, but this Glyphs version may not be a "crashless" version. |
Long story, but it is the variable font, but family name "Junicode" not "Junicode VF." I'll generate another with "Junicode VF" as the family name and post a link. |
Here's the link. I'm going to test it now. Super interesting if it crashes. |
But it doesn't crash. If it doesn't crash when generated by FontLab, or Glyphs, but only fontmake, it would seem that fontmake is making some error on generating the font. I can't even guess what it could be. As the error happens when moving the axis sliders or choosing an instance (on my Mac, anyway: for you it was when you pasted some formatted text), it could be anything affected by an axis change. The big one is gvar, of course, but how do you debug that? Nothing to do with TrueType hinting--I've also gotten the crashes in builds where I've omitted hinting entirely. BTW, the font generated by Glyphs has no hints at all. Maybe that's why it looked bad. |
I poked through the fontmake open issues to see if there were any known issues related to Adobe, and did find one: googlefonts/fontmake#845 No idea if this is related. But apparently fontmake optimizes the gvar table by default and Adobe applications have difficulty dealing with that, so it might be worth turning it off regardless. |
Thank you, Kibigo!! I'll have a look at that this evening. (Wonder what turning off optimization will do to the file size.) |
Thanks got it. But, apparently my Windows Font Viewer issue was not a "Junicode" name conflict with the installed static fonts as I had guessed - same issue with this Glyphs-generated "Junicode VF" Italic. |
I had high hopes, but when both faces are compiled with |
Interesting that the Glyphs version looks so different in MS font viewer from the fontmake version. Very glad the fontmake version looks better, as I'm settled on that method of generating fonts! One thing the font needs for Windows goodness is a |
Another little experiment: what if I run the script that generates my STAT table and PostScript entries on the italic file generated by Glyphs? Does InDesign crash? Turns out that it does not. I suppose that means that the STAT table and PostScript name IDs are not the problem. |
Pondering that one had me staring out the window for awhile... so what is it?... Going to try some stuff today. |
Thanks. Let me know if there's anything I can do to help. I'm working on language testing today. Got 12 so far, made many corrections. |
I've just discovered a workaround--and it's a good workaround, a thing that people should be doing anyway. Switch to the World-Ready Paragraph Composer, and the crashes will stop. The WRPC uses HarfBuzz, which is incomparably the best layout engine available and one of the jewels in the Open Source crown. I've found that using it solves several other problems as well, since the coverage in ID's default composer is not nearly as complete. I don't know why I didn't think of this earlier. I'll add the recommendation to the Junicode Manual. |
In InDesign 18.5 (and at least one earlier version), Junicode VF causes crashes when changing instances. Currently only the italic face seems to be a problem. I'm going to record my attempts to find the bug here, starting from Junicode 2.000beta5 as baseline, and if anyone comes along with expertise in making fonts work with InDesign, I hope they'll join in.
The text was updated successfully, but these errors were encountered: