如何使用perl检查哪些字体包含特定字符



这里已经有问题了:

  • 如何确定哪些字体包含特定字符?
  • 检查字体是否支持某些字符

我有很多不同的字体。其中许多是"ascii仅",我需要检查哪些字体包含几个重音字符。(拉丁- unicode codepoints -文本编码为utf8): (aačďeě我ĺľň已坏őŕřšťuůűyž)

主要有:

  • TrueType字体(扩展名为.ttf)
  • TrueType collections(扩展名.ttc)
  • OpenType fonts (.otf)

用perl通常(正确)的方法是什么?(这是我唯一知道一点的语言,上面的问题是针对C语言的)。在我开始安装所有CPAN模块之前,询问包含"字体"的内容:).

我在OS X上(如果这很重要,并且可以安装任何macports包-如果它有帮助)。

对于。ttf文件,您可以使用Font::TTF和相关模块:

use Font::TTF::Font;
my $font = Font::TTF::Font->open( "C:/Windows/Fonts/ariali.ttf" );
my @supported_codepoints = sort { $a <=> $b } $font->{cmap}->reverse;

我已经超出了我的深度,但是在Font::TTF发行版中也有一个Font::TTF::Ttc模块,您可以在其中闲逛,看看是否可以提取有关支持的代码点的更多信息。

(Font::TTF建议来自这里)

最新更新