Hi to all, and please forgive my naive question.
In order to use true small caps and true exponents in MS Word, I am going through the process of creating "expert" fonts for myself, derived from the commercial Opentype fonts. In these expert fonts I copy/paste the small caps glyphs in the lowercase slots, and I do the same with the exponents. I do this with Fontforge.
Now I have two questions:
1. Am I allowed to do that, provided I only use the modified fonts for personal purposes excluding any commercial purpose?
2. Is there any automatic means to achieve the same results, such as a script or something? I have succeded in doing by hand, but it's a fairly long work as I have to repeat the steps for every weight/style of the fonts.
Thanks in advance.
0
Comments
2. FF's python and internal scripting API make doing this very easy. All described here: https://fontforge.github.io/scripting.html
If smcp is needed for another application, I guess the solution is to have a style that is a copy of it but I don't know how to do that in just two or three clicks. I would need to use feature files.
Again, this is most likely against the foundry’s EULA, but this should be by far the quickest way to get your desired result if it is allowed by the foundry.
If you flatten with FontSquirrel, you then need to edit the names table of the resulting font so as to get two fonts with different names. Is it not faster to replace smcp by ss10 than changing names?
Here is Arno small caps obtained as style 10 in Word. Bold and Italic stay functional that way. Unfortunately, Word does not accept activating multiple styles, which remains limiting.
Still, if the objective is to work in Word (and only in one’s own closed environment), then the {scmp} → {ssXX} hack actually seems like a pretty efficient & effective one.
But if one is intent on hacking a font to display small caps by default in place of lowercase — i.e., like an “expert” font of old — then it might be more efficient to just remap the <cmap> so that lowercase codepoints direct to small-cap glyphs. That way, kerning is not an issue (since it relies upon glyph names, which have not been changed).
Depending upon how a font has its glyphs named, I can imagine this could be mostly a straightforward GREP operation on a TTX dump or otherwise scripted through FontTools. Although I suspect it gets a little more complicated if you have to deal agnostically with a range of fonts.
I'd like to have a separate "expert" font, as it would be useful in other softwares as well (in particular in Sibelius, a music-engraving software) but the fact is, I didn't succeed in any of the ways suggested.
- Fontsquirrel doesn't work for me. The font I get back do have the smallcaps in the lowercase slots, but not the accented letters: è, é, ù, ü, ò (small caps È, Ü, À...) and so on, which I need because I mostly write in Italian.
Maybe I should try harder, but can't figure out how to get the accented letters.
- Python scripts too difficult for me, it's like studying a programming language. Moreover, I tried to use existing scripts just to see ho wthey work, but alas all I got were arcane error messages or just nothing. My fault, of course.
- the "cmap" hack from Kent I tried but to no avail. I install the resulting font but no small caps, just lower case. I'm disappointed because I do like this solution a lot.
BUT, I've been able to get Michael Boyer's suggestion working. I am stuck with MS Word, but it does work.
This OT substitution business seems to pose more difficulties to the user than it solves.
In the Font Generator panel did you choose "No Subsetting" or at least "Custom Subsetting" > Italian ? If not you may not get your accented small caps. I tried "No subsetting" on Gentium Plus and FontForge shows me the accented small caps in the flattened font. There then remains to adjust various names (postscript and TTF).
@Andreas,
I agree, I'd like to, but then there is the kerning issue...
I would like to be able to make Kent's cmap remapping work, seems promising.
However, I don't think the technical discussion is useless, there are many opentype opensource fonts one could use.
(And btw: another limitation in Ms Word is the superscript, which is faked instead of using the real superscripts in the font. I use them extensively for footnotes)
As for the superscripts, in a two fonts setup, here is what you can try. You can't prevent Word from using its mechanism but maybe you can get the superscript to look right as follows: You put the digits in the background of the main font, then you copy the corresponding superscripts from the font, paste them where the digits are and blow them so that they fit the height of the digits behind. It is those big digits that Word will then use to fake superscripts and the result should look close to what you want (maybe after a few adjustments). Of course you will then need the other "expert" font to have the numbers look right in your text.
I am getting curious. Why do you use Word if you are that fancy about fonts?
PS. Don't forget to reactivate Javascript for TypeDrawers to work.
Sorry I don’t have time to pursue myself and provide proof-of-concept.
If you’re just trying to reassign unicodes in a font development app, I wouldn’t be surprised if your values are being overridden by the compiler. I believe that AFDKO has some baked-in routines to assign unicodes based on glyph names and the AGLFN. Others may make similar assumptions.
You’d have to hack the compiled font directly.
Or, if your app is using the AFDKO, then perhaps intercept it and apply the appropriate flags to override the AFDKO mechanism and use your own GlyphOrderAndAliasDB to insure the hacked unicodes. But now we’re getting complicated. ;-)
You might want to make yourself a special macro, keyboard shortcut, or something to facilitate this.
- Download and install (if not already done) the Adobe Font Development Kit http://www.adobe.com/devnet/opentype/afdko.html
- Download the pyftfeatfreeze script https://github.com/twardoch/fonttools-utils
You put the script in the same folder as the fonts. Say you are working with Arno. You can then type, in the terminal window,On Windows, otfinto probably comes with TeXlive https://www.tug.org/texlive/windows.html
The rest of your post is just like chinese for me, sorry. I just haven't enough knowledge in font matters to understand what you are saying. And don't be sorry, your suggestions are very fine, it's just me that can't follow them properly.
I am no typographer or type designer but I do love beauty in the books and documents, just like I am no painter but love Botticelli.
It is ironic that now Stylistic Sets are better supported in Word than [fairly essential] typographic features like Small Caps and Superiors.
One strange thing, however. On a Mac, when I install the font, the Font book stops white a red flag saying there an important problem with the font and suggest not using it. However, if I go on installing, the font works as it should. And If I click on file/convalidate the font (sorry I have an italian system and don't know how it says in english system), it says the font is ok. The first image is before installing, the second is after the font is installed.