From: churchh@ut-emx.uucp (Henry Churchyard)
Newsgroups: comp.lang.postscript,comp.os.ms-windows.programmer.misc
Subject: Windows ANSI Encoding vector
Keywords: postscript Windows ANSI character encoding
Date: 5 Sep 92 15:36:52 GMT
Followup-To: comp.lang.postscript,comp.os.ms-windows.programmer.misc
Organization: The University of Texas at Austin, Austin, Texas

Recently there has been some discussion in comp.fonts about the ANSI
character encoding used by Windows.  I have obtained what I think is
the Windows encoding, and I have several questions:

   1) Is the list in the first column in fact the Windows character
encoding?

   2) How did Microsoft decide what characters to assign in the range
0x80-0x9F?  They don't appear to be following any standard here.  (And
why the repeated definition of /ydieresis, and the non standard
definitions of charcters 0x27 and 0x60?).

  3) For the slots where a "/.notdef" appears in the first column (in
the range 0x80-0x9F), is it utterly impossible under any circumstances
whatsoerver to make Windows use characters with such codes?

Thanks for any info you can provide!

         Microsoft         Adobe            Latin 1
H. D.   AnsiEncoding  IsoLatin1Encoding    Full Name
-- --    ---------      ----------         ----------
20 32  /space          == /space          SPACE
21 33  /exclam         == /exclam         EXCLAMATION MARK
22 34  /quotedbl       == /quotedbl       QUOTATION MARK
23 35  /numbersign     == /numbersign     NUMBER SIGN
24 36  /dollar         == /dollar         DOLLAR SIGN
25 37  /percent        == /percent        PERCENT SIGN
26 38  /ampersand      == /ampersand      AMPERSAND
27 39  /quotesingle    XX /quoteright     APOSTROPHE
28 40  /parenleft      == /parenleft      LEFT PARENTHESIS
29 41  /parenright     == /parenright     RIGHT PARENTHESIS
2A 42  /asterisk       == /asterisk       ASTERISK
2B 43  /plus           == /plus           PLUS SIGN
2C 44  /comma          == /comma          COMMA
2D 45  /hyphen         == /hyphen         HYPHEN-MINUS
2E 46  /period         == /period         FULL STOP
2F 47  /slash          == /slash          SOLIDUS
30 48  /zero           == /zero           DIGIT ZERO
31 49  /one            == /one            DIGIT ONE
32 50  /two            == /two            DIGIT TWO
33 51  /three          == /three          DIGIT THREE
34 52  /four           == /four           DIGIT FOUR
35 53  /five           == /five           DIGIT FIVE
36 54  /six            == /six            DIGIT SIX
37 55  /seven          == /seven          DIGIT SEVEN
38 56  /eight          == /eight          DIGIT EIGHT
39 57  /nine           == /nine           DIGIT NINE
3A 58  /colon          == /colon          COLON
3B 59  /semicolon      == /semicolon      SEMICOLON
3C 60  /less           == /less           LESS-THAN SIGN
3D 61  /equal          == /equal          EQUALS SIGN
3E 62  /greater        == /greater        GREATER-THAN SIGN
3F 63  /question       == /question       QUESTION MARK
40 64  /at             == /at             COMMERCIAL AT
41 65  /A              == /A              LATIN CAPITAL LETTER A
42 66  /B              == /B              LATIN CAPITAL LETTER B
43 67  /C              == /C              LATIN CAPITAL LETTER C
44 68  /D              == /D              LATIN CAPITAL LETTER D
45 69  /E              == /E              LATIN CAPITAL LETTER E
46 70  /F              == /F              LATIN CAPITAL LETTER F
47 71  /G              == /G              LATIN CAPITAL LETTER G
48 72  /H              == /H              LATIN CAPITAL LETTER H
49 73  /I              == /I              LATIN CAPITAL LETTER I
4A 74  /J              == /J              LATIN CAPITAL LETTER J
4B 75  /K              == /K              LATIN CAPITAL LETTER K
4C 76  /L              == /L              LATIN CAPITAL LETTER L
4D 77  /M              == /M              LATIN CAPITAL LETTER M
4E 78  /N              == /N              LATIN CAPITAL LETTER N
4F 79  /O              == /O              LATIN CAPITAL LETTER O
50 80  /P              == /P              LATIN CAPITAL LETTER P
51 81  /Q              == /Q              LATIN CAPITAL LETTER Q
52 82  /R              == /R              LATIN CAPITAL LETTER R
53 83  /S              == /S              LATIN CAPITAL LETTER S
54 84  /T              == /T              LATIN CAPITAL LETTER T
55 85  /U              == /U              LATIN CAPITAL LETTER U
56 86  /V              == /V              LATIN CAPITAL LETTER V
57 87  /W              == /W              LATIN CAPITAL LETTER W
58 88  /X              == /X              LATIN CAPITAL LETTER X
59 89  /Y              == /Y              LATIN CAPITAL LETTER Y
5A 90  /Z              == /Z              LATIN CAPITAL LETTER Z
5B 91  /bracketleft    == /bracketleft    LEFT SQUARE BRACKET
5C 92  /backslash      == /backslash      REVERSE SOLIDUS
5D 93  /bracketright   == /bracketright   RIGHT SQUARE BRACKET
5E 94  /asciicircum    == /asciicircum    CIRCUMFLEX ACCENT
5F 95  /underscore     == /underscore     LOW LINE
60 96  /grave          XX /quoteleft      GRAVE ACCENT
61 97  /a              == /a              LATIN SMALL LETTER A
62 98  /b              == /b              LATIN SMALL LETTER B
63 99  /c              == /c              LATIN SMALL LETTER C
64 100 /d              == /d              LATIN SMALL LETTER D
65 101 /e              == /e              LATIN SMALL LETTER E
66 102 /f              == /f              LATIN SMALL LETTER F
67 103 /g              == /g              LATIN SMALL LETTER G
68 104 /h              == /h              LATIN SMALL LETTER H
69 105 /i              == /i              LATIN SMALL LETTER I
6A 106 /j              == /j              LATIN SMALL LETTER J
6B 107 /k              == /k              LATIN SMALL LETTER K
6C 108 /l              == /l              LATIN SMALL LETTER L
6D 109 /m              == /m              LATIN SMALL LETTER M
6E 110 /n              == /n              LATIN SMALL LETTER N
6F 111 /o              == /o              LATIN SMALL LETTER O
70 112 /p              == /p              LATIN SMALL LETTER P
71 113 /q              == /q              LATIN SMALL LETTER Q
72 114 /r              == /r              LATIN SMALL LETTER R
73 115 /s              == /s              LATIN SMALL LETTER S
74 116 /t              == /t              LATIN SMALL LETTER T
75 117 /u              == /u              LATIN SMALL LETTER U
76 118 /v              == /v              LATIN SMALL LETTER V
77 119 /w              == /w              LATIN SMALL LETTER W
78 120 /x              == /x              LATIN SMALL LETTER X
79 121 /y              == /y              LATIN SMALL LETTER Y
7A 122 /z              == /z              LATIN SMALL LETTER Z
7B 123 /braceleft      == /braceleft      LEFT CURLY BRACKET
7C 124 /bar            == /bar            VERTICAL LINE
7D 125 /braceright     == /braceright     RIGHT CURLY BRACKET
7E 126 /asciitilde     == /asciitilde     TILDE
7F 127 /.notdef        == /.notdef        DELETE (DEL)

