Just a note - requiring font subsetting w/o using software to do so, solved problem.
For monospace fonts where I just need 7-bit ASCII
Code:
pyftsubset LiberationMono-Regular.ttf \
--unicodes=U+0020-007E \
--output-file="LiberationMono-Regular-ascii.ttf"
(same with Bold, Italic, and BoldItalic variants if needed)
for other fonts - for western Latin languages I just created a subset that covers everything in Latin 1 (ISO-8859-1), Latin 9 (ISO-8859-15), and Windows-1252 plus two glyphs that are quite common.
Text file called WesternLatin.txt containing:
Code:
U+0020-007E
U+00A0-00FF
U+0152-0153
U+0160-0161
U+0178
U+017D-017E
U+0192
U+02C6
U+02DC
U+2013-2014
U+2018-201A
U+201C-201E
U+2020-2022
U+2026
U+2030
U+2039-203A
U+20AC
U+2116
U+2117
U+2122
Then I can run
Code:
pyftsubset FontFile.ttf \
--ignore-missing-glyphs \
--unicodes-file=WesternLatinRange.txt \
--output-file="FontFile-wlatin.ttf"
For ornamental glyphs (not most emojis though I think some are now in the official emoji list) I create a subset that has 7-bit ASCII plus three unicode blocks that have all the ornamentals I ever use
Code:
U+0020-007E
U+2300-23FF
U+2600-26FF
U+2700-27BF
I include ASCII even though it is duplication if I also have western latin from same file because IMHO a font file w/o 7-bit ASCII is broken. But anyway I use that same way as Western Latin.
And obviously I could do the same if I needed, say, Greek or whatever.
It may result in font files slightly larger than if I only included the glyphs actually used but they are still radically smaller than the original fonts - and it means I can edit the content w/o worrying about needing to re-subset the fonts.
Just make sure to use unicode-range in the @font-face if you end up using two different subsets from the same font-family, font-style, font-weight, and font-variant.