包含所选字符的字体列表


13

在Mac OS X上,Character Viewer(等效于Ubuntu上的Character Map)具有一项功能,当查看某个字符时,它可以显示包含该字符的所有字体的列表。在Ubuntu上有什么等效的东西吗?

例如,用例是,我可以单击一个Kannada字符,然后查看覆盖该字符的所有字体(大概是Kannada语言范围的其余部分)。


编辑:仅出于我的意思,这是Mac OS X 10.6上Character Viewer的屏幕截图。“包含所选字符”位于屏幕底部附近。我似乎记得接口的这一部分实际上比10.5或10.4更好。

在此处输入图片说明


1
请为“角色图”应用程序提出功能请求。
Oxwivi 2011年

3
@Toki:我花了很长时间才找到负责角色地图的项目!无论如何,它被称为gucharmap,使用Bugzilla,并且在2007年就已经要求使用此功能。记者甚至提供了补丁。有甚至许多其他类似的错误/请求列表。似乎没有任何进展。
ShreevatsaR 2011年

我知道,这确实很糟,这也是Ubuntu的默认应用程序。为了供以后参考,您可以通过详细了解使用Synaptic甚至是Software Center来轻松找到软件包名称。
Oxwivi 2011年

1
我还向Ubuntu维护人员提出了功能请求,此处
palbakulich

Answers:


7

Fontmatrix中,您可以比较字体特征-在“字体信息”中-比较。

Fontmatrix的字体比较

PS。我认为Mac OS X上Character Viewer的功能将是对fontmatrix开发人员团队的一项很棒的功能请求。


实际上,Fontmatrix的界面甚至更好:您可以选择“预览”选项卡并输入一个字符串(包含希望字体具有的字符),并查看每种字体的显示方式。因此,您可以滚动浏览字体列表,同时查看所有有趣字符的字体覆盖范围,而不是一次只看到一个字符。这有助于您直观地挑选出包含所选字符的字体。

在下面的屏幕截图中,您可以看到“ BABEL Unicode Bold”(选中)包含除ṝ之外的所有字符,“ Arial Regular”(鼠标所在的位置)仅包含几个字符。

Fontmatrix的预览屏幕截图


@ShreevatsaR-感谢+1,这对于fontmatrix来说将是一个很棒的功能,我在这里
palbakulich 2011年

嘿,您介意将我的屏幕截图和说明(请参阅其他答案)合并到此吗?
ShreevatsaR 2012年

@ShreevatsaR-可能吗?我不确定我是否应该为您的回答而
赞扬

没关系,您是推荐Fontmatrix的人。:-)并且目标是为所有将来有相同问题的搜索者提供一个良好的答案,因此信誉是次要的...我已经编辑了答案以详细说明。(其他人必须批准编辑,并且已经批准了。)再次感谢!
ShreevatsaR 2012年

1
该功能似乎来自最新版本的Fontmatrix,或者至少我找不到它了。我什至没有看到“浏览”菜单。
ShreevatsaR 2014年

1

自从我最初在2011年问这个问题以来,在Ubuntu(以前推荐的FontMatrix似乎不再具有该功能)和macOS上都很难找到该信息。

如果人们只关心一种语言,而不是一种特定的字符,则可fc-list与一起使用:lang,例如:

~% fc-list :lang=kn-in
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Regular.ttf: Noto Sans Kannada UI:style=Regular
/usr/share/fonts/truetype/noto/NotoSansKannada-Bold.ttf: Noto Sans Kannada:style=Bold
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Bold.ttf: Noto Sans Kannada UI:style=Bold
/usr/share/fonts/truetype/noto/NotoSerifKannada-Regular.ttf: Noto Serif Kannada:style=Regular
/usr/share/fonts/truetype/Navilu/Navilu.ttf: Navilu:style=Normal
/usr/share/fonts/truetype/noto/NotoSansKannada-Regular.ttf: Noto Sans Kannada:style=Regular
/usr/share/fonts/truetype/lohit-kannada/Lohit-Kannada.ttf: Lohit Kannada:style=Regular
/usr/share/fonts/truetype/Gubbi/Gubbi.ttf: Gubbi:style=Normal
/usr/share/fonts/truetype/noto/NotoSerifKannada-Bold.ttf: Noto Serif Kannada:style=Bold

对于特定的字符,我问了一个类似的问题 “问不同”。在此处复制我最终使用的Python脚本(它在两个操作系统上均有效)。

  1. 根据您是喜欢使用Python 2还是Python 3,安装python-fontconfigpython3-fontconfig软件包(或两者)。

  2. 将以下代码保存到名为(say)的文件中find_fonts.py

#!/usr/bin/env python

def find_fonts(c):
    """Finds fonts containing  the (Unicode) character c."""
    import fontconfig
    fonts = fontconfig.query()
    for path in sorted(fonts):
        font = fontconfig.FcFont(path)
        if font.has_char(c):
            yield path

if __name__ == '__main__':
    import sys
    search = sys.argv[1]
    char = search.decode('utf-8') if isinstance(search, bytes) else search
    for path in find_fonts(char):
        print(path)
  1. 使用任一脚本运行脚本,python find_fonts.py ಠ或者python3 find_fonts.py ಠ您关心的字符替换脚本。

输出示例:

$ python3 find_fonts.py ಠ
/usr/share/fonts/truetype/Gubbi/Gubbi.ttf
/usr/share/fonts/truetype/Navilu/Navilu.ttf
/usr/share/fonts/truetype/lohit-kannada/Lohit-Kannada.ttf
/usr/share/fonts/truetype/noto/NotoSansKannada-Bold.ttf
/usr/share/fonts/truetype/noto/NotoSansKannada-Regular.ttf
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Bold.ttf
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Regular.ttf
/usr/share/fonts/truetype/noto/NotoSerifKannada-Bold.ttf
/usr/share/fonts/truetype/noto/NotoSerifKannada-Regular.ttf
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.