This file is indexed.

/usr/sbin/update-grace-fonts is in grace 1:5.1.23-6.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/usr/bin/perl -w
#
# grace font updater
#  Copyright 2010 Kenshi Muto <kmuto@debian.org>
# License: GNU General Public License Version 2
#
my $orgt1dir = "/usr/share/fonts/type1";
my $gt1dir = "/usr/share/grace/fonts/type1";
my $fontbase = "/usr/share/grace/fonts/FontDataBase";

sub recursiveLink {
    my($odir, $cdir) = @_;
    opendir(my $dh, $odir);
    my @files = readdir($dh);
    foreach (@files) {
	next if (/^\./);
	recursiveLink("$odir/$_", $cdir) if -d "$odir/$_";
	symlink("$odir/$_", "$cdir/$_") if -f "$odir/$_";
    }
    closedir($dh);
}

# cleanup (remove symlink only)
opendir(my $dh, $gt1dir) || die "Can't open $gt1dir: $!\n";
my @files = readdir($dh);
foreach (@files) {
    next if (/^\./);
    unlink "$gt1dir/$_" if -l "$gt1dir/$_";
}
closedir($dh);

# symlink from original font directory
recursiveLink($orgt1dir, $gt1dir);

# define essential Postscript font map
my(%map) = (
    "Times-Roman" => "n021003l.pfb",
    "Times-Italic" => "n021023l.pfb",
    "Times-Bold" => "n021004l.pfb",
    "Times-BoldItalic" => "n021024l.pfb",
    "Helvetica" => "n019003l.pfb",
    "Helvetica-Oblique" => "n019023l.pfb",
    "Helvetica-Bold" => "n019004l.pfb",
    "Helvetica-BoldOblique" => "n019024l.pfb",
    "Courier" => "n022003l.pfb",
    "Courier-Oblique" => "n022023l.pfb",
    "Courier-Bold" => "n022004l.pfb",
    "Courier-BoldOblique" => "n022024l.pfb",
    "Symbol" => "s050000l.pfb",
    "ZapfDingbats" => "d050000l.pfb",
);

# scan font files
chdir("$gt1dir");
open(my $ph, "fc-scan -f '%{fontformat}\t%{family}-%{style}\t%{file}\n' . |") || die "Can't execute fc-scan: $!\n";
while (<$ph>) {
    chomp;
    my($fontformat, $familystyle, $file) = split(/\t/);
    next if $fontformat ne "Type 1";
    $familystyle =~ s/ //g;
    $file =~ s/^\.\///;
    $map{$familystyle} = $file;
}
close($ph);

# dump FontDatabase
open(my $fh, ">$fontbase") || die "Can't create $fontbase: $!\n";
print $fh (scalar(keys %map));
print $fh "\n";
foreach (sort keys %map) {
    print $fh "$_ $_ " . $map{$_} . "\n";
}
close($fontbase);