and the somewhat unwieldy shell script I used looked like this:
+ # Preserve control characters
for c1 in 0 1 2 3 4 5 6 7 8 9 A B C D E F; do
for c2 in 0 1; do
eval "chr$[16*$c2 + 0x$c1]=00$c2$c1"
done
done
+ # The code below misses out the code point at 0xAD for some
+ # reason. Since PDFDocEncoding is supposed to be a superset of
+ # 8859-1, I reinstate it as the 8859-1 character.
+ chr173=00AD
char() {
if grep -q "^$1;" glyphlist.txt; then
oifs="$IFS"
0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E XXXX
2022 2020 2021 2026 2014 2013 0192 2044 2039 203A 2212 2030 201E 201C 201D 2018
2019 201A 2122 FB01 FB02 0141 0152 0160 0178 017D 0131 0142 0153 0161 017E XXXX
-20AC 00A1 00A2 00A3 00A4 00A5 00A6 00A7 00A8 00A9 00AA 00AB 00AC XXXX 00AE 00AF
+20AC 00A1 00A2 00A3 00A4 00A5 00A6 00A7 00A8 00A9 00AA 00AB 00AC 00AD 00AE 00AF
00B0 00B1 00B2 00B3 00B4 00B5 00B6 00B7 00B8 00B9 00BA 00BB 00BC 00BD 00BE 00BF
00C0 00C1 00C2 00C3 00C4 00C5 00C6 00C7 00C8 00C9 00CA 00CB 00CC 00CD 00CE 00CF
00D0 00D1 00D2 00D3 00D4 00D5 00D6 00D7 00D8 00D9 00DA 00DB 00DC 00DD 00DE 00DF