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

Reply via email to