python - 在基于 Debian 的系统上,如何找到一种字体具有字形的 Unicode 代码点?

标签 python ruby unicode fonts fontconfig

从基于 Debian 的系统上的脚本语言(比如 Python 或 Ruby),我想找到以下任一种:

  1. 特定字体具有字形的所有 Unicode 代码点
  2. 所有具有特定 Unicode 代码点字形的字体

(显然 1 或 2 可以从另一个推导出来,所以越简单越好。)我过去通过运行来完成此操作:

fc-list : file charset

... 并根据 this code from fontconfig 解析每行末尾的输出 但在我看来,应该有一种更简单的方法来做到这一点。

(我不完全确定这是解决此问题的正确 StackExchange 站点,但我正在寻找可以以编程方式使用的答案。)

最佳答案

我会尝试任何 FreeType 2 language bindings .下面是使用 Font::FreeType 列出字体的 Unicode 代码点的 Perl 解决方案:

use Font::FreeType;
Font::FreeType->new->face('DejaVuSans.ttf')->foreach_char(sub {
    printf("%04X\n", $_->char_code);
});

关于python - 在基于 Debian 的系统上,如何找到一种字体具有字形的 Unicode 代码点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15896493/

相关文章:

python - urllib2 何时实际从 url 下载文件?

python - 使用 python 创建 SSL 套接字

ruby - Bundler 在 Win7x64 上跳过 eventmachine gem

java - 在 Java regex.Pattern 中设置两个标志

javascript - 加密: simulate SSL in javascript and python

python - 如何将python字典转换为pandas中的数据框

ruby - 使用 Faraday Ruby gem 下载图像并写入磁盘

ruby - 在安装了 libv8 的 Windows 上安装 therubyracer --with-system-v8

html - URL 中的 Unicode 字符

javascript - 找出等宽字母字符串的 "graphic length"