Locale:...:IBM297(3)

🌸 NAME 🌸 β€” Locale::RecodeData::IBM297 (Locale:...:IBM297(3))

okay so bestie, welcome to the Locale:...:IBM297(3) page β€” the header has Locale:...:IBM297(3) on both sides of the User Contributed Perl Documentation label, so you know exactly what page you’re on. The module is Locale::RecodeData::IBM297, and its whole job is conversion routines for IBM297 πŸ’…βœ¨.

✨ SYNOPSIS ✨

Vibe check first: this module is internal to libintl, so do not use it directly, fr fr 🫢.

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

🌈 DESCRIPTION 🌈

This module is generated, no cap β€” and it contains the conversion tables and routines for IBM297. That’s the tea πŸ΅πŸ’–.

πŸŽ€ COMMENTS πŸŽ€

The following comments have been extracted from the original charmap:

version: 1.0
 source: IBM NLS RM Vol2 SE09-8002-01, March 1990
alias CP297
alias EBCDIC-CP-FR

And just a lil heads-up, bestie: the aliases listed above are not necessarily valid πŸ™ˆ. Like, don’t assume they’re all good just because they’re listed.

πŸ‘‘ 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' 🌟.

okay so the table continues, and bestie I need you to know the columns are still Local β†’ ISO-10646 β†’ Description the whole way down. local byte, code point, actual name. that's the vibe check for every single line. let's go πŸ‘‘

first chunk: the control characters, 00 through 3F, and honestly this is the messy part where IBM297 decided to shuffle everything around. like why is 04 giving STRING TERMINATOR when that's not where C says it should be. iconic chaos, no notes.

00 |  00000000 | NULL (NUL)
01 |  00000001 | START OF HEADING (SOH)
02 |  00000002 | START OF TEXT (STX)
03 |  00000003 | END OF TEXT (ETX)
04 |  0000009C | STRING TERMINATOR (ST)
05 |  00000009 | CHARACTER TABULATION (HT)
06 |  00000086 | START OF SELECTED AREA (SSA)
07 |  0000007F | DELETE (DEL)
08 |  00000097 | END OF GUARDED AREA (EPA)
09 |  0000008D | REVERSE LINE FEED (RI)
0A |  0000008E | SINGLE-SHIFT TWO (SS2)
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 |  0000009D | OPERATING SYSTEM COMMAND (OSC)
15 |  00000085 | NEXT LINE (NEL)
16 |  00000008 | BACKSPACE (BS)
17 |  00000087 | END OF SELECTED AREA (ESA)
18 |  00000018 | CANCEL (CAN)
19 |  00000019 | END OF MEDIUM (EM)
1A |  00000092 | PRIVATE USE TWO (PU2)
1B |  0000008F | SINGLE-SHIFT THREE (SS3)
1C |  0000001C | FILE SEPARATOR (IS4)
1D |  0000001D | GROUP SEPARATOR (IS3)
1E |  0000001E | RECORD SEPARATOR (IS2)
1F |  0000001F | UNIT SEPARATOR (IS1)
20 |  00000080 | PADDING CHARACTER (PAD)
21 |  00000081 | HIGH OCTET PRESET (HOP)
22 |  00000082 | BREAK PERMITTED HERE (BPH)
23 |  00000083 | NO BREAK HERE (NBH)
24 |  00000084 | INDEX (IND)
25 |  0000000A | LINE FEED (LF)
26 |  00000017 | END OF TRANSMISSION BLOCK (ETB)
27 |  0000001B | ESCAPE (ESC)
28 |  00000088 | CHARACTER TABULATION SET (HTS)
29 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
2A |  0000008A | LINE TABULATION SET (VTS)
2B |  0000008B | PARTIAL LINE FORWARD (PLD)
2C |  0000008C | PARTIAL LINE BACKWARD (PLU)
2D |  00000005 | ENQUIRY (ENQ)
2E |  00000006 | ACKNOWLEDGE (ACK)
2F |  00000007 | BELL (BEL)
30 |  00000090 | DEVICE CONTROL STRING (DCS)
31 |  00000091 | PRIVATE USE ONE (PU1)
32 |  00000016 | SYNCHRONOUS IDLE (SYN)
33 |  00000093 | SET TRANSMIT STATE (STS)
34 |  00000094 | CANCEL CHARACTER (CCH)
35 |  00000095 | MESSAGE WAITING (MW)
36 |  00000096 | START OF GUARDED AREA (SPA)
37 |  00000004 | END OF TRANSMISSION (EOT)
38 |  00000098 | START OF STRING (SOS)
39 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
3A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
3B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
3C |  00000014 | DEVICE CONTROL FOUR (DC4)
3D |  00000015 | NEGATIVE ACKNOWLEDGE (NAK)
3E |  0000009E | PRIVACY MESSAGE (PM)
3F |  0000001A | SUBSTITUTE (SUB)

