We have a problem we struggled with for many years without success and face now one more time, I am hoping that someone on the list may have a solution.
For fonts that have both Arabic and Latin scripts we need the space character to be narrower in Arabic, especially in bolder styles. When we use an existing Latin as a companion, the space character becomes wider than required for Arabic. In the past, we added a narrower “space.arab" glyph and a substitution lookup to replace the Latin space with the Arabic space. This substitution works in Word but not in InDesign. We have tried placing the substitution lookup in <calt>, <rclt>, <ccmp>, as well as combinations of these features; ALL of these substitute correctly in Word, and NONE of them work in InDesign.
We tried a slightly different approach now by making the narrow space as the default and changing that to the wider space in Latin script via a substitution lookup in the <ccmp> feature. We think this is a better approach since Arabic is the primary script in these fonts. This did not work and the narrow space is applied in both scripts in Word and in InDesign.
Does anyone have information to shed light on this issue and solve our problem? Did anyone succeed in applying two different space characters to two scripts in the same font?
Thanks in advance.
Comments
Rainer at Glyphs has previously written that InDesign will do the .locl substitution but will not adjust the width from the original space.
Substituting the space character is a real problem that may not be possible to resolve in every case. I had a similar issue between Latin and Cyrillic some years ago and never found a good solution.
http://jkorpela.fi/chars/spaces.html
You need to put the features in all scripts even if you are using a contextual substitution in only one.
(rather than the <kern> feature, since I'm not sure if Word would automatically honor it)
HAHA ok I spoke too soon. I didn't actually *change* the width of the glyph. When I did... the space still appears as the same width as the default space. Now I see the problem you encountered. Yikes! Sorry
space.deva is the same width + rectangle:
space.deva is a wider width + rectangle:
In my Hebrew-Latin fonts, I split the difference for the space character. For most of my Hebrews, I prefer a space of about 27-28% of the em; for Latin, I usually prefer something narrower, about 23-24%. So 25% is usually a reasonable compromise, with pair adjustments made in kerning for the worst cases. I don’t know if such an approach will work in Arabic, but it’s worth considering. Kerning is always possible, though it is irksome to feel forced to go such a primitive route.
Where I do need the locl feature to work is with punctuation, as I always design a separate set of period, comma, semicolon, etc, for the Hebrew. As a workaround to the locl feature, we access the alternate punctuation set through the Swash feature (made part of the Paragraph Style and Character Style in InDesign), as that feature is never used otherwise in the fonts. This should work for an alternate space character too, unless, of course, you intend to use the Swash feature. You could try another unused feature that InDesign recognizes.
Mind you, my fonts are used only by me and by people working for me, so there’s no need for universality. Even if Adobe fixes its access of the locl feature, there will still be the problem of backward compatibility.
By the way, the bigger questions are why we need—and how we use—multi-script fonts. As a working typographer, I find it almost always easier to switch fonts between scripts than use the unified fonts. After all, you have to specify languages in InDesign anyway. The only reason I include a Latin set in Hebrew fonts is to accommodate a requirement of Microsoft's (which might no longer exist, so far as I know), as I use Word as a pass-through for certain levels of text editing.
Shilia letter design is tighter than most Arabic similar fonts so the space had to be quite tight as well, which means we could not split the difference and use and average space because it would not be satisfactory in either script.
I believe that for typefaces where both scripts are designed from scratch, the right solution is to make the side bearings of the glyphs in the Latin wider to produce the right space when typeset with the Arabic space character.
For fonts intended for general use, it is extremely helpful to the users to have both scripts in the same font file.