【问题标题】:Perl/tk sans-serif font missing in LinuxLinux 中缺少 Perl/tk 无衬线字体
【发布时间】:2021-09-10 19:43:46
【问题描述】:

我有一个使用带有文本的画布的 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]);
}

【问题讨论】:

  • 你使用的语法对我不起作用。我需要写$sample->configure(-font => [$family, $size, $weight, $slant]);。我无法使下划线和重划线起作用。
  • 两种语法都适用于我,但下划线和重划线仅适用于我的语法。

标签: perl fonts tk


【解决方案1】:

在最近的一些更新中,此问题已得到修复。 Sans 字体又回来了。

【讨论】:

    猜你喜欢
    • 2011-01-10
    • 1970-01-01
    • 2011-12-07
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 2015-03-11
    • 1970-01-01
    相关资源
    最近更新 更多