a moment of silence for 25 being LINE FEED and 2D being ENQUIRY. truly not the lineup anyone expected 🫠


next up, 40 through 7F β€” and this is where it gets cute, because this is where actual letters and punctuation live. look at 42 through 47 just vibing with all the little a-variants: Γ’ Γ€ Γ‘ Γ£ Γ₯. highkey a whole aesthetic. and 59 is the German sharp s, so proud of itself. 6A is f9 which is a small u with grave, sitting right next to a comma at 6B. sure bestie. whatever you say.

40 |  00000020 | SPACE
41 |  000000A0 | NO-BREAK SPACE
42 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
43 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
44 |  00000040 | COMMERCIAL AT
45 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
46 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
47 |  000000E5 | LATIN SMALL LETTER A WITH RING ABOVE
48 |  0000005C | REVERSE SOLIDUS
49 |  000000F1 | LATIN SMALL LETTER N WITH TILDE
4A |  000000B0 | DEGREE SIGN
4B |  0000002E | FULL STOP
4C |  0000003C | LESS-THAN SIGN
4D |  00000028 | LEFT PARENTHESIS
4E |  0000002B | PLUS SIGN
4F |  00000021 | EXCLAMATION MARK
50 |  00000026 | AMPERSAND
51 |  0000007B | LEFT CURLY BRACKET
52 |  000000EA | LATIN SMALL LETTER E WITH CIRCUMFLEX
53 |  000000EB | LATIN SMALL LETTER E WITH DIAERESIS
54 |  0000007D | RIGHT CURLY BRACKET
55 |  000000ED | LATIN SMALL LETTER I WITH ACUTE
56 |  000000EE | LATIN SMALL LETTER I WITH CIRCUMFLEX
57 |  000000EF | LATIN SMALL LETTER I WITH DIAERESIS
58 |  000000EC | LATIN SMALL LETTER I WITH GRAVE
59 |  000000DF | LATIN SMALL LETTER SHARP S (German)
5A |  000000A7 | SECTION SIGN
5B |  00000024 | DOLLAR SIGN
5C |  0000002A | ASTERISK
5D |  00000029 | RIGHT PARENTHESIS
5E |  0000003B | SEMICOLON
5F |  0000005E | CIRCUMFLEX ACCENT
60 |  0000002D | HYPHEN-MINUS
61 |  0000002F | SOLIDUS
62 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
63 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
64 |  000000C0 | LATIN CAPITAL LETTER A WITH GRAVE
65 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
66 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
67 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
68 |  000000C7 | LATIN CAPITAL LETTER C WITH CEDILLA
69 |  000000D1 | LATIN CAPITAL LETTER N WITH TILDE
6A |  000000F9 | LATIN SMALL LETTER U WITH GRAVE
6B |  0000002C | COMMA
6C |  00000025 | PERCENT SIGN
6D |  0000005F | LOW LINE
6E |  0000003E | GREATER-THAN SIGN
6F |  0000003F | QUESTION MARK
70 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
71 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
72 |  000000CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX
73 |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
74 |  000000C8 | LATIN CAPITAL LETTER E WITH GRAVE
75 |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
76 |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
77 |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
78 |  000000CC | LATIN CAPITAL LETTER I WITH GRAVE
79 |  000000B5 | MICRO SIGN
7A |  0000003A | COLON
7B |  000000A3 | POUND SIGN
7C |  000000E0 | LATIN SMALL LETTER A WITH GRAVE
7D |  00000027 | APOSTROPHE
7E |  0000003D | EQUALS SIGN
7F |  00000022 | QUOTATION MARK
bestie the 7F slot is QUOTATION MARK here, not DELETE (DELETE went and hid at 07, remember?). do not assume anything. always read the table. πŸ™ˆ

80 through BF! this chunk has RANGE. 8C and 8E are the Icelandic icons eth and thorn (ΓΎ! the letter that looks like a whole vibe), 8A and 8B are the double angle quotation marks being dramatic together, and then 90 is... LEFT SQUARE BRACKET. and 91–99 are j k l m n o p q r in a perfect little run. it's giving lowercase alphabet field trip ✨

and then the accents show up like A0 GRAVE ACCENT, A1 DIAERESIS, and A2–A9 finish off s t u v w x y z. chef's kiss. ate. πŸ’…