80 128 /.notdef        == /.notdef        PADDING CHARACTER (PAD)
81 129 /.notdef        == /.notdef        HIGH OCTET PRESET (HOP)
82 130 /quotesinglbase XX /.notdef        BREAK PERMITTED HERE (BPH)
83 131 /florin         XX /.notdef        NO BREAK HERE (NBH)
84 132 /quotedblbase   XX /.notdef        INDEX (IND)
85 133 /ellipsis       XX /.notdef        NEXT LINE (NEL)
86 134 /dagger         XX /.notdef        START OF SELECTED AREA (SSA)
87 135 /daggerdbl      XX /.notdef        END OF SELECTED AREA (ESA)
88 136 /.notdef        == /.notdef        CHARACTER TABULATION SET (HTS)
89 137 /perthousand    XX /.notdef        CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
8A 138 /Scaron         XX /.notdef        LINE TABULATION SET (VTS)
8B 139 /guilsinglleft  XX /.notdef        PARTIAL LINE FORWARD (PLD)
8C 140 /OE             XX /.notdef        PARTIAL LINE BACKWARD (PLU)
8D 141 /.notdef        == /.notdef        REVERSE LINE FEED (RI)
8E 142 /.notdef        == /.notdef        SINGLE-SHIFT TWO (SS2)
8F 143 /.notdef        == /.notdef        SINGLE-SHIFT THREE (SS3)
90 144 /.notdef        XX /dotlessi       DEVICE CONTROL STRING (DCS)
91 145 /quoteleft      XX /grave          PRIVATE USE ONE (PU1)
92 146 /quoteright     XX /acute          PRIVATE USE TWO (PU2)
93 147 /quotedblleft   XX /circumflex     SET TRANSMIT STATE (STS)
94 148 /quotedblright  XX /tilde          CANCEL CHARACTER (CCH)
95 149 /bullet         XX /macron         MESSAGE WAITING (MW)
96 150 /endash         XX /breve          START OF GUARDED AREA (SPA)
97 151 /emdash         XX /dotaccent      END OF GUARDED AREA (EPA)
98 152 /.notdef        XX /dieresis       START OF STRING (SOS)
99 153 /trademark      XX /.notdef        SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
9A 154 /scaron         XX /ring           SINGLE CHARACTER INTRODUCER (SCI)
9B 155 /guilsinglright XX /cedilla        CONTROL SEQUENCE INTRODUCER (CSI)
9C 156 /oe             XX /.notdef        STRING TERMINATOR (ST)
9D 157 /ydieresis      XX /hungarumlaut   OPERATING SYSTEM COMMAND (OSC)
9E 158 /.notdef        XX /ogonek         PRIVACY MESSAGE (PM)
9F 159 /.notdef        XX /caron          APPLICATION PROGRAM COMMAND (APC)

