【发布时间】:2014-05-04 13:37:56
【问题描述】:
如何确定用于呈现字符的字体?以 Linux 上的 Firefox 为例,页面可以包含字符 ???? 并且它可以正确呈现(黑桃 A)。但是,这不是我的标准字体,它选择了一些后备字体来呈现它。这发生在 Ubuntu 12.04 上的大多数程序中。
我需要一种方法来找出哪个字体包含给定字符的字形。任何适用于 linux 的命令行工具或简单的 Python 库都会有所帮助。
【问题讨论】:
如何确定用于呈现字符的字体?以 Linux 上的 Firefox 为例,页面可以包含字符 ???? 并且它可以正确呈现(黑桃 A)。但是,这不是我的标准字体,它选择了一些后备字体来呈现它。这发生在 Ubuntu 12.04 上的大多数程序中。
我需要一种方法来找出哪个字体包含给定字符的字形。任何适用于 linux 的命令行工具或简单的 Python 库都会有所帮助。
【问题讨论】:
查看那里的答案(如果您的 GNOME 版本没有弃用该功能)
【讨论】:
gucharmap 这么多年了,甚至都不知道右键单击会显示此信息!谢谢你。
来自Fedora wiki。
在
gucharmap应用程序中查找此字形,使用相同的字体系列,通常足以了解它的来源。当您右键单击字形时,Gucharmap 将显示原始字体。
sudo apt install gucharmap
【讨论】:
你可以使用字体配置:
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
【讨论】: