commit 3eb56006b5eb9e478ac6bb8f0c5a15cc347e54ec
Author: Kornel Benko <[email protected]>
Date:   Sat May 9 13:19:12 2020 +0200

    Tools: recognize math font in listFontWithLang.pl
---
 development/tools/listFontWithLang.pl |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/development/tools/listFontWithLang.pl 
b/development/tools/listFontWithLang.pl
index 95524df..9824708 100644
--- a/development/tools/listFontWithLang.pl
+++ b/development/tools/listFontWithLang.pl
@@ -39,6 +39,7 @@ sub extractlist($$$); # my ($l, $islang, $txt, $rres) = @_;
 sub getIndex($$);
 sub getVal($$$);       # my ($l, $txtval, $txtlang) = @_;
 sub getproperties($$$$);
+sub ismathfont($$);
 sub correctstyle($);
 
 # Following fields for a parameter can be defined:
@@ -52,6 +53,8 @@ my %optionsDef = (
   "l"       => {fieldname => "Lang",
                 type => "=s", alias=>["lang"],
                 comment => "Comma separated list of desired languages"},
+  "math"    => {fieldname => "Math",
+                comment => "Select fonts probably containing math glyphs"},
   "n"       => {fieldname => "FontName", listsep => ',',
                 type => "=s", alias => ["name"],
                 comment => "Select font-names matching these (comma separated) 
regexes"},
@@ -99,7 +102,7 @@ if (defined($langs[0])) {
 
 my $format = "foundry=\"%{foundry}\" postscriptname=\"%{postscriptname}\" 
fn=\"%{fullname}\" fnl=\"%{fullnamelang}\" family=\"%{family}\" 
flang=\"%{familylang}\" style=\"%{style}\" stylelang=\"%{stylelang}\"";
 
-if (exists($options{PrintScripts}) || defined($options{Scripts}) || 
defined($options{NSpripts})) {
+if (exists($options{PrintScripts}) || defined($options{Scripts}) || 
defined($options{NSpripts}) || exists($options{Math})) {
   $format .= " script=\"%{capability}\"";
 }
 if (exists($options{PrintLangs}) || defined($langs[0])) {
@@ -275,7 +278,7 @@ if (open(FI,  "$cmd |")) {
     if (exists($options{PrintLangs})) {
       $props .= '(' . join(',', sort keys %usedlangs) . ')';
     }
-    if (exists($options{PrintScripts}) || defined($options{Scripts}) || 
defined($options{NScripts})) {
+    if (exists($options{PrintScripts}) || defined($options{Scripts}) || 
defined($options{NScripts}) || exists($options{Math})) {
       my @scripts = ();
       my $scripts = "";
       if ($l =~ / script=\"([^\"]+)\"/) {
@@ -286,6 +289,9 @@ if (open(FI,  "$cmd |")) {
        }
         $scripts = join(',', @scripts);
       }
+      if (exists($options{Math})) {
+        next NXTLINE if (! &ismathfont($family,\@scripts));
+      }
       if (exists($options{PrintScripts})) {
         $props .= "($scripts)";
       }
@@ -551,6 +557,17 @@ sub getspacing($$)
   }
 }
 
+sub ismathfont($$)
+{
+  my ($family, $rCapability) = @_;
+
+  return 1 if ($family =~ /math/i);
+  for my $cap (@{$rCapability}) {
+    return 1 if ($cap eq "math");
+  }
+  return 0;
+}
+
 sub getproperties($$$$)
 {
   my ($l, $family, $style, $rerrors) = @_;
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to