1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-04-29 15:19:44 +02:00
audacity/locale/CeePlusPlusifyLanguageNames.pl
Paul Licameli 815a80846d String literals for UTF-8 language names using octal escapes only...
... Leaving absolutely no doubt about the portability.

New Perl script in locale emits the required C++ source when LanguageNames.txt
is updated.
2018-01-03 18:01:47 -05:00

24 lines
632 B
Perl
Executable File

#!/usr/bin/perl
# Take LangugeNames.txt and write C++ string literals to standard out,
# which describe the UTF-8 byte sequence using only the basic coding
# character set.
# Copy and paste that over the table of strings in src/Languages.cpp.
open LANGUAGES, "LanguageNames.txt" or die "Can't open LanguageNames.txt: $!\n";
while( <LANGUAGES> ) {
chop;
print "\"";
@codes = unpack 'C*';
@newCodes = ();
for $code (@codes) {
if ($code <= ord 'z') {
push @newCodes, $code;
}
else {
push @newCodes, unpack('C*', sprintf("\\%03o", $code));
}
}
print pack 'C*', @newCodes;
print "\",\n";
}