Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64
Your IP : 3.144.89.197
#! /bin/false
# vim: set autoindent shiftwidth=4 tabstop=4:
# Conversion routines for ISO_5427-EXT.
# Copyright (C) 2002-2016 Guido Flohr <guido.flohr@cantanea.com>,
# all rights reserved.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
package Locale::RecodeData::ISO_5427_EXT;
use strict;
require Locale::RecodeData;
use base qw(Locale::RecodeData);
my @to_ucs4 = (
0x0000,
0x0001,
0x0002,
0x0003,
0x0004,
0x0005,
0x0006,
0x0007,
0x0008,
0x0009,
0x000a,
0x000b,
0x000c,
0x000d,
0x000e,
0x000f,
0x0010,
0x0011,
0x0012,
0x0013,
0x0014,
0x0015,
0x0016,
0x0017,
0x0018,
0x0019,
0x001a,
0x001b,
0x001c,
0x001d,
0x001e,
0x001f,
0x0020,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0x0491,
0x0452,
0x0453,
0x0454,
0x0451,
0x0455,
0x0456,
0x0457,
0x0458,
0x0459,
0x045a,
0x045b,
0x045c,
0x045e,
0x045f,
0xfffd,
0x0463,
0x0473,
0x0475,
0x046b,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0x005b,
0xfffd,
0x005d,
0xfffd,
0x005f,
0x0490,
0x0402,
0x0403,
0x0404,
0x0401,
0x0405,
0x0406,
0x0407,
0x0408,
0x0409,
0x040a,
0x040b,
0x040c,
0x040e,
0x040f,
0x042a,
0x0462,
0x0472,
0x0474,
0x046a,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0x007f,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
0xfffd,
);
my @to_utf8 = (
"\x00",
"\x01",
"\x02",
"\x03",
"\x04",
"\x05",
"\x06",
"\x07",
"\x08",
"\x09",
"\x0a",
"\x0b",
"\x0c",
"\x0d",
"\x0e",
"\x0f",
"\x10",
"\x11",
"\x12",
"\x13",
"\x14",
"\x15",
"\x16",
"\x17",
"\x18",
"\x19",
"\x1a",
"\x1b",
"\x1c",
"\x1d",
"\x1e",
"\x1f",
"\x20",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xd2\x91",
"\xd1\x92",
"\xd1\x93",
"\xd1\x94",
"\xd1\x91",
"\xd1\x95",
"\xd1\x96",
"\xd1\x97",
"\xd1\x98",
"\xd1\x99",
"\xd1\x9a",
"\xd1\x9b",
"\xd1\x9c",
"\xd1\x9e",
"\xd1\x9f",
"\xef\xbf\xbd",
"\xd1\xa3",
"\xd1\xb3",
"\xd1\xb5",
"\xd1\xab",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\x5b",
"\xef\xbf\xbd",
"\x5d",
"\xef\xbf\xbd",
"\x5f",
"\xd2\x90",
"\xd0\x82",
"\xd0\x83",
"\xd0\x84",
"\xd0\x81",
"\xd0\x85",
"\xd0\x86",
"\xd0\x87",
"\xd0\x88",
"\xd0\x89",
"\xd0\x8a",
"\xd0\x8b",
"\xd0\x8c",
"\xd0\x8e",
"\xd0\x8f",
"\xd0\xaa",
"\xd1\xa2",
"\xd1\xb2",
"\xd1\xb4",
"\xd1\xaa",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\x7f",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
"\xef\xbf\xbd",
);
my %from_ucs4 = (
0x00000000 => "\x00",
0x00000001 => "\x01",
0x00000002 => "\x02",
0x00000003 => "\x03",
0x00000004 => "\x04",
0x00000005 => "\x05",
0x00000006 => "\x06",
0x00000007 => "\x07",
0x00000008 => "\x08",
0x00000009 => "\x09",
0x0000000a => "\x0a",
0x0000000b => "\x0b",
0x0000000c => "\x0c",
0x0000000d => "\x0d",
0x0000000e => "\x0e",
0x0000000f => "\x0f",
0x00000010 => "\x10",
0x00000011 => "\x11",
0x00000012 => "\x12",
0x00000013 => "\x13",
0x00000014 => "\x14",
0x00000015 => "\x15",
0x00000016 => "\x16",
0x00000017 => "\x17",
0x00000018 => "\x18",
0x00000019 => "\x19",
0x0000001a => "\x1a",
0x0000001b => "\x1b",
0x0000001c => "\x1c",
0x0000001d => "\x1d",
0x0000001e => "\x1e",
0x0000001f => "\x1f",
0x00000020 => "\x20",
0x0000005b => "\x5b",
0x0000005d => "\x5d",
0x0000005f => "\x5f",
0x0000007f => "\x7f",
0x00000401 => "\x64",
0x00000402 => "\x61",
0x00000403 => "\x62",
0x00000404 => "\x63",
0x00000405 => "\x65",
0x00000406 => "\x66",
0x00000407 => "\x67",
0x00000408 => "\x68",
0x00000409 => "\x69",
0x0000040a => "\x6a",
0x0000040b => "\x6b",
0x0000040c => "\x6c",
0x0000040e => "\x6d",
0x0000040f => "\x6e",
0x0000042a => "\x6f",
0x00000451 => "\x44",
0x00000452 => "\x41",
0x00000453 => "\x42",
0x00000454 => "\x43",
0x00000455 => "\x45",
0x00000456 => "\x46",
0x00000457 => "\x47",
0x00000458 => "\x48",
0x00000459 => "\x49",
0x0000045a => "\x4a",
0x0000045b => "\x4b",
0x0000045c => "\x4c",
0x0000045e => "\x4d",
0x0000045f => "\x4e",
0x00000462 => "\x70",
0x00000463 => "\x50",
0x0000046a => "\x73",
0x0000046b => "\x53",
0x00000472 => "\x71",
0x00000473 => "\x51",
0x00000474 => "\x72",
0x00000475 => "\x52",
0x00000490 => "\x60",
0x00000491 => "\x40",
);
sub _recode
{
if ($_[0]->{_from} eq 'INTERNAL') {
$_[1] = join '',
map $from_ucs4{$_}
|| (defined $from_ucs4{$_} ? $from_ucs4{$_} : "\x3f"),
@{$_[1]};
} elsif ($_[0]->{_to} eq 'UTF-8',) {
$_[1] = join '', map $to_utf8[$_], unpack 'C*', $_[1];
} else {
$_[1] = [ map
$to_ucs4[$_],
unpack 'C*', $_[1]
];
}
return 1;
}
1;
__END__
=head1 NAME
Locale::RecodeData::ISO_5427_EXT - Conversion routines for ISO_5427_EXT
=head1 SYNOPSIS
This module is internal to libintl. Do not use directly!
=head1 DESCRIPTION
This module is generated and contains the conversion tables and
routines for ISO_5427-EXT.
=head1 COMMENTS
The following comments have been extracted from the original charmap:
version: 1.0
repertoiremap: mnemonic,ds
source: ECMA registry
alias ISO-IR-54
alias ISO_5427:1981
Please note that aliases listed above are not necessarily valid!
=head1 CHARACTER TABLE
The following table is sorted in the same order as the original charmap.
All character codes are in hexadecimal. Please read 'ISO-10646' as
'ISO-10646-UCS4'.
Local | ISO-10646 | Description
-------+-----------+-------------------------------------------------
00 | 00000000 | NULL (NUL)
01 | 00000001 | START OF HEADING (SOH)
02 | 00000002 | START OF TEXT (STX)
03 | 00000003 | END OF TEXT (ETX)
04 | 00000004 | END OF TRANSMISSION (EOT)
05 | 00000005 | ENQUIRY (ENQ)
06 | 00000006 | ACKNOWLEDGE (ACK)
07 | 00000007 | BELL (BEL)
08 | 00000008 | BACKSPACE (BS)
09 | 00000009 | CHARACTER TABULATION (HT)
0A | 0000000A | LINE FEED (LF)
0B | 0000000B | LINE TABULATION (VT)
0C | 0000000C | FORM FEED (FF)
0D | 0000000D | CARRIAGE RETURN (CR)
0E | 0000000E | SHIFT OUT (SO)
0F | 0000000F | SHIFT IN (SI)
10 | 00000010 | DATALINK ESCAPE (DLE)
11 | 00000011 | DEVICE CONTROL ONE (DC1)
12 | 00000012 | DEVICE CONTROL TWO (DC2)
13 | 00000013 | DEVICE CONTROL THREE (DC3)
14 | 00000014 | DEVICE CONTROL FOUR (DC4)
15 | 00000015 | NEGATIVE ACKNOWLEDGE (NAK)
16 | 00000016 | SYNCHRONOUS IDLE (SYN)
17 | 00000017 | END OF TRANSMISSION BLOCK (ETB)
18 | 00000018 | CANCEL (CAN)
19 | 00000019 | END OF MEDIUM (EM)
1A | 0000001A | SUBSTITUTE (SUB)
1B | 0000001B | ESCAPE (ESC)
1C | 0000001C | FILE SEPARATOR (IS4)
1D | 0000001D | GROUP SEPARATOR (IS3)
1E | 0000001E | RECORD SEPARATOR (IS2)
1F | 0000001F | UNIT SEPARATOR (IS1)
20 | 00000020 | SPACE
40 | 00000491 | CYRILLIC SMALL LETTER GHE WITH UPTURN
41 | 00000452 | CYRILLIC SMALL LETTER DJE
42 | 00000453 | CYRILLIC SMALL LETTER GJE
43 | 00000454 | CYRILLIC SMALL LETTER UKRAINIAN IE
44 | 00000451 | CYRILLIC SMALL LETTER IO
45 | 00000455 | CYRILLIC SMALL LETTER DZE
46 | 00000456 | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
47 | 00000457 | CYRILLIC SMALL LETTER YI
48 | 00000458 | CYRILLIC SMALL LETTER JE
49 | 00000459 | CYRILLIC SMALL LETTER LJE
4A | 0000045A | CYRILLIC SMALL LETTER NJE
4B | 0000045B | CYRILLIC SMALL LETTER TSHE
4C | 0000045C | CYRILLIC SMALL LETTER KJE
4D | 0000045E | CYRILLIC SMALL LETTER SHORT U
4E | 0000045F | CYRILLIC SMALL LETTER DZHE
50 | 00000463 | CYRILLIC SMALL LETTER YAT
51 | 00000473 | CYRILLIC SMALL LETTER FITA
52 | 00000475 | CYRILLIC SMALL LETTER IZHITSA
53 | 0000046B | CYRILLIC SMALL LETTER BIG YUS
5B | 0000005B | LEFT SQUARE BRACKET
5D | 0000005D | RIGHT SQUARE BRACKET
5F | 0000005F | LOW LINE
60 | 00000490 | CYRILLIC CAPITAL LETTER GHE WITH UPTURN
61 | 00000402 | CYRILLIC CAPITAL LETTER DJE
62 | 00000403 | CYRILLIC CAPITAL LETTER GJE
63 | 00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
64 | 00000401 | CYRILLIC CAPITAL LETTER IO
65 | 00000405 | CYRILLIC CAPITAL LETTER DZE
66 | 00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
67 | 00000407 | CYRILLIC CAPITAL LETTER YI
68 | 00000408 | CYRILLIC CAPITAL LETTER JE
69 | 00000409 | CYRILLIC CAPITAL LETTER LJE
6A | 0000040A | CYRILLIC CAPITAL LETTER NJE
6B | 0000040B | CYRILLIC CAPITAL LETTER TSHE
6C | 0000040C | CYRILLIC CAPITAL LETTER KJE
6D | 0000040E | CYRILLIC CAPITAL LETTER SHORT U
6E | 0000040F | CYRILLIC CAPITAL LETTER DZHE
6F | 0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
70 | 00000462 | CYRILLIC CAPITAL LETTER YAT
71 | 00000472 | CYRILLIC CAPITAL LETTER FITA
72 | 00000474 | CYRILLIC CAPITAL LETTER IZHITSA
73 | 0000046A | CYRILLIC CAPITAL LETTER BIG YUS
7F | 0000007F | DELETE (DEL)
=head1 AUTHOR
Copyright (C) 2002-2016 L<Guido Flohr|http://www.guido-flohr.net/>
(L<mailto:guido.flohr@cantanea.com>), all rights reserved. See the source
code for details!code for details!
=head1 SEE ALSO
Locale::RecodeData(3), Locale::Recode(3), perl(1)
=cut
Local Variables:
mode: perl
perl-indent-level: 4
perl-continued-statement-offset: 4
perl-continued-brace-offset: 0
perl-brace-offset: -4
perl-brace-imaginary-offset: 0
perl-label-offset: -4
cperl-indent-level: 4
cperl-continued-statement-offset: 2
tab-width: 4
End:
|