summaryrefslogtreecommitdiffstats
path: root/perl-install
diff options
context:
space:
mode:
authorSebastien Dupont <sdupont@mandriva.com>2001-10-29 23:11:39 +0000
committerSebastien Dupont <sdupont@mandriva.com>2001-10-29 23:11:39 +0000
commit5de68bf88ddf5de518da66f4e7c6387288751a54 (patch)
tree09cf411bb221b77b60802f129bcded9dfc2351ab /perl-install
parent25c27e34085d9d834706a756cebd4dff9bdb7683 (diff)
downloaddrakx-5de68bf88ddf5de518da66f4e7c6387288751a54.tar
drakx-5de68bf88ddf5de518da66f4e7c6387288751a54.tar.gz
drakx-5de68bf88ddf5de518da66f4e7c6387288751a54.tar.bz2
drakx-5de68bf88ddf5de518da66f4e7c6387288751a54.tar.xz
drakx-5de68bf88ddf5de518da66f4e7c6387288751a54.zip
correction of warning & code cleaning.
Diffstat (limited to 'perl-install')
-rwxr-xr-xperl-install/standalone/drakfont318
1 files changed, 152 insertions, 166 deletions
diff --git a/perl-install/standalone/drakfont b/perl-install/standalone/drakfont
index de44a71d4..0ad46792f 100755
--- a/perl-install/standalone/drakfont
+++ b/perl-install/standalone/drakfont
@@ -1,4 +1,27 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl
+#
+# DiskDrake uses resize_fat which is a perl rewrite of the work of Andrew
+# Clausen (libresize).
+# DiskDrake is also based upon the libfdisk and the install from Red Hat Software
+#
+#
+# DiskDrake
+# Copyright (C) 1999 MandrakeSoft (sdupont@mandrakesoft.com)
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
# drakfont Future Overview
# - Fonts import :
# pfb ( Adobe Type 1 binary )
@@ -122,6 +145,7 @@ my $label4;
my $list_path;
my $path_list;
my $current_path;
+my $list;
foreach (@ARGV) {
@@ -150,13 +174,6 @@ foreach my $i (@application) {
}
}
-# only debug
-# print "app : @application\n";
-# print "install : @install\n";
-# print "uninstall : @uninstall\n";
-# print "applications supproted: so: $so gs: $gs \n";
-
-
# PATH and binary full path
my $xfs_conffile = '/etc/X11/fs/config';
my $drakfont_dir = '/usr/X11R6/lib/X11/fonts/drakfont';
@@ -307,84 +324,79 @@ sub dir_created {
sub put_font_dir {
my @tmpl;
- -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.45, _("True Type fonts installation"));
- system ("cd $drakfont_dir/tmp/tmp && cp *.ttf ../../ttf");
- system ("cd $drakfont_dir/ttf && $ttmkfdir > fonts.dir" );
- my $restart_xfs = "$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"));
+ -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"));
}
- 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"));
- 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"));
- $restart_xfs .= "; $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"));
+ $interactive and progress($pbar1, 0.01, _("done"));
+ $interactive and progress($pbar2, 0.45, _("True Type fonts installation"));
+ system ("cd $drakfont_dir/tmp/tmp && cp *.ttf ../../ttf");
+ system ("cd $drakfont_dir/ttf && $ttmkfdir > fonts.dir" );
+ my $restart_xfs = "$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"));
+ 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"));
+ $restart_xfs .= "; $chkfontpath -a $drakfont_dir/Type1";
}
- 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"));
- $restart_xfs .= "; $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"));
+
+ 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"));
+ $restart_xfs .= "; $chkfontpath -a $drakfont_dir/Type1";
}
- 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"));
+
+ 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.15, _("type1inst building"));
+ $restart_xfs .= "; $chkfontpath -a $drakfont_dir/Type1";
}
- 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.15, _("type1inst building"));
- $restart_xfs .= "; $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 ($restart_xfs);
+ $interactive and progress($pbar3, 0.25, _("done"));
}
-
-
-
- $interactive and progress($pbar2, 0.01, _("done"));
-# $interactive and $pbar2->update( 100 );
-
-
- $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 ($restart_xfs);
- $interactive and progress($pbar3, 0.25, _("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");
@@ -483,7 +495,7 @@ sub create_fontsel {
my $font_sel;
gtkpack($font_box,
$font_sel = new Gtk::FontSelection,
- );
+ );
$central_widget = \$font_sel;
}
@@ -495,33 +507,33 @@ sub display_error {
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() }),
- ),
- )
- );
+ 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;
}
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) });
$window1->set_position(1);
$window1->set_title(_("Fonts Importation"));
$window1->set_border_width(5);
-
+
gtkadd($window1,
gtkpack_(new Gtk::HBox(0,2),
1, gtkpack_(new Gtk::VBox(0,2),
1, new Gtk::VBox(0,0),
- 1, gtkpack($font_box = new Gtk::VBox(0,5),
+ 1, gtkpack(gtkset_usize($font_box = new Gtk::VBox(0,5),500, 350),
$font_sel = new Gtk::FontSelection,
- $font_box->set_usize( 500, 350 ),
),
1, new Gtk::VBox(0,0)
),
@@ -534,13 +546,13 @@ sub interactive_mode {
sub { ${$central_widget}->destroy(); $windows = 0; license(\&advanced_install)}),
gtksignal_connect(new Gtk::Button(_("Uninstall Fonts")), clicked =>
sub { ${$central_widget}->destroy(); uninstall() }),
- ),
+ ),
1, new Gtk::VBox(0,0),
1, 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 { Gtk->main_quit() }),
- ),
+ ),
)
),
);
@@ -548,7 +560,7 @@ sub interactive_mode {
$window1->show_all;
$window1->realize;
$window1->show_all();
-
+
Gtk->main;
Gtk->exit(0);
}
@@ -563,16 +575,15 @@ sub license {
1, gtkpack_(new Gtk::HBox(0,0),
1, gtktext_insert(gtkset_editable($text, 1), "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, gtkadd(gtkset_layout(new Gtk::HButtonBox, -spread),
gtksignal_connect(new Gtk::Button(_("OK")), clicked => sub {
- ${$central_widget}->destroy(); $function->(); }),
+ ${$central_widget}->destroy(); $function->(); }),
gtksignal_connect(new Gtk::Button(_("Cancel")), clicked => sub {
- ${$central_widget}->destroy(); create_fontsel() }),
- ),
- )
- );
-
+ ${$central_widget}->destroy(); create_fontsel() }),
+ ),
+ )
+ );
$central_widget = \$license_box;
$font_box->show_all();
}
@@ -644,9 +655,10 @@ ________________________ ABOUT ____________________________
"),
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, gtkadd(gtkset_layout(new Gtk::HButtonBox, -spread),
+ gtksignal_connect(new Gtk::Button(_("OK")), clicked =>
+ sub { ${$central_widget}->destroy(); create_fontsel() }),
+ ),
)
);
$central_widget = \$help_box;
@@ -665,28 +677,26 @@ sub appli_choice {
[_("StarOffice"), my $check22 = new Gtk::CheckButton()],
[_("Abiword"), my $check33 = new Gtk::CheckButton()],
[_("Generic Printers"), my $check44 = new Gtk::CheckButton()],
- ),
+ ),
0, gtkadd(gtkset_layout(new Gtk::HButtonBox, -spread),
gtksignal_connect(new Gtk::Button(_("OK")), clicked => sub {
- ${$central_widget}->destroy(); import_status() }),
+ ${$central_widget}->destroy(); import_status() }),
gtksignal_connect(new Gtk::Button(_("Cancel")), clicked => sub {
- ${$central_widget}->destroy(); create_fontsel() }),
- ),
- )
- );
+ ${$central_widget}->destroy(); create_fontsel() }),
+ ),
+ )
+ );
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();
}
-my $list;
-# = new Gtk::List();
-
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"));
@@ -707,11 +717,11 @@ sub file_ok_sel {
}
sub list_remove {
- 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);
+ 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);
}
sub advanced_install {
@@ -719,13 +729,11 @@ sub advanced_install {
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, $scrolled_window =new Gtk::ScrolledWindow( undef, undef ),
- $scrolled_window->set_usize( 440, 300 ),
- $scrolled_window->add_with_viewport( $list ),
+ 1, createScrolledWindow($list),
),
0, gtkadd(gtkset_layout(new Gtk::HButtonBox, -spread),
gtksignal_connect(new Gtk::Button(_("Add")), clicked => sub { font_choice() }),
@@ -740,14 +748,14 @@ sub advanced_install {
}
sub list_to_remove {
- my @number_to_remove;
- 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);
- @uninstall = ();
- push @uninstall, $current_path . "/" . $files_path[$_] foreach (@number_to_remove);
- ${$central_widget}->destroy();
- show_list_to_remove();
+ my @number_to_remove;
+ 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);
+ @uninstall = ();
+ push @uninstall, $current_path . "/" . $files_path[$_] foreach (@number_to_remove);
+ ${$central_widget}->destroy();
+ show_list_to_remove();
}
sub show_list_to_remove {
@@ -756,16 +764,16 @@ sub show_list_to_remove {
$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() } ),
+ 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();
@@ -783,20 +791,20 @@ sub uninstall {
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)); })));
+ $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);
$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 (); }),
@@ -825,7 +833,7 @@ sub import_status {
[_("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;
@@ -844,14 +852,13 @@ sub import_status_uninstall {
[_("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;
backend_mod();
}
-
sub progress {
my ($progressbar, $incr, $label_text) = @_;
my($new_val) = $progressbar->get_current_percentage;
@@ -862,26 +869,5 @@ sub progress {
}
-
-#1, gtksignal_connect(my $button_connect = gtkset_sensitive(new Gtk::Button(), 0), clicked => \&connection),
-
-
-
-# interface graphique a faire
# option strong: verifier strong ttmkfdir -c ???
# gestion abiword, netscape, gimp....
-# xlsfonts | less pour verifier l'installation des polices.
-
-
-# sub progress2 {
-# my ($bar, $incr, $label_text) = @_;
-# my $new_val;
-# my $adjt;
-# $new_val = $pbar->get_value() + $incr;
-# $adjt = $bar->adjustment;
-# $bar->set_value($new_val);
-# $bar->{label}->set($label_text);
-# Gtk->main_iteration while Gtk->events_pending;
-# $new_val < 100 ;
-# }
-
i6 & >D!UbH7IH)_}s}Md`_/}v ?l2iDjK})eBɕԳ{aeuȻq`~|a}ƶBb C!>ÎaSwQ;1|ءVB!=c@.a[_:}-x OS;wZCrb>\H~ws@0PJGANΥZ֠;'] D)N7xӠJa_"Ff{hW(pożg +0>!Ww+}{M; m2ʹ(y)ȧbTv(fS%ҏPлWĸO5 C+mVp:h-58HHlZos4܀6%"inBC4|e (-KB5"Xp1aP-LUw4ΕWIЄ$I L|q^E{. Q9M~5Ɇ&@NTfY͎QsMp ?UVnT浪J t]ԴT 0ex%P!2xƑ =AF*In6Y[J:ME{U|z!wlR>/Q(Oy᤟xX:(!;iMԎ$<wW؋hmMs".C>UqLFBٍw.4O`=שH-R/bGV ğ&\'Ax !)OƼeVb ivf qpKJjպRĦTkl)l4C6D3TAս9 l%Zrm:ħrI>|Z3s8 Fx8Hen7ZP^5S^\ ku{6≶̼ܺ;Mo f{^aEH5Ѭil f&GxU֎1J8;'AH [U kZ.n?hEcJپx mejI%ڛ:tx%n1*ͫ-^iqV!7hq%QoxaۨOce׬鳐yUg9^G z|{p =VuZڙF;/{áƕZ^Q)B7a\'%;Al[FZ\Fe bFc\`H5LSү\>l1#,sޏ .H5Ux;ȭEȳ֒v׳;k)eoƥڠG$&W5֙;͛QK;^ a+ӹ 崖 zGON` Xε^O% B x=璬7L#C@ǏT6Vo-< )=w$HNge< Wp#fV.O:kC'e' ɗ1C0 'C^|k shҿY0J%=#3srEBjvOrɓě2yZ#XR b heK= xVG:'+y%P:U pK'K\SG6Ԫ٧t a`+˿!?6 (IJF!7](oȰx_$-(B : `qsx oR#A==KmDgjz,(ے J4gOGm/:Hԉ@j*mI-VX X]ܰȧW`,e;G}+l CO#ت#d;JmFQz ^FKrs%8V.r0oV>y:J;Tr=e,X?YFeRKW,RvʪE}`iWl[&&QO|*y=Ą$0z]=.* wƾb8wس]m f SD7u^ '„!5KzĒ>34amfSe\:mbܤ>^^h sIph=MzFBе;0i3[ O|*)6~ytYVr J 7=a1+tLCosVaO2E`EͣZY0"(m )Xo<8uR; ٛ2OBᴃb1% !+_CqMԐugǨ;NuB(U=ynn-)LshDD-mU&0JTKc+EY$vT8r)JLj4Z,؃ 3y$NôQB *,+Ba'YY=NOpɯ#o3#pGk Ywf ^B,ȏϊ>h Uyj>fAB, MP5j&"{ci7MB-z*-šoí^+BgfcFQCMe4h؏zw("# yeS6e-cK(0 x,H:R)+oWs=\C )q 6 Ȼx7^#M{vȂ}'Mg*;ӥ~icJ8~(;@<ץ@?^,-uiE>|_AY@Ԧݪ^ƨn!WR99mp [%i{`٦(ïiYgV) ]+zsH lXhoKiݴқl~am0 3Qm/,丶|T ^\񴤣m`˗bpsr=FD0#p ?a2 @1}kK=S"{hksL`#ƠӝԎúf Kt_ny-&NH"A܍r(bXVlȽ長 5Ů8䲎cO_m ]ʡ_,16?D'Ts%aƇK4k)Dõ:k!*é5,實rq}{W?Tv'`޻D-m"K̑q'EԡCֳJH_gx N a7gk@+!ME|o,] 3$3:peRY]T|4\sC`7ua}y orw+AleF][x! ?e@en%&"K[)g/ۥ0J`!NI4:"A}fWSs\$уZix=r<^Sܔ诊g{\hAcU / uobm9U| SӔ&aN&0ϵYх8%17&vB@Z+<!&rk `.l3Gꛎ1}ëuhe|W&:5>8_d;|2('DxqqS~߇&8ұy(nQSQTn{&%0F1HĻٜYc^[-?%IT}w ԠT2 W=Crʺ1N@Q [0v;Nrw{b{o@%%u9'J+%X`$wwLk Ab(kC>#P{DbOE$Lm'^ sAYcퟴܔp_,3@0y1s_^c.[{R p98qxƪVnr0f1;5ڳnkH1V ZG0B\}yWzgr ]J򶶝)Iպ'+T9A=1u7wgV_$!^'r5!?~시jkY"3Tp6~QR h-Bxpl* b+&Nlq$Im[Ĝ]#+"װf[o~bbtkhC<PaWoWe[e\GnD"sLL]TPĥ5qѸ8\z]2->~# ]&`/-{v p>^:7d{4%^/hMqIozZeobbVĉQPS;lT_' _ע O6聒7onY8^b[-L/10QTC%ՠ8k zZO3 <~n7TJHnY$Ǵg -xSΎo.egzzp'f3WO[bs}/y^Tȫtg_X8zUTxѕA" __TE፫)qS}@%:^7CJӞa xr)jUˇUu![ah"/ba,0gbA/Vq ! P蠝.ԣWg.g(Gv?^m=2 9]d S8 ' +mMnr>CuB;?;K f.h^ z!Օ PqJ3CT"uBWJ4 !7:qUCO)ujiK׺Z?Rqo.s#; ]޶h*8gk|*\=043s_7M%. ~vk\+sêU^㾍'+ u}.*I,M#hAf-cA*},r$|3-coF]0rԢ=WoT^nXutC߾Wu[2E7K1BaiE؁&8\5_2p 5<ᮑAs)[n? I'_5 FE\kCxdvnˤ)N8}sjj&.Oj x+W6lr *t*mtғkt8$Ii)Y%4lm28d|^plmeb1i-*} F1fuN642,&ht[qq˞R$s:x-HmqI YwE)gq鐃VMBK,Z7X|j5 >tj7kE+]t>~ͷf[,ztP̢-*23e`7Ъ{nhy$8ZnҮܛq `Qk[VG"6ptWbBBIȹIaN~-{1nV&t%Ƴ UFI^&.nJ'%>D7nl-@P+2SXDHBo<,X#{k4tkgo` aE۵nLIΊKޣo^}Ir1aza^x IHZݫWxOnn }lX~8T&Sc+L{lo,)ϩKFL[}Ree-\9$ aKn;Vu7V4v,s^ 9`Z 6ҫ1{y~~{Jeײi#&IPإH8a¾YQ.žqzV`םb")g>K5D˅ ¢V܂ZYMR:BA%3,?ЬrPA; ȱT `S떧hV}#|@>ó89?2eP,avbד*IWM@kSrQˉqNa`QRiK:`l:Qg|jZC=Q-LyЏ,!aXGLZd9'kݹ5^Ix+ă {VU-lKviv%RG֍Ƹ$3(qAnfS,08>>LeOeʋS)tX{&gR~ICSB8Z|<4d%SvK/VRz_saer3QiڼdP@$M2.?lٓӐǕʺu: O5kЇn0jV% kԪjEOd"O$f&xh> (fHB;ZW$!"pLPM)? B: ;7*hh&\|1J7: V_H@lZS(P3+T79C෺1~JRojeuxqP2KYYkna!5&o=u1 J 4 *Evj2J.g.D4N\xHR넛Ya2GIgXRl{TA,P;Z0Q,zE :E?.wUQ!@?mH7iP,1ٿm低F>H_$g9پk^92x,jeڥɥK;]G̦جP}E)}*xd|<_|Z^T~$P+97K5s^՗%1Ip(!]̪s]4uZ;bFœ@dYI ͹o\ R8e5ACACC?蕀ǂ ގT-x4?~gm=> :dQG ~Q(Z1r1E^9q}9AW9vh[ [ T I֎ȓ064î YR^BmLv3=%Cp"!5v+m_ ;QU?"K}CF ַk%6[/\ykEn&t9͛XY8t`]X?v>=~gAV.ڑvg=XJ>]#<`%A2V DpF0F3q#.[G.䏛5FIy MD;rfJ@Bx%BոSou"J;×R&{` vvgu_B]utMX-ߌS[yLb!LRr<.(Aެ;>wNJL 2s rQ\m3\0˴-4U_cɓ.km;ʳ \S|g Z 7pEcW/dܙ_p0@!b cgߢF~YЂ2 Z:XwnȦ OĂ9NMBXJH}v<`ע:yK~X[vq򃷊Ak{s`z*PX9s]镗2b(d|͌TjkS4*xqTd [C$)˘R@]c-Q5;c'БFiV弛s5AP|NXGg֜ nd>X(]*+)Oy`6i3CX֮z|x"بO]‡%]\0Ջ}zy޾Կ$HrS d@1Aw&^ +TN7] # UC*utD2H"BHAo(y1]9(u|zX%\+XyALD,0T%M] xY4X[T;v7^7.c|`jj9u-*]^Zg6}GB/t]lukw(L ,P`q=N $?$>\M& AZsʬg nXFÕ!_*!.fJ..А,NV>拈%~YjzDICcVAt &bBC$4.;ʦ EpS]p_>=Hg'?U^SCNMx\ (Yi1 fub1ҵu MxCh<0y\Q۾5B} LAUiSRplTr牅vҧ1 󪥺54Ld3WS{JЙ=>wYgۇ&<@UOzX88<~ S!B KKtb6je OqD޶#+sOx:l#*g+|S*kEJYa,΃W^58{["|kh&*)^e>k-@Sbn0Ty}m>AAOY]4h )F7oB8"{42IKJ&78ݱhtЇ`3'cPE ۗRXώ,v-=rE[.ls4盓 A"`E8"[( O|FuDśLϥRGjy.g6JaVa.ù"Uއ8p<!UQ?J^(#nTx =T.y_K:WRJTu踒# 0M4{b4D;Y.Zn|Vݏcf..f= 7dnAfy`jb^ -9$c; ׫J͞#kitjHq(:#NN6eWa_"WL_NƤοGJ."Ӟ! VQSQ;?OݎhaC΢j0׭t7R/~yew^/*oERBBs]V'Wzx|7$, "0v =C=6t ATn84GV|BmŌR(<`^uw%3BNVCDg ֋QnʝZ;XFXY` w~7.q}˸nR*[%-"kX&餺|=.b^Hl=$2QM'올s/*<5b >dٓ %qPTh$˭)u7&9\=ZIB `zPxWҡ8=ʕ{)j/Uwr\`M^Kv/PqY1QD&۴`L5*-R"ش9Pz8PD.+UcE@ؓ[ <|ETߖ{ \N҆thM.NL:ҿces>{ۿDpeibǷwcLˤEؚ7g ;n4PĂO .mmYM8ꊭC3JBAenH)#G@[pAgZu|$л,r-f@-0W9q}qw|rn_:j ':9%޶5Ԍ3K$8XadL0vEpDL  *hi3ɈA <PsC)>bX.l \5ق:fD'Y7)5 Lyd8((LP~'[u6rĬ0pVzG 7[ήqe瓓&>slr`v8}AbOݎ NVYPaeuϓQH{킠RVY6s1Xs0a)3Sxfh:Rګ4Iñf?~܎5o$c"Ox-G}7^,߈ !<os> Hhd?@U+oNM@T"Dዄ$%]^D O(: D >Q9^;kQqnDF=ʴzԦ s*q Ң,["{2Wo= v jp%xM;Hs"!hls`! `[eqJzM{GғvMosK b"dizFGdRy'ñƦ*M ꓕtq`YrA? %q*CTW 3ԑNU,lڔk#ǩоΡfƄ0|qh^i'3QD~V09łGM l+5f]t41!hע;钾k_NC-$AW&mCB$Y:ū9 Y^$iw3 7 *I0ib+&