Locale:..._8859_10(3)

πŸ¦‹ Locale::RecodeData::ISO_8859_10 β€” section 3 of the manual, bestie edition πŸ’…

okay so you opened Locale:..._8859_10(3) and you're like "what is this even." sit down, i got you. this is the perl doc for Locale::RecodeData::ISO_8859_10, and it's lowkey just a little conversion-table gremlin. let's go ✨


🌸 NAME 🌸

Locale::RecodeData::ISO_8859_10 β€” the conversion routines for ISO-8859-10, no cap πŸŽ€

✨ SYNOPSIS ✨

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

that's it. that's the whole synopsis. and yes, it's yelling at you in all caps with an exclamation point β€” do not use it directly, fr fr πŸ™ˆ it's an internal module, it's not for you, it's for libintl. like it's giving "staff only" door energy. respect the door. πŸšͺ

πŸ’– DESCRIPTION πŸ’–

so this module is generated β€” like, a robot wrote it, not a human typing away at 2am β€” and what it contains is the conversion tables and routines for ISO-8859-10. that's the whole vibe. tables + routines. iconic, honestly. 🌈

🫢 COMMENTS 🫢

these comments got extracted straight out of the original charmap, and i'm presenting them to you verbatim because i would never gatekeep the lore:

 version: 1.0
  source: ECMA registry
 alias ISO-IR-157
 alias ISO_8859-10:1992
 alias ISO_8859-10
 alias L6
 alias LATIN6

look at all those aliases, she has like seven names, main character energy truly πŸ‘‘

⚠️ but bestie, real talk: please note that aliases listed above are not necessarily valid! like, don't just assume they all work. the manpage said so, not me. πŸ’€

πŸŽ€ CHARACTER TABLE πŸŽ€

here's the thing about the table that follows β€” and i need you to clock this:

  • it's sorted in the same order as the original charmap πŸ—‚οΈ
  • all character codes are in hexadecimal πŸ”’
  • and when you see 'ISO-10646', please read it as 'ISO-10646-UCS4' ⭐

that's the whole heads-up. iykyk. 🧚


(okay cool that's part 1 β€” the table itself and everything after is coming up next, don't go anywhere πŸ’œ)

...okay bestie, this is where it gets real. Below is the whole byte map β€” every local byte, the ISO-10646 code point it maps to, and the official name, all three in one place. I'm chunking it up so your eyes don't glaze over πŸ’… nothing is skipped, promise, this is the full flex.

Here's the header so you know what you're looking at:

        Local | ISO-10646 | Description
       -------+-----------+-------------------------------------------------

The low bytes (00–1F): the computer screaming section

Okay so literally the entire first block is control characters β€” they don't print, they do things. This is the part of the table that's giving "the machine talks to itself" energy. iconic, chaotic, untouchable:

           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)

The printable era (20–7F)

Aaand now we're in actual visible characters territory. Space, punctuation, digits, the whole alphabet in both cases, then a couple of bracket-y gems at the end. This is the part everyone already knows and loves 🫢:

           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)

Okay so more control codes (80–9F) πŸ¦‹

