commit 580057bef710ec62a8c1f77380f90c312891bddf Author: Kornel Benko <kor...@lyx.org> Date: Thu May 21 11:50:42 2020 +0200
Tools(listFontWithLang.pl): Polishing --- development/tools/GetOptions.pm | 9 +++++++- development/tools/listFontWithLang.pl | 36 +++++++++++++++++++------------- 2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/development/tools/GetOptions.pm b/development/tools/GetOptions.pm index 0b69f79..5660b02 100644 --- a/development/tools/GetOptions.pm +++ b/development/tools/GetOptions.pm @@ -102,7 +102,14 @@ sub handleOptions($) print " " . "-" x 32 . "\n"; for my $k (sort keys %options) { if (defined($options{$k})) { - printf(" %-16s%s\n", $k, $options{$k}); + my $val; + if (ref($options{$k}) eq "ARRAY") { + $val = join(',', @{$options{$k}}); + } + else { + $val = $options{$k}; + } + printf(" %-16s%s\n", $k, $val); } else { print " $k\n"; diff --git a/development/tools/listFontWithLang.pl b/development/tools/listFontWithLang.pl index 342e70e..5e19728 100644 --- a/development/tools/listFontWithLang.pl +++ b/development/tools/listFontWithLang.pl @@ -719,17 +719,12 @@ sub getweight($$) { my ($fontname, $style) = @_; my $result = undef; - for my $key (keys %weights) { - next if ($key !~ /^\d+$/); - my $val = $weights{$key}; - for my $info ($style, $fontname) { + for my $info ($style, $fontname) { + for my $key (keys %weights) { + next if ($key !~ /^\d+$/); + my $val = $weights{$key}; if ($info =~ /\b$val\b/i) { - if ($val eq "Regular") { - $result = $val; # It may refer to width - } - else { - return($val); - } + return($val); } } } @@ -777,7 +772,7 @@ sub getspacing($$) return($spacings{$key}); } } - if ("$fontname $style" =~ /(mono|typewriter|cursor|fixed)\b/i) { + if ("$fontname $style" =~ /(\bmono\b|luximono|typewriter|cursor|fixed)\b/i) { return($spacings{100}); # Mono } else { @@ -811,8 +806,19 @@ sub getproperties($$$$) my $val1 = $rget->($newfam, $newstyle); my $val; if (defined($val2) && defined($val1) && ($val2 ne $val1)) { - push(@{$rerrors}, "Fontname($fontname),Style($style): Values for $txt ($val1 != $val2) differ, selecting internal $txt($val2)"); - $val = $val2; + if (($txt =~/^(weight|slant)$/) && ($newstyle =~ /$val1/)){ + # style overrides weight and slant + push(@{$rerrors}, "Fontname($fontname),Style($style): Values for $txt ($val1 != $val2) differ, pick $val1 from style"); + $val = $val1; + } + elsif ($newfam =~ /$val1/) { + push(@{$rerrors}, "Fontname($fontname),Style($style): Values for $txt ($val1 != $val2) differ, pick $val1 from fontname"); + $val = $val1; + } + else { + push(@{$rerrors}, "Fontname($fontname),Style($style): Values for $txt ($val1 != $val2) differ, pick $val2 from $txt-property"); + $val = $val2; + } } elsif (! defined($val2)) { $val = $val1; @@ -869,6 +875,7 @@ sub correctstyle($) $style =~ s/\b(SC|Small(caps(alt)?)?)\b/SmallCaps/i; $style =~ s/w3 mono/Dual/i; $style =~ s/Regul[ea]r/Regular/i; + $style =~ s/Megablack/ExtraBlack/i; $style =~ s/ +/ /g; return($style); } @@ -921,9 +928,8 @@ sub decimalUnicode($) } -# check if the glyph-value $d is contained +# check if the glyph-values in interval @{$ri} are contained # in one of the (sorted) intervals -# Inputs as intervals sub contains($$) { # ok if -- lyx-cvs mailing list lyx-cvs@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-cvs