查找用于呈现字符或包含字形的字体?

17

如何确定呈现字符所使用的字体?以在Linux上使用Firefox为例,一个网页中可能包含字符(黑桃A),并且能够正确显示。但是这个字符不属于我的标准字体之一,系统选择了某种备用字体来呈现它。这在Ubuntu 12.04的大多数程序中都会发生。

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

3个回答

6

来自Fedora Wiki

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

输入图像描述

sudo apt install gucharmap


6
你可以使用fontconfig:
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


5

1
是的,Ubuntu 12.04在其标准软件源中有这个功能。搜索功能也可以定位一个字符。 - edA-qa mort-ora-y
多年来我一直在使用gucharmap,甚至不知道右键单击可以显示这些信息!感谢您提供这个提示。 - Ruslan
请在答案中提供答案,因为URL将会失效。 - Maarten

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接