Did we need another 32 control characters? The committee said yes and honestly, who are we to argue. These live up in the high half and they're all "introducer" this and "separator" that. Notes app level of organised:

           80 |  00000080 | PADDING CHARACTER (PAD)
           81 |  00000081 | HIGH OCTET PRESET (HOP)
           82 |  00000082 | BREAK PERMITTED HERE (BPH)
           83 |  00000083 | NO BREAK HERE (NBH)
           84 |  00000084 | INDEX (IND)
           85 |  00000085 | NEXT LINE (NEL)
           86 |  00000086 | START OF SELECTED AREA (SSA)
           87 |  00000087 | END OF SELECTED AREA (ESA)
           88 |  00000088 | CHARACTER TABULATION SET (HTS)
           89 |  00000089 | CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
           8A |  0000008A | LINE TABULATION SET (VTS)
           8B |  0000008B | PARTIAL LINE FORWARD (PLD)
           8C |  0000008C | PARTIAL LINE BACKWARD (PLU)
           8D |  0000008D | REVERSE LINE FEED (RI)
           8E |  0000008E | SINGLE-SHIFT TWO (SS2)
           8F |  0000008F | SINGLE-SHIFT THREE (SS3)
           90 |  00000090 | DEVICE CONTROL STRING (DCS)
           91 |  00000091 | PRIVATE USE ONE (PU1)
           92 |  00000092 | PRIVATE USE TWO (PU2)
           93 |  00000093 | SET TRANSMIT STATE (STS)
           94 |  00000094 | CANCEL CHARACTER (CCH)
           95 |  00000095 | MESSAGE WAITING (MW)
           96 |  00000096 | START OF GUARDED AREA (SPA)
           97 |  00000097 | END OF GUARDED AREA (EPA)
           98 |  00000098 | START OF STRING (SOS)
           99 |  00000099 | SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
           9A |  0000009A | SINGLE CHARACTER INTRODUCER (SCI)
           9B |  0000009B | CONTROL SEQUENCE INTRODUCER (CSI)
           9C |  0000009C | STRING TERMINATOR (ST)
           9D |  0000009D | OPERATING SYSTEM COMMAND (OSC)
           9E |  0000009E | PRIVACY MESSAGE (PM)
           9F |  0000009F | APPLICATION PROGRAM COMMAND (APC)

The Nordic glow-up (A0–BF) βœ¨πŸŽ€

Okay this is the moment. A0 through BF is where ISO-8859-10 starts doing its actual job β€” the letters with ogoneks, macrons, cedillas, carons, strokes, and tildes start showing up, plus those two Sami letters (ENG, both cases, hello πŸ‘‹). Also a no-break space, a section sign, a soft hyphen, a degree sign and a middle dot for when you need a little punctuation moment. Lowkey obsessed with how much personality fits in 32 bytes:

           A0 |  000000A0 | NO-BREAK SPACE
           A1 |  00000104 | LATIN CAPITAL LETTER A WITH OGONEK
           A2 |  00000112 | LATIN CAPITAL LETTER E WITH MACRON
           A3 |  00000122 | LATIN CAPITAL LETTER G WITH CEDILLA
           A4 |  0000012A | LATIN CAPITAL LETTER I WITH MACRON
           A5 |  00000128 | LATIN CAPITAL LETTER I WITH TILDE
           A6 |  00000136 | LATIN CAPITAL LETTER K WITH CEDILLA
           A7 |  000000A7 | SECTION SIGN
           A8 |  0000013B | LATIN CAPITAL LETTER L WITH CEDILLA
           A9 |  00000110 | LATIN CAPITAL LETTER D WITH STROKE
           AA |  00000160 | LATIN CAPITAL LETTER S WITH CARON
           AB |  00000166 | LATIN CAPITAL LETTER T WITH STROKE
           AC |  0000017D | LATIN CAPITAL LETTER Z WITH CARON
           AD |  000000AD | SOFT HYPHEN
           AE |  0000016A | LATIN CAPITAL LETTER U WITH MACRON
           AF |  0000014A | LATIN CAPITAL LETTER ENG (Sami)
           B0 |  000000B0 | DEGREE SIGN
           B1 |  00000105 | LATIN SMALL LETTER A WITH OGONEK
           B2 |  00000113 | LATIN SMALL LETTER E WITH MACRON
           B3 |  00000123 | LATIN SMALL LETTER G WITH CEDILLA
           B4 |  0000012B | LATIN SMALL LETTER I WITH MACRON
           B5 |  00000129 | LATIN SMALL LETTER I WITH TILDE
           B6 |  00000137 | LATIN SMALL LETTER K WITH CEDILLA
           B7 |  000000B7 | MIDDLE DOT
           B8 |  0000013C | LATIN SMALL LETTER L WITH CEDILLA
           B9 |  00000111 | LATIN SMALL LETTER D WITH STROKE
           BA |  00000161 | LATIN SMALL LETTER S WITH CARON
           BB |  00000167 | LATIN SMALL LETTER T WITH STROKE
           BC |  0000017E | LATIN SMALL LETTER Z WITH CARON
           BD |  00002015 | HORIZONTAL BAR
           BE |  0000016B | LATIN SMALL LETTER U WITH MACRON
           BF |  0000014B | LATIN SMALL LETTER ENG (Sami)
