diff options
Diffstat (limited to 'nx-X11/extras/fontconfig/debian/fontconfig.defoma')
-rw-r--r-- | nx-X11/extras/fontconfig/debian/fontconfig.defoma | 162 |
1 files changed, 0 insertions, 162 deletions
diff --git a/nx-X11/extras/fontconfig/debian/fontconfig.defoma b/nx-X11/extras/fontconfig/debian/fontconfig.defoma deleted file mode 100644 index 75586671d..000000000 --- a/nx-X11/extras/fontconfig/debian/fontconfig.defoma +++ /dev/null @@ -1,162 +0,0 @@ -# -*- perl -*- -# Defoma configuration script for fontconfig -# Copyright © 2003 Angus Lees <gus@debian.org> -# This file is hereby placed into the public domain. - -@ACCEPT_CATEGORIES = qw(type1 truetype cid); -# .. and any other categories supported by freetype - -package fontconfig; - -use Debian::Defoma::Common; -use Debian::Defoma::Id; -use Debian::Defoma::Subst; - -use strict; -use warnings; - -my $PkgDir = "$ROOTDIR/fontconfig.d"; -my ($Id, $Sb); - -sub init { - $Id ||= defoma_id_open_cache() or return 1; - $Sb ||= defoma_subst_open(rulename => 'fontconfig', - threshold => 70, - idobject => $Id) or return 1; - - return 0; -} - -sub register { - my $font = shift; - my $hints = parse_hints_start(@_); - - return 1 unless $hints->{FontName}; - - my $priority = $hints->{Priority} || 20; - my ($fontname) = split / +/, $hints->{FontName}; - my @alias = split / +/, $hints->{Alias} if $hints->{Alias}; - - defoma_id_register($Id, type => 'real', font => $font, - id => $fontname, priority => $priority, - hints => join(' ', @_)); - - foreach my $alias (@alias) { - defoma_id_register($Id, type => 'alias', font => $font, - id => $alias, priority => $priority, - origin => $fontname); - } - - defoma_subst_register($Sb, $font, $fontname); - - return 0; -} - -sub unregister { - my $font = shift; - defoma_subst_unregister($Sb, $font); - defoma_id_unregister($Id, type => 'alias', font => $font); - defoma_id_unregister($Id, type => 'real', font => $font); - return 0; -} - -sub do_install_real { - my $font = shift; - my $id = shift; - - my $dir = $PkgDir . '/' . substr($id, 0, 1); - my $ext = $font =~ m|\.([^/.]+)$| ? ".$1" : ''; - my $file = $id . $ext; - - mkdir $dir; - symlink $font, "$dir/$file" or return 1; - - return 0; -} - -sub do_remove_real { - my $font = shift; - my $id = shift; - - my $dir = $PkgDir . '/' . substr($id, 0, 1); - my $ext = $font =~ m|\.([^/.]+)$| ? ".$1" : ''; - my $file = $id . $ext; - - unlink "$dir/$file" or return 1; - rmdir $dir; # ignore failure - - return 0; -} - -sub term { - return unless $Id; - - open my $fh, '>', "$PkgDir/fonts.conf" or return 1; - - print $fh <<EOF; -<?xml version="1.0"?> -<!DOCTYPE fontconfig SYSTEM "/etc/fonts/fonts.dtd"> -<!-- autogenerated by fontconfig.defoma --> -<fontconfig> - <dir>$PkgDir</dir> -EOF - - # aliases - foreach (defoma_id_get_font($Id, installed => type => 'SaI')) { - print $fh <<EOF - <alias> - <family>$Id->{e_id}->[$_]</family> - <accept><family>$Id->{e_depid}->[$_]</family></accept> - </alias> -EOF - } - - # substituded fonts - foreach (defoma_id_get_font($Id, installed => type => 'SSI')) { - print $fh <<EOF - <alias> - <family>$Id->{e_id}->[$_]</family> - <default><family>$Id->{e_depid}->[$_]</family></default> - </alias> -EOF - } - - print $fh "</fontconfig>\n"; - - close $fh; - - defoma_subst_close($Sb); - defoma_id_close_cache($Id); - - system('fc-cache', $PkgDir); - - return 0; -} - -sub main { - my $cmd = shift; - - if ($cmd eq 'init') { - init(); - } elsif ($cmd eq 'register') { - return register(@_); - } elsif ($cmd eq 'unregister') { - return unregister(@_); - } elsif ($cmd eq 'do-install-real') { - return do_install_real(@_); - } elsif ($cmd eq 'do-remove-real') { - return do_remove_real(@_); - } elsif ($cmd eq 'term') { - return term(@_); - } - - 0; -} - -no warnings; - -*truetype = \&main; -*type1 = \&main; -*cid = \&main; - -1; |