Locale:...:IBM864(3)
β¨ Locale::RecodeData::IBM864 β¨
okay so this is the IBM864(3) page from the User Contributed Perl Documentation β yes, that whole mouthful is the manual name, we're folding it in right here at the top so nobody has to read it as a header line π
πΈ NAME πΈ
Locale::RecodeData::IBM864 β literally just conversion routines for IBM864, bestie. that's the whole vibe π¦
π SYNOPSIS π
This module is internal to libintl. Do not use directly!
okay so real talk β this one's internal to libintl. like, do not use it directly. it's giving backstage-access-only, no cap π
π DESCRIPTION π
so this module is generated (not hand-written, bestie, it's machine-made β¨) and it contains the conversion tables and routines for IBM864. that's it, that's the job. slay.
π§ COMMENTS π§
these comments got extracted from the original charmap, iykyk:
automatically generated from the charDB
alias CP864
so CP864 is an alias β cute! β but heads up, queen:
β οΈ the aliases listed above are not necessarily valid! like, don't just assume. please note it. the manpage said please note it and so am i π
π CHARACTER TABLE π
the following table is sorted in the same order as the original charmap β no reshuffling, no remixing, we keep it exactly as it came π
all character codes are in hexadecimal, periodt. and when you see 'ISO-10646' up in there, read it as 'ISO-10646-UCS4' β that's the actual name, fr fr β
more coming in the next part, bestie β don't go anywhere π«Ά
...and it just keeps going, bestie. Same three columns the whole way down: the Local byte, the ISO-10646 code point, and the Description. Buckle up π
the first stretch β classic ASCII vibes π
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 | 0000066A | ARABIC 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
ok so first thing: spot 25? That one is not a regular percent sign β it's the ARABIC PERCENT SIGN at 0000066A. iconique. everything else in that top block is straight-up ASCII, lowkey the calm before the storm πΈ
40β7F β the alphabet era, no notes π
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
yeah this whole range is just... letters and punctuation, living their truth. 7F closes it out as DELETE and then we cross over into the fun part π
80βBF β okay THIS is where it gets good π€©
80 | 000000B0 | DEGREE SIGN
81 | 000000B7 | MIDDLE DOT
82 | 00002219 | BULLET OPERATOR
83 | 0000221A | SQUARE ROOT
84 | 00002592 | MEDIUM SHADE
85 | 00002500 | BOX DRAWINGS LIGHT HORIZONTAL
86 | 00002502 | BOX DRAWINGS LIGHT VERTICAL
87 | 0000253C | BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
88 | 00002524 | BOX DRAWINGS LIGHT VERTICAL AND LEFT
89 | 0000252C | BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
8A | 0000251C | BOX DRAWINGS LIGHT VERTICAL AND RIGHT
8B | 00002534 | BOX DRAWINGS LIGHT UP AND HORIZONTAL
8C | 00002510 | BOX DRAWINGS LIGHT DOWN AND LEFT
8D | 0000250C | BOX DRAWINGS LIGHT DOWN AND RIGHT
8E | 00002514 | BOX DRAWINGS LIGHT UP AND RIGHT
8F | 00002518 | BOX DRAWINGS LIGHT UP AND LEFT
90 | 000003B2 | GREEK SMALL LETTER BETA
91 | 0000221E | INFINITY
92 | 000003C6 | GREEK SMALL LETTER PHI
93 | 000000B1 | PLUS-MINUS SIGN
94 | 000000BD | VULGAR FRACTION ONE HALF
95 | 000000BC | VULGAR FRACTION ONE QUARTER
96 | 00002248 | ALMOST EQUAL TO
97 | 000000AB | LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
98 | 000000BB | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
99 | 0000FEF7 | ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
9A | 0000FEF8 | ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
9D | 0000FEFB | ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
9E | 0000FEFC | ARABIC LIGATURE LAM WITH ALEF FINAL FORM
A0 | 000000A0 | NO-BREAK SPACE
A1 | 000000AD | SOFT HYPHEN
A2 | 0000FE82 | ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
A3 | 000000A3 | POUND SIGN
A4 | 000000A4 | CURRENCY SIGN
A5 | 0000FE84 | ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
A8 | 0000FE8E | ARABIC LETTER ALEF FINAL FORM
A9 | 0000FE8F | ARABIC LETTER BEH ISOLATED FORM
AA | 0000FE95 | ARABIC LETTER TEH ISOLATED FORM
AB | 0000FE99 | ARABIC LETTER THEH ISOLATED FORM
AC | 0000060C | ARABIC COMMA
AD | 0000FE9D | ARABIC LETTER JEEM ISOLATED FORM
AE | 0000FEA1 | ARABIC LETTER HAH ISOLATED FORM
AF | 0000FEA5 | ARABIC LETTER KHAH ISOLATED FORM
B0 | 00000660 | ARABIC-INDIC DIGIT ZERO
B1 | 00000661 | ARABIC-INDIC DIGIT ONE
B2 | 00000662 | ARABIC-INDIC DIGIT TWO
B3 | 00000663 | ARABIC-INDIC DIGIT THREE
B4 | 00000664 | ARABIC-INDIC DIGIT FOUR
B5 | 00000665 | ARABIC-INDIC DIGIT FIVE
B6 | 00000666 | ARABIC-INDIC DIGIT SIX
B7 | 00000667 | ARABIC-INDIC DIGIT SEVEN
B8 | 00000668 | ARABIC-INDIC DIGIT EIGHT
B9 | 00000669 | ARABIC-INDIC DIGIT NINE
BA | 0000FED1 | ARABIC LETTER FEH ISOLATED FORM
BB | 0000061B | ARABIC SEMICOLON
BC | 0000FEB1 | ARABIC LETTER SEEN ISOLATED FORM
BD | 0000FEB5 | ARABIC LETTER SHEEN ISOLATED FORM
BE | 0000FEB9 | ARABIC LETTER SAD ISOLATED FORM
BF | 0000061F | ARABIC QUESTION MARK
the way this range is giving math class AND art class at the same time π you got your DEGREE SIGN and SQUARE ROOT and INFINITY and ALMOST EQUAL TO, then a whole little box-drawing situation from 85 to 8F (that's the BOX DRAWINGS LIGHT set, fr fr), and then the Arabic presentation forms start sliding in at 99. also B0βB9 is a full set of ARABIC-INDIC DIGIT zero through nine, one per byte, chef's kiss π«Ά
heads up bestie: this listing hops around a little β just take the rows as they come and don't go assuming anything about the slots that aren't listed here π
C0βEE β the main character range π
C0 | 000000A2 | CENT SIGN
C1 | 0000FE80 | ARABIC LETTER HAMZA ISOLATED FORM
C2 | 0000FE81 | ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
C3 | 0000FE83 | ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
C4 | 0000FE85 | ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
C5 | 0000FECA | ARABIC LETTER AIN FINAL FORM
C6 | 0000FE8B | ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
C7 | 0000FE8D | ARABIC LETTER ALEF ISOLATED FORM
C8 | 0000FE91 | ARABIC LETTER BEH INITIAL FORM
C9 | 0000FE93 | ARABIC LETTER TEH MARBUTA ISOLATED FORM
CA | 0000FE97 | ARABIC LETTER TEH INITIAL FORM
CB | 0000FE9B | ARABIC LETTER THEH INITIAL FORM
CC | 0000FE9F | ARABIC LETTER JEEM INITIAL FORM
CD | 0000FEA3 | ARABIC LETTER HAH INITIAL FORM
CE | 0000FEA7 | ARABIC LETTER KHAH INITIAL FORM
CF | 0000FEA9 | ARABIC LETTER DAL ISOLATED FORM
D0 | 0000FEAB | ARABIC LETTER THAL ISOLATED FORM
D1 | 0000FEAD | ARABIC LETTER REH ISOLATED FORM
D2 | 0000FEAF | ARABIC LETTER ZAIN ISOLATED FORM
D3 | 0000FEB3 | ARABIC LETTER SEEN INITIAL FORM
D4 | 0000FEB7 | ARABIC LETTER SHEEN INITIAL FORM
D5 | 0000FEBB | ARABIC LETTER SAD INITIAL FORM
D6 | 0000FEBF | ARABIC LETTER DAD INITIAL FORM
D7 | 0000FEC1 | ARABIC LETTER TAH ISOLATED FORM
D8 | 0000FEC5 | ARABIC LETTER ZAH ISOLATED FORM
D9 | 0000FECB | ARABIC LETTER AIN INITIAL FORM
DA | 0000FECF | ARABIC LETTER GHAIN INITIAL FORM
DB | 000000A6 | BROKEN BAR
DC | 000000AC | NOT SIGN
DD | 000000F7 | DIVISION SIGN
DE | 000000D7 | MULTIPLICATION SIGN
DF | 0000FEC9 | ARABIC LETTER AIN ISOLATED FORM
E0 | 00000640 | ARABIC TATWEEL
E1 | 0000FED3 | ARABIC LETTER FEH INITIAL FORM
E2 | 0000FED7 | ARABIC LETTER QAF INITIAL FORM
E3 | 0000FEDB | ARABIC LETTER KAF INITIAL FORM
E4 | 0000FEDF | ARABIC LETTER LAM INITIAL FORM
E5 | 0000FEE3 | ARABIC LETTER MEEM INITIAL FORM
E6 | 0000FEE7 | ARABIC LETTER NOON INITIAL FORM
E7 | 0000FEEB | ARABIC LETTER HEH INITIAL FORM
E8 | 0000FEED | ARABIC LETTER WAW ISOLATED FORM
E9 | 0000FEEF | ARABIC LETTER ALEF MAKSURA ISOLATED FORM
EA | 0000FEF3 | ARABIC LETTER YEH INITIAL FORM
EB | 0000FEBD | ARABIC LETTER DAD ISOLATED FORM
EC | 0000FECC | ARABIC LETTER AIN MEDIAL FORM
ED | 0000FECE | ARABIC LETTER GHAIN FINAL FORM
EE | 0000FECD | ARABIC LETTER GHAIN ISOLATED FORM
okay the ISOLATED FORM / INITIAL FORM / MEDIAL FORM / FINAL FORM labels are doing SO much work here, and honestly they're the whole point β same letter, different positional presentation form, different byte. not me getting emotional over ARABIC LETTER GHAIN showing up three separate times as GHAIN ISOLATED FORM, GHAIN FINAL FORM, and back at DA as GHAIN INITIAL FORM π
and nestled in there at DBβDE you've got your little math break: BROKEN BAR, NOT SIGN, DIVISION SIGN, MULTIPLICATION SIGN. then E0 is ARABIC TATWEEL doing its thing, and the range keeps rolling from E1 onward through all those INITIAL FORMs π
and we're still not done β the table literally keeps going from right where EE leaves off π
okay so the table keeps going, and yes bestie we're finishing it β every last row, no skipping, no "etc." energy π
EF | 0000FEE1 | ARABIC LETTER MEEM ISOLATED FORM
F0 | 0000FE7D | ARABIC SHADDA MEDIAL FORM
F1 | 00000651 | ARABIC SHADDA
F2 | 0000FEE5 | ARABIC LETTER NOON ISOLATED FORM
F3 | 0000FEE9 | ARABIC LETTER HEH ISOLATED FORM
F4 | 0000FEEC | ARABIC LETTER HEH MEDIAL FORM
F5 | 0000FEF0 | ARABIC LETTER ALEF MAKSURA FINAL FORM
F6 | 0000FEF2 | ARABIC LETTER YEH FINAL FORM
F7 | 0000FED0 | ARABIC LETTER GHAIN MEDIAL FORM
F8 | 0000FED5 | ARABIC LETTER QAF ISOLATED FORM
F9 | 0000FEF5 | ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
FA | 0000FEF6 | ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
FB | 0000FEDD | ARABIC LETTER LAM ISOLATED FORM
FC | 0000FED9 | ARABIC LETTER KAF ISOLATED FORM
FD | 0000FEF1 | ARABIC LETTER YEH ISOLATED FORM
FE | 000025A0 | BLACK SQUARE
and that's the whole table, bestie π like, FE is a literal BLACK SQUARE and honestly? main character energy. slay.
π 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!
yes, the "code for details!" really does show up twice in there β not me fixing it, that's just how the icon wrote it π respect the lore.
π¦ SEE ALSO π¦
like, go read those next, iykyk π«Ά
and that's a wrap on Locale:...:IBM864(3) β¨ this lil masterpiece is perl v5.42.0, dated 2025-01-22 β go off, timestamp, periodt ππΈ
π¦ 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