A0 160 /space          == /space          NO-BREAK SPACE
A1 161 /exclamdown     == /exclamdown     INVERTED EXCLAMATION MARK
A2 162 /cent           == /cent           CENT SIGN
A3 163 /sterling       == /sterling       POUND SIGN
A4 164 /currency       == /currency       CURRENCY SIGN
A5 165 /yen            == /yen            YEN SIGN
A6 166 /brokenbar      == /brokenbar      BROKEN BAR
A7 167 /section        == /section        SECTION SIGN
A8 168 /dieresis       == /dieresis       DIAERESIS
A9 169 /copyright      == /copyright      COPYRIGHT SIGN
AA 170 /ordfeminine    == /ordfeminine    FEMININE ORDINAL INDICATOR
AB 171 /guillemotleft  == /guillemotleft  LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
AC 172 /logicalnot     == /logicalnot     NOT SIGN
AD 173 /hyphen         == /hyphen         SOFT HYPHEN
AE 174 /registered     == /registered     REGISTERED SIGN
AF 175 /macron         == /macron         OVERLINE
B0 176 /degree         == /degree         DEGREE SIGN
B1 177 /plusminus      == /plusminus      PLUS-MINUS SIGN
B2 178 /twosuperior    == /twosuperior    SUPERSCRIPT TWO
B3 179 /threesuperior  == /threesuperior  SUPERSCRIPT THREE
B4 180 /acute          == /acute          ACUTE ACCENT
B5 181 /mu             == /mu             MICRO SIGN
B6 182 /paragraph      == /paragraph      PILCROW SIGN
B7 183 /periodcentered == /periodcentered MIDDLE DOT
B8 184 /cedilla        == /cedilla        CEDILLA
B9 185 /onesuperior    == /onesuperior    SUPERSCRIPT ONE
BA 186 /ordmasculine   == /ordmasculine   MASCULINE ORDINAL INDICATOR
BB 187 /guillemotright == /guillemotright RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
BC 188 /onequarter     == /onequarter     VULGAR FRACTION ONE QUARTER
BD 189 /onehalf        == /onehalf        VULGAR FRACTION ONE HALF
BE 190 /threequarters  == /threequarters  VULGAR FRACTION THREE QUARTERS
BF 191 /questiondown   == /questiondown   INVERTED QUESTION MARK
C0 192 /Agrave         == /Agrave         LATIN CAPITAL LETTER A WITH GRAVE
C1 193 /Aacute         == /Aacute         LATIN CAPITAL LETTER A WITH ACUTE
C2 194 /Acircumflex    == /Acircumflex    LATIN CAPITAL LETTER A WITH CIRCUMFLEX
C3 195 /Atilde         == /Atilde         LATIN CAPITAL LETTER A WITH TILDE
C4 196 /Adieresis      == /Adieresis      LATIN CAPITAL LETTER A WITH DIAERESIS
C5 197 /Aring          == /Aring          LATIN CAPITAL LETTER A WITH RING ABOVE
C6 198 /AE             == /AE             LATIN CAPITAL LETTER AE
C7 199 /Ccedilla       == /Ccedilla       LATIN CAPITAL LETTER C WITH CEDILLA
C8 200 /Egrave         == /Egrave         LATIN CAPITAL LETTER E WITH GRAVE
C9 201 /Eacute         == /Eacute         LATIN CAPITAL LETTER E WITH ACUTE
CA 202 /Ecircumflex    == /Ecircumflex    LATIN CAPITAL LETTER E WITH CIRCUMFLEX
CB 203 /Edieresis      == /Edieresis      LATIN CAPITAL LETTER E WITH DIAERESIS
CC 204 /Igrave         == /Igrave         LATIN CAPITAL LETTER I WITH GRAVE
CD 205 /Iacute         == /Iacute         LATIN CAPITAL LETTER I WITH ACUTE
CE 206 /Icircumflex    == /Icircumflex    LATIN CAPITAL LETTER I WITH CIRCUMFLEX
CF 207 /Idieresis      == /Idieresis      LATIN CAPITAL LETTER I WITH DIAERESIS
D0 208 /Eth            == /Eth            LATIN CAPITAL LETTER ETH (Icelandic)
D1 209 /Ntilde         == /Ntilde         LATIN CAPITAL LETTER N WITH TILDE
D2 210 /Ograve         == /Ograve         LATIN CAPITAL LETTER O WITH GRAVE
D3 211 /Oacute         == /Oacute         LATIN CAPITAL LETTER O WITH ACUTE
D4 212 /Ocircumflex    == /Ocircumflex    LATIN CAPITAL LETTER O WITH CIRCUMFLEX
D5 213 /Otilde         == /Otilde         LATIN CAPITAL LETTER O WITH TILDE
D6 214 /Odieresis      == /Odieresis      LATIN CAPITAL LETTER O WITH DIAERESIS
D7 215 /multiply       == /multiply       MULTIPLICATION SIGN
D8 216 /Oslash         == /Oslash         LATIN CAPITAL LETTER O WITH STROKE
D9 217 /Ugrave         == /Ugrave         LATIN CAPITAL LETTER U WITH GRAVE
DA 218 /Uacute         == /Uacute         LATIN CAPITAL LETTER U WITH ACUTE
DB 219 /Ucircumflex    == /Ucircumflex    LATIN CAPITAL LETTER U WITH CIRCUMFLEX
DC 220 /Udieresis      == /Udieresis      LATIN CAPITAL LETTER U WITH DIAERESIS
DD 221 /Yacute         == /Yacute         LATIN CAPITAL LETTER Y WITH ACUTE
DE 222 /Thorn          == /Thorn          LATIN CAPITAL LETTER THORN (Icelandic)
DF 223 /germandbls     == /germandbls     LATIN SMALL LETTER SHARP S (German)
E0 224 /agrave         == /agrave         LATIN SMALL LETTER A WITH GRAVE
E1 225 /aacute         == /aacute         LATIN SMALL LETTER A WITH ACUTE
E2 226 /acircumflex    == /acircumflex    LATIN SMALL LETTER A WITH CIRCUMFLEX
E3 227 /atilde         == /atilde         LATIN SMALL LETTER A WITH TILDE
E4 228 /adieresis      == /adieresis      LATIN SMALL LETTER A WITH DIAERESIS
E5 229 /aring          == /aring          LATIN SMALL LETTER A WITH RING ABOVE
E6 230 /ae             == /ae             LATIN SMALL LETTER AE
E7 231 /ccedilla       == /ccedilla       LATIN SMALL LETTER C WITH CEDILLA
E8 232 /egrave         == /egrave         LATIN SMALL LETTER E WITH GRAVE
E9 233 /eacute         == /eacute         LATIN SMALL LETTER E WITH ACUTE
EA 234 /ecircumflex    == /ecircumflex    LATIN SMALL LETTER E WITH CIRCUMFLEX
EB 235 /edieresis      == /edieresis      LATIN SMALL LETTER E WITH DIAERESIS
EC 236 /igrave         == /igrave         LATIN SMALL LETTER I WITH GRAVE
ED 237 /iacute         == /iacute         LATIN SMALL LETTER I WITH ACUTE
EE 238 /icircumflex    == /icircumflex    LATIN SMALL LETTER I WITH CIRCUMFLEX
EF 239 /idieresis      == /idieresis      LATIN SMALL LETTER I WITH DIAERESIS
F0 240 /eth            == /eth            LATIN SMALL LETTER ETH (Icelandic)
F1 241 /ntilde         == /ntilde         LATIN SMALL LETTER N WITH TILDE
F2 242 /ograve         == /ograve         LATIN SMALL LETTER O WITH GRAVE
F3 243 /oacute         == /oacute         LATIN SMALL LETTER O WITH ACUTE
F4 244 /ocircumflex    == /ocircumflex    LATIN SMALL LETTER O WITH CIRCUMFLEX
F5 245 /otilde         == /otilde         LATIN SMALL LETTER O WITH TILDE
F6 246 /odieresis      == /odieresis      LATIN SMALL LETTER O WITH DIAERESIS
F7 247 /divide         == /divide         DIVISION SIGN
F8 248 /oslash         == /oslash         LATIN SMALL LETTER O WITH STROKE
F9 249 /ugrave         == /ugrave         LATIN SMALL LETTER U WITH GRAVE
FA 250 /uacute         == /uacute         LATIN SMALL LETTER U WITH ACUTE
FB 251 /ucircumflex    == /ucircumflex    LATIN SMALL LETTER U WITH CIRCUMFLEX
FC 252 /udieresis      == /udieresis      LATIN SMALL LETTER U WITH DIAERESIS
FD 253 /yacute         == /yacute         LATIN SMALL LETTER Y WITH ACUTE
FE 254 /thorn          == /thorn          LATIN SMALL LETTER THORN (Icelandic)
FF 255 /ydieresis      == /ydieresis      LATIN SMALL LETTER Y WITH DIAERESIS
--
         --Henry Churchyard     churchh@emx.cc.utexas.edu
Newsgroups: comp.lang.postscript