80 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
81 |  00000061 | LATIN SMALL LETTER A
82 |  00000062 | LATIN SMALL LETTER B
83 |  00000063 | LATIN SMALL LETTER C
84 |  00000064 | LATIN SMALL LETTER D
85 |  00000065 | LATIN SMALL LETTER E
86 |  00000066 | LATIN SMALL LETTER F
87 |  00000067 | LATIN SMALL LETTER G
88 |  00000068 | LATIN SMALL LETTER H
89 |  00000069 | LATIN SMALL LETTER I
8A |  000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
8B |  000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
8C |  000000F0 | LATIN SMALL LETTER ETH (Icelandic)
8D |  000000FD | LATIN SMALL LETTER Y WITH ACUTE
8E |  000000FE | LATIN SMALL LETTER THORN (Icelandic)
8F |  000000B1 | PLUS-MINUS SIGN
90 |  0000005B | LEFT SQUARE BRACKET
91 |  0000006A | LATIN SMALL LETTER J
92 |  0000006B | LATIN SMALL LETTER K
93 |  0000006C | LATIN SMALL LETTER L
94 |  0000006D | LATIN SMALL LETTER M
95 |  0000006E | LATIN SMALL LETTER N
96 |  0000006F | LATIN SMALL LETTER O
97 |  00000070 | LATIN SMALL LETTER P
98 |  00000071 | LATIN SMALL LETTER Q
99 |  00000072 | LATIN SMALL LETTER R
9A |  000000AA | FEMININE ORDINAL INDICATOR
9B |  000000BA | MASCULINE ORDINAL INDICATOR
9C |  000000E6 | LATIN SMALL LETTER AE
9D |  000000B8 | CEDILLA
9E |  000000C6 | LATIN CAPITAL LETTER AE
9F |  000000A4 | CURRENCY SIGN
A0 |  00000060 | GRAVE ACCENT
A1 |  000000A8 | DIAERESIS
A2 |  00000073 | LATIN SMALL LETTER S
A3 |  00000074 | LATIN SMALL LETTER T
A4 |  00000075 | LATIN SMALL LETTER U
A5 |  00000076 | LATIN SMALL LETTER V
A6 |  00000077 | LATIN SMALL LETTER W
A7 |  00000078 | LATIN SMALL LETTER X
A8 |  00000079 | LATIN SMALL LETTER Y
A9 |  0000007A | LATIN SMALL LETTER Z
AA |  000000A1 | INVERTED EXCLAMATION MARK
AB |  000000BF | INVERTED QUESTION MARK
AC |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
AD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
AE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
AF |  000000AE | REGISTERED SIGN
B0 |  000000A2 | CENT SIGN
B1 |  00000023 | NUMBER SIGN
B2 |  000000A5 | YEN SIGN
B3 |  000000B7 | MIDDLE DOT
B4 |  000000A9 | COPYRIGHT SIGN
B5 |  0000005D | RIGHT SQUARE BRACKET
B6 |  000000B6 | PILCROW SIGN
B7 |  000000BC | VULGAR FRACTION ONE QUARTER
B8 |  000000BD | VULGAR FRACTION ONE HALF
B9 |  000000BE | VULGAR FRACTION THREE QUARTERS
BA |  000000AC | NOT SIGN
BB |  0000007C | VERTICAL LINE
BC |  0000203E | OVERLINE
BD |  0000007E | TILDE
BE |  000000B4 | ACUTE ACCENT
BF |  000000D7 | MULTIPLICATION SIGN

okay STOP. 🚨 look at BC. literally every other row in this entire table has a code point starting 0000, and BC is out here with 0000203E OVERLINE. main character energy. the only one with a different shape. we stan one (1) overline. 🌈

also B7 B8 B9 are the three vulgar fractions in a row β€” one quarter, one half, three quarters β€” and honestly that's the most satisfying trio in the whole dataset. consecutive. ordered. correct. πŸŽ€


final chunk for this part: C0 through E7. the capitals arrive! C1–C9 are literally just A B C D E F G H I in order and I find that so soothing after all the chaos upstairs. then D1–D9 pick up J K L M N O P Q R. and squeezed in between all that order, CA is SOFT HYPHEN and CB–CF are the o-with-things club: Γ΄ ΓΆ Γ² Γ³ Γ΅. plus DA is SUPERSCRIPT ONE just hanging out being small. πŸ¦‹

