Edit Font Metadata so FontBook will put it in English smart collection

fontfont-bookpreview

Some of my third party fonts don't show up in Yosemite Preview's font menu in the toolbox. I'm pretty sure that the only fonts available for Preview to use in annotation have to be in FontBook's default smart collection called "English," which cannot be edited. When I compare the information of fonts that appear in "English" vs. those that don't, the common thread is that English appears in the "Language" metadata field (under "information") in fonts that show up in the English smart collection. I've used several free font editors looking for a way to add language metadata to fonts I'd like to have available in Preview, but I can't figure out how to do what I want. Can anyone help?

enter image description here

Best Answer

With the help of Rob from Fontstruct.com, I figured it out.

The English smart collection depends on having a certain set of characters.

There are various "official" standards that tell people what characters have to be included in a font for what kind of language support, e.g. https://en.wikipedia.org/wiki/ISO/IEC_8859-1, but there's no single standard that absolutely every font foundry and font-vending website uses. I read a complaint that two foundries producing two fonts with the same set of glyphs can claim wildly different language support.

But there didn't seem to be an easy way (like a spreadsheet) of finding out the minimum number of characters needed for English support.

There are websites like FontDrop! https://fontdrop.info/ and tools built into font-designing software into which you can drop a font file and see what languages are supported, but you have to drill down to find out how those tools are determining language support. FontBook is more lax than FontDrop! about when it thinks there's English support, i.e., some fonts that don't show English support at Fontdrop! are listed by FontBook as having English language support.

Anyway, what I did is find one of my 3rd party fonts that FontBook included in its English smart collection that also had relatively few glyphs. This font has all the characters in Unicode's "Basic Latin" set plus Ä, Å, ä, å, Ö, ö and ¨ (that's A/a with a diaresis and circle, O/o with a diaresis, plus the diaresis itself). On fontdrop.info, this font shows as having only Zulu language support, but in FontBook it has more, including Cornish, English, Indonesian, Malay, Somali, Swahili and a bunch of others I've never heard of (Asu, Bemba, Bena, Chiga, Congo Swahili, Gusii, Kalenjin, Kinyarwanda, Luo, Luyia, Machame, Makhuwa-Meetto, Makonde, Morisyen, North Ndebele, Nyankole, Oromo, Rombo, Rundi, Rwa, Samburu, Sangu, Shambala, Shona, Soga,Taita, Teso, Vunjo).

I took one of my own custom fonts, which is meant to have only a few glyphs, and added dummy glyphs as needed for everything in Basic Latin + the diaresis (figuring that the other characters might not be needed if I had the diaresis) and voilà - the font appears in FontBook's English smart collection and can be used to annotate things in Preview.

To make life complicated, I've got another 3rd party font that FontBook put into the English smart collection that has only the 26 letters (caps and lowercase), numbers and an asterisk, but if you make a custom font that has everything in Basic Latin and nothing else (so the letters, numbers and an asterisk plus a bunch of other stuff), FontBook says the only language supported is Zulu - go figure.

I made a test font that had just upper and lower case letters, numbers and an asterisk and FontBook put my test font into the English smart collection - but as I said, a test font with everything in Basic Latin, which actually has more characters, didn't go into the smart collection.

Of course, Apple could make life simpler and make Preview able to "show all fonts" the way every other Mac app can, but...

BTW, if anyone knows of a site that shows what characters are needed for what language support, I'd love to know about it.