perl - Linux 中缺少 Perl/tk 无衬线字体
问题描述
我有一个使用带有文本的画布的 perl/tk 脚本。不久前,文本的字体单独更改:不再是无衬线字体!可能一些更新/升级弄乱了我的字体,但它们应该在某个地方。我只在 perl/tk 脚本中发现了这个问题。
我下载了一个显示已安装字体的小 perl 脚本,确实没有出现无衬线字体。实际上,只出现了 30 种左右的字体。该命令xlsfonts
为我提供了 1600 多种字体,但xfontsel
只显示了这 30 种字体系列。
sans 字体是如何消失的,如何恢复/安装丢失的字体?
这是我用来查看字体的脚本:
#!/usr/bin/perl
use Tk;
use Tk::BrowseEntry;
use strict;
my $mw = MainWindow->new(-title => 'Font Viewer');
my $f = $mw->Frame->pack(-side => 'top');
my $family = 'Courier';
my $be = $f->BrowseEntry(-label => 'Family:', -variable => \$family,
-browsecmd => \&apply_font)->pack(-fill => 'x', -side => 'left');
$be->insert('end', sort $mw->fontFamilies);
my $size = 24;
my $bentry = $f->BrowseEntry(-label => 'Size:', -variable => \$size,
-browsecmd => \&apply_font)->pack(-side => 'left');
$bentry->insert('end', (3 .. 32));
my $weight = 'normal';
$f->Checkbutton(-onvalue => 'bold', -offvalue => 'normal',
-text => 'Weight', -variable => \$weight,
-command => \&apply_font)->pack(-side => 'left');
my $slant = 'roman';
$f->Checkbutton(-onvalue => 'italic', -offvalue => 'roman',
-text => 'Slant', -variable => \$slant,
-command => \&apply_font)->pack(-side => 'left');
my $underline = 0;
$f->Checkbutton(-text => 'Underline', -variable => \$underline,
-command => \&apply_font)->pack(-side => 'left');
my $overstrike = 0;
$f->Checkbutton(-text => 'Overstrike', -variable => \$overstrike,
-command => \&apply_font)->pack(-side => 'left');
my $stext = 'Sample Text';
my $sample = $mw->Entry(-textvariable => \$stext)->pack(-fill => 'x');
&apply_font;
MainLoop;
sub apply_font {
# Specify all options for font in an anonymous array
$sample->configure(-font =>
[-family => $family,
-size => $size,
-weight => $weight,
-slant => $slant,
-underline => $underline,
-overstrike => $overstrike]);
}
解决方案
在最近的一些更新中,此问题已得到修复。Sans 字体又回来了。
推荐阅读
- rivescript - 如何使用 Rivescript 触发 API?
- python - 使用 panda DataFrame 预测疾病到症状的矩阵
- javascript - 检查 onChange 是否与 setState 一起正常工作
- javascript - jQuery 在 Internet Explorer 11 中不起作用
- javascript - 使用 Javascript Array 添加 HTML 表格行和列,不起作用
- sql - 如何有效地查询具有修订值的表?
- r - 使用 grid.echo() 从非默认设备复制绘图
- ssl - 将 .PFX 证书转换为 .PEM 时出现问题
- ffmpeg - 从 h.264 IP 摄像机到 Web 浏览器的实时流式传输
- java - 如何在 Eclipse 中测试 Java 库