C0 |  000000E9 | LATIN SMALL LETTER E WITH ACUTE
C1 |  00000041 | LATIN CAPITAL LETTER A
C2 |  00000042 | LATIN CAPITAL LETTER B
C3 |  00000043 | LATIN CAPITAL LETTER C
C4 |  00000044 | LATIN CAPITAL LETTER D
C5 |  00000045 | LATIN CAPITAL LETTER E
C6 |  00000046 | LATIN CAPITAL LETTER F
C7 |  00000047 | LATIN CAPITAL LETTER G
C8 |  00000048 | LATIN CAPITAL LETTER H
C9 |  00000049 | LATIN CAPITAL LETTER I
CA |  000000AD | SOFT HYPHEN
CB |  000000F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX
CC |  000000F6 | LATIN SMALL LETTER O WITH DIAERESIS
CD |  000000F2 | LATIN SMALL LETTER O WITH GRAVE
CE |  000000F3 | LATIN SMALL LETTER O WITH ACUTE
CF |  000000F5 | LATIN SMALL LETTER O WITH TILDE
D0 |  000000E8 | LATIN SMALL LETTER E WITH GRAVE
D1 |  0000004A | LATIN CAPITAL LETTER J
D2 |  0000004B | LATIN CAPITAL LETTER K
D3 |  0000004C | LATIN CAPITAL LETTER L
D4 |  0000004D | LATIN CAPITAL LETTER M
D5 |  0000004E | LATIN CAPITAL LETTER N
D6 |  0000004F | LATIN CAPITAL LETTER O
D7 |  00000050 | LATIN CAPITAL LETTER P
D8 |  00000051 | LATIN CAPITAL LETTER Q
D9 |  00000052 | LATIN CAPITAL LETTER R
DA |  000000B9 | SUPERSCRIPT ONE
DB |  000000FB | LATIN SMALL LETTER U WITH CIRCUMFLEX
DC |  000000FC | LATIN SMALL LETTER U WITH DIAERESIS
DD |  000000A6 | BROKEN BAR
DE |  000000FA | LATIN SMALL LETTER U WITH ACUTE
DF |  000000FF | LATIN SMALL LETTER Y WITH DIAERESIS
E0 |  000000E7 | LATIN SMALL LETTER C WITH CEDILLA
E1 |  000000F7 | DIVISION SIGN
E2 |  00000053 | LATIN CAPITAL LETTER S
E3 |  00000054 | LATIN CAPITAL LETTER T
E4 |  00000055 | LATIN CAPITAL LETTER U
E5 |  00000056 | LATIN CAPITAL LETTER V
E6 |  00000057 | LATIN CAPITAL LETTER W
E7 |  00000058 | LATIN CAPITAL LETTER X

ngl the jump from E1 DIVISION SIGN straight into S T U V W X feels like a playlist that goes from sad girl hours to hype anthem with zero transition, and honestly? we respect it 😭

and that's where this part runs out of rows β€” the table keeps going and so do we, so don't go anywhere 🌸

           E8 |  00000059 | LATIN CAPITAL LETTER Y
           E9 |  0000005A | LATIN CAPITAL LETTER Z
           EA |  000000B2 | SUPERSCRIPT TWO
           EB |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
           EC |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
           ED |  000000D2 | LATIN CAPITAL LETTER O WITH GRAVE
           EE |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
           EF |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
           F0 |  00000030 | DIGIT ZERO
           F1 |  00000031 | DIGIT ONE
           F2 |  00000032 | DIGIT TWO
           F3 |  00000033 | DIGIT THREE
           F4 |  00000034 | DIGIT FOUR
           F5 |  00000035 | DIGIT FIVE
           F6 |  00000036 | DIGIT SIX
           F7 |  00000037 | DIGIT SEVEN
           F8 |  00000038 | DIGIT EIGHT
           F9 |  00000039 | DIGIT NINE
           FA |  000000B3 | SUPERSCRIPT THREE
           FB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
           FC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
           FD |  000000D9 | LATIN CAPITAL LETTER U WITH GRAVE
           FE |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
           FF |  0000009F | APPLICATION PROGRAM COMMAND (APC)

and that's a wrap on the table, bestie πŸ’œ like, FF is literally the last one and it's giving APPLICATION PROGRAM COMMAND (APC) β€” kind of an icon, kind of a mystery, we don't ask questions 🌈


🫢 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 "code for details!" is there twice in the original and I am NOT going to gaslight you by "fixing" it πŸ’€ that's just how it was written, periodt. respect the source ✨


πŸ‘€ SEE ALSO πŸ‘€


that's the whole page, babe πŸŽ€ courtesy of perl v5.42.0, dated 2025-01-22, filed under Locale:...:IBM297(3) β€” go forth and decode those EBCDIC bytes, main character πŸ’…βœ¨