The following Python script would print all fonts containing a character (tested on my Linux box).
import unicodedata
import os
fonts = []
for root,dirs,files in os.walk("/usr/share/fonts/"):
for file in files:
if file.endswith(".ttf"): fonts.append(os.path.join(root,file))
from fontTools.ttLib import TTFont
def char_in_font(unicode_char, font):
for cmap in font['cmap'].tables:
if cmap.isUnicode():
if ord(unicode_char) in cmap.cmap:
return True
return False
def test(char):
for fontpath in fonts:
font = TTFont(fontpath) # specify the path to the font in question
if char_in_font(char, font):
print(char + " "+ unicodedata.name(char) + " in " + fontpath)
test(u"")
test(u"")
On my machine, this gives:
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed.ttf
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-Bold.ttf
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-Oblique.ttf
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-BoldOblique.ttf
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-BoldOblique.ttf
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed.ttf
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed-Bold.ttf
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed-Oblique.ttf
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed-BoldOblique.ttf
SMILING CAT FACE WITH OPEN MOUTH in /usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
CAT in /usr/share/fonts/truetype/noto/NotoSansSymbols2-Regular.ttf
If the font is not recognized (giving you the empty box), it is likely you don't have the font installed on your system. Therefore, you need to install it before it can be used. – CharlieRB – 2015-02-11T12:43:49.997
@CharlieRB the font is installed. I cannot choose to use a font in Inkscape which is not installed. It just doesn't have this very rare glyph. – Rumi P. – 2015-02-11T13:58:55.397
OK. You may want to clarify that in your question; that you have the font installed. – CharlieRB – 2015-02-11T15:13:11.977
1Firefox may use its own font in Windows 7 and prior versions because there's no font for emoji in those systems. The font is in
<firefox>\fonts\EmojiOneMozilla.ttf
and not installed globally – phuclv – 2017-10-14T04:58:29.640There is a similar question which has been answered here.
– jdhao – 2018-04-08T15:53:40.523