Not me noticing BD jumps all the way to 00002015 while everything around it is chilling in the 000001xx range πŸ’€ β€” that's exactly what the table says tho, bestie, so that's what we're printing.

Capital letters with main character energy (C0–DF) πŸ‘‘

C0 onwards is a whole parade of capitals β€” the accented A's, the AE, the C with caron, the E's, eth and thorn (Icelandic said "we're here too"), the N with cedilla, the O family, the U family, and closing out with sharp S for German. Fr fr this block ate πŸ’…:

           C0 |  00000100 | LATIN CAPITAL LETTER A WITH MACRON
           C1 |  000000C1 | LATIN CAPITAL LETTER A WITH ACUTE
           C2 |  000000C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX
           C3 |  000000C3 | LATIN CAPITAL LETTER A WITH TILDE
           C4 |  000000C4 | LATIN CAPITAL LETTER A WITH DIAERESIS
           C5 |  000000C5 | LATIN CAPITAL LETTER A WITH RING ABOVE
           C6 |  000000C6 | LATIN CAPITAL LETTER AE
           C7 |  0000012E | LATIN CAPITAL LETTER I WITH OGONEK
           C8 |  0000010C | LATIN CAPITAL LETTER C WITH CARON
           C9 |  000000C9 | LATIN CAPITAL LETTER E WITH ACUTE
           CA |  00000118 | LATIN CAPITAL LETTER E WITH OGONEK
           CB |  000000CB | LATIN CAPITAL LETTER E WITH DIAERESIS
           CC |  00000116 | LATIN CAPITAL LETTER E WITH DOT ABOVE
           CD |  000000CD | LATIN CAPITAL LETTER I WITH ACUTE
           CE |  000000CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX
           CF |  000000CF | LATIN CAPITAL LETTER I WITH DIAERESIS
           D0 |  000000D0 | LATIN CAPITAL LETTER ETH (Icelandic)
           D1 |  00000145 | LATIN CAPITAL LETTER N WITH CEDILLA
           D2 |  0000014C | LATIN CAPITAL LETTER O WITH MACRON
           D3 |  000000D3 | LATIN CAPITAL LETTER O WITH ACUTE
           D4 |  000000D4 | LATIN CAPITAL LETTER O WITH CIRCUMFLEX
           D5 |  000000D5 | LATIN CAPITAL LETTER O WITH TILDE
           D6 |  000000D6 | LATIN CAPITAL LETTER O WITH DIAERESIS
           D7 |  00000168 | LATIN CAPITAL LETTER U WITH TILDE
           D8 |  000000D8 | LATIN CAPITAL LETTER O WITH STROKE
           D9 |  00000172 | LATIN CAPITAL LETTER U WITH OGONEK
           DA |  000000DA | LATIN CAPITAL LETTER U WITH ACUTE
           DB |  000000DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX
           DC |  000000DC | LATIN CAPITAL LETTER U WITH DIAERESIS
           DD |  000000DD | LATIN CAPITAL LETTER Y WITH ACUTE
           DE |  000000DE | LATIN CAPITAL LETTER THORN (Icelandic)
           DF |  000000DF | LATIN SMALL LETTER SHARP S (German)

And the lowercase era begins (E0–E4) 🌸

Okay the lowercase squad is just getting started here β€” E0 through E4 in this part, and we're cutting off right in the middle of the a's because there's more page coming, bestie. Don't panic, nothing's missing, you're just at the cliffhanger 🫢:

           E0 |  00000101 | LATIN SMALL LETTER A WITH MACRON
           E1 |  000000E1 | LATIN SMALL LETTER A WITH ACUTE
           E2 |  000000E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX
           E3 |  000000E3 | LATIN SMALL LETTER A WITH TILDE
           E4 |  000000E4 | LATIN SMALL LETTER A WITH DIAERESIS
