summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/install_gtk.pm9
-rw-r--r--perl-install/lang.pm39
2 files changed, 46 insertions, 2 deletions
diff --git a/perl-install/install_gtk.pm b/perl-install/install_gtk.pm
index 8fcbb1b1f..30378fcf6 100644
--- a/perl-install/install_gtk.pm
+++ b/perl-install/install_gtk.pm
@@ -45,18 +45,23 @@ sub install_theme {
load_rc($_) foreach "themes-$o->{theme}", "install", "themes";
+ my $pango_font_name = "";
+ if (my $pango_font = lang::lang2pango_font($o->{lang})) {
+ $pango_font_name_10 = "font_name = \"$pango_font 10\""
+ $pango_font_name_12 = "font_name = \"$pango_font 12\""
+ }
if (my ($font, $font2) = lang::get_x_fontset($o->{lang}, $::rootwidth < 800 ? 10 : 12)) {
$font2 ||= $font;
Gtk2::Rc->parse_string(qq(
style "default-font"
{
fontset = "$font,*"
- font_name = "Nimbus Sans L 12"
+ $pango_font_name_12
}
style "small-font"
{
fontset = "$font2,*"
- font_name = "Nimbus Sans L 10"
+ $pango_font_name_10
}
widget "*" style "default-font"
widget "*Steps*" style "small-font"
diff --git a/perl-install/lang.pm b/perl-install/lang.pm
index 81780a663..7fa15b377 100644
--- a/perl-install/lang.pm
+++ b/perl-install/lang.pm
@@ -543,6 +543,45 @@ sub charset2kde_font {
"$r,5,$kdecharset,0,0";
}
+# this define pango name fonts (like "NimbusSans L") depending
+# on the "charset" defined by language array. This allows to selecting
+# an appropriate font for each language.
+# the [0] field tells the font filename,
+# if field [1] is empty, that means the X11 fontset mechanism has ot be used.
+my %charset2pango_font = (
+ 'jisx0208' => ["k14.pcf"], [ "" ],
+ 'ksc5601' => ["baekmuk_gulim_h_14.pcf"], [ "" ],
+ 'gb2312' => ["gb16fs.pcf"], [ "" ],
+ 'Big5' => ["taipei16.pcf"], [ "" ],
+ 'tis620' => ["norasi_n.ttf"], [ "Norasi" ],
+ 'tscii' => ["tscava.ttf"], [ "TSC_Avarangal" ],
+ 'utf_vi' => ["cu12.pcf"], [ "ClearlyU", ],
+ 'utf_hy' => ["artsnk_m.ttf"], [ "Artsounk" ],
+ 'utf_ka' => ["cu12.pcf"], [ "ClearlyU" ],
+ 'iso-8859-7' => ["k.pfb"], [ "Kerkis" ],
+ 'iso-8859-8' => ["cu12.pcf"], [ "ClearlyU" ],
+ 'iso-8859-6' => ["cu12.pcf"], [ "ClearlyU" ],
+ #- Nimbus Sans L is missing some chars used by some cyrillic languages,
+ #- but tose haven't yet DrakX translations; it also misses vietnamese
+ #- latin chars; all other latin and cyrillic are covered.
+ 'default' => ["NimbusSansL-Regu.pfb"], [ "Nimbus Sans L" ],
+);
+
+sub charset2pango_font {
+ my ($charset, $type) = @_;
+
+ my $font = $charset2pango_font{$charset}->[1] || $charset2pango_font{default}->[1];
+ "$font";
+}
+
+sub lang2pango_font {
+ my ($lang) = @_;
+
+ my $charset = lang2charset($lang) or return;
+ my $font = $charset2pango_font($charset);
+ "$font";
+}
+
sub set {
my ($lang, $translate_for_console) = @_;