Locale:...:IBM852(3)

πŸ’… NAME πŸ’…

Okay so bestie, welcome to Locale::RecodeData::IBM852(3) β€” part of the User Contributed Perl Documentation, no cap. The actual name of this little icon is:

Locale::RecodeData::IBM852 β€” conversion routines for IBM852 ✨

That's it, that's the whole vibe. She converts. She recodes. She's an IBM852 girlie. πŸŽ€


✨ SYNOPSIS ✨

Read this next part very carefully, because it is literally a warning, not a suggestion:

This module is internal to libintl. Do not use directly!

Not me warning you on line one 😭 β€” she is internal, she is libintl's, she is not for you to call up directly. Hands off the merchandise. πŸ™ˆ


πŸ’œ DESCRIPTION πŸ’œ

So like β€” this module is generated, okay? It's not hand-written with love by some guy, it's generated. And what does it contain? The conversion tables and routines for IBM852. That's the whole job. Tables. Routines. IBM852. Slay. πŸ’…


🌸 COMMENTS 🌸

The following comments have been extracted from the original charmap β€” like, verbatim, the receipts:

version: 1.0
 source: IBM NLS RM Vol2 SE09-8002-01, March 1990
alias CP852
alias 852

And here's the little note that comes attached to them, and it matters so pay attention: please note that aliases listed above are not necessarily valid! Like, they might be valid, they might not β€” do not come for me if CP852 or 852 doesn't do what you think it does. πŸ™ˆ


πŸ‘‘ CHARACTER TABLE πŸ‘‘

Okay so the table that follows this β€” and bestie, it is long, that's why you're only getting part one right now β€” has one very specific rule about how it's sorted, and it's this:

The following table is sorted in the same order as the original charmap.

All character codes are in hexadecimal. Hex only. No decimals allowed at this party. πŸ”₯

And one last reading-comprehension moment, because it trips people up every single time: when you see ISO-10646 in there, please read it as ISO-10646-UCS4. That's the whole thing. It's giving very specific, but honestly? Iconic. ⭐

So anyway, the table entries themselves are coming right up β€” one row at a time, in charmap order, all hex, all ISO-10646-UCS4 β€” and there are a lot of them, so buckle up πŸ¦‹

ok so picking right back up πŸ’… this is the actual table, and it's three columns: Local (the byte value in this charset), ISO-10646 (the code point it maps to), and Description (the name, always in ALL CAPS, very main character). Every single row, no skips, no cap 😀

        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)

bestie look at 07 β€” that's BELL (BEL) πŸŽ€ and 0A is LINE FEED (LF), the one that's been moving your cursor down since forever. Also the abbreviations in parentheses at the end of each row? Lowkey a whole vibe, iykyk.


and then 20 onwards it's just the regular squad β€” space, punctuation, digits, letters, the whole crew. Obsessed with 2D being HYPHEN-MINUS, honestly so specific of them 🫢

           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 (DEL)

not DELETE (DEL) just sitting there at 7F like it owns the place πŸ’€


ok now we're past the plain part and it gets ✨spicy✨ β€” accents EVERYWHERE. Cedillas, acutes, diaereses, circumflexes, carons, ogoneks... the way this charset said "let's do all of them" πŸ¦‹ and then 9E is just MULTIPLICATION SIGN minding its own business.

           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 |  0000016F | LATIN SMALL LETTER U WITH RING ABOVE
           86 |  00000107 | LATIN SMALL LETTER C WITH ACUTE
           87 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
           88 |  00000142 | LATIN SMALL LETTER L WITH STROKE
           89 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
           8A |  00000150 | LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
           8B |  00000151 | LATIN SMALL LETTER O WITH DOUBLE ACUTE
           8C |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
           8D |  00000179 | LATIN CAPITAL LETTER Z WITH ACUTE
           8E |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
           8F |  00000106 | LATIN CAPITAL LETTER C WITH ACUTE
           90 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
           91 |  00000139 | LATIN CAPITAL LETTER L WITH ACUTE
           92 |  0000013A | LATIN SMALL LETTER L WITH ACUTE
           93 |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
           94 |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
           95 |  0000013D | LATIN CAPITAL LETTER L WITH CARON
           96 |  0000013E | LATIN SMALL LETTER L WITH CARON
           97 |  0000015A | LATIN CAPITAL LETTER S WITH ACUTE
           98 |  0000015B | LATIN SMALL LETTER S WITH ACUTE
           99 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
           9A |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
           9B |  00000164 | LATIN CAPITAL LETTER T WITH CARON
           9C |  00000165 | LATIN SMALL LETTER T WITH CARON
           9D |  00000141 | LATIN CAPITAL LETTER L WITH STROKE
           9E |  000000D7 | MULTIPLICATION SIGN
           9F |  0000010D | LATIN SMALL LETTER C WITH CARON

