Locale:...:IBM865(3)

πŸ’– Locale::RecodeData::IBM865(3) πŸ’–

ok so picture this: it's a Perl manpage, it lives in the User Contributed Perl Documentation section of the manual (3, iykyk), and its whole entire name is Locale::RecodeData::IBM865. that's it, that's the girl. she's internal, she's generated, and she's here to do one (1) job. let's get into it πŸŽ€


✨ NAME ✨

Locale::RecodeData::IBM865 β€” conversion routines for IBM865. literally that's her whole personality and honestly? respect. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

⚠️ ok bestie listen to me very carefully: this module is internal to libintl. Do not use directly! ⚠️

that's the whole synopsis. no flags, no arguments, no cute little usage line. just "back up, she's taken." πŸ™ˆ like a velvet rope at the club and you are NOT on the list. do not touch. periodt.


🌸 DESCRIPTION 🌸

so here's the tea: this module is generated. as in, nobody sat down and hand-wrote her β€” she got cooked up by a code generator, like a sourdough starter but for character encoding. πŸ“

she contains the conversion tables and the routines for IBM865. that's it. that's the whole description. tables + routines. conversion. iconic behaviour, zero notes. ✨


πŸ’¬ COMMENTS πŸ’¬

ok this is my FAVORITE part because it's literally a little time capsule 🫢 β€” the following comments have been extracted from the original charmap, which means they survived the whole migration just to be here with us. say thank you to the charmap:

version: 1.0
 source: IBM DOS 3.3 Ref (Abridged), 94X9575 (Feb 1987)
alias CP865
alias 865

look at that. version: 1.0. the source is IBM DOS 3.3 Ref (Abridged), 94X9575 (Feb 1987) β€” yes, 1987, she's vintage, she's a legacy queen, she predates most of the people reading this πŸ‘‘. and she goes by two aliases: CP865 and 865.

🚨 important caveat, do not skip this one: please note that the aliases listed above are not necessarily valid! 🚨 like, they're nicknames, not legal names. do not come for me if CP865 doesn't resolve β€” the manpage literally warned you, i'm just the messenger πŸ’€

πŸ”€ CHARACTER TABLE πŸ”€

the following table is sorted in the same order as the original charmap β€” so don't come in here expecting alphabetical, she's got her own internal logic and honestly? same. πŸ’…

all character codes are in hexadecimal. hex. base 16. 0x-core. πŸ”₯

and one more thing, super important for the vibe check: please read ISO-10646 as ISO-10646-UCS4. that's it. that's the rule. when you see ISO-10646 in this table, your brain goes ding β†’ ISO-10646-UCS4. don't overthink it, just trust me on this one 🌈


(to be continued, bestie β€” we're only getting started 🧚)

okay so buckle up bestie, because this table is the whole personality of IBM865 and we're walking through every single row πŸ’…

quick vibe check on how to read it: Local is the byte on your machine, ISO-10646 is the universal code point, and Description is what it actually looks like. no skimming, no skipping β€” we go through all of it 🫢


✨ CHARACTER TABLE ✨ (the main event)

first up: the control characters, 00 to 1F β€” the invisible girlies of the encoding. you can't see them but they are running the entire show 😭

        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)

not the separators doing IS4, IS3, IS2, IS1 β€” counting down in alphabetical order, that's so chaotic of them πŸ™ˆ and 0A LINE FEED (LF) vs 0D CARRIAGE RETURN (CR) sitting right there two rows apart, fully aware of the discourse they cause. main character energy, honestly πŸ‘‘


next chunk, 20 to 3F: punctuation gets its moment. 20 SPACE is first because of course she is 🌸

           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

30 through 39 sliding in as DIGIT ZERO to DIGIT NINE β€” the digits said "we travel as a group" and honestly? respect. and 3F QUESTION MARK is the last one before the letters kick in, sitting there being the moment before everything changes ✨


40 to 5F: caps o'clock πŸ”₯

           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

the alphabet in one clean run, A to Z, no drama, lowkey satisfying πŸŽ€ and then 5C REVERSE SOLIDUS shows up to be the other slash and immediately becomes everyone's problem. iykyk πŸ’€


60 to 7F: lowercase era, plus the goodbye πŸ’œ

           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)

and that's the entire plain-ASCII party wrapped by 7F DELETE (DEL) β€” the bouncer at the door of the seven-bit world 🌈 literally everything past this point is the extra half of the encoding and it gets so much more interesting.


now the good part 😭 80 to 9F is where IBM865 stops being basic and starts having flavour β€” accents, cedillas, and a genuinely unexpected currency moment.

           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 |  000000F8 | LATIN SMALL LETTER O WITH STROKE
           9C |  000000A3 | POUND SIGN
           9D |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
           9E |  000020A7 | PESETA SIGN
           9F |  00000192 | LATIN SMALL LETTER F WITH HOOK

notice how 8E, 8F and 90 just casually drop three CAPITALS (A WITH DIAERESIS, A WITH RING ABOVE, E WITH ACUTE) into the middle of a lowercase run β€” it's giving alphabet soup, it's giving chaos, i'm obsessed πŸ¦‹ and then 9E PESETA SIGN and 9F LATIN SMALL LETTER F WITH HOOK showing up like "we're here too" 😭 queen behaviour, no notes.


A0 to AF keeps the Spanish-and-friends energy going, plus two icons:

           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 |  000000A4 | CURRENCY SIGN

