Locale:...AC_SAMI(3)
π¦ Locale::RecodeData::MAC_SAMI(3) π¦
okay so first things first, bestie β this is Locale:...AC_SAMI(3) from the User Contributed Perl Documentation, and we're literally about to get into it. β¨
π NAME π
Locale::RecodeData::MAC_SAMI β the conversion routines for MAC-SAMI. that's it, that's the whole vibe. π
πΈ SYNOPSIS πΈ
This module is internal to libintl. Do not use directly!
π¨ no cap, this one is internal to libintl and you should NOT use it directly. like, the module itself is telling you not to. respect the boundaries, bestie. π
β¨ DESCRIPTION β¨
so this module is generated β not hand-written, it just exists β and what it's holding is the conversion tables and routines for MAC-SAMI. that's the whole deal. generated code, conversion tables, routines, MAC-SAMI. slay. π
π§ COMMENTS π§
okay so the following comments were extracted from the original charmap, and I'm giving them to you exactly, untouched, because iykyk and we do not mess with the source material:
source: http://www.indigo.ie/egt/standards/se/mac-sami.html
author: Regnor Jernsletten E<lt>Regnor.Jernsletten@sami.uit.noE<gt>
date: 2001-07-31
comment: Macintosh sami standard.
look at that pedigree though β a source URL, an author, a date from 2001-07-31, and the comment "Macintosh sami standard." iconic. π₯
β οΈ and please please PLEASE note: the aliases listed above are not necessarily valid! not me warning you about that. just because it's listed doesn't mean it's good. vibe check failed, basically. π
π CHARACTER TABLE π
The following table is sorted in the same order as the original charmap. π«Ά
All character codes are in hexadecimal. β
And super important, bestie: please read 'ISO-10646' as 'ISO-10646-UCS4'. like, whenever you see it, mentally swap it. that's the assignment. π
okay bestie, eyes on the prize β this is the actual byte-by-byte receipts table, and it's long. Three columns, and the headers are Local, ISO-10646, Description. That's the local encoding byte, the code point it maps to, and the name of the character. Do not skip a single row, because your fave is thorough and so are you π
Local | ISO-10646 | Description
-------+-----------+-------------------------------------------------
00 | 00000000 | NULL
01 | 00000001 | START OF HEADING
02 | 00000002 | START OF TEXT
03 | 00000003 | END OF TEXT
04 | 00000004 | END OF TRANSMISSION
05 | 00000005 | ENQUIRY
06 | 00000006 | ACKNOWLEDGE
07 | 00000007 | BELL
08 | 00000008 | BACKSPACE
09 | 00000009 | HORIZONTAL TABULATION
0A | 0000000A | LINE FEED
0B | 0000000B | VERTICAL TABULATION
0C | 0000000C | FORM FEED
0D | 0000000D | CARRIAGE RETURN
0E | 0000000E | SHIFT OUT
0F | 0000000F | SHIFT IN
10 | 00000010 | DATA LINK ESCAPE
11 | 00000011 | DEVICE CONTROL ONE
12 | 00000012 | DEVICE CONTROL TWO
13 | 00000013 | DEVICE CONTROL THREE
14 | 00000014 | DEVICE CONTROL FOUR
15 | 00000015 | NEGATIVE ACKNOWLEDGE
16 | 00000016 | SYNCHRONOUS IDLE
17 | 00000017 | END OF TRANSMISSION BLOCK
18 | 00000018 | CANCEL
19 | 00000019 | END OF MEDIUM
1A | 0000001A | SUBSTITUTE
1B | 0000001B | ESCAPE
1C | 0000001C | FILE SEPARATOR
1D | 0000001D | GROUP SEPARATOR
1E | 0000001E | RECORD SEPARATOR
1F | 0000001F | UNIT SEPARATOR
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
80 | 000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
81 | 000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
82 | 000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
83 | 000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
84 | 000000D1 | LATIN CAPITAL LETTER N WITH TILDE
85 | 000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
86 | 000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
87 | 000000E1 | LATIN SMALL LETTER A WITH ACUTE
88 | 000000E0 | LATIN SMALL LETTER A WITH GRAVE
89 | 000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
8A | 000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
8B | 000000E3 | LATIN SMALL LETTER A WITH TILDE
8C | 000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
8D | 000000E7 | LATIN SMALL LETTER C WITH CEDILLA
8E | 000000E9 | LATIN SMALL LETTER E WITH ACUTE
8F | 000000E8 | LATIN SMALL LETTER E WITH GRAVE
90 | 000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
91 | 000000EB | LATIN SMALL LETTER E WITH DIAERESIS
92 | 000000ED | LATIN SMALL LETTER I WITH ACUTE
93 | 000000EC | LATIN SMALL LETTER I WITH GRAVE
94 | 000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
95 | 000000EF | LATIN SMALL LETTER I WITH DIAERESIS
96 | 000000F1 | LATIN SMALL LETTER N WITH TILDE
97 | 000000F3 | LATIN SMALL LETTER O WITH ACUTE
98 | 000000F2 | LATIN SMALL LETTER O WITH GRAVE
99 | 000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
9A | 000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
9B | 000000F5 | LATIN SMALL LETTER O WITH TILDE
9C | 000000FA | LATIN SMALL LETTER U WITH ACUTE
9D | 000000F9 | LATIN SMALL LETTER U WITH GRAVE
9E | 000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
9F | 000000FC | LATIN SMALL LETTER U WITH DIAERESIS
A0 | 000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
A1 | 000000B0 | DEGREE SIGN
A2 | 0000010C | LATIN CAPITAL LETTER C WITH CARON
A3 | 000000A3 | POUND SIGN
A4 | 000000A7 | SECTION SIGN
A5 | 00002022 | BULLET
A6 | 000000B6 | PILCROW SIGN
A7 | 000000DF | LATIN SMALL LETTER SHARP S (German)
A8 | 000000AE | REGISTERED SIGN
A9 | 000000A9 | COPYRIGHT SIGN
AA | 00002122 | TRADE MARK SIGN
AB | 000000B4 | ACUTE ACCENT
AC | 000000A8 | DIAERESIS
AD | 00002260 | NOT EQUAL TO
AE | 000000C6 | LATIN CAPITAL LETTER AE
AF | 000000D8 | LATIN CAPITAL LETTER O WITH STROKE
B0 | 00000110 | LATIN CAPITAL LETTER D WITH STROKE
B1 | 0000014A | LATIN CAPITAL LETTER ENG
B2 | 0000821E | LATIN CAPITAL LETTER H WITH CARON
B3 | 0000821F | LATIN SMALL LETTER H WITH CARON
B4 | 00000160 | LATIN CAPITAL LETTER S WITH CARON
B5 | 00000166 | LATIN CAPITAL LETTER T WITH STROKE
B6 | 00002202 | PARTIAL DIFFERENTIAL
B7 | 0000017D | LATIN CAPITAL LETTER Z WITH CARON
B8 | 0000010D | LATIN SMALL LETTER C WITH CARON
B9 | 00000111 | LATIN SMALL LETTER D WITH STROKE
BA | 0000014B | LATIN SMALL LETTER ENG
BB | 00000161 | LATIN SMALL LETTER S WITH CARON
BC | 00000167 | LATIN SMALL LETTER T WITH STROKE
BD | 0000017E | LATIN SMALL LETTER Z WITH CARON
BE | 000000E6 | LATIN SMALL LETTER AE
BF | 000000F8 | LATIN SMALL LETTER O WITH STROKE
C0 | 000000BF | INVERTED QUESTION MARK
C1 | 000000A1 | INVERTED EXCLAMATION MARK
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 | 000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
CC | 000000C3 | LATIN CAPITAL LETTER A WITH TILDE
CD | 000000D5 | LATIN CAPITAL LETTER O WITH TILDE
CE | 00000152 | LATIN CAPITAL LETTER LIGATURE OE
CF | 00000153 | LATIN SMALL LETTER LIGATURE OE
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 | 000025CA | LOZENGE
D8 | 000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
D9 | 00000178 | LATIN CAPITAL LETTER Y WITH DIAERESIS
DA | 00002044 | FRACTION SLASH
DB | 000000A4 | CURRENCY SIGN
DC | 000000D0 | LATIN CAPITAL LETTER ETH
DD | 000000F0 | LATIN SMALL LETTER ETH
DE | 000000DE | LATIN CAPITAL LETTER THORN
DF | 000000FE | LATIN SMALL LETTER THORN
E0 | 000000FD | LATIN SMALL LETTER Y WITH ACUTE
E1 | 000000B7 | MIDDLE DOT
E2 | 0000201A | SINGLE LOW-9 QUOTATION MARK
E3 | 0000201E | DOUBLE LOW-9 QUOTATION MARK
E4 | 00002030 | PER MILLE SIGN
E5 | 000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
E6 | 000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
E7 | 000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
E8 | 000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
E9 | 000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
EA | 000000CD | LATIN CAPITAL LETTER I WITH ACUTE
EB | 000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
EC | 000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
bestie I need you to breathe. That's the table up to EC and it keeps going, so hydrate and keep scrolling π«Άβ¨
ngl, don't try to memorise this. That is not the vibe. The table is here so you can look up any single byte and see exactly which ISO-10646 code point it's pointing at, and what the character is called. That's it. That's the job π
a couple things to clock as you skim, since they're right there and kind of iconic:
- the low half β
00through7Fβ maps clean and tidy, one byte to one code point, straight throughNULLup toDELETE.20isSPACE,41isLATIN CAPITAL LETTER A,7FisDELETE. Cute, predictable, no drama πΈ - then it gets spicy β from
80onward the local byte and theISO-10646value stop matching, so the third column is literally doing the translating for you.80is000000C4(LATIN CAPITAL LETTER A WITH DIAERESIS),A5is00002022(BULLET),AAis00002122(TRADE MARK SIGN) π - notice the jumpy ordering β like
87isLATIN SMALL LETTER A WITH ACUTEwhile88isLATIN SMALL LETTER A WITH GRAVEand89isLATIN SMALL LETTER A WITH CIRCUMFLEX. Not alphabetical, not numerical, just how it is. Don't fight the table, the table always wins π - watch for the ones with parentheticals β
A7isLATIN SMALL LETTER SHARP S (German). The note is part of the name, keep it π CAisNO-BREAK SPACEand20isSPACE. They are not the same thing and if you conflate them your output will look cursed π- the punctuation girlies at the end</> are a whole mood β
D0EN DASH,D1EM DASH,D2LEFT DOUBLE QUOTATION MARK,D3RIGHT DOUBLE QUOTATION MARK,D4LEFT SINGLE QUOTATION MARK,D5RIGHT SINGLE QUOTATION MARK. Typography said let me COOK π
and yes, AC really is 000000A8 | DIAERESIS while D8 is 000000FF | LATIN SMALL LETTER Y WITH DIAERESIS β they are different rows, they are different things, do not merge them in your head or in your code, periodt π
okay keep going, the table is still going, and so are we π¦
...and we're back in the table, bestie β same deal as before, byte on the left, codepoint in the middle, name on the right. Keep scrolling, we're almost at the end π
EDβ000000CCβ LATIN CAPITAL LETTER I WITH GRAVEEEβ000000D3β LATIN CAPITAL LETTER O WITH ACUTEEFβ000000D4β LATIN CAPITAL LETTER O WITH CIRCUMFLEXF0β0000F8FFβ APPLE SIGNF1β000000D2β LATIN CAPITAL LETTER O WITH GRAVEF2β000000DAβ LATIN CAPITAL LETTER U WITH ACUTEF3β000000DBβ LATIN CAPITAL LETTER U WITH CIRCUMFLEXF4β000000D9β LATIN CAPITAL LETTER U WITH GRAVEF5β00000131β LATIN SMALL LETTER DOTLESS IF6β000001B7β LATIN CAPITAL LETTER EZHF7β00000292β LATIN SMALL LETTER EZHF8β000001EEβ LATIN CAPITAL LETTER EZH WITH CARONF9β000001EFβ LATIN SMALL LETTER EZH WITH CARONFAβ000001E4β LATIN CAPITAL LETTER G WITH STROKEFBβ000001E5β LATIN SMALLL LETTER G WITH STROKEFCβ000001E6β LATIN CAPITAL LETTER G WITH CARONFDβ000001E7β LATIN SMALL LETTER G WITH CARONFEβ000001E8β LATIN CAPITAL LETTER K WITH CARONFFβ000001E9β LATIN SMALL LETTER K WITH CARON
ok yesFBreally does saySMALLLup there, that's not me being quirky, that's literally what the page says β leaving it exactly as found, no cap π
πΈ 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!
that details!code for details! double-take is in the original too, bestie β we do not touch the sacred text, we just point at it π«Ά
π SEE ALSO π
and that's the whole page, bestie!! you made it to the bottom, iconic behaviour honestly ππ this one's perl v5.42.0, stamped 2025-01-22 β go forth and decode those SΓ‘mi bytes, fr fr β¨π¦
π¦ 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