[prev in list] [next in list] [prev in thread] [next in thread]
List: lyx-cvs
Subject: [LyX/master] Tools(listFontWithLang.pl): Remove padmaa from sans-list, it is serif font
From: Kornel Benko <kornel () lyx ! org>
Date: 2020-05-30 12:11:08
Message-ID: 20200530121108.385B1280192 () lyx ! lyx ! org
[Download RAW message or body]
commit 26788fdd9f92a07d7f1d8953d82d4de4b2f4ba58
Author: Kornel Benko <kornel@lyx.org>
Date: Sat May 30 14:29:39 2020 +0200
Tools(listFontWithLang.pl): Remove padmaa from sans-list, it is serif font
Also display intervalls of character sets (unicode points)
---
development/tools/GetOptions.pm | 25 ++++++++++++++--------
development/tools/listFontWithLang.pl | 37 +++++++++++++++++++++-----------
2 files changed, 40 insertions(+), 22 deletions(-)
diff --git a/development/tools/GetOptions.pm b/development/tools/GetOptions.pm
index 193e570..42e29ff 100644
--- a/development/tools/GetOptions.pm
+++ b/development/tools/GetOptions.pm
@@ -47,7 +47,7 @@ sub makeHelp(); # Create help-string to describe options
my %optionsDef = ();
#option|param|type|aliases|comment
-my $helpFormat = " %-8s|%-9s|%-7s|%-17s|%s\n";
+my $helpFormat = " %-8.8s|%-9.9s|%-7.7s|%-17.17s|%s\n";
sub handleOptions($)
{
@@ -66,6 +66,7 @@ sub handleOptions($)
$optionsDef{h}->{Sort} = 0;
$optionsDef{v}->{fieldname} = "verbose";
$optionsDef{v}->{alias} = ["verbose"];
+ $optionsDef{v}->{comment} = "Display recognized params";
$optionsDef{v}->{Sort} = 1;
my %options = ("help" => 0);
@@ -75,15 +76,17 @@ sub handleOptions($)
while( my( $option, $value, $pretty ) = Getopt::Mixed::nextOption()) {
if (defined($optionsDef{$option})) {
my $fieldname = $optionsDef{$option}->{fieldname};
- if (exists($options{$fieldname})) {
+ if (exists($options{$fieldname}) && ($option ne "h")) {
print "Option $option already set\n";
- print "Value \"$value\" would overwrite ";
- if (ref($options{$fieldname}) eq "ARRAY") {
- print "\"" . join(',', @{$options{$fieldname}}) . "\"\n";
- }
- else {
- print "\"$options{$fieldname}\"\n";
- }
+ if (defined($options{$fieldname})) {
+ print "Value \"$value\" would overwrite ";
+ if (ref($options{$fieldname}) eq "ARRAY") {
+ print "\"" . join(',', @{$options{$fieldname}}) . "\"\n";
+ }
+ else {
+ print "\"$options{$fieldname}\"\n";
+ }
+ }
$option = "h";
$fieldname = "help";
}
@@ -213,6 +216,10 @@ sub makeHelp()
$comment = $e->{comment};
}
$opts .= sprintf($helpFormat, $ex, $needed, $partype, $aliases, $comment);
+ if (defined($e->{comment2})) {
+ my $fill = "_" x 20;
+ $opts .= sprintf($helpFormat, $fill, $fill, $fill, $fill, $e->{comment2});
+ }
}
return($opts);
}
diff --git a/development/tools/listFontWithLang.pl \
b/development/tools/listFontWithLang.pl index 5e19728..3fe4d2e 100644
--- a/development/tools/listFontWithLang.pl
+++ b/development/tools/listFontWithLang.pl
@@ -44,6 +44,7 @@ sub ismathfont($$);
sub correctstyle($);
sub decimalUnicode($);
sub contains($$);
+sub sprintIntervalls($);
# Following fields for a parameter can be defined:
# fieldname: Name of entry in %options
@@ -81,9 +82,10 @@ my @optionsDef = (
{fieldname => "Math",
comment => "Select fonts probably containing math glyphs"},],
["c",
- {fieldname => "Contains",
+ {fieldname => "Contains", alias => ["contains"],
type => "=s", listsep => ',',
- comment => "Select fonts containing all these (possibly comma separated) \
glyphs",}], + comment => "Select fonts containing all these (possibly comma \
separated) glyphs", + comment2 => "____example: -c=\"0-9,u+32-u+x7f\"",}],
["l",
{fieldname => "Lang",
type => "=s", alias=>["lang"],
@@ -148,6 +150,9 @@ if (defined($options{Contains})) {
if (defined($last)) {
push(@{$options{Contains}}, [$first, $last]);
}
+ if (exists($options{verbose})) {
+ print "Checking for unicode-points: " . &sprintIntervalls($options{Contains}) . \
"\n"; + }
}
my $cmd = "fc-list";
@@ -275,7 +280,7 @@ my %sansFonts = (
"m" => qr/^m(\+ |anchu|anjari|arcellus|ashq|eera|etal|igmix|igu|ikachan|intspirit|ona|onlam|ono(fonto|id|isome|noki)|ontserrat|otoyal|ukti|usica)/i,
"n" => qr/^(nachlieli|nada|nafees|nagham|nanum(barunpen|square)|nice)/i,
"o" => qr/^(ocr|okolaks|opendyslexic|ostorah|ouhud|over|oxygen)/i,
- "p" => qr/^(padauk|padmaa|pagul|paktype|pakenham|palladio|petra|phetsarath|play\b|poiret|port\b|primer\b|prociono|pt\b|purisa)/i,
+ "p" => qr/^(padauk|pagul|paktype|pakenham|palladio|petra|phetsarath|play\b|poiret|port\b|primer\b|prociono|pt\b|purisa)/i,
"q" => qr/^(qt(ancient|helvet|avanti|doghaus|eratype|eurotype|floraline|frank|fritz|future|greece|howard|letter|optimum)|quercus)/i,
"r" => qr/^(rachana|radio\b|raleway|ricty|roboto|rosario)/i,
"s" => qr/^(salem|samanata|sawasdee|shado|sharja|simple|sophia|soul|source|switzera)/i,
@@ -440,16 +445,7 @@ if (open(FI, "$cmd |")) {
$props .= '(' . join(',', sort keys %usedlangs) . ')';
}
if (exists($options{PrintCharset})) {
- my @out = ();
- for my $rE (@charlist) {
- if ($rE->[0] != $rE->[1]) {
- push(@out, $rE->[0] . '-' . $rE->[1]);
- }
- else {
- push(@out, $rE->[0]);
- }
- }
- $props .= '(' . join(',', @out) . ')';
+ $props .= '(' . &sprintIntervalls(\@charlist) . ')';
}
if (exists($options{PrintScripts}) || defined($options{Scripts}) || \
defined($options{NScripts}) || exists($options{Math})) { my @scripts = ();
@@ -947,3 +943,18 @@ sub contains($$)
}
return 0;
}
+
+sub sprintIntervalls($)
+{
+ my ($rList) = @_;
+ my @out = ();
+ for my $rE (@{$rList}) {
+ if ($rE->[0] != $rE->[1]) {
+ push(@out, $rE->[0] . '-' . $rE->[1]);
+ }
+ else {
+ push(@out, $rE->[0]);
+ }
+ }
+ return join(',', @out);
+}
--
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic