diff options
author | Guillaume Cottenceau <gc@mandriva.com> | 2003-02-12 23:43:03 +0000 |
---|---|---|
committer | Guillaume Cottenceau <gc@mandriva.com> | 2003-02-12 23:43:03 +0000 |
commit | 124d50434c083a0e28efecf6871229b4c7740ee8 (patch) | |
tree | 625782dc87eeb76608a63870c13e75a3a3395613 /perl-install/lang.pm | |
parent | 4b1fe1b8669176ad87c1b4180f5ab36d3fc54118 (diff) | |
download | drakx-backup-do-not-use-124d50434c083a0e28efecf6871229b4c7740ee8.tar drakx-backup-do-not-use-124d50434c083a0e28efecf6871229b4c7740ee8.tar.gz drakx-backup-do-not-use-124d50434c083a0e28efecf6871229b4c7740ee8.tar.bz2 drakx-backup-do-not-use-124d50434c083a0e28efecf6871229b4c7740ee8.tar.xz drakx-backup-do-not-use-124d50434c083a0e28efecf6871229b4c7740ee8.zip |
add missing pango rendering modules
in ramdisk, do download additional fonts if needed (fixes problems with CJK languages and namely #1098)
Diffstat (limited to 'perl-install/lang.pm')
-rw-r--r-- | perl-install/lang.pm | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/perl-install/lang.pm b/perl-install/lang.pm index 6ed4d2243..940735129 100644 --- a/perl-install/lang.pm +++ b/perl-install/lang.pm @@ -4,6 +4,7 @@ use diagnostics; use strict; use common; use log; +use install_any; #- key: lang name (locale name for some (~5) special cases needing #- extra distinctions) @@ -489,6 +490,25 @@ sub l2pango_font { my $charset = l2charset($lang) or log::l("no charset found for lang $lang!"), return; my $font = charset2pango_font($charset); log::l("charset: $charset ; font: $font"); + + if (common::usingRamdisk()) { + if ($charsets{$charset}[0] !~ /lat|koi|UniCyr/) { + install_any::remove_bigseldom_used(); + my @generic_fontfiles = qw(/usr/X11R6/lib/X11/fonts/12x13mdk.pcf.gz /usr/X11R6/lib/X11/fonts/18x18mdk.pcf.gz); + #- need to unlink first because the files actually exist (and are void); they must exist + #- because if not, when gtk starts, pango will recompute its cache file and exclude them + unlink($_), install_any::getAndSaveFile($_) foreach @generic_fontfiles; + } + + my %pango_modules = (arabic => 'ar|fa|ur', hangul => 'ko', hebrew => 'he|yi', indic => 'hi|bn|ta|te|mr', thai => 'th'); + foreach my $module (keys %pango_modules) { + next if $lang !~ /$pango_modules{$module}/; + install_any::remove_bigseldom_used(); + my ($pango_modules_dir) = glob('/usr/lib/pango/*/modules'); + install_any::getAndSaveFile("$pango_modules_dir/pango-$module-xft.so"); + } + } + return $font; } |