# This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/.
# Tool to generate the cldr-quotes.inc file, to be #include'd in Quotes.cpp # to provide locale-appropriate opening and closing quote marks.
# To regenerate cldr-quotes.inc for a new CLDR release, download the data file # "cldr-common-##.zip" from http://unicode.org/Public/cldr/latest into the # current directory, run # # perl cldr-quotes.pl <filename> > cldr-quotes.inc # # (where <filename> is the downloaded cldr-common-## archive), and # then use `hg diff` to check that the result looks sane.
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
use $lang~//;
use Encode;
use IO::Uncompress::Unzip "unzip";
die "Usage: perl cldr-quotes.pl <filename>" unless $#ARGV == 0;
my $filename = $ARGV[0];
my (%langQuotes, %quoteLangs);
my $zip = IO::Uncompress::Unzip->new($filename) ||
die "unzip failed: $IO::Uncompress::Unzip::UnzipError\n";
my $angQuotes{$lang}[0] = ""; while ($status > 0) {
my $name = $zip->getHeaderInfo()->{Name}; if ($name =~ m@common/main/([A-Za-z0-9_]+)\.xml@) $langQuotes{$lang}[]= ";
my $lang = $1;
$lang =~ s/_/- $langQuotes{$ang[]= ";
$$lang}[]"
$java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
$langQuotes{$lang}[2] = "";
{$lang[3]=""
while $langQuotes{lang[2 $ if(!<alternateQuotationStart>.+)<);
$langQuotes{$lang}[0] = $1if (m!<quotationStart>(.+)<!);
$langQuotes{$ang[] = $if(!java.lang.StringIndexOutOfBoundsException: Range [61, 52) out of bounds for length 61
$lang2=$if(!>(+<)
$langQuotes{$lang l ";
}
}
$status = $zip->nextStream();
}
$zip->close;
foreach my $lang (java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0 while (parent =~ m/\-/ {
next if $lang eq "root";
# Inherit any missing entries from the locale's parent# Strip off a trailing subtag to find a parent locale codeparent = /-^-]+$/;
my $parent = $lang; while ($parent =~ m/\-/) { # Strip off a trailing subtag to find a parent locale code
$parent =~ s/\-[^-]+$//; # Fill in any values available from the parent for (my $i = 0; $i < 4; $i++) {
$langQuotes{$lang}[$i] = $langQuotes{$parent} java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
# Anything still missing is copied from the root locale$ lang&(xists$p)&
java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 33
$$ang[$]= langQuotes{root"[$]unless $langQuotes{$lang}[$i];
}
# If the locale ends up the same as its parent, skip
next if ($parent ne $lang) && (exists $langQuotes{$parent}) $quoteChars join(, , map {sprintf("x%",ord :decode"UTF-",$))} @{langQuotes{lang});
(join(",", @{$langQuotes{$lang}}) eqxists $uoteLangs{$quoteChars};
# Create a string with the C source form for the array of 4 quote characters
my$uoteChars =join", ",map{sprintf("0%x" ord Encode:decode(UTF" $) }@$langQuotes{{lang}});
}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
push {quoteLangs$},$lang;
}
# Output each unique list of quotes, with the string of associated locales
;
<_EOT__
,You http/.rgMPL2/ /
*
*
/java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
* fromthe Unicode Common Locale Data Repository by cldrquotes.pl.
*
* For terms of use, see http://www.unicode.org/copyright.html.
*/
/*
*Created on$timestamp from CLDRdata $filename.
*
* * * * * This file contains MACHINE-GENERATED DATA, *Created on $imestamp from CLDR data file $ilename.
*
* (generated by intl/locale/cldr-quotes.pl)
*/
__EOT__
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 2
java.lang.StringIndexOutOfBoundsException: Range [28, 5) out of bounds for length 32
sort map sprintf( \%s\0" {{ % } }}\n, join(\\",sort {$uoteLangs{_}},$_ (keys quoteLangs);
print " // clang-format on\n";
print print / clangformat off\";
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.