PostScript StandardEncoding might occasionally come in handy. While
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Thu, 6 Oct 2005 10:05:34 +0000 (10:05 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Thu, 6 Oct 2005 10:05:34 +0000 (10:05 +0000)
I'm here, I've updated the URL to the Adobe Glyph List.

git-svn-id: svn://svn.tartarus.org/sgt/charset@6376 cda61777-01e9-0310-a592-d414129be87e

charset.h
localenc.c
sbcs.dat

index 5d64877..3b19807 100644 (file)
--- a/charset.h
+++ b/charset.h
@@ -85,6 +85,7 @@ typedef enum {
     CS_HZ,
     CS_CP949,
     CS_PDF,
+    CS_PSSTD,
     CS_CTEXT,
     CS_ISO2022,
     CS_BS4730,
index f19c178..d1ce136 100644 (file)
@@ -115,6 +115,7 @@ static const struct {
     { "UTF-16", CS_UTF16, 1 },
     { "CP949", CS_CP949, 1 },
     { "PDFDocEncoding", CS_PDF, 1 },
+    { "StandardEncoding", CS_PSSTD, 1 },
     { "COMPOUND_TEXT", CS_CTEXT, 1 },
     { "COMPOUND-TEXT", CS_CTEXT, 0 },
     { "COMPOUND TEXT", CS_CTEXT, 0 },
index 93e0676..1699287 100644 (file)
--- a/sbcs.dat
+++ b/sbcs.dat
@@ -1224,7 +1224,10 @@ XXXX 00f1 00f2 00f3 00f4 00f5 00f6 0153 00f8 00f9 00fa 00fb 00fc 00ff XXXX XXXX
   convert it to Unicode.
 
   The Adobe Glyph List is at
-    http://partners.adobe.com/asn/tech/type/glyphlist.txt
+    http://partners.adobe.com/asn/tech/type/aglfn13.txt
+  (but redirects to something with the filename `glyphlist.txt',
+  which is therefore how it will be retrieved by wget and how I'll
+  refer to it below)
 
   and the somewhat unwieldy shell script I used looked like this:
 
@@ -1344,3 +1347,48 @@ charset CS_PDF
 00D0 00D1 00D2 00D3 00D4 00D5 00D6 00D7 00D8 00D9 00DA 00DB 00DC 00DD 00DE 00DF
 00E0 00E1 00E2 00E3 00E4 00E5 00E6 00E7 00E8 00E9 00EA 00EB 00EC 00ED 00EE 00EF
 00F0 00F1 00F2 00F3 00F4 00F5 00F6 00F7 00F8 00F9 00FA 00FB 00FC 00FD 00FE 00FF
+
+  PostScript's StandardEncoding is most easily acquired by reading
+  it out of GhostScript as a list of Adobe glyph names, which can
+  then be looked up in glyphlist.txt as above.
+
+  echo 'StandardEncoding {==} forall' | gs -sDEVICE=nullpage -q - | \
+  for row in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do
+    for col in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do
+      read glyph
+      glyph=${glyph#/}
+      if grep -q "^$glyph;" glyphlist.txt; then
+        set -- `grep "^$glyph;" glyphlist.txt | tr -d '\r' | cut -f2 -d\;`
+        code=$1
+      else
+        code="XXXX"
+      fi
+      if [ $row == 0 -o $row == 1 ]; then
+        code="00$row$col"
+      fi
+      if [ $col == F ]; then
+        echo $code
+      else
+        echo -n $code
+       echo -n " "
+      fi
+    done
+  done
+
+charset CS_PSSTD
+0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000A 000B 000C 000D 000E 000F
+0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001A 001B 001C 001D 001E 001F
+0020 0021 0022 0023 0024 0025 0026 2019 0028 0029 002A 002B 002C 002D 002E 002F
+0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
+0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
+0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
+2018 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
+0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E XXXX
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+XXXX 00A1 00A2 00A3 2044 00A5 0192 00A7 00A4 0027 201C 00AB 2039 203A FB01 FB02
+XXXX 2013 2020 2021 00B7 XXXX 00B6 2022 201A 201E 201D 00BB 2026 2030 XXXX 00BF
+XXXX 0060 00B4 02C6 02DC 00AF 02D8 02D9 00A8 XXXX 02DA 00B8 XXXX 02DD 02DB 02C7
+2014 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX
+XXXX 00C6 XXXX 00AA XXXX XXXX XXXX XXXX 0141 00D8 0152 00BA XXXX XXXX XXXX XXXX
+XXXX 00E6 XXXX XXXX XXXX 0131 XXXX XXXX 0142 00F8 0153 00DF XXXX XXXX XXXX XXXX