A6 FEMININE ORDINAL INDICATOR and A7 MASCULINE ORDINAL INDICATOR are honestly the moment πŸ’… and A9 REVERSED NOT SIGN next to AA NOT SIGN is the "mirror mirror on the wall" of code points, fr fr. also AB VULGAR FRACTION ONE HALF and AC VULGAR FRACTION ONE QUARTER β€” little fractions living their best life πŸ“


and now. AND NOW. B0 onwards is the box-drawing zone and i need you to understand that this is the aesthetic. this is the blueprint. this is where terminals got their looks πŸ”₯

           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 |  00002561 | BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
           B6 |  00002562 | BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
           B7 |  00002556 | BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
           B8 |  00002555 | BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
           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 |  0000255C | BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
           BE |  0000255B | BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
           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 |  0000255E | BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
           C7 |  0000255F | BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
           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 |  00002567 | BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
           D0 |  00002568 | BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
           D1 |  00002564 | BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
           D2 |  00002565 | BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
           D3 |  00002559 | BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
           D4 |  00002558 | BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
           D5 |  00002552 | BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
           D6 |  00002553 | BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
           D7 |  0000256B | BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
           D8 |  0000256A | BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
           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 |  0000258C | LEFT HALF BLOCK
           DE |  00002590 | RIGHT HALF BLOCK
           DF |  00002580 | UPPER HALF BLOCK

look at the sheer range. B5 BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE?? the detail, the craft, the specificity 😭 every corner of every box you've ever drawn in a terminal lives right here between B0 and DF. and then the blocks roll in β€” DB FULL BLOCK is literally a solid filled square and it ATE πŸ‘‘ gone but not forgotten, DC LOWER HALF BLOCK, DD LEFT HALF BLOCK, DE RIGHT HALF BLOCK, DF UPPER HALF BLOCK β€” half blocks out here doing bar charts with zero shame 🌈

and the very last row of this chunk:

           E0 |  000003B1 | GREEK SMALL LETTER ALPHA

E0 GREEK SMALL LETTER ALPHA πŸ’€ the table just switches alphabets on us mid-breath and honestly? we love a cliffhanger πŸ”₯ hold that thought bestie, because the table keeps going and it is not done with us yet.

  • E1 | 000000DF β€” LATIN SMALL LETTER SHARP S (German) πŸŽ€ the ß bestie, iconic
  • 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 | 00000398 β€” GREEK CAPITAL LETTER THETA πŸ‘‘
  • EA | 000003A9 β€” GREEK CAPITAL LETTER OMEGA ⭐ the final boss letter
  • EB | 000003B4 β€” GREEK SMALL LETTER DELTA πŸ’…
  • EC | 0000221E β€” INFINITY πŸ”₯ literally endless, main character energy
  • ED | 000003C6 β€” GREEK SMALL LETTER PHI πŸ’–
  • EE | 000003B5 β€” GREEK SMALL LETTER EPSILON 🫢
  • EF | 00002229 β€” INTERSECTION πŸ’€ where the vibes overlap
  • F0 | 00002261 β€” IDENTICAL TO πŸŽ€ twins fr fr
  • F1 | 000000B1 β€” PLUS-MINUS SIGN 🌸
  • F2 | 00002265 β€” GREATER-THAN OR EQUAL TO ✨
  • F3 | 00002264 β€” LESS-THAN OR EQUAL TO πŸ’œ
  • F4 | 00002320 β€” TOP HALF INTEGRAL πŸ¦‹
  • F5 | 00002321 β€” BOTTOM HALF INTEGRAL 🌈 (yes they're a matching set, obsessed)
  • F6 | 000000F7 β€” DIVISION SIGN πŸ“
  • F7 | 00002248 β€” ALMOST EQUAL TO πŸ‘‘ almost, but not quite, iykyk
  • F8 | 000000B0 β€” DEGREE SIGN ⭐
  • F9 | 00002219 β€” BULLET OPERATOR πŸ’…
  • FA | 000000B7 β€” MIDDLE DOT πŸ’–
  • FB | 0000221A β€” SQUARE ROOT πŸ”₯
  • FC | 0000207F β€” SUPERSCRIPT LATIN SMALL LETTER N 🧚
  • FD | 000000B2 β€” SUPERSCRIPT TWO ✨
  • FE | 000025A0 β€” BLACK SQUARE πŸ–€ slay
  • FF | 000000A0 β€” NO-BREAK SPACE πŸ™ˆ the invisible icon, the space that refuses to break up with you

And that's the whole table bestie, E1 through FF, every last one accounted for. No skips, no cap. πŸ’…


πŸ‘‘ AUTHOR πŸ‘‘

Copyright info time, and we're keeping it exactly as written because we respect the paper trail:

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!

Guido Flohr made this, 2002-2017, all rights reserved β€” and no, the <http://www.guido-flohr.net/> link and the <mailto:guido.flohr@cantanea.com> mailto are both real, go say hi. 😭 And yes, the source really does say details!code for details! β€” we don't fix it, we preserve it. It's part of the lore now. 🫢


🌈 SEE ALSO 🌈

Go read these next, bestie, they're the whole ecosystem:


okay that's the entire page, start to finish, and you ate every bit of it πŸŽ€ this was Locale::...::IBM865(3) from the User Contributed Perl Documentation, perl v5.42.0, dated 2025-01-22 β€” jot the date down, it's giving archival icon behavior ⭐ go forth and encode responsibly, mwah πŸ’‹