【问题标题】:Find the font used to render a character, or containing the glyph?查找用于呈现字符或包含字形的字体?
【发布时间】:2014-05-04 13:37:56
【问题描述】:

如何确定用于呈现字符的字体?以 Linux 上的 Firefox 为例,页面可以包含字符 ???? 并且它可以正确呈现(黑桃 A)。但是,这不是我的标准字体,它选择了一些后备字体来呈现它。这发生在 Ubuntu 12.04 上的大多数程序中。

我需要一种方法来找出哪个字体包含给定字符的字形。任何适用于 linux 的命令行工具或简单的 Python 库都会有所帮助。

【问题讨论】:

    标签: linux fonts


    【解决方案1】:

    查看那里的答案(如果您的 GNOME 版本没有弃用该功能)

    https://fedoraproject.org/wiki/Identifying_fonts

    【讨论】:

    • 是的,Ubuntu 12.04 的标准存储库中有这个。搜索功能还可以定位字符。
    • 我使用gucharmap 这么多年了,甚至都不知道右键单击会显示此信息!谢谢你。
    • 请在答案中提供答案,因为 URL 会死掉。
    【解决方案2】:

    来自Fedora wiki

    gucharmap 应用程序中查找此字形,使用相同的字体系列,通常足以了解它的来源。当您右键单击字形时,Gucharmap 将显示原始字体。

    sudo apt install gucharmap

    【讨论】:

      【解决方案3】:

      你可以使用字体配置:

      fc-list ':charset=<hex_code1> <hex_code2>'
      

      详情见https://unix.stackexchange.com/a/393740/14907

      对于 bash 脚本,请参阅 gist.github.com/akostadinov/202550a1e2fd4ea8cf523d91b437fa09

      #!/usr/bin/env bash
      # example: ./font_find.sh ?︎
      # credits: David Baynard, https://unix.stackexchange.com/a/393740/14907
      
      param="$1"
      char=${param:0:1}
      printf '%x' \'"$char" | xargs -I{} fc-list ":charset={}"
      

      此处的替代 Python 解决方案: https://superuser.com/a/1452828/111432

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-23
        • 2016-10-31
        • 2023-04-10
        • 1970-01-01
        • 1970-01-01
        • 2017-05-27
        • 2014-11-14
        • 1970-01-01
        相关资源
        最近更新 更多