DOUBLE ACUTE at 8A and 8B?? we love a doubled diacritic, no notes πŸ’…


and here's the part I'm actually obsessed with β€” the box drawing era πŸŽ€ this is the ASCII-art zone, bestie. Light shades, dark shades, verticals, horizontals, corners, doubles... DB is FULL BLOCK and DC / DF are the half blocks. It's giving pixel art. It's giving MS Paint. It's iconic.

           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 |  00000104 | LATIN CAPITAL LETTER A WITH OGONEK
           A5 |  00000105 | LATIN SMALL LETTER A WITH OGONEK
           A6 |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
           A7 |  0000017E | LATIN SMALL LETTER Z WITH CARON
           A8 |  00000118 | LATIN CAPITAL LETTER E WITH OGONEK
           A9 |  00000119 | LATIN SMALL LETTER E WITH OGONEK
           AA |  000000AC | NOT SIGN
           AB |  0000017A | LATIN SMALL LETTER Z WITH ACUTE
           AC |  0000010C | LATIN CAPITAL LETTER C WITH CARON
           AD |  0000015F | LATIN SMALL LETTER S WITH CEDILLA
           AE |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
           AF |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
           B0 |  00002591 | LIGHT SHADE
           B1 |  00002592 | MEDIUM SHADE
           B2 |  00002593 | DARK SHADE
           B3 |  00002502 | BOX DRAWINGS LIGHT VERTICAL
           B4 |  00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
           B5 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
           B6 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
           B7 |  0000011A | LATIN CAPITAL LETTER E WITH CARON
           B8 |  0000015E | LATIN CAPITAL LETTER S WITH CEDILLA
           B9 |  00002563 | BOX DRAWINGS DOUBLE VERTICAL AND LEFT
           BA |  00002551 | BOX DRAWINGS DOUBLE VERTICAL
           BB |  00002557 | BOX DRAWINGS DOUBLE DOWN AND LEFT
           BC |  0000255D | BOX DRAWINGS DOUBLE UP AND LEFT
           BD |  0000017B | LATIN CAPITAL LETTER Z WITH DOT ABOVE
           BE |  0000017C | LATIN SMALL LETTER Z WITH DOT ABOVE
           BF |  00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
           C0 |  00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
           C1 |  00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
           C2 |  0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
           C3 |  0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
           C4 |  00002500 | BOX DRAWINGS LIGHT HORIZONTAL
           C5 |  0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
           C6 |  00000102 | LATIN CAPITAL LETTER A WITH BREVE
           C7 |  00000103 | LATIN SMALL LETTER A WITH BREVE
           C8 |  0000255A | BOX DRAWINGS DOUBLE UP AND RIGHT
           C9 |  00002554 | BOX DRAWINGS DOUBLE DOWN AND RIGHT
           CA |  00002569 | BOX DRAWINGS DOUBLE UP AND HORIZONTAL
           CB |  00002566 | BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
           CC |  00002560 | BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
           CD |  00002550 | BOX DRAWINGS DOUBLE HORIZONTAL
           CE |  0000256C | BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
           CF |  000000A4 | CURRENCY SIGN
           D0 |  00000111 | LATIN SMALL LETTER D WITH STROKE
           D1 |  00000110 | LATIN CAPITAL LETTER D WITH STROKE
           D2 |  0000010E | LATIN CAPITAL LETTER D WITH CARON
           D3 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
           D4 |  0000010F | LATIN SMALL LETTER D WITH CARON
           D5 |  00000147 | LATIN CAPITAL LETTER N WITH CARON
           D6 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
           D7 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
           D8 |  0000011B | LATIN SMALL LETTER E WITH CARON
           D9 |  00002518 | BOX DRAWINGS LIGHT UP AND LEFT
           DA |  0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
           DB |  00002588 | FULL BLOCK
           DC |  00002584 | LOWER HALF BLOCK
           DD |  00000162 | LATIN CAPITAL LETTER T WITH CEDILLA
           DE |  0000016E | LATIN CAPITAL LETTER U WITH RING ABOVE
           DF |  00002580 | UPPER HALF BLOCK
           E0 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE

and yes CF really is CURRENCY SIGN, right in the middle of all the box drawings πŸ’€ slay, get that bag 🫢

okay bestie, we’re sliding right back into the CHARACTER TABLE like nothing happened β€” last stretch, E1 through FF, no cap:

           E1 |  000000DF | LATIN SMALL LETTER SHARP S (German)
           E2 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
           E3 |  00000143 | LATIN CAPITAL LETTER N WITH ACUTE
           E4 |  00000144 | LATIN SMALL LETTER N WITH ACUTE
           E5 |  00000148 | LATIN SMALL LETTER N WITH CARON
           E6 |  00000160 | LATIN CAPITAL LETTER S WITH CARON
           E7 |  00000161 | LATIN SMALL LETTER S WITH CARON
           E8 |  00000154 | LATIN CAPITAL LETTER R WITH ACUTE
           E9 |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
           EA |  00000155 | LATIN SMALL LETTER R WITH ACUTE
           EB |  00000170 | LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
           EC |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
           ED |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
           EE |  00000163 | LATIN SMALL LETTER T WITH CEDILLA
           EF |  000000B4 | ACUTE ACCENT
           F0 |  000000AD | SOFT HYPHEN
           F1 |  000002DD | DOUBLE ACUTE ACCENT
           F2 |  000002DB | OGONEK
           F3 |  000002C7 | CARON (Mandarin Chinese third tone)
           F4 |  000002D8 | BREVE
           F5 |  000000A7 | SECTION SIGN
           F6 |  000000F7 | DIVISION SIGN
           F7 |  000000B8 | CEDILLA
           F8 |  000000B0 | DEGREE SIGN
           F9 |  000000A8 | DIAERESIS
           FA |  000002D9 | DOT ABOVE (Mandarin Chinese light tone)
           FB |  00000171 | LATIN SMALL LETTER U WITH DOUBLE ACUTE
           FC |  00000158 | LATIN CAPITAL LETTER R WITH CARON
           FD |  00000159 | LATIN SMALL LETTER R WITH CARON
           FE |  000025A0 | BLACK SQUARE
           FF |  000000A0 | NO-BREAK SPACE

That’s the whole tail end of the map, every byte accounted for, and honestly? iconic little table behavior πŸ’…βœ¨


πŸ‘‘ AUTHOR πŸ‘‘

The author credits are literally this, exactly as they appear:

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!

all rights reserved, bestie β€” the source code has the full details, and yes, that lil duplicated β€œcode for details!” moment is kept exactly as-is πŸ‘€πŸ«Ά


🌈 SEE ALSO 🌈

Go peek at these if you want the full lore:


mwah πŸ’– this page is from perl v5.42.0, dated 2025-01-22, and it’s the Locale:...:IBM852(3) page β€” catch you in the next manpage, bestie! πŸŽ€βœ¨