summaryrefslogtreecommitdiffstats
path: root/perl-install/standalone/drakfont
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/standalone/drakfont')
-rwxr-xr-xperl-install/standalone/drakfont1298
1 files changed, 803 insertions, 495 deletions
diff --git a/perl-install/standalone/drakfont b/perl-install/standalone/drakfont
index cdfba00b8..8996aa0d6 100755
--- a/perl-install/standalone/drakfont
+++ b/perl-install/standalone/drakfont
@@ -78,23 +78,24 @@
# directory to install fonts /usr/X11R6/lib/X11/fonts/
# -->> /usr/X11R6/lib/X11/fonts/drakfont
-
use Gtk;
use lib qw(/usr/lib/libDrakX );
-use standalone; #- warning, standalone must be loaded very first, for 'explanations'
+use standalone
+ ; #- warning, standalone must be loaded very first, for 'explanations'
use interactive;
use my_gtk qw(:helpers :wrappers);
use common;
+
#use strict;
#use Config;
#use POSIX;
-my $in = 'interactive'->vnew('su', 'network');
-$::isEmbedded = ($::XID, $::CCPID) = "@ARGV" =~ /--embedded (\S*) (\S*)/;
+my $in = 'interactive'->vnew( 'su', 'network' );
+$::isEmbedded = ( $::XID, $::CCPID ) = "@ARGV" =~ /--embedded (\S*) (\S*)/;
-if ("@ARGV" =~ /--help|-h/) {
+if ( "@ARGV" =~ /--help|-h/ ) {
print q(Font Importation and monitoring application
--windows_import : import from all available windows partitions.
--xls_fonts : show all fonts that already exist from xls
@@ -112,17 +113,17 @@ if ("@ARGV" =~ /--help|-h/) {
# global variables needed by each functions
my $xlsfonts = 0;
-my $windows = 0;
+my $windows = 0;
my $strong;
my $replace;
my $application;
my $install;
my $uninstall;
-my $so = 1;
-my $gs = 1;
-my $abi = 1;
+my $so = 1;
+my $gs = 1;
+my $abi = 1;
my $printer = 1;
-my $mode = -1;
+my $mode = -1;
my @application;
my @install;
my @uninstall;
@@ -150,12 +151,12 @@ my $list;
my $list_all_font_path;
foreach (@ARGV) {
- /--list|-l/ and $list_all_font_path = 1, $mode=-1;
- /--xls_fonts/ and $xlsfonts = 1, $mode=-1;
- /--windows_import|-wi/ and $windows = 1, $mode=-1;
- /--strong|-s/ and $strong = 1, $mode=-1;
- /--replace|-r/ and $replace = 1, $mode=-1;
- /--application/ and $mode = 0, next;
+ /--list|-l/ and $list_all_font_path = 1, $mode = -1;
+ /--xls_fonts/ and $xlsfonts = 1, $mode = -1;
+ /--windows_import|-wi/ and $windows = 1, $mode = -1;
+ /--strong|-s/ and $strong = 1, $mode = -1;
+ /--replace|-r/ and $replace = 1, $mode = -1;
+ /--application/ and $mode = 0, next;
$mode == 0 and push @application, $_;
/--install/ and $mode = 1, next;
$mode == 1 and push @install, $_;
@@ -164,25 +165,26 @@ foreach (@ARGV) {
}
foreach my $i (@application) {
- if ( $i =~ /so/i) {
- if ( $gs != 2 ) { $gs = 0;}
- $so = 2;
+ if ( $i =~ /so/i ) {
+ if ( $gs != 2 ) { $gs = 0; }
+ $so = 2;
}
- if ($i =~ /gs/i){
- if ( $so != 2 ) { $so = 0; }
- $gs = 2;
+ if ( $i =~ /gs/i ) {
+ if ( $so != 2 ) { $so = 0; }
+ $gs = 2;
}
}
# PATH and binary full path
my $xfs_conffile = '/etc/X11/fs/config';
my $drakfont_dir = '/usr/X11R6/lib/X11/fonts/drakfont';
-my $ttf2pt1 = '/usr/sbin/ttf2pt1';
-my $pfm2afm = '/usr/sbin/pfm2afm';
-my $type1inst = '/usr/sbin/type1inst';
-my $chkfontpath = '/usr/sbin/chkfontpath';
-my $mkttfdir = '/usr/X11R6/bin/mkttfdir';
+my $ttf2pt1 = '/usr/sbin/ttf2pt1';
+my $pfm2afm = '/usr/sbin/pfm2afm';
+my $type1inst = '/usr/sbin/type1inst';
+my $chkfontpath = '/usr/sbin/chkfontpath';
+my $mkttfdir = '/usr/X11R6/bin/mkttfdir';
my $ghostscript;
+
#my $ttmkfdir = '/usr/sbin/ttmkfdir';
# Global lists, just to manipulate it easily.
@@ -201,327 +203,395 @@ my @fontsdir_to_uninstall;
my @installed_fonts_full_path;
sub list_fontpath {
- foreach (grep { /\d+:\s/ } `$chkfontpath -l`) {
- chomp;
- s/\d+:\s//gi;
- s/:\w*$//gi;
- push @installed_fonts_path, $_;
+ foreach ( grep { /\d+:\s/ } `$chkfontpath -l` ) {
+ chomp;
+ s/\d+:\s//gi;
+ s/:\w*$//gi;
+ push @installed_fonts_path, $_;
}
}
sub chk_empty_xfs_path {
my @temp3;
- foreach my $tmp_path (@installed_fonts_path) {
- @temp3 = ();
- foreach my $temp2 (all($tmp_path)) {
- if (!(($temp2 =~ /^fonts/ ) || ($temp2 =~ /^type/ ))) {
- push @temp3, $temp2;
- }
- }
- if(!(@temp3)) {
- system("chkfontpath -r $tmp_path ") or
- print "PERL::system command failed during chkfontpath\n";
- }
+ foreach my $tmp_path (@installed_fonts_path) {
+ @temp3 = ();
+ foreach my $temp2 ( all($tmp_path) ) {
+ if ( !( ( $temp2 =~ /^fonts/ ) || ( $temp2 =~ /^type/ ) ) ) {
+ push @temp3, $temp2;
+ }
+ }
+ if ( !(@temp3) ) {
+ system("chkfontpath -r $tmp_path ")
+ or print "PERL::system command failed during chkfontpath\n";
+ }
}
}
sub search_installed_fonts {
list_fontpath();
- $interactive and progress($pbar, 0.1, _("Search installed fonts"));
+ $interactive and progress( $pbar, 0.1, _("Search installed fonts") );
push @installed_fonts, all($_) foreach @installed_fonts_path;
- $interactive and progress($pbar, 0.1, _("Unselect fonts installed"));
+ $interactive and progress( $pbar, 0.1, _("Unselect fonts installed") );
}
sub search_installed_fonts_full_path {
list_fontpath();
foreach my $i (@installed_fonts_path) {
- foreach my $j (all($i)) {
- push @installed_fonts_full_path, "$i/$j";
- }
+ foreach my $j ( all($i) ) {
+ push @installed_fonts_full_path, "$i/$j";
+ }
}
}
sub search_windows_font {
- foreach my $fstab_line (grep { /vfat|ntfs/ } cat_('/etc/mtab') ) {
- my $win_dir = (split('\s', $fstab_line))[1];
- my @list_fonts_win = all("$win_dir/windows/fonts");
- my @list_fonts_winnt = all("$win_dir/winnt/fonts");
- my $nb_dir = @list_fonts_win + @list_fonts_winnt;
- foreach ([\@list_fonts_win, "windows"], [\@list_fonts_winnt, "winnt"]) {
- foreach my $i (@{$_->[0]}) {
- if($interactive) {
- if($nb_dir) { progress($pbar, 0.25/$nb_dir, _("parse all fonts")) } else {
- display_error(_("no fonts found"));
- return 0;
- }
- }
- !$replace && grep(/$i/, @installed_fonts) and next;
- grep ( /$i$/, @font_list) or push @font_list, "$win_dir/$_->[1]/fonts/$i";
- }
- }
- $interactive && $nb_dir and progress($pbar, 1, _("done"));
+ foreach my $fstab_line ( grep { /vfat|ntfs/ } cat_('/etc/mtab') ) {
+ my $win_dir = ( split ( '\s', $fstab_line ) )[1];
+ my @list_fonts_win = all("$win_dir/windows/fonts");
+ my @list_fonts_winnt = all("$win_dir/winnt/fonts");
+ my $nb_dir = @list_fonts_win + @list_fonts_winnt;
+ foreach ( [ \@list_fonts_win, "windows" ],
+ [ \@list_fonts_winnt, "winnt" ] )
+ {
+ foreach my $i ( @{ $_->[0] } ) {
+ if ($interactive) {
+ if ($nb_dir) {
+ progress( $pbar, 0.25 / $nb_dir, _("parse all fonts") );
+ }
+ else {
+ display_error( _("no fonts found") );
+ return 0;
+ }
+ }
+ !$replace && grep( /$i/, @installed_fonts ) and next;
+ grep ( /$i$/, @font_list )
+ or push @font_list, "$win_dir/$_->[1]/fonts/$i";
+ }
+ }
+ $interactive && $nb_dir and progress( $pbar, 1, _("done") );
}
- if(!@font_list) {
- print "drakfont:: could not find any font in /win*/fonts \n";
- $interactive and display_error(_("could not find any font in your mounted partitions"));
- return 0;
+ if ( !@font_list ) {
+ print "drakfont:: could not find any font in /win*/fonts \n";
+ $interactive
+ and display_error(
+ _("could not find any font in your mounted partitions") );
+ return 0;
}
1;
}
sub is_a_font {
local $_ = $_[0];
- /\.ttf$/i || /\.pfa$/i || /\.pfb$/i || /\.pcf$/i || /\.pcf\.gz$/i || /\.pfm$/i || /\.gsf$/;
+ /\.ttf$/i
+ || /\.pfa$/i
+ || /\.pfb$/i
+ || /\.pcf$/i
+ || /\.pcf\.gz$/i
+ || /\.pfm$/i
+ || /\.gsf$/;
}
# Optimisation de cette etape indispensable
sub search_dir_font {
foreach my $fn (@install) {
- my @font_list_tmp = ();
- my @font_list_tmpp = ();
- my $dir ;
- if (!(-e $fn )) { print "$_ :: no such file or directory \n" } else {
- if ( -d $fn ) {
- $dir = $fn;
- foreach my $i (all($fn)) {
- if (is_a_font($i)) {
- push @font_list_tmp, "$i";
- foreach my $i (@font_list_tmp) {
- !$replace && grep(/$i/, @installed_fonts) and next;
- grep /$i/, @font_list or push @font_list, "$fn/$i";
- }
- }
- }
- } else {
- if (is_a_font($fn)) {
- !$replace && grep(/$fn/, @installed_fonts) and next;
- !grep /$fn/, (@installed_fonts) and push @font_list, "$fn";
- }
- }
- }
- $interactive and progress($pbar, 0.50/@install, _("Reselect correct fonts"));
+ my @font_list_tmp = ();
+ my @font_list_tmpp = ();
+ my $dir;
+ if ( !( -e $fn ) ) { print "$_ :: no such file or directory \n" }
+ else {
+ if ( -d $fn ) {
+ $dir = $fn;
+ foreach my $i ( all($fn) ) {
+ if ( is_a_font($i) ) {
+ push @font_list_tmp, "$i";
+ foreach my $i (@font_list_tmp) {
+ !$replace && grep( /$i/, @installed_fonts )
+ and next;
+ grep /$i/, @font_list or push @font_list, "$fn/$i";
+ }
+ }
+ }
+ }
+ else {
+ if ( is_a_font($fn) ) {
+ !$replace && grep( /$fn/, @installed_fonts ) and next;
+ !grep /$fn/, (@installed_fonts) and push @font_list, "$fn";
+ }
+ }
+ }
+ $interactive
+ and progress( $pbar, 0.50 / @install, _("Reselect correct fonts") );
}
- $interactive and progress($pbar, 1, _("done"));
- !@font_list && $interactive and display_error(_("could not find any font.\n"));
+ $interactive and progress( $pbar, 1, _("done") );
+ !@font_list && $interactive
+ and display_error( _("could not find any font.\n") );
}
sub search_dir_font_uninstall {
my @font_list_tmp = ();
- my $fn = $_;
- if ( -d $fn ) {
- foreach my $i (all($fn)) {
- if (is_a_font($i)) { push @font_list_tmp, "$i"; }
- }
+ my $fn = $_;
+ if ( -d $fn ) {
+ foreach my $i ( all($fn) ) {
+ if ( is_a_font($i) ) { push @font_list_tmp, "$i"; }
+ }
+ }
+ else {
+ if ( is_a_font($fn) ) { push @font_list_tmp, "$fn"; }
}
- else { if (is_a_font($fn)) { push @font_list_tmp, "$fn"; }
- }
foreach my $i (@installed_fonts_full_path) {
- foreach my $j (@font_list_tmp) {
- if ( $i =~ /$j/) { push @font_list, "$i" ;}
- }
+ foreach my $j (@font_list_tmp) {
+ if ( $i =~ /$j/ ) { push @font_list, "$i"; }
+ }
}
print "Fonts to uninstal : " . $_ . "\n" foreach (@font_list);
}
sub search_dir_font_uninstall_gi {
@font_list = @uninstall;
- $interactive and progress($pbar, 1, _("Search fonts in installed list"));
+ $interactive and progress( $pbar, 1, _("Search fonts in installed list") );
}
-sub print_list { print "Font(s) to Install :\n\n"; print "$_\n" foreach (@font_list) }
+sub print_list {
+ print "Font(s) to Install :\n\n";
+ print "$_\n" foreach (@font_list);
+}
sub dir_created {
- -e $drakfont_dir || mkdir_p($drakfont_dir);
- -e $drakfont_dir . "/Type1" || mkdir_p($drakfont_dir."/Type1");
- -e $drakfont_dir . "/ttf" || mkdir_p($drakfont_dir."/ttf");
- -e $drakfont_dir . "/tmp" || mkdir_p($drakfont_dir."/tmp");
- -e $drakfont_dir . "/tmp/ttf" || mkdir_p($drakfont_dir."/tmp/ttf");
- -e $drakfont_dir . "/tmp/Type1" || mkdir_p($drakfont_dir."/tmp/Type1");
- -e $drakfont_dir . "/tmp/tmp" || mkdir_p($drakfont_dir."/tmp/tmp");
+ -e $drakfont_dir || mkdir_p($drakfont_dir);
+ -e $drakfont_dir . "/Type1" || mkdir_p( $drakfont_dir . "/Type1" );
+ -e $drakfont_dir . "/ttf" || mkdir_p( $drakfont_dir . "/ttf" );
+ -e $drakfont_dir . "/tmp" || mkdir_p( $drakfont_dir . "/tmp" );
+ -e $drakfont_dir . "/tmp/ttf" || mkdir_p( $drakfont_dir . "/tmp/ttf" );
+ -e $drakfont_dir . "/tmp/Type1" || mkdir_p( $drakfont_dir . "/tmp/Type1" );
+ -e $drakfont_dir . "/tmp/tmp" || mkdir_p( $drakfont_dir . "/tmp/tmp" );
}
sub put_font_dir {
my @tmpl;
my @list_ttf;
- -e "/usr/share/ghostscript" or $gs = 0 && print "ghostscript is not installed on your system...\n" ;
+ -e "/usr/share/ghostscript"
+ or $gs = 0 && print "ghostscript is not installed on your system...\n";
if (@font_list) {
- dir_created();
- foreach my $i (@font_list) {
- cp_af($i, $drakfont_dir . "/tmp/tmp");
- $interactive and progress($pbar1, 1/@font_list, _("Fonts copy"));
- }
- $interactive and progress($pbar1, 0.01, _("done"));
- $interactive and progress($pbar2, 0.10, _("True Type fonts installation"));
- glob ("$drakfont_dir/tmp/tmp/*.TTF") and
- system ('cd '.$drakfont_dir.'/tmp/tmp ; for foo in *.TTF; do mv $foo `basename $foo .TTF`.ttf; done');
- system ('cd '.$drakfont_dir.'/tmp/tmp && cp *.ttf ../../ttf');
- $interactive and progress($pbar2, 0.20, _("please wait during ttmkfdir..."));
-# system ('cd '.$drakfont_dir.'/ttf && $ttmkfdir > fonts.dir' );
- my $ttfdir = $drakfont_dir . "/ttf";
- `$mkttfdir $ttfdir`;
- $interactive and progress($pbar2, 0.10, _("True Type install done"));
- my $update_chkfontpath = "$chkfontpath -a $drakfont_dir/ttf";
-
- if ($so && $gs) {
- my @glob_drak = glob ("$drakfont_dir/tmp/tmp/*.ttf");
- foreach my $fontname (@glob_drak) {
- system ("cd $drakfont_dir/tmp/tmp && $ttf2pt1 -b $fontname");
- $interactive and progress($pbar2, 0.50/@glob_drak, _("Fonts conversion"));
- }
- system ("cd $drakfont_dir/tmp/tmp && mv *.gsf *.pfb *.pfm *.afm ../Type1");
- system ("cd $drakfont_dir/tmp/Type1 && $type1inst" );
- $interactive and progress($pbar2, 0.10, _("type1inst building"));
- -e "$drakfont_dir/tmp/Type1/Fontmap" and
- system ("cd $drakfont_dir/tmp/Type1 && cat Fontmap >> `rpm -ql ghostscript | grep Fontmap.GS` " );
- system ("cd $drakfont_dir/tmp/Type1 && mv *.pfm *.gsf *.afm *.pfb ../../Type1 ");
- system ("cd $drakfont_dir/Type1 && $type1inst");
- $interactive and progress($pbar2, 0.05, _("Ghostscript referencing"));
- $update_chkfontpath .= "; $chkfontpath -a $drakfont_dir/Type1";
- }
-
- if (!$so && $gs) {
- foreach my $fontname ( @tmpl = glob ("$/drakfont_dir/tmp/tmp/*.ttf") ) {
- system ("cd $/drakfont_dir/tmp/tmp && $ttf2pt1 -b $fontname");
- $interactive and progress($pbar2, 0.50/@tmpl, _("Fonts conversion"));
- }
- system ("cd $drakfont_dir/tmp/tmp && mv *.gsf *.pfb *.pfm ../Type1");
- system ("cd $drakfont_dir/tmp/Type1 && $type1inst" );
- $interactive and progress($pbar2, 0.1, _("type1inst building"));
- system ("cd $drakfont_dir/tmp/Type1 && cat Fontmap >> `rpm -ql ghostscript | grep Fontmap.GS` " );
- system ("cd $drakfont_dir/tmp/Type1 && mv *.pfm *.afm *.gsf *.pfb ../../Type1 ");
- system ("cd $drakfont_dir/Type1 && $type1inst");
- $interactive and progress($pbar2, 0.05, _("Ghostscript referencing"));
- $update_chkfontpath .= "; $chkfontpath -a $drakfont_dir/Type1";
- }
-
- if ($so && !$gs) {
- foreach my $fontname ( @tmpl = glob ("$drakfont_dir/tmp/tmp/*.ttf") ) {
- system ("cd $drakfont_dir/tmp/tmp && $ttf2pt1 $fontname");
- $interactive and progress($pbar2, 0.25/@tmpl, _("ttf fonts conversion"));
- }
- foreach my $fontname ( @tmpl = glob ("$drakfont_dir/tmp/tmp/*.pfm") ) {
- system ("cd $drakfont_dir/tmp/tmp && $pfm2afm $fontname");
- $interactive and progress($pbar2, 0.25/@tmpl, _("pfm fonts conversion"));
- }
- system ("cd $drakfont_dir/tmp/tmp && mv *.afm ../Type1");
- system ("cd $drakfont_dir/tmp/Type1 && mv *.afm ../../Type1 ");
- system ("cd $drakfont_dir/Type1 && $type1inst");
- $interactive and progress($pbar2, 0.14, _("type1inst building"));
- $update_chkfontpath .= "; $chkfontpath -a $drakfont_dir/Type1";
- }
-
- $interactive and progress($pbar2, 0.01, _("done"));
- $interactive and progress($pbar3, 0.25, _("Suppress temporary Files"));
- rm_rf("$drakfont_dir/tmp/");
- print "\n\nretarting xfs......\n";
- $interactive and progress($pbar3, 0.5 , _("Restart XFS"));
- system ($update_chkfontpath);
-# system ($restart_xfs);
-# system('kill -USR1 `/sbin/pidof xfs` 2&1>/dev/null');
- system ('/etc/rc.d/init.d/xfs restart');
- $interactive and progress($pbar3, 0.30, _("done"));
+ dir_created();
+ foreach my $i (@font_list) {
+ cp_af( $i, $drakfont_dir . "/tmp/tmp" );
+ $interactive
+ and progress( $pbar1, 1 / @font_list, _("Fonts copy") );
+ }
+ $interactive and progress( $pbar1, 0.01, _("done") );
+ $interactive
+ and progress( $pbar2, 0.10, _("True Type fonts installation") );
+ glob("$drakfont_dir/tmp/tmp/*.TTF")
+ and system( 'cd '
+ . $drakfont_dir
+ . '/tmp/tmp ; for foo in *.TTF; do mv $foo `basename $foo .TTF`.ttf; done'
+ );
+ system( 'cd ' . $drakfont_dir . '/tmp/tmp && cp *.ttf ../../ttf' );
+ $interactive
+ and progress( $pbar2, 0.20, _("please wait during ttmkfdir...") );
+
+ # system ('cd '.$drakfont_dir.'/ttf && $ttmkfdir > fonts.dir' );
+ my $ttfdir = $drakfont_dir . "/ttf";
+ `$mkttfdir $ttfdir`;
+ $interactive and progress( $pbar2, 0.10, _("True Type install done") );
+ my $update_chkfontpath = "$chkfontpath -a $drakfont_dir/ttf";
+
+ if ( $so && $gs ) {
+ my @glob_drak = glob("$drakfont_dir/tmp/tmp/*.ttf");
+ foreach my $fontname (@glob_drak) {
+ system("cd $drakfont_dir/tmp/tmp && $ttf2pt1 -b $fontname");
+ $interactive
+ and
+ progress( $pbar2, 0.50 / @glob_drak, _("Fonts conversion") );
+ }
+ system(
+"cd $drakfont_dir/tmp/tmp && mv *.gsf *.pfb *.pfm *.afm ../Type1"
+ );
+ system("cd $drakfont_dir/tmp/Type1 && $type1inst");
+ $interactive and progress( $pbar2, 0.10, _("type1inst building") );
+ -e "$drakfont_dir/tmp/Type1/Fontmap"
+ and system(
+"cd $drakfont_dir/tmp/Type1 && cat Fontmap >> `rpm -ql ghostscript | grep Fontmap.GS` "
+ );
+ system(
+"cd $drakfont_dir/tmp/Type1 && mv *.pfm *.gsf *.afm *.pfb ../../Type1 "
+ );
+ system("cd $drakfont_dir/Type1 && $type1inst");
+ $interactive
+ and progress( $pbar2, 0.05, _("Ghostscript referencing") );
+ $update_chkfontpath .= "; $chkfontpath -a $drakfont_dir/Type1";
+ }
+
+ if ( !$so && $gs ) {
+ foreach
+ my $fontname ( @tmpl = glob("$/drakfont_dir/tmp/tmp/*.ttf") )
+ {
+ system("cd $/drakfont_dir/tmp/tmp && $ttf2pt1 -b $fontname");
+ $interactive
+ and progress( $pbar2, 0.50 / @tmpl, _("Fonts conversion") );
+ }
+ system("cd $drakfont_dir/tmp/tmp && mv *.gsf *.pfb *.pfm ../Type1");
+ system("cd $drakfont_dir/tmp/Type1 && $type1inst");
+ $interactive and progress( $pbar2, 0.1, _("type1inst building") );
+ system(
+"cd $drakfont_dir/tmp/Type1 && cat Fontmap >> `rpm -ql ghostscript | grep Fontmap.GS` "
+ );
+ system(
+"cd $drakfont_dir/tmp/Type1 && mv *.pfm *.afm *.gsf *.pfb ../../Type1 "
+ );
+ system("cd $drakfont_dir/Type1 && $type1inst");
+ $interactive
+ and progress( $pbar2, 0.05, _("Ghostscript referencing") );
+ $update_chkfontpath .= "; $chkfontpath -a $drakfont_dir/Type1";
+ }
+
+ if ( $so && !$gs ) {
+ foreach my $fontname ( @tmpl = glob("$drakfont_dir/tmp/tmp/*.ttf") )
+ {
+ system("cd $drakfont_dir/tmp/tmp && $ttf2pt1 $fontname");
+ $interactive
+ and
+ progress( $pbar2, 0.25 / @tmpl, _("ttf fonts conversion") );
+ }
+ foreach my $fontname ( @tmpl = glob("$drakfont_dir/tmp/tmp/*.pfm") )
+ {
+ system("cd $drakfont_dir/tmp/tmp && $pfm2afm $fontname");
+ $interactive
+ and
+ progress( $pbar2, 0.25 / @tmpl, _("pfm fonts conversion") );
+ }
+ system("cd $drakfont_dir/tmp/tmp && mv *.afm ../Type1");
+ system("cd $drakfont_dir/tmp/Type1 && mv *.afm ../../Type1 ");
+ system("cd $drakfont_dir/Type1 && $type1inst");
+ $interactive and progress( $pbar2, 0.14, _("type1inst building") );
+ $update_chkfontpath .= "; $chkfontpath -a $drakfont_dir/Type1";
+ }
+
+ $interactive and progress( $pbar2, 0.01, _("done") );
+ $interactive
+ and progress( $pbar3, 0.25, _("Suppress temporary Files") );
+ rm_rf("$drakfont_dir/tmp/");
+ print "\n\nretarting xfs......\n";
+ $interactive and progress( $pbar3, 0.5, _("Restart XFS") );
+ system($update_chkfontpath);
+
+ # system ($restart_xfs);
+ # system('kill -USR1 `/sbin/pidof xfs` 2&1>/dev/null');
+ system('/etc/rc.d/init.d/xfs restart');
+ $interactive and progress( $pbar3, 0.30, _("done") );
}
}
sub remove_gs_fonts {
my @Fontmap_new;
-
- if (all("$drakfont_dir/remove")) {
- system (" cd $drakfont_dir/remove && $type1inst");
- my @Fontmap_out = cat_("$drakfont_dir/remove/Fontmap");
- my $FontmapGS = `rpm -ql ghostscript | grep Fontmap.GS`;
- chomp ($FontmapGS);
- my @FontmapGS_list = cat_($FontmapGS);
- foreach my $font_gs (@FontmapGS_list) {
- my @tmp_list = split (' ',$font_gs);
- grep ( $_ =~ /$tmp_list[0]/ , @Fontmap_out) or push @Fontmap_new, $font_gs;
- }
- print $_ foreach @Fontmap_new;
- output($FontmapGS, @Fontmap_new );
+
+ if ( all("$drakfont_dir/remove") ) {
+ system(" cd $drakfont_dir/remove && $type1inst");
+ my @Fontmap_out = cat_("$drakfont_dir/remove/Fontmap");
+ my $FontmapGS = `rpm -ql ghostscript | grep Fontmap.GS`;
+ chomp($FontmapGS);
+ my @FontmapGS_list = cat_($FontmapGS);
+ foreach my $font_gs (@FontmapGS_list) {
+ my @tmp_list = split ( ' ', $font_gs );
+ grep ( $_ =~ /$tmp_list[0]/, @Fontmap_out )
+ or push @Fontmap_new, $font_gs;
+ }
+ print $_ foreach @Fontmap_new;
+ output( $FontmapGS, @Fontmap_new );
}
}
sub remove_fonts {
my @list_dir;
- -e $drakfont_dir . "/remove" || mkdir_p($drakfont_dir . "/remove");
- $interactive and progress($pbar, 1, _("done"));
+ -e $drakfont_dir . "/remove" || mkdir_p( $drakfont_dir . "/remove" );
+ $interactive and progress( $pbar, 1, _("done") );
foreach my $i (@font_list) {
- $_ = $i;
- if ( /.pfb$/ || /.gsf$/ || /.pfm$/ || /.pfa$/ ) {
- system ("mv $_ $drakfont_dir/remove ");
- } else {
- rm_rf($i);
- }
- $i =~ s/\/\w*\.\w*//gi;
- grep ( $i, (@list_dir)) or push @list_dir, $i;
- $interactive and progress($pbar1, 1/@font_list, _("Suppress Fonts Files"));
+ $_ = $i;
+ if ( /.pfb$/ || /.gsf$/ || /.pfm$/ || /.pfa$/ ) {
+ system("mv $_ $drakfont_dir/remove ");
+ }
+ else {
+ rm_rf($i);
+ }
+ $i =~ s/\/\w*\.\w*//gi;
+ grep ( $i, (@list_dir) ) or push @list_dir, $i;
+ $interactive
+ and progress( $pbar1, 1 / @font_list, _("Suppress Fonts Files") );
}
- $interactive and progress($pbar1, 0.01, _("done"));
- -e "/usr/share/ghostscript" and remove_gs_fonts();
+ $interactive and progress( $pbar1, 0.01, _("done") );
+ -e "/usr/share/ghostscript" and remove_gs_fonts();
foreach my $i (@list_dir) {
- if (listlength all("$i") < 3) {
- system("chkfontpath -r $i") or print "PERL::system command failed during chkfontpath\n";
- } else {
- system("cd $i && type1inst") or print "PERL::system command failed during cd or type1inst\n";
- }
- $interactive and progress($pbar2, 1/@list_dir, _("Suppress Fonts Files"));
+ if ( listlength all("$i") < 3 ) {
+ system("chkfontpath -r $i")
+ or print "PERL::system command failed during chkfontpath\n";
+ }
+ else {
+ system("cd $i && type1inst")
+ or print "PERL::system command failed during cd or type1inst\n";
+ }
+ $interactive
+ and progress( $pbar2, 1 / @list_dir, _("Suppress Fonts Files") );
}
- $interactive and progress($pbar2, 0.01, _("xfs restart"));
- system ("/etc/rc.d/init.d/xfs restart");
- -e "/usr/share/ghostscript" and rm_rf("$drakfont_dir/remove");
- $interactive and progress($pbar2, 0.01, _("done"));
+ $interactive and progress( $pbar2, 0.01, _("xfs restart") );
+ system("/etc/rc.d/init.d/xfs restart");
+ -e "/usr/share/ghostscript" and rm_rf("$drakfont_dir/remove");
+ $interactive and progress( $pbar2, 0.01, _("done") );
}
sub license_msg {
- print _("Before installing any fonts, be sure that you have the right to use and install them on your system.\n\n-You can install the fonts using the normal way. In rare cases, bogus fonts may hang up your X Server.")."\n";
+ print _(
+"Before installing any fonts, be sure that you have the right to use and install them on your system.\n\n-You can install the fonts using the normal way. In rare cases, bogus fonts may hang up your X Server."
+ )
+ . "\n";
}
-$list_all_font_path || $xlsfonts || $windows || @install || @uninstall ? backend_mod() : interactive_mode();
+ $list_all_font_path
+ || $xlsfonts
+ || $windows
+ || @install
+ || @uninstall ? backend_mod() : interactive_mode();
sub backend_mod {
if ($xlsfonts) {
- system ("xlsfonts");
+ system("xlsfonts");
}
if ($list_all_font_path) {
- system ("$chkfontpath");
+ system("$chkfontpath");
}
if ($windows) {
- license_msg();
- print "\nWindows fonts Installation........\n";
- search_installed_fonts();
- if(search_windows_font()) {
- print_list();
- put_font_dir();
- }
- print "\nThe End...........................\n";
+ license_msg();
+ print "\nWindows fonts Installation........\n";
+ search_installed_fonts();
+ if ( search_windows_font() ) {
+ print_list();
+ put_font_dir();
+ }
+ print "\nThe End...........................\n";
}
if (@install) {
- license_msg();
- print "\nInstall Specifics Fonts...........\n";
- search_installed_fonts();
- search_dir_font;
- print "Font to install : " . $_ . "\n" foreach (@font_list);
- put_font_dir();
- print "\nThe End...........................\n";
+ license_msg();
+ print "\nInstall Specifics Fonts...........\n";
+ search_installed_fonts();
+ search_dir_font;
+ print "Font to install : " . $_ . "\n" foreach (@font_list);
+ put_font_dir();
+ print "\nThe End...........................\n";
}
if (@uninstall) {
- print "\nUninstall Specifics Fonts.........\n";
- search_installed_fonts_full_path();
- if ($interactive) { search_dir_font_uninstall_gi() }
- else { search_dir_font_uninstall $_ foreach (@uninstall) }
- remove_fonts();
- print "\nThe End............................\n";
+ print "\nUninstall Specifics Fonts.........\n";
+ search_installed_fonts_full_path();
+ if ($interactive) { search_dir_font_uninstall_gi() }
+ else { search_dir_font_uninstall $_ foreach (@uninstall) }
+ remove_fonts();
+ print "\nThe End............................\n";
}
}
sub create_fontsel {
my $font_sel;
- gtkpack($font_box,
- $font_sel = new Gtk::FontSelection,
- );
+ gtkpack( $font_box, $font_sel = new Gtk::FontSelection, );
$central_widget = \$font_sel;
}
@@ -530,14 +600,23 @@ sub display_error {
my $label;
my $error_box;
${$central_widget}->destroy();
- gtkpack($font_box,
- $error_box = gtkpack_(new Gtk::VBox(0,0),
- 1, new Gtk::Label($message),
- 0, gtkadd(gtkset_layout(new Gtk::HButtonBox, -spread),
- gtksignal_connect(new Gtk::Button(_("OK")), clicked => sub { ${$central_widget}->destroy(); create_fontsel() }),
- ),
- )
- );
+ gtkpack(
+ $font_box,
+ $error_box = gtkpack_(
+ new Gtk::VBox( 0, 0 ),
+ 1,
+ new Gtk::Label($message),
+ 0,
+ gtkadd(
+ gtkset_layout( new Gtk::HButtonBox, -spread ),
+ gtksignal_connect(
+ new Gtk::Button( _("OK") ),
+ clicked =>
+ sub { ${$central_widget}->destroy(); create_fontsel() }
+ ),
+ ),
+ )
+ );
$central_widget = \$error_box;
}
@@ -545,70 +624,122 @@ sub interactive_mode {
my $font_sel;
$interactive = 1;
init Gtk;
- my $window1 = $::isEmbedded ? new Gtk::Plug ($::XID) : new Gtk::Window -toplevel;
- $window1->signal_connect (delete_event => sub { Gtk->exit(0) });
+ my $window1 =
+ $::isEmbedded ? new Gtk::Plug($::XID) : new Gtk::Window -toplevel;
+ $window1->signal_connect( delete_event => sub { Gtk->exit(0) } );
$window1->set_position(1);
- $window1->set_title(_("Fonts Importation"));
+ $window1->set_title( _("Fonts Importation") );
$window1->set_border_width(5);
- my ($pix_user_map, $pix_user_mask) = gtkcreate_png("ic-drakfont-48");
- my ($pix_u_map, $pix_u_mask) = gtkcreate_png("drakfont.620x57");
-
- gtkadd($window1,
- gtkpack_(new Gtk::VBox(0,2),
- if_(!$::isEmbedded, 0, new Gtk::Pixmap($pix_u_map, $pix_u_mask)),
- 1, gtkpack_(new Gtk::HBox(0,2),
- 1, gtkpack_(new Gtk::VBox(0,2),
- 1, gtkpack($font_box = new Gtk::VBox(0,5),
- $font_sel = new Gtk::FontSelection,
- ),
- 1, gtkpack_(new Gtk::HBox(0,2),
- 0, gtkadd(gtkset_layout(new Gtk::VButtonBox, -end),
- gtksignal_connect(new Gtk::Button(_("Get Windows Fonts")), clicked =>
-sub { ${$central_widget}->destroy(); $windows = 1; appli_choice();}),
- gtksignal_connect(new Gtk::Button(_("Uninstall Fonts")), clicked => sub { ${$central_widget}->destroy(); uninstall() }),
- ),
- 0, gtkadd(gtkset_layout(new Gtk::VButtonBox, -end),
- gtksignal_connect(new Gtk::Button(_("Advanced Options")), clicked =>
-sub { ${$central_widget}->destroy(); $windows = 0; advanced_install();}),
- gtksignal_connect(new Gtk::Button(_("Font List")), clicked =>
-sub { ${$central_widget}->destroy(); create_fontsel()}),
- ),
- 1, new Gtk::HBox(0,2),
- 0, gtkadd(gtkset_layout(new Gtk::VButtonBox, -end),
- gtksignal_connect(new Gtk::Button(_("Help")),clicked =>
-sub { ${$central_widget}->destroy(); help() }),
- gtksignal_connect(new Gtk::Button(_("Close")), clicked => sub {
- $::isEmbedded and kill USR1, $::CCPID;
- Gtk->main_quit() }),
- ),
- ),
- ),
-# 0, gtkpack_(new Gtk::VBox(0,5),
-# 0, new Gtk::VBox(0,0),
-# 0, new Gtk::Pixmap($pix_user_map, $pix_user_mask),
-# 1, new Gtk::VBox(0,0),
-# 1, gtkadd(gtkset_layout(new Gtk::VButtonBox, -end),
-# gtksignal_connect(new Gtk::Button(_("About")), clicked => sub {
-# ${$central_widget}->destroy(); about() }),
-# gtksignal_connect(new Gtk::Button(_(" Help ")), clicked => sub {
-# ${$central_widget}->destroy(); help() }),
-# gtksignal_connect(new Gtk::Button(_("Close")), clicked => sub {
-# $::isEmbedded and kill USR1, $::CCPID;
-# Gtk->main_quit() }),
-# ),
-# )
- ),
- ),
- );
+ my ( $pix_user_map, $pix_user_mask ) = gtkcreate_png("ic-drakfont-48");
+ my ( $pix_u_map, $pix_u_mask ) = gtkcreate_png("drakfont.620x57");
+
+ gtkadd(
+ $window1,
+ gtkpack_(
+ new Gtk::VBox( 0, 2 ),
+ if_(
+ !$::isEmbedded, 0, new Gtk::Pixmap( $pix_u_map, $pix_u_mask )
+ ),
+ 1,
+ gtkpack_(
+ new Gtk::HBox( 0, 2 ),
+ 1,
+ gtkpack_(
+ new Gtk::VBox( 0, 2 ),
+ 1,
+ gtkpack(
+ $font_box = new Gtk::VBox( 0, 5 ),
+ $font_sel = new Gtk::FontSelection,
+ ),
+ 1,
+ gtkpack_(
+ new Gtk::HBox( 0, 2 ),
+ 0,
+ gtkadd(
+ gtkset_layout( new Gtk::VButtonBox, -end ),
+ gtksignal_connect(
+ new Gtk::Button( _("Get Windows Fonts") ),
+ clicked => sub {
+ ${$central_widget}->destroy();
+ $windows = 1;
+ appli_choice();
+ }
+ ),
+ gtksignal_connect(
+ new Gtk::Button( _("Uninstall Fonts") ),
+ clicked => sub {
+ ${$central_widget}->destroy();
+ uninstall();
+ }
+ ),
+ ),
+ 0,
+ gtkadd(
+ gtkset_layout( new Gtk::VButtonBox, -end ),
+ gtksignal_connect(
+ new Gtk::Button( _("Advanced Options") ),
+ clicked => sub {
+ ${$central_widget}->destroy();
+ $windows = 0;
+ advanced_install();
+ }
+ ),
+ gtksignal_connect(
+ new Gtk::Button( _("Font List") ),
+ clicked => sub {
+ ${$central_widget}->destroy();
+ create_fontsel();
+ }
+ ),
+ ),
+ 1,
+ new Gtk::HBox( 0, 2 ),
+ 0,
+ gtkadd(
+ gtkset_layout( new Gtk::VButtonBox, -end ),
+ gtksignal_connect(
+ new Gtk::Button( _("Help") ),
+ clicked =>
+ sub { ${$central_widget}->destroy(); help() }
+ ),
+ gtksignal_connect(
+ new Gtk::Button( _("Close") ),
+ clicked => sub {
+ $::isEmbedded and kill USR1, $::CCPID;
+ Gtk->main_quit();
+ }
+ ),
+ ),
+ ),
+ ),
+
+ # 0, gtkpack_(new Gtk::VBox(0,5),
+ # 0, new Gtk::VBox(0,0),
+ # 0, new Gtk::Pixmap($pix_user_map, $pix_user_mask),
+ # 1, new Gtk::VBox(0,0),
+ # 1, gtkadd(gtkset_layout(new Gtk::VButtonBox, -end),
+ # gtksignal_connect(new Gtk::Button(_("About")), clicked => sub {
+ # ${$central_widget}->destroy(); about() }),
+ # gtksignal_connect(new Gtk::Button(_(" Help ")), clicked => sub {
+ # ${$central_widget}->destroy(); help() }),
+ # gtksignal_connect(new Gtk::Button(_("Close")), clicked => sub {
+ # $::isEmbedded and kill USR1, $::CCPID;
+ # Gtk->main_quit() }),
+ # ),
+ # )
+ ),
+ ),
+ );
$central_widget = \$font_sel;
$window1->show_all;
- $font_sel->set_page(1);
+ $font_sel->set_page(1);
$font_sel->cur_page->child->hide();
- $font_sel->set_page(2);
+ $font_sel->set_page(2);
$font_sel->cur_page->child->hide();
- $font_sel->set_page(0);
+ $font_sel->set_page(0);
$window1->realize;
-# $window1->show_all();
+
+ # $window1->show_all();
Gtk->main_iteration while Gtk->events_pending;
$::isEmbedded and kill USR2, $::CCPID;
Gtk->main;
@@ -616,12 +747,18 @@ sub { ${$central_widget}->destroy(); help() }),
}
sub about {
- my $text = new Gtk::Text(undef, undef);
+ my $text = new Gtk::Text( undef, undef );
my $about_box;
- gtkpack($font_box,
- $about_box = gtkpack_(new Gtk::VBox(0,10),
- 1, gtkpack_(new Gtk::HBox(0,0),
- 1, gtktext_insert(gtkset_editable($text, 1), "
+ gtkpack(
+ $font_box,
+ $about_box = gtkpack_(
+ new Gtk::VBox( 0, 10 ),
+ 1,
+ gtkpack_(
+ new Gtk::HBox( 0, 0 ),
+ 1,
+ gtktext_insert(
+ gtkset_editable( $text, 1 ), "
Copyright (C) 2001 by MandrakeSoft
DUPONT Sebastien sdupont\@mandrakesoft.com
@@ -651,25 +788,39 @@ sub about {
Convert ttf font files to afm and pfb fonts
-"),
- 0, new Gtk::VScrollbar($text->vadj),
- ),
- 0, gtkadd(gtkset_layout(new Gtk::HButtonBox, -spread),
- gtksignal_connect(new Gtk::Button(_("OK")), clicked => sub { ${$central_widget}->destroy(); create_fontsel() }),
- ),
- )
- );
+"
+ ),
+ 0,
+ new Gtk::VScrollbar( $text->vadj ),
+ ),
+ 0,
+ gtkadd(
+ gtkset_layout( new Gtk::HButtonBox, -spread ),
+ gtksignal_connect(
+ new Gtk::Button( _("OK") ),
+ clicked =>
+ sub { ${$central_widget}->destroy(); create_fontsel() }
+ ),
+ ),
+ )
+ );
$central_widget = \$about_box;
$font_box->show_all();
}
sub help {
- my $text = new Gtk::Text(undef, undef);
+ my $text = new Gtk::Text( undef, undef );
my $help_box;
- gtkpack($font_box,
- $help_box = gtkpack_(new Gtk::VBox(0,10),
- 1, gtkpack_(new Gtk::HBox(0,0),
- 1, gtktext_insert(gtkset_editable($text, 1), "drakfont Future Overview
+ gtkpack(
+ $font_box,
+ $help_box = gtkpack_(
+ new Gtk::VBox( 0, 10 ),
+ 1,
+ gtkpack_(
+ new Gtk::HBox( 0, 0 ),
+ 1,
+ gtktext_insert(
+ gtkset_editable( $text, 1 ), "drakfont Future Overview
- Fonts import :
pfb ( Adobe Type 1 binary )
pfa ( Adobe Type 1 ASCII )
@@ -714,70 +865,135 @@ Visual Interface:
- Printer Application Fonts Support...
-"),
- 0, new Gtk::VScrollbar($text->vadj),
- ),
- 0, gtkadd(gtkset_layout(new Gtk::HButtonBox, -spread),
- gtksignal_connect(new Gtk::Button(_("OK")), clicked => sub { ${$central_widget}->destroy(); create_fontsel() }),
- ),
- )
- );
+"
+ ),
+ 0,
+ new Gtk::VScrollbar( $text->vadj ),
+ ),
+ 0,
+ gtkadd(
+ gtkset_layout( new Gtk::HButtonBox, -spread ),
+ gtksignal_connect(
+ new Gtk::Button( _("OK") ),
+ clicked =>
+ sub { ${$central_widget}->destroy(); create_fontsel() }
+ ),
+ ),
+ )
+ );
$central_widget = \$help_box;
$font_box->show_all();
}
sub appli_choice {
my $choice_box;
- my $text = new Gtk::Text(undef, undef);
- gtkpack($font_box,
- $choice_box = gtkpack_(new Gtk::HBox(0,10),
- 0, new Gtk::VBox(0,10),
- 0, new Gtk::VBox(0,10),
- 1, gtkpack_(new Gtk::VBox(0,10),
- 1, gtkpack_(new Gtk::VBox(0,10),
- 1, gtkpack(new Gtk::HBox(0,10),
- new Gtk::HBox(0,10),
- _("Choose the applications that will support the fonts :"),
- new Gtk::HBox(0,10),),
- 0, new Gtk::HBox(0,10),
- 0, gtkpack_(new Gtk::HBox(0,10),
- 0, _("Ghostscript"),
- 1, new Gtk::HBox(0,10),
- 0, my $check11 = new Gtk::CheckButton(),),
- 0, gtkpack_(new Gtk::HBox(0,10),
- 0, _("StarOffice"),
- 1, new Gtk::HBox(0,10),
- 0, my $check22 = new Gtk::CheckButton(),),
- 0, gtkpack_(new Gtk::HBox(0,10),
- 0, _("Abiword"),
- 1, new Gtk::HBox(0,10),
- 0, my $check33 = new Gtk::CheckButton(),),
- 0, gtkpack_(new Gtk::HBox(0,10),
- 0, _("Generic Printers"),
- 1, new Gtk::HBox(0,10),
- 0, my $check44 = new Gtk::CheckButton(),),
- ),
- 0, gtkpack_(new Gtk::HBox(0,10),
- 1, gtktext_insert(gtkset_editable($text, 0), _("Before installing any fonts, be sure that you have the right to use and install them on your system.\n\n-You can install the fonts using the normal way. In rare cases, bogus fonts may hang up your X Server.")),
- 0, new Gtk::VScrollbar($text->vadj),
- 0, new Gtk::VBox(0,10),
- ),
- 0, gtkadd(gtkset_layout(new Gtk::HButtonBox, -spread),
- gtksignal_connect(new Gtk::Button(_("OK")), clicked => sub {
- ${$central_widget}->destroy(); import_status() }),
- gtksignal_connect(new Gtk::Button(_("Cancel")), clicked => sub {
- ${$central_widget}->destroy(); create_fontsel() }),
- ),
- ),
- 0, new Gtk::VBox(0,10),
- 0, new Gtk::VBox(0,10),
- ),
-
- );
- foreach ([$check11, \$gs], [$check22, \$so], [$check33, \$abi], [$check44, \$printer]) {
- my $ref = $_->[1];
- gtksignal_connect(gtkset_active($_->[0], ${$ref}), toggled => sub { ${$ref} = ${$ref} ? 0 : 1; })
- }
+ my $text = new Gtk::Text( undef, undef );
+ gtkpack(
+ $font_box,
+ $choice_box = gtkpack_(
+ new Gtk::HBox( 0, 10 ),
+ 0,
+ new Gtk::VBox( 0, 10 ),
+ 0,
+ new Gtk::VBox( 0, 10 ),
+ 1,
+ gtkpack_(
+ new Gtk::VBox( 0, 10 ),
+ 1,
+ gtkpack_(
+ new Gtk::VBox( 0, 10 ),
+ 1,
+ gtkpack(
+ new Gtk::HBox( 0, 10 ),
+ new Gtk::HBox( 0, 10 ),
+ _(
+"Choose the applications that will support the fonts :"
+ ),
+ new Gtk::HBox( 0, 10 ),
+ ),
+ 0,
+ new Gtk::HBox( 0, 10 ),
+ 0,
+ gtkpack_(
+ new Gtk::HBox( 0, 10 ), 0,
+ _("Ghostscript"), 1,
+ new Gtk::HBox( 0, 10 ), 0,
+ my $check11 = new Gtk::CheckButton(),
+ ),
+ 0,
+ gtkpack_(
+ new Gtk::HBox( 0, 10 ), 0,
+ _("StarOffice"), 1,
+ new Gtk::HBox( 0, 10 ), 0,
+ my $check22 = new Gtk::CheckButton(),
+ ),
+ 0,
+ gtkpack_(
+ new Gtk::HBox( 0, 10 ), 0,
+ _("Abiword"), 1,
+ new Gtk::HBox( 0, 10 ), 0,
+ my $check33 = new Gtk::CheckButton(),
+ ),
+ 0,
+ gtkpack_(
+ new Gtk::HBox( 0, 10 ), 0,
+ _("Generic Printers"), 1,
+ new Gtk::HBox( 0, 10 ), 0,
+ my $check44 = new Gtk::CheckButton(),
+ ),
+ ),
+ 0,
+ gtkpack_(
+ new Gtk::HBox( 0, 10 ),
+ 1,
+ gtktext_insert(
+ gtkset_editable( $text, 0 ),
+ _(
+"Before installing any fonts, be sure that you have the right to use and install them on your system.\n\n-You can install the fonts using the normal way. In rare cases, bogus fonts may hang up your X Server."
+ )
+ ),
+ 0,
+ new Gtk::VScrollbar( $text->vadj ),
+ 0,
+ new Gtk::VBox( 0, 10 ),
+ ),
+ 0,
+ gtkadd(
+ gtkset_layout( new Gtk::HButtonBox, -spread ),
+ gtksignal_connect(
+ new Gtk::Button( _("OK") ),
+ clicked => sub {
+ ${$central_widget}->destroy();
+ import_status();
+ }
+ ),
+ gtksignal_connect(
+ new Gtk::Button( _("Cancel") ),
+ clicked => sub {
+ ${$central_widget}->destroy();
+ create_fontsel();
+ }
+ ),
+ ),
+ ),
+ 0,
+ new Gtk::VBox( 0, 10 ),
+ 0,
+ new Gtk::VBox( 0, 10 ),
+ ),
+
+ );
+ foreach (
+ [ $check11, \$gs ],
+ [ $check22, \$so ],
+ [ $check33, \$abi ],
+ [ $check44, \$printer ]
+ )
+ {
+ my $ref = $_->[1];
+ gtksignal_connect( gtkset_active( $_->[0], ${$ref} ),
+ toggled => sub { ${$ref} = ${$ref} ? 0 : 1; } );
+ }
$central_widget = \$choice_box;
$font_box->show_all();
}
@@ -785,82 +1001,123 @@ sub appli_choice {
sub font_choice {
my $file_dialog;
- $file_dialog = gtksignal_connect(new Gtk::FileSelection(_("File Selection")), destroy => sub { $file_dialog->destroy(); } );
- $file_dialog->ok_button->signal_connect(clicked => \&file_ok_sel, $file_dialog);
- $file_dialog->ok_button->child->set(_("Add"));
- $file_dialog->cancel_button->signal_connect(clicked => sub { $file_dialog->destroy() });
- $file_dialog->cancel_button->child->set(_("Close"));
- $file_dialog->set_filename(_("Select the font file or directory and click on 'Add'"));
+ $file_dialog = gtksignal_connect(
+ new Gtk::FileSelection( _("File Selection") ),
+ destroy => sub { $file_dialog->destroy(); }
+ );
+ $file_dialog->ok_button->signal_connect(
+ clicked => \&file_ok_sel,
+ $file_dialog
+ );
+ $file_dialog->ok_button->child->set( _("Add") );
+ $file_dialog->cancel_button->signal_connect(
+ clicked => sub { $file_dialog->destroy() } );
+ $file_dialog->cancel_button->child->set( _("Close") );
+ $file_dialog->set_filename(
+ _("Select the font file or directory and click on 'Add'") );
$file_dialog->show();
}
-sub file_ok_sel {
- my ( $widget, $file_selection ) = @_;
+sub file_ok_sel {
+ my ( $widget, $file_selection ) = @_;
my $file_name = $file_selection->get_filename();
print "-- @install\n";
- if(!member($file_name, @install)) {
- push(@install, $file_name);
- $list->add(gtkshow(new Gtk::ListItem($file_name)));
+ if ( !member( $file_name, @install ) ) {
+ push ( @install, $file_name );
+ $list->add( gtkshow( new Gtk::ListItem($file_name) ) );
}
}
sub list_remove {
- my($widget, $list) = @_;
+ my ( $widget, $list ) = @_;
my @to_remove;
- push @to_remove, $list->child_position($_) foreach($list->selection);
- splice @install, $_, 1 foreach(reverse sort @to_remove);
- $list->remove_items($list->selection);
+ push @to_remove, $list->child_position($_) foreach ( $list->selection );
+ splice @install, $_, 1 foreach ( reverse sort @to_remove );
+ $list->remove_items( $list->selection );
}
sub advanced_install {
my $scrolled_window;
my $adv_box;
$list = new Gtk::List();
- $list->set_selection_mode(-extended);
-
- gtkpack($font_box,
- $adv_box = gtkpack_(new Gtk::VBox(0,10),
- 1, gtkpack_(new Gtk::HBox(0,4),
- 1, createScrolledWindow($list),
- ),
- 0, gtkadd(gtkset_layout(new Gtk::HButtonBox, -spread),
- gtksignal_connect(new Gtk::Button(_("Add")), clicked => sub { font_choice() }),
- gtksignal_connect(new Gtk::Button(_("Remove Selected")), clicked => \&list_remove, $list),
- gtksignal_connect(new Gtk::Button(_("Install List")), clicked => sub {
- ${$central_widget}->destroy(); appli_choice() }),
- ),
- )
- );
+ $list->set_selection_mode( -extended );
+
+ gtkpack(
+ $font_box,
+ $adv_box = gtkpack_(
+ new Gtk::VBox( 0, 10 ),
+ 1,
+ gtkpack_( new Gtk::HBox( 0, 4 ), 1, createScrolledWindow($list), ),
+ 0,
+ gtkadd(
+ gtkset_layout( new Gtk::HButtonBox, -spread ),
+ gtksignal_connect(
+ new Gtk::Button( _("Add") ),
+ clicked => sub { font_choice() }
+ ),
+ gtksignal_connect(
+ new Gtk::Button( _("Remove Selected") ),
+ clicked => \&list_remove,
+ $list
+ ),
+ gtksignal_connect(
+ new Gtk::Button( _("Install List") ),
+ clicked => sub {
+ ${$central_widget}->destroy();
+ appli_choice();
+ }
+ ),
+ ),
+ )
+ );
$central_widget = \$adv_box;
$adv_box->show_all();
}
sub list_to_remove {
my @number_to_remove;
- my @files_path = grep( !/fonts/ ,all($current_path));
+ my @files_path = grep( !/fonts/, all($current_path) );
Gtk->main_iteration while Gtk->events_pending;
- push @number_to_remove, $path_list->child_position($_) foreach($path_list->selection);
+ push @number_to_remove,
+ $path_list->child_position($_) foreach ( $path_list->selection );
@uninstall = ();
- push @uninstall, $current_path . "/" . $files_path[$_] foreach (@number_to_remove);
- ${$central_widget}->destroy();
+ push @uninstall,
+ $current_path . "/" . $files_path[$_] foreach (@number_to_remove);
+ ${$central_widget}->destroy();
show_list_to_remove();
}
sub show_list_to_remove {
my $show_box;
my $show_list = new Gtk::List();
- $show_list->add(gtkshow(new Gtk::ListItem($_))) foreach @uninstall ;
- gtkpack($font_box,
- $show_box = gtkpack_(new Gtk::VBox(0,10),
- 1, gtkpack_(new Gtk::HBox(0,4),
- 1, createScrolledWindow($show_list)
- ),
- 0, gtkadd(gtkset_layout(new Gtk::HButtonBox, -spread),
- gtksignal_connect(new Gtk::Button(_("click here if you are sure.")), clicked => sub { ${$central_widget}->destroy(); import_status_uninstall() }),
- gtksignal_connect(new Gtk::Button(_("here if no.")), clicked => sub { ${$central_widget}->destroy(); create_fontsel() } ),
- ),
- )
- );
+ $show_list->add( gtkshow( new Gtk::ListItem($_) ) ) foreach @uninstall;
+ gtkpack(
+ $font_box,
+ $show_box = gtkpack_(
+ new Gtk::VBox( 0, 10 ),
+ 1,
+ gtkpack_(
+ new Gtk::HBox( 0, 4 ),
+ 1, createScrolledWindow($show_list)
+ ),
+ 0,
+ gtkadd(
+ gtkset_layout( new Gtk::HButtonBox, -spread ),
+ gtksignal_connect(
+ new Gtk::Button( _("click here if you are sure.") ),
+ clicked => sub {
+ ${$central_widget}->destroy();
+ import_status_uninstall();
+ }
+ ),
+ gtksignal_connect(
+ new Gtk::Button( _("here if no.") ),
+ clicked =>
+ sub { ${$central_widget}->destroy(); create_fontsel() }
+ ),
+ ),
+ )
+ );
$central_widget = \$show_box;
$show_box->show_all();
}
@@ -869,55 +1126,97 @@ sub uninstall {
my $scrolled_window;
my $scrolled_window2;
my $uninst_box;
- @install= ();
+ @install = ();
@installed_fonts_path = ();
- list_fontpath();
+ list_fontpath();
chk_empty_xfs_path();
$list_path = new Gtk::List();
- $list_path->set_selection_mode(-extended);
+ $list_path->set_selection_mode( -extended );
+
foreach (@installed_fonts_path) {
- my $t = $_;
- $list_path->add(gtkshow(gtksignal_connect(new Gtk::ListItem($t), select => sub {
- $current_path = $t;
- $path_list->clear_items(0, -1);
- $path_list->append_items(map { /fonts/ ? () : gtkshow(new Gtk::ListItem($_)) } all($t)); })));
+ my $t = $_;
+ $list_path->add(
+ gtkshow(
+ gtksignal_connect(
+ new Gtk::ListItem($t),
+ select => sub {
+ $current_path = $t;
+ $path_list->clear_items( 0, -1 );
+ $path_list->append_items(
+ map {
+ /fonts/
+ ? ()
+ : gtkshow( new Gtk::ListItem($_) )
+ } all($t)
+ );
+ }
+ )
+ )
+ );
}
- $list_path->set_selection_mode(-single);
+ $list_path->set_selection_mode( -single );
$path_list = new Gtk::List();
- $path_list->set_selection_mode(-extended);
-
- gtkpack($font_box,
- $uninst_box = gtkpack_(new Gtk::VBox(0,10),
- 1, gtkpack_(new Gtk::HBox(0,4),
- 1, createScrolledWindow($list_path),
- 1, createScrolledWindow($path_list)
- ),
- 0, gtkadd(gtkset_layout(new Gtk::HButtonBox, -spread),
- gtksignal_connect(new Gtk::Button(_("Unselected All")), clicked => sub {$path_list->unselect_all (); }),
- gtksignal_connect(new Gtk::Button(_("Selected All")), clicked => sub {$path_list->select_all (); } ),
- gtksignal_connect(new Gtk::Button(_("Remove List")), clicked => sub { list_to_remove() }),
- ),
- )
- );
+ $path_list->set_selection_mode( -extended );
+
+ gtkpack(
+ $font_box,
+ $uninst_box = gtkpack_(
+ new Gtk::VBox( 0, 10 ),
+ 1,
+ gtkpack_(
+ new Gtk::HBox( 0, 4 ), 1,
+ createScrolledWindow($list_path), 1,
+ createScrolledWindow($path_list)
+ ),
+ 0,
+ gtkadd(
+ gtkset_layout( new Gtk::HButtonBox, -spread ),
+ gtksignal_connect(
+ new Gtk::Button( _("Unselected All") ),
+ clicked => sub { $path_list->unselect_all(); }
+ ),
+ gtksignal_connect(
+ new Gtk::Button( _("Selected All") ),
+ clicked => sub { $path_list->select_all(); }
+ ),
+ gtksignal_connect(
+ new Gtk::Button( _("Remove List") ),
+ clicked => sub { list_to_remove() }
+ ),
+ ),
+ )
+ );
$central_widget = \$uninst_box;
$uninst_box->show_all();
}
sub import_status {
my $table;
- $pbar = new Gtk::ProgressBar;
- $pbar1 = new Gtk::ProgressBar;
- $pbar2 = new Gtk::ProgressBar;
- $pbar3 = new Gtk::ProgressBar;
- gtkpack($font_box,
- $table = create_packtable({ col_spacings => 10, row_spacings => 50},
- ["",""],
- [_("Initials tests"), $pbar, $pbar->{label} = new Gtk::Label(' ' )],
- [_("Copy fonts on your system"), $pbar1,$pbar1->{label} = new Gtk::Label(' ' ) ],
- [_("Install & convert Fonts"), $pbar2, $pbar2->{label} = new Gtk::Label(' ' ) ],
- [_("Post Install"), $pbar3,$pbar3->{label} = new Gtk::Label(' ' ) ],
- ),
- );
+ $pbar = new Gtk::ProgressBar;
+ $pbar1 = new Gtk::ProgressBar;
+ $pbar2 = new Gtk::ProgressBar;
+ $pbar3 = new Gtk::ProgressBar;
+ gtkpack(
+ $font_box,
+ $table = create_packtable(
+ { col_spacings => 10, row_spacings => 50 },
+ [ "", "" ],
+ [
+ _("Initials tests"), $pbar, $pbar->{label} = new Gtk::Label(' ')
+ ],
+ [
+ _("Copy fonts on your system"), $pbar1,
+ $pbar1->{label} = new Gtk::Label(' ')
+ ],
+ [
+ _("Install & convert Fonts"), $pbar2,
+ $pbar2->{label} = new Gtk::Label(' ')
+ ],
+ [
+ _("Post Install"), $pbar3, $pbar3->{label} = new Gtk::Label(' ')
+ ],
+ ),
+ );
$central_widget = \$table;
$font_box->show_all();
Gtk->main_iteration while Gtk->events_pending;
@@ -926,17 +1225,28 @@ sub import_status {
sub import_status_uninstall {
my $table;
- $pbar = new Gtk::ProgressBar;
- $pbar1 = new Gtk::ProgressBar;
- $pbar2 = new Gtk::ProgressBar;
- gtkpack($font_box,
- $table = create_packtable({ col_spacings => 10, row_spacings => 50},
- ["",""], ["",""],
- [_("Initials tests"), $pbar, $pbar->{label} = new Gtk::Label(' ' )],
- [_("Remove fonts on your system"), $pbar1,$pbar1->{label} = new Gtk::Label(' ' ) ],
- [_("Post Uninstall"), $pbar2,$pbar2->{label} = new Gtk::Label(' ' ) ],
- ),
- );
+ $pbar = new Gtk::ProgressBar;
+ $pbar1 = new Gtk::ProgressBar;
+ $pbar2 = new Gtk::ProgressBar;
+ gtkpack(
+ $font_box,
+ $table = create_packtable(
+ { col_spacings => 10, row_spacings => 50 },
+ [ "", "" ],
+ [ "", "" ],
+ [
+ _("Initials tests"), $pbar, $pbar->{label} = new Gtk::Label(' ')
+ ],
+ [
+ _("Remove fonts on your system"), $pbar1,
+ $pbar1->{label} = new Gtk::Label(' ')
+ ],
+ [
+ _("Post Uninstall"), $pbar2,
+ $pbar2->{label} = new Gtk::Label(' ')
+ ],
+ ),
+ );
$central_widget = \$table;
$font_box->show_all();
Gtk->main_iteration while Gtk->events_pending;
@@ -944,14 +1254,12 @@ sub import_status_uninstall {
}
sub progress {
- my ($progressbar, $incr, $label_text) = @_;
- my($new_val) = $progressbar->get_current_percentage;
+ my ( $progressbar, $incr, $label_text ) = @_;
+ my ($new_val) = $progressbar->get_current_percentage;
$new_val += $incr;
- if ($new_val > 1) {$new_val = 1}
+ if ( $new_val > 1 ) { $new_val = 1 }
$progressbar->update($new_val);
$progressbar->{label}->set($label_text);
Gtk->main_iteration while Gtk->events_pending;
}
-
-