to be continued… the vibes are immaculate and the bytes are only half-mapped 😭✨
  • E5 Β· 000000E5 Β· LATIN SMALL LETTER A WITH RING ABOVE
  • E6 Β· 000000E6 Β· LATIN SMALL LETTER AE
  • E7 Β· 0000012F Β· LATIN SMALL LETTER I WITH OGONEK
  • E8 Β· 0000010D Β· LATIN SMALL LETTER C WITH CARON
  • E9 Β· 000000E9 Β· LATIN SMALL LETTER E WITH ACUTE
  • EA Β· 00000119 Β· LATIN SMALL LETTER E WITH OGONEK
  • EB Β· 000000EB Β· LATIN SMALL LETTER E WITH DIAERESIS
  • EC Β· 00000117 Β· LATIN SMALL LETTER E WITH DOT ABOVE
  • ED Β· 000000ED Β· LATIN SMALL LETTER I WITH ACUTE
  • EE Β· 000000EE Β· LATIN SMALL LETTER I WITH CIRCUMFLEX
  • EF Β· 000000EF Β· LATIN SMALL LETTER I WITH DIAERESIS
  • F0 Β· 000000F0 Β· LATIN SMALL LETTER ETH (Icelandic)
  • F1 Β· 00000146 Β· LATIN SMALL LETTER N WITH CEDILLA
  • F2 Β· 0000014D Β· LATIN SMALL LETTER O WITH MACRON
  • F3 Β· 000000F3 Β· LATIN SMALL LETTER O WITH ACUTE
  • F4 Β· 000000F4 Β· LATIN SMALL LETTER O WITH CIRCUMFLEX
  • F5 Β· 000000F5 Β· LATIN SMALL LETTER O WITH TILDE
  • F6 Β· 000000F6 Β· LATIN SMALL LETTER O WITH DIAERESIS
  • F7 Β· 00000169 Β· LATIN SMALL LETTER U WITH TILDE
  • F8 Β· 000000F8 Β· LATIN SMALL LETTER O WITH STROKE
  • F9 Β· 00000173 Β· LATIN SMALL LETTER U WITH OGONEK
  • FA Β· 000000FA Β· LATIN SMALL LETTER U WITH ACUTE
  • FB Β· 000000FB Β· LATIN SMALL LETTER U WITH CIRCUMFLEX
  • FC Β· 000000FC Β· LATIN SMALL LETTER U WITH DIAERESIS
  • FD Β· 000000FD Β· LATIN SMALL LETTER Y WITH ACUTE
  • FE Β· 000000FE Β· LATIN SMALL LETTER THORN (Icelandic)
  • FF Β· 00000138 Β· LATIN SMALL LETTER KRA (Greenlandic)

okay bestie we made it to the end of the table πŸ˜­πŸ’– the home stretch!! <pink>quick lil vibe check on the icons of this final stretch</pink> β€” F0 is LATIN SMALL LETTER ETH (Icelandic) and FE is LATIN SMALL LETTER THORN (Icelandic), the two Icelandic legends, and then <purple>the absolute final boss</purple> FF is 00000138, LATIN SMALL LETTER KRA (Greenlandic) β€” Greenland representation, we love to see it πŸ‘‘βœ¨


πŸ‘‘ 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!

ngl the page literally says !code for details! twice at the end there β€” no cap, that's what's written, so that's what you're getting πŸ’€ keeping it 100% verbatim because we do not edit the record.

πŸ¦‹ SEE ALSO


and that's the whole page, bestie!! πŸŽ€πŸ«Ά three parts, all forty million hex codes, zero details dropped, periodt ✨ slay. 🌈

perl v5.42.0 πŸ¦‹ 2025-01-22 β€” that's the version and the date right there at the bottom, go off calendar icon πŸ’…πŸ˜Œ