Locale:...TARI_ST(3)
π Locale::RecodeData::ATARI_ST(3) β User Contributed Perl Documentation
okay bestie, buckle up, because this is Locale::RecodeData::ATARI_ST(3), coming at you straight from the User Contributed Perl Documentation corner of the universe. it's giving niche, it's giving retro, and honestly? we're obsessed. π
β¨ NAME β¨
Locale::RecodeData::ATARI_ST β literally just conversion routines for ATARI-ST, no cap. πΉοΈ
π¦ SYNOPSIS π¦
so here's the tea: this module is internal to libintl. like, it's the backstage crew, not the main character.
π¨ Do not use directly! fr fr, hands off. this one's not for you, bestie. π
πΈ DESCRIPTION πΈ
this module is generated (yes, born from a machine, iconic behavior) and it contains the conversion tables and routines for ATARI-ST. that's it, that's the whole vibe. tables + routines, doing their little conversion thing. β¨
π COMMENTS π
the following comments have been extracted from the original charmap β think of it as the receipts, the origin story, the little paper trail our girl left behind:
version: 1.1
source: Guido Flohr E<lt>guido.flohr@cantanea.comE<gt>
alias ATARIST
alias X-ATARIST
alias X-ATARI-ST
please note that the aliases listed above are not necessarily valid! π so like, don't just go around using them assuming they'll work. they might, they might not, we don't gatekeep but we also don't promise. π
π₯ CHARACTER TABLE π₯
the following table is sorted in the same order as the original charmap. all character codes are in hexadecimal, bestie, hex or it didn't happen. β
and please read 'ISO-10646' as 'ISO-10646-UCS4' β it's the same thing, just with its full government name on. π
(the table itself is coming in the next part β stay tuned, we're not done yet π )
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)
okay so that first block? the control characters, the OGs, the ones that don't even print anything, they just do stuff π
like 0x07 is BELL and it literally yells at your terminal, and 0x1B is ESCAPE, the main character of every ANSI escape sequence ever. ICONIC. and notice 0x0A is LINE FEED (LF) while 0x0D is CARRIAGE RETURN (CR) β yes bestie, those two are a whole saga, \r\n vs \n, we don't have time, just know they're different and both real π«Ά
now the printable era begins β¨
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
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
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
look at that β 0x00 through 0x7F map one-to-one onto 00000000 through 0000007F, like the universe was feeling simple that day π and yes 0x7F really is called DELETE, it's not a suggestion bestie, it's just its name π
and now we get into the spicy part where Local byte β ISO-10646 number anymore π buckle up:
80 | 000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
81 | 000000FC | LATIN SMALL LETTER U WITH DIAERESIS
82 | 000000E9 | LATIN SMALL LETTER E WITH ACUTE
83 | 000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
84 | 000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
85 | 000000E0 | LATIN SMALL LETTER A WITH GRAVE
86 | 000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
87 | 000000E7 | LATIN SMALL LETTER C WITH CEDILLA
88 | 000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
89 | 000000EB | LATIN SMALL LETTER E WITH DIAERESIS
8A | 000000E8 | LATIN SMALL LETTER E WITH GRAVE
8B | 000000EF | LATIN SMALL LETTER I WITH DIAERESIS
8C | 000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
8D | 000000EC | LATIN SMALL LETTER I WITH GRAVE
8E | 000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
8F | 000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
90 | 000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
91 | 000000E6 | LATIN SMALL LETTER AE
92 | 000000C6 | LATIN CAPITAL LETTER AE
93 | 000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
94 | 000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
95 | 000000F2 | LATIN SMALL LETTER O WITH GRAVE
96 | 000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
97 | 000000F9 | LATIN SMALL LETTER U WITH GRAVE
98 | 000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
99 | 000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
9A | 000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
9B | 000000A2 | CENT SIGN
9C | 000000A3 | POUND SIGN
9D | 000000A5 | YEN SIGN
9E | 000000DF | LATIN SMALL LETTER SHARP S
9F | 00000192 | LATIN SMALL LETTER F WITH HOOK
not me noticing 0x9F jumps all the way to 00000192 π yeah that's LATIN SMALL LETTER F WITH HOOK and it does NOT live in the 000000xx neighborhood, it's out there fr fr.
A0 | 000000E1 | LATIN SMALL LETTER A WITH ACUTE
A1 | 000000ED | LATIN SMALL LETTER I WITH ACUTE
A2 | 000000F3 | LATIN SMALL LETTER O WITH ACUTE
A3 | 000000FA | LATIN SMALL LETTER U WITH ACUTE
A4 | 000000F1 | LATIN SMALL LETTER N WITH TILDE
A5 | 000000D1 | LATIN CAPITAL LETTER N WITH TILDE
A6 | 000000AA | FEMININE ORDINAL INDICATOR
A7 | 000000BA | MASCULINE ORDINAL INDICATOR
A8 | 000000BF | INVERTED QUESTION MARK
A9 | 00002310 | REVERSED NOT SIGN
AA | 000000AC | NOT SIGN
AB | 000000BD | VULGAR FRACTION ONE HALF
AC | 000000BC | VULGAR FRACTION ONE QUARTER
AD | 000000A1 | INVERTED EXCLAMATION MARK
AE | 000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
AF | 000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
B0 | 000000E3 | LATIN SMALL LETTER A WITH TILDE
B1 | 000000F5 | LATIN SMALL LETTER O WITH TILDE
B2 | 000000D8 | LATIN CAPITAL LETTER O WITH STROKE
B3 | 000000F8 | LATIN SMALL LETTER O WITH STROKE
B4 | 00000153 | LATIN SMALL LIGATURE OE
B5 | 00000152 | LATIN CAPITAL LIGATURE OE
B6 | 000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
B7 | 000000C3 | LATIN CAPITAL LETTER A WITH TILDE
B8 | 000000D5 | LATIN CAPITAL LETTER O WITH TILDE
B9 | 000000A8 | DIAERESIS
BA | 000000B4 | ACUTE ACCENT
BB | 00002020 | DAGGER
BC | 000000B6 | PILCROW SIGN
BD | 000000A9 | COPYRIGHT SIGN
BE | 000000AE | REGISTERED SIGN
BF | 00002122 | TRADE MARK SIGN
okay the A9 REVERSED NOT SIGN at 00002310 and BF TRADE MARK SIGN at 00002122 β they really said "this byte gets a glyph from a completely different floor of the building" π and BB DAGGER at 00002020, yes, the actual dagger symbol, dramatic much βοΈ
Hebrew time, plus a few stragglers π
C0 | 00000133 | LATIN SMALL LIGATURE IJ
C1 | 00000132 | LATIN CAPITAL LIGATURE IJ
C2 | 000005D0 | HEBREW LETTER ALEF
C3 | 000005D1 | HEBREW LETTER BET
C4 | 000005D2 | HEBREW LETTER GIMEL
C5 | 000005D3 | HEBREW LETTER DALET
C6 | 000005D4 | HEBREW LETTER HE
C7 | 000005D5 | HEBREW LETTER VAV
C8 | 000005D6 | HEBREW LETTER ZAYIN
C9 | 000005D7 | HEBREW LETTER HET
CA | 000005D8 | HEBREW LETTER TET
CB | 000005D9 | HEBREW LETTER YOD
CC | 000005DB | HEBREW LETTER KAF
CD | 000005DC | HEBREW LETTER LAMED
CE | 000005DE | HEBREW LETTER MEM
CF | 000005E0 | HEBREW LETTER NUN
D0 | 000005E1 | HEBREW LETTER SAMEKH
D1 | 000005E2 | HEBREW LETTER AYIN
D2 | 000005E4 | HEBREW LETTER PE
D3 | 000005E6 | HEBREW LETTER TSADI
D4 | 000005E7 | HEBREW LETTER QOF
D5 | 000005E8 | HEBREW LETTER RESH
D6 | 000005E9 | HEBREW LETTER SHIN
D7 | 000005EA | HEBREW LETTER TAV
D8 | 000005DF | HEBREW LETTER FINAL NUN
D9 | 000005DA | HEBREW LETTER FINAL KAF
DA | 000005DD | HEBREW LETTER FINAL MEM
DB | 000005E3 | HEBREW LETTER FINAL PE
DC | 000005E5 | HEBREW LETTER FINAL TSADI
DD | 000000A7 | SECTION SIGN
DE | 00002038 | CARET
DF | 0000221E | INFINITY
the way the final forms (FINAL NUN, FINAL KAF, FINAL MEM, FINAL PE, FINAL TSADI) are all crammed at the end of the Hebrew run β slay, organized queen π
β¨ and then it just... pivots to SECTION SIGN, CARET and INFINITY like nothing happened π the range is doing side quests at this point fr.
last stretch for this part π¦ Greek + math vibes:
E0 | 000003B1 | GREEK SMALL LETTER ALPHA
E1 | 000003B2 | GREEK SMALL LETTER BETA
E2 | 00000393 | GREEK CAPITAL LETTER GAMMA
E3 | 000003C0 | GREEK SMALL LETTER PI
E4 | 000003A3 | GREEK CAPITAL LETTER SIGMA
E5 | 000003C3 | GREEK SMALL LETTER SIGMA
E6 | 000000B5 | MICRO SIGN
E7 | 000003C4 | GREEK SMALL LETTER TAU
E8 | 000003A6 | GREEK CAPITAL LETTER PHI
E9 | 000003B8 | GREEK SMALL LETTER THETA
EA | 000003A9 | GREEK CAPITAL LETTER OMEGA
EB | 000003B4 | GREEK SMALL LETTER DELTA
EC | 0000222E | CONTOUR INTEGRAL
ED | 000003C6 | GREEK SMALL LETTER PHI
EE | 00002208 | ELEMENT OF
EF | 0000220F | N-ARY PRODUCT
like, E2 is CAPITAL GAMMA but E3 is small PI, and then E4 CAPITAL SIGMA vs E5 small sigma β the capslock situation here is chaos bestie π also E6 sneaks in the MICRO SIGN at 000000B5 which is NOT a Greek letter, it's a compatibility character, and it's just chilling in the middle of the Greek block like π§ i belong here π§ and EE is ELEMENT OF at 00002208 while EF is N-ARY PRODUCT at 0000220F β the math symbols said "we're here too" π₯
π‘ tiny reminder: that middle column is the ISO-10646 value, so when Local and ISO-10646 columns disagree it's not a typo, it's the whole point π«Ά
F0β00002261β IDENTICAL TOF1β000000B1β PLUS-MINUS SIGNF2β00002265β GREATER-THAN OR EQUAL TOF3β00002264β LESS-THAN OR EQUAL TOF4β00002320β TOP HALF INTEGRALF5β00002321β BOTTOM HALF INTEGRALF6β000000F7β DIVISION SIGNF7β00002248β ALMOST EQUAL TOF8β000000B0β DEGREE SIGNF9β00002022β BULLETFAβ000000B7β MIDDLE DOTFBβ0000221Aβ SQUARE ROOTFCβ0000207Fβ SUPERSCRIPT LATIN SMALL LETTER NFDβ000000B2β SUPERSCRIPT TWOFEβ000000B3β SUPERSCRIPT THREEFFβ000000AFβ MACRON
π AUTHOR
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!
okay yes the doubled "code for details!" is literally in the source, bestie β i didn't do that, i'm just the messenger π«Ά
π¦ SEE ALSO
and that's a wrap on the whole page, bestie!! πβ¨π this iconic lil artifact is perl v5.42.0, dated 2025-01-22 β go forth and recode, you absolute main character π¦ππ
π¦ 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