]> git.lyx.org Git - lyx.git/blobdiff - development/tools/listFontWithLang.pl
Amend 3dccce14: Tools(listFontWithLang.pl): Ignore white space while checking font...
[lyx.git] / development / tools / listFontWithLang.pl
index b6b1e0ae1869478fccb7f9534e87a651ffbf3857..2ae732c4fe3ae55e3907844d46ee733e0ffa21ec 100644 (file)
@@ -239,6 +239,27 @@ for my $charFld ("Contains", "NContains") {
   }
 }
 
+for my $fn ("FontName", "NFontName") {
+  if (defined($options{$fn})) {
+    # split each entry and make a compiled regex
+    # Allow space between all characters
+    for my $e (@{$options{$fn}}) {
+      if ($e =~ /(\^|\\|\||\[|\]|\(|\)|\*|\+|\?)/) {
+        # already regex, don't manipulate
+        $e = qr/$e/i;
+      }
+      else {
+        my $u = decode('utf-8', $e);
+        my $fill = decode('utf-8', "\\s?");
+        my @u = split(//, $u);
+        my $ud = join($fill, @u);
+        my $e1 = encode('utf-8', $ud);
+        $e = qr/$e1/i;
+      }
+    }
+  }
+}
+
 my $cmd = "fc-list";
 if (defined($langs[0])) {
   $cmd .= " :lang=" . join(',', @langs);
@@ -371,7 +392,7 @@ my %sansFonts = (
   "i" => qr/^(ibm ?(plex ?mono|3270)|ikarius|inconsolata|induni.?h|iwona)/i,
   "j" => qr/^j(ara|ura|s ?math.?bbold)/i,
   "k" => qr/^(kalimati|kanji|karla|karma|kayrawan|kenyan|keraleeyam|khalid|khmer [or]|kiloji|klaudia|ko[mn]atu|kp ?mono|kurier|kustom)/i,
-  "l" => qr/^l(aksaman|arabie|ato|eague|exend|exigulim|ibel|iberation ?mono|ibre franklin|ibris|inux biolinum|obster|ogix|ohit|oma)/i,
+  "l" => qr/^l(aksaman|arabie|ato|eague|exend|exigulim|ibel|iberation ?mono|ibre franklin|ibris|inux biolinum|obster|ogix|ohit ?(devana|telugu)|oma)/i,
   "m" => qr/^m(\+ |anchu|anjari|arcellus|ashq|eera|etal|igmix|igu|ikachan|intspirit|iriam ?clm|isaki|itra ?mono|ona|onlam|ono(fonto|id|isome|noki)|ontserrat|otoyal|ukti|usica)/i,
   "n" => qr/^(nachlieli|nada|nafees|nagham|nanum(barunpen|square)|nice|noto ?mono)/i,
   "o" => qr/^(ocr|okolaks|open ?dyslexic|ostorah|ouhud|over|oxygen)/i,
@@ -452,7 +473,7 @@ my %symbolFonts = (
   "g" => qr/^(gan.?clm|gfs.?(baskerville|gazis|olga|porson|solomos|(bodoni|didot).?classic|complutum))/i,
   "h" => qr/^h(ots|ershey)/i,
   "j" => qr/^jsmath.?(msam|cmsy|masm|msbm|wasy|cmex|stmary)/i,
-  "l" => qr/^l(cmsy|msam)/i,
+  "l" => qr/^l(cmsy|msam|ohit ?(Assamese|Bengali|Gujarati|Gurmukhi|Kannada|Malayalam|Marathi|Nepali|Odia|Tamil))/i,
   "m" => qr/^(marvosym|material|msam|msbm)/i,
   "n" => qr/^(noto.*(emoji|brahmi))/i,
   "o" => qr/^(octicons)/i,
@@ -522,12 +543,12 @@ if (open(FI,  "$cmd |")) {
     ($fontname, $style) = &buildFontName($family, $style);
     if (defined($options{NFontName})) {
       for my $fn (@{$options{NFontName}}) {
-        next NXTLINE if ($fontname =~ /$fn/i);
+        next NXTLINE if ($fontname =~ $fn);
       }
     }
     if (defined($options{FontName})) {
       for my $fn (@{$options{FontName}}) {
-        next NXTLINE if ($fontname !~ /$fn/i);
+        next NXTLINE if ($fontname !~ $fn);
       }
     }
     my @charlist = ();