X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2Ftools%2FlistFontWithLang.pl;h=2ae732c4fe3ae55e3907844d46ee733e0ffa21ec;hb=be4f5c8084019bfdd7d067a8c18c960b823df3f7;hp=b6b1e0ae1869478fccb7f9534e87a651ffbf3857;hpb=3a606cae222a13e29bc1eac4cc8fda027a91f2da;p=lyx.git diff --git a/development/tools/listFontWithLang.pl b/development/tools/listFontWithLang.pl index b6b1e0ae18..2ae732c4fe 100644 --- a/development/tools/listFontWithLang.pl +++ b/development/tools/listFontWithLang.pl @@ -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 = ();