Locale:...UKRAINE(3)
π Locale::RecodeData::MACUKRAINE(3) π
okay so real talk, bestie β this is Locale:...UKRAINE(3) from User Contributed Perl Documentation, and it's the Locale::RecodeData::MACUKRAINE page. yes the header looks a little cursed with those dots, we don't ask questions, we just vibe πΈ
β¨ NAME β¨
Locale::RecodeData::MACUKRAINE β conversion routines for MACUKRAINE
like, that's the whole name. she's lowkey self-explanatory and we respect that π«Ά
π SYNOPSIS π
This module is internal to libintl. Do not use directly!
bestie. i need you to hear me. this module is internal to libintl and the docs literally say Do not use directly! β so please do not come for her, do not use her in your lil script, do not make her the main character. she's backstage crew, not the performer π
π¦ DESCRIPTION π¦
so this module is generated β like, nobody sat there hand-writing it β and it contains the conversion tables and routines for MACUKRAINE. that's it, that's the job. tables in, routines out, charmap slay π
π¬ COMMENTS π¬
the following comments have been extracted from the original charmap, and they are iconic:
This charmap has been generated automatically from GNU libiconv conversions.
yep β generated automatically from GNU libiconv conversions. no human hands, just automated charmap energy β¨
and one crucial heads-up, because the original authors were being shady on purpose:
Please note that aliases listed above are not necessarily valid!
ngl that's the "don't @ me" of documentation. the aliases listed above? not necessarily valid. we said what we said π
π₯ CHARACTER TABLE π₯
okay this is the part where the actual table lives, and here's how to read her:
- the table is sorted in the same order as the original charmap β no reshuffling, no alphabetizing, she comes as she is π
- all character codes are in hexadecimal β hex only, bestie, no decimals allowed at this party π’
- and please read
'ISO-10646'as'ISO-10646-UCS4'β like, when you seeISO-10646, mentally swap inISO-10646-UCS4. it's giving "read the room" but for encoding names π
okay so the table is right there, three columns, no notes: Local, ISO-10646, and Description. read it like a menu, bestie π
π the table, part one: the invisible gremlins (00β1F)
these are the rows where the "Description" column is doing the absolute most with all-caps. every single one, no skips:
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)
look at NULL (NUL) in the first row, our little origin story icon β¨ and ESCAPE (ESC) at 1B being dramatic as ever, as it should.
πΈ part two: the punctuation era (20β3F)
SPACE kicks it off and honestly? she's the main character of this whole block π then it's pure keyboard-smash territory:
20 | 00000020 | SPACE
21 | 00000021 | EXCLAMATION MARK
22 | 00000022 | QUOTATION MARK
23 | 00000023 | NUMBER SIGN
24 | 00000024 | DOLLAR SIGN
25 | 00000025 | PERCENT SIGN
26 | 00000026 | AMPERSAND
27 | 00000027 | APOSTROPHE
28 | 00000028 | LEFT PARENTHESIS
29 | 00000029 | RIGHT PARENTHESIS
2A | 0000002A | ASTERISK
2B | 0000002B | PLUS SIGN
2C | 0000002C | COMMA
2D | 0000002D | HYPHEN-MINUS
2E | 0000002E | FULL STOP
2F | 0000002F | SOLIDUS
30 | 00000030 | DIGIT ZERO
31 | 00000031 | DIGIT ONE
32 | 00000032 | DIGIT TWO
33 | 00000033 | DIGIT THREE
34 | 00000034 | DIGIT FOUR
35 | 00000035 | DIGIT FIVE
36 | 00000036 | DIGIT SIX
37 | 00000037 | DIGIT SEVEN
38 | 00000038 | DIGIT EIGHT
39 | 00000039 | DIGIT NINE
3A | 0000003A | COLON
3B | 0000003B | SEMICOLON
3C | 0000003C | LESS-THAN SIGN
3D | 0000003D | EQUALS SIGN
3E | 0000003E | GREATER-THAN SIGN
3F | 0000003F | QUESTION MARK
DIGIT ZERO through DIGIT NINE all lined up in a row like a little squad π«Ά and yes bestie, FULL STOP at 2E β she said periodt π
π¦ part three: the capital letter era (40β5F)
COMMERCIAL AT opens the gates at 40 and then it's just the whole uppercase alphabet serving looks, followed by the bracket girlies:
40 | 00000040 | COMMERCIAL AT
41 | 00000041 | LATIN CAPITAL LETTER A
42 | 00000042 | LATIN CAPITAL LETTER B
43 | 00000043 | LATIN CAPITAL LETTER C
44 | 00000044 | LATIN CAPITAL LETTER D
45 | 00000045 | LATIN CAPITAL LETTER E
46 | 00000046 | LATIN CAPITAL LETTER F
47 | 00000047 | LATIN CAPITAL LETTER G
48 | 00000048 | LATIN CAPITAL LETTER H
49 | 00000049 | LATIN CAPITAL LETTER I
4A | 0000004A | LATIN CAPITAL LETTER J
4B | 0000004B | LATIN CAPITAL LETTER K
4C | 0000004C | LATIN CAPITAL LETTER L
4D | 0000004D | LATIN CAPITAL LETTER M
4E | 0000004E | LATIN CAPITAL LETTER N
4F | 0000004F | LATIN CAPITAL LETTER O
50 | 00000050 | LATIN CAPITAL LETTER P
51 | 00000051 | LATIN CAPITAL LETTER Q
52 | 00000052 | LATIN CAPITAL LETTER R
53 | 00000053 | LATIN CAPITAL LETTER S
54 | 00000054 | LATIN CAPITAL LETTER T
55 | 00000055 | LATIN CAPITAL LETTER U
56 | 00000056 | LATIN CAPITAL LETTER V
57 | 00000057 | LATIN CAPITAL LETTER W
58 | 00000058 | LATIN CAPITAL LETTER X
59 | 00000059 | LATIN CAPITAL LETTER Y
5A | 0000005A | LATIN CAPITAL LETTER Z
5B | 0000005B | LEFT SQUARE BRACKET
5C | 0000005C | REVERSE SOLIDUS
5D | 0000005D | RIGHT SQUARE BRACKET
5E | 0000005E | CIRCUMFLEX ACCENT
5F | 0000005F | LOW LINE
π part four: lowercase, then the basement (60β7F)
same energy, but smol. GRAVE ACCENT at 60 is the transition icon ngl π and then the lowercase run, the curly brackets, and DELETE (DEL) at 7F sitting at the end like π:
60 | 00000060 | GRAVE ACCENT
61 | 00000061 | LATIN SMALL LETTER A
62 | 00000062 | LATIN SMALL LETTER B
63 | 00000063 | LATIN SMALL LETTER C
64 | 00000064 | LATIN SMALL LETTER D
65 | 00000065 | LATIN SMALL LETTER E
66 | 00000066 | LATIN SMALL LETTER F
67 | 00000067 | LATIN SMALL LETTER G
68 | 00000068 | LATIN SMALL LETTER H
69 | 00000069 | LATIN SMALL LETTER I
6A | 0000006A | LATIN SMALL LETTER J
6B | 0000006B | LATIN SMALL LETTER K
6C | 0000006C | LATIN SMALL LETTER L
6D | 0000006D | LATIN SMALL LETTER M
6E | 0000006E | LATIN SMALL LETTER N
6F | 0000006F | LATIN SMALL LETTER O
70 | 00000070 | LATIN SMALL LETTER P
71 | 00000071 | LATIN SMALL LETTER Q
72 | 00000072 | LATIN SMALL LETTER R
73 | 00000073 | LATIN SMALL LETTER S
74 | 00000074 | LATIN SMALL LETTER T
75 | 00000075 | LATIN SMALL LETTER U
76 | 00000076 | LATIN SMALL LETTER V
77 | 00000077 | LATIN SMALL LETTER W
78 | 00000078 | LATIN SMALL LETTER X
79 | 00000079 | LATIN SMALL LETTER Y
7A | 0000007A | LATIN SMALL LETTER Z
7B | 0000007B | LEFT CURLY BRACKET
7C | 0000007C | VERTICAL LINE
7D | 0000007D | RIGHT CURLY BRACKET
7E | 0000007E | TILDE
7F | 0000007F | DELETE (DEL)
π part five: the Cyrillic capital era (80β9F)
okay THIS is where the Ukraine locale starts showing its whole entire self πΊπ¦ the Local value keeps climbing but the ISO-10646 value jumps all the way to 00000410 and up β and every description is CYRILLIC CAPITAL LETTER something. obsessed:
80 | 00000410 | CYRILLIC CAPITAL LETTER A
81 | 00000411 | CYRILLIC CAPITAL LETTER BE
82 | 00000412 | CYRILLIC CAPITAL LETTER VE
83 | 00000413 | CYRILLIC CAPITAL LETTER GHE
84 | 00000414 | CYRILLIC CAPITAL LETTER DE
85 | 00000415 | CYRILLIC CAPITAL LETTER IE
86 | 00000416 | CYRILLIC CAPITAL LETTER ZHE
87 | 00000417 | CYRILLIC CAPITAL LETTER ZE
88 | 00000418 | CYRILLIC CAPITAL LETTER I
89 | 00000419 | CYRILLIC CAPITAL LETTER SHORT I
8A | 0000041A | CYRILLIC CAPITAL LETTER KA
8B | 0000041B | CYRILLIC CAPITAL LETTER EL
8C | 0000041C | CYRILLIC CAPITAL LETTER EM
8D | 0000041D | CYRILLIC CAPITAL LETTER EN
8E | 0000041E | CYRILLIC CAPITAL LETTER O
8F | 0000041F | CYRILLIC CAPITAL LETTER PE
90 | 00000420 | CYRILLIC CAPITAL LETTER ER
91 | 00000421 | CYRILLIC CAPITAL LETTER ES
92 | 00000422 | CYRILLIC CAPITAL LETTER TE
93 | 00000423 | CYRILLIC CAPITAL LETTER U
94 | 00000424 | CYRILLIC CAPITAL LETTER EF
95 | 00000425 | CYRILLIC CAPITAL LETTER HA
96 | 00000426 | CYRILLIC CAPITAL LETTER TSE
97 | 00000427 | CYRILLIC CAPITAL LETTER CHE
98 | 00000428 | CYRILLIC CAPITAL LETTER SHA
99 | 00000429 | CYRILLIC CAPITAL LETTER SHCHA
9A | 0000042A | CYRILLIC CAPITAL LETTER HARD SIGN
9B | 0000042B | CYRILLIC CAPITAL LETTER YERU
9C | 0000042C | CYRILLIC CAPITAL LETTER SOFT SIGN
9D | 0000042D | CYRILLIC CAPITAL LETTER E
9E | 0000042E | CYRILLIC CAPITAL LETTER YU
9F | 0000042F | CYRILLIC CAPITAL LETTER YA
CYRILLIC CAPITAL LETTER SHCHA at 99? iconic name, no notes π
π part six: the mixed bag (A0βBF)
and now we get β¨chaosβ¨ because the ISO-10646 column starts doing whatever it wants β 00002020 for DAGGER, 000000B0 for DEGREE SIGN, 00000490 for CYRILLIC CAPITAL LETTER GHE WITH UPTURN, 000000A3 for POUND SIGN. it's giving "I contain multitudes" πΈ
A0 | 00002020 | DAGGER
A1 | 000000B0 | DEGREE SIGN
A2 | 00000490 | CYRILLIC CAPITAL LETTER GHE WITH UPTURN
A3 | 000000A3 | POUND SIGN
A4 | 000000A7 | SECTION SIGN
A5 | 00002022 | BULLET
A6 | 000000B6 | PILCROW SIGN
A7 | 00000406 | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
A8 | 000000AE | REGISTERED SIGN
A9 | 000000A9 | COPYRIGHT SIGN
AA | 00002122 | TRADE MARK SIGN
AB | 00000402 | CYRILLIC CAPITAL LETTER DJE
AC | 00000452 | CYRILLIC SMALL LETTER DJE
AD | 00002260 | NOT EQUAL TO
AE | 00000403 | CYRILLIC CAPITAL LETTER GJE
AF | 00000453 | CYRILLIC SMALL LETTER GJE
B0 | 0000221E | INFINITY
B1 | 000000B1 | PLUS-MINUS SIGN
B2 | 00002264 | LESS-THAN OR EQUAL TO
B3 | 00002265 | GREATER-THAN OR EQUAL TO
B4 | 00000456 | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
B5 | 000000B5 | MICRO SIGN
B6 | 00000491 | CYRILLIC SMALL LETTER GHE WITH UPTURN
B7 | 00000408 | CYRILLIC CAPITAL LETTER JE
B8 | 00000404 | CYRILLIC CAPITAL LETTER UKRAINIAN IE
B9 | 00000454 | CYRILLIC SMALL LETTER UKRAINIAN IE
BA | 00000407 | CYRILLIC CAPITAL LETTER YI
BB | 00000457 | CYRILLIC SMALL LETTER YI
BC | 00000409 | CYRILLIC CAPITAL LETTER LJE
BD | 00000459 | CYRILLIC SMALL LETTER LJE
BE | 0000040A | CYRILLIC CAPITAL LETTER NJE
BF | 0000045A | CYRILLIC SMALL LETTER NJE
INFINITY at B0?! love that for us π also note how LJE and NJE come in capital/small pairs back to back β the symmetry, the structure, we love to see it π«Ά
π§ part seven: symbols & more Cyrillic (C0βDF)
this block has everything: NOT SIGN, SQUARE ROOT, ALMOST EQUAL TO, INCREMENT, the angle quotes, the em/en dashes, the curly quotes, and a whole bunch of Cyrillic letters sneaking in between. vibe check: immaculate β¨
C0 | 00000458 | CYRILLIC SMALL LETTER JE
C1 | 00000405 | CYRILLIC CAPITAL LETTER DZE
C2 | 000000AC | NOT SIGN
C3 | 0000221A | SQUARE ROOT
C4 | 00000192 | LATIN SMALL LETTER F WITH HOOK
C5 | 00002248 | ALMOST EQUAL TO
C6 | 00002206 | INCREMENT
C7 | 000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
C8 | 000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
C9 | 00002026 | HORIZONTAL ELLIPSIS
CA | 000000A0 | NO-BREAK SPACE
CB | 0000040B | CYRILLIC CAPITAL LETTER TSHE
CC | 0000045B | CYRILLIC SMALL LETTER TSHE
CD | 0000040C | CYRILLIC CAPITAL LETTER KJE
CE | 0000045C | CYRILLIC SMALL LETTER KJE
CF | 00000455 | CYRILLIC SMALL LETTER DZE
D0 | 00002013 | EN DASH
D1 | 00002014 | EM DASH
D2 | 0000201C | LEFT DOUBLE QUOTATION MARK
D3 | 0000201D | RIGHT DOUBLE QUOTATION MARK
D4 | 00002018 | LEFT SINGLE QUOTATION MARK
D5 | 00002019 | RIGHT SINGLE QUOTATION MARK
D6 | 000000F7 | DIVISION SIGN
D7 | 0000201E | DOUBLE LOW-9 QUOTATION MARK
D8 | 0000040E | CYRILLIC CAPITAL LETTER SHORT U
D9 | 0000045E | CYRILLIC SMALL LETTER SHORT U
DA | 0000040F | CYRILLIC CAPITAL LETTER DZHE
DB | 0000045F | CYRILLIC SMALL LETTER DZHE
DC | 00002116 | NUMERO SIGN
DD | 00000401 | CYRILLIC CAPITAL LETTER IO
DE | 00000451 | CYRILLIC SMALL LETTER IO
DF | 0000044F | CYRILLIC SMALL LETTER YA
NO-BREAK SPACE at CA β she's a space but she's β¨not like other spacesβ¨ π
π part eight: the lowercase Cyrillic run (E0βEF)
and here's where it flips! all the Cyrillic letters go from CYRILLIC CAPITAL LETTER to CYRILLIC SMALL LETTER, and the ISO-10646 values shift down by exactly 0x20 from their capital counterparts β 00000430 for A, and so on. it's the glow-down era and honestly the lowercase letters ate π
E0 | 00000430 | CYRILLIC SMALL LETTER A
E1 | 00000431 | CYRILLIC SMALL LETTER BE
E2 | 00000432 | CYRILLIC SMALL LETTER VE
E3 | 00000433 | CYRILLIC SMALL LETTER GHE
E4 | 00000434 | CYRILLIC SMALL LETTER DE
E5 | 00000435 | CYRILLIC SMALL LETTER IE
E6 | 00000436 | CYRILLIC SMALL LETTER ZHE
E7 | 00000437 | CYRILLIC SMALL LETTER ZE
E8 | 00000438 | CYRILLIC SMALL LETTER I
E9 | 00000439 | CYRILLIC SMALL LETTER SHORT I
EA | 0000043A | CYRILLIC SMALL LETTER KA
EB | 0000043B | CYRILLIC SMALL LETTER EL
EC | 0000043C | CYRILLIC SMALL LETTER EM
ED | 0000043D | CYRILLIC SMALL LETTER EN
EE | 0000043E | CYRILLIC SMALL LETTER O
EF | 0000043F | CYRILLIC SMALL LETTER PE
and that's where this chunk of the table leaves us β mid-lowercase-alphabet, CYRILLIC SMALL LETTER PE at EF β¨ the rest is still coming, so don't go anywhere π«Ά
Final stretch of the character table, F0 β FF, zero rows skipped π₯
F0 | 00000440 | CYRILLIC SMALL LETTER ER
F1 | 00000441 | CYRILLIC SMALL LETTER ES
F2 | 00000442 | CYRILLIC SMALL LETTER TE
F3 | 00000443 | CYRILLIC SMALL LETTER U
F4 | 00000444 | CYRILLIC SMALL LETTER EF
F5 | 00000445 | CYRILLIC SMALL LETTER HA
F6 | 00000446 | CYRILLIC SMALL LETTER TSE
F7 | 00000447 | CYRILLIC SMALL LETTER CHE
F8 | 00000448 | CYRILLIC SMALL LETTER SHA
F9 | 00000449 | CYRILLIC SMALL LETTER SHCHA
FA | 0000044A | CYRILLIC SMALL LETTER HARD SIGN
FB | 0000044B | CYRILLIC SMALL LETTER YERU
FC | 0000044C | CYRILLIC SMALL LETTER SOFT SIGN
FD | 0000044D | CYRILLIC SMALL LETTER E
FE | 0000044E | CYRILLIC SMALL LETTER YU
FF | 000000A4 | CURRENCY SIGN
π AUTHOR π
Yep bestie, hereβs the copyright tea β β all of this is owned, and the source code has the details:
Copyright (C) 2002-2017 Guido Flohr <http://www.guido-flohr.net/>
(<mailto:guido.flohr@cantanea.com>), all rights reserved. See the
source code for details!code for details!
Iconic. Owned. Periodt. π
π SEE ALSO π
Go peek at these besties too:
Bye bestie β the footer says perl v5.42.0 and 2025-01-22, and thatβs the whole manual page. Slay and stay locale-correct β¨π«Άπ
π¦ where this page comes from
- opensuse-leap 16.0: perl-libintl-perl 1.350.0-160000.2.2 Β· GPL-3.0-or-later
- opensuse-leap 16.0: perl-libintl-perl 1.350.0-160000.2.2 Β· GPL-3.0-or-later
- opensuse-leap 16.0: perl-libintl-perl 1.350.0-160000.2.2 Β· GPL-3.0-or-later
- opensuse-leap 16.0: perl-libintl-perl 1.350.0-160000.2.2 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms