summaryrefslogtreecommitdiff
path: root/toolbin/GenSubstCID.ps
blob: 12fb96ca8a20338334a767469a8e8e73d80f97ec (plain)
ofshex dumpascii
0000 25 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 31 2d 32 30 32 30 20 41 72 74 69 66 65 %.Copyright.(C).2001-2020.Artife
0020 78 20 53 6f 66 74 77 61 72 65 2c 20 49 6e 63 2e 0a 25 20 41 6c 6c 20 52 69 67 68 74 73 20 52 65 x.Software,.Inc..%.All.Rights.Re
0040 73 65 72 76 65 64 2e 0a 25 0a 25 20 54 68 69 73 20 73 6f 66 74 77 61 72 65 20 69 73 20 70 72 6f served..%.%.This.software.is.pro
0060 76 69 64 65 64 20 41 53 2d 49 53 20 77 69 74 68 20 6e 6f 20 77 61 72 72 61 6e 74 79 2c 20 65 69 vided.AS-IS.with.no.warranty,.ei
0080 74 68 65 72 20 65 78 70 72 65 73 73 20 6f 72 0a 25 20 69 6d 70 6c 69 65 64 2e 0a 25 0a 25 20 54 ther.express.or.%.implied..%.%.T
00a0 68 69 73 20 73 6f 66 74 77 61 72 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 75 6e 64 65 his.software.is.distributed.unde
00c0 72 20 6c 69 63 65 6e 73 65 20 61 6e 64 20 6d 61 79 20 6e 6f 74 20 62 65 20 63 6f 70 69 65 64 2c r.license.and.may.not.be.copied,
00e0 0a 25 20 6d 6f 64 69 66 69 65 64 20 6f 72 20 64 69 73 74 72 69 62 75 74 65 64 20 65 78 63 65 70 .%.modified.or.distributed.excep
0100 74 20 61 73 20 65 78 70 72 65 73 73 6c 79 20 61 75 74 68 6f 72 69 7a 65 64 20 75 6e 64 65 72 20 t.as.expressly.authorized.under.
0120 74 68 65 20 74 65 72 6d 73 0a 25 20 6f 66 20 74 68 65 20 6c 69 63 65 6e 73 65 20 63 6f 6e 74 61 the.terms.%.of.the.license.conta
0140 69 6e 65 64 20 69 6e 20 74 68 65 20 66 69 6c 65 20 4c 49 43 45 4e 53 45 20 69 6e 20 74 68 69 73 ined.in.the.file.LICENSE.in.this
0160 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 0a 25 0a 25 20 52 65 66 65 72 20 74 6f 20 6c 69 63 65 .distribution..%.%.Refer.to.lice
0180 6e 73 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 74 20 68 74 74 70 3a 2f 2f 77 77 77 2e nsing.information.at.http://www.
01a0 61 72 74 69 66 65 78 2e 63 6f 6d 20 6f 72 20 63 6f 6e 74 61 63 74 0a 25 20 41 72 74 69 66 65 78 artifex.com.or.contact.%.Artifex
01c0 20 53 6f 66 74 77 61 72 65 2c 20 49 6e 63 2e 2c 20 20 31 33 30 35 20 47 72 61 6e 74 20 41 76 65 .Software,.Inc.,..1305.Grant.Ave
01e0 6e 75 65 20 2d 20 53 75 69 74 65 20 32 30 30 2c 20 4e 6f 76 61 74 6f 2c 0a 25 20 43 41 20 39 34 nue.-.Suite.200,.Novato,.%.CA.94
0200 39 34 35 2c 20 55 2e 53 2e 41 2e 2c 20 2b 31 28 34 31 35 29 34 39 32 2d 39 38 36 31 2c 20 66 6f 945,.U.S.A.,.+1(415)492-9861,.fo
0220 72 20 66 75 72 74 68 65 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 0a 25 20 24 49 64 3a 20 47 r.further.information...%.$Id:.G
0240 65 6e 53 75 62 73 74 43 49 44 2e 70 73 20 38 36 34 38 20 32 30 30 38 2d 30 34 2d 31 39 20 30 34 enSubstCID.ps.8648.2008-04-19.04
0260 3a 34 39 3a 32 30 5a 20 61 6c 65 78 63 68 65 72 0a 0a 25 20 55 73 61 67 65 3a 20 67 73 20 2d 2d :49:20Z.alexcher..%.Usage:.gs.--
0280 20 55 73 61 67 65 3a 20 67 73 20 2d 2d 20 74 6f 6f 6c 62 69 6e 2f 47 65 6e 53 75 62 73 74 43 49 .Usage:.gs.--.toolbin/GenSubstCI
02a0 44 2e 70 73 0a 25 20 47 65 6e 65 72 61 74 65 20 61 20 53 75 62 73 74 43 49 44 20 72 65 73 6f 75 D.ps.%.Generate.a.SubstCID.resou
02c0 72 63 65 20 66 6f 72 20 57 4d 6f 64 65 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 66 72 6f 6d 20 rce.for.WMode.substitution.from.
02e0 76 65 72 74 69 63 61 6c 20 43 4d 61 70 20 66 69 6c 65 73 2e 0a 25 20 53 65 65 20 74 68 65 20 6c vertical.CMap.files..%.See.the.l
0300 69 73 74 20 6f 66 20 43 4d 61 70 20 6d 66 69 6c 65 73 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 ist.of.CMap.mfiles.at.the.end.of
0320 20 74 68 69 73 20 66 69 6c 65 2e 0a 25 20 57 65 20 61 73 73 75 6d 65 20 74 68 61 74 20 74 68 65 .this.file..%.We.assume.that.the
0340 20 43 4d 61 70 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 64 65 66 69 6e 65 73 20 22 76 65 72 74 69 .CMap.immediately.defines."verti
0360 63 61 6c 22 20 43 49 44 73 20 6f 6e 6c 79 0a 25 20 61 6e 64 20 74 61 6b 65 73 20 6f 74 68 65 72 cal".CIDs.only.%.and.takes.other
0380 73 20 66 72 6f 6d 20 61 6e 6f 74 68 65 72 20 43 4d 61 70 20 77 69 74 68 20 75 73 65 63 6d 61 70 s.from.another.CMap.with.usecmap
03a0 2e 0a 0a 2f 47 65 6e 65 72 61 74 65 53 75 62 73 74 20 20 20 25 20 3c 43 4d 61 70 20 66 69 6c 65 .../GenerateSubst...%.<CMap.file
03c0 20 70 61 74 68 20 6e 61 6d 65 3e 20 47 65 6e 65 72 61 74 65 53 75 62 73 74 20 2d 0a 7b 0a 20 20 .path.name>.GenerateSubst.-.{...
03e0 64 75 70 20 3d 0a 20 20 2f 66 69 6c 65 6e 61 6d 65 20 65 78 63 68 20 64 65 66 0a 0a 20 20 2f 2e dup.=.../filename.exch.def..../.
0400 43 4d 61 70 20 31 30 30 20 64 69 63 74 20 64 65 66 0a 20 20 2f 2e 43 4d 61 70 2d 31 20 31 30 30 CMap.100.dict.def.../.CMap-1.100
0420 20 64 69 63 74 20 64 65 66 0a 20 20 2f 2e 63 6f 6e 64 69 74 69 6f 6e 20 7b 20 74 72 75 65 20 7d .dict.def.../.condition.{.true.}
0440 20 64 65 66 0a 0a 20 20 2f 75 73 65 63 6d 61 70 20 7b 20 75 73 65 72 64 69 63 74 20 65 78 63 68 .def..../usecmap.{.userdict.exch
0460 20 2f 2e 75 73 65 63 6d 61 70 20 65 78 63 68 20 3d 73 74 72 69 6e 67 20 63 76 73 20 64 75 70 20 ./.usecmap.exch.=string.cvs.dup.
0480 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 20 63 6f 70 79 20 70 75 74 20 7d 20 62 69 6e 64 20 64 65 length.string.copy.put.}.bind.de
04a0 66 0a 20 20 2f 62 65 67 69 6e 63 6d 61 70 20 7b 7d 20 64 65 66 0a 20 20 2f 65 6e 64 63 6d 61 70 f.../begincmap.{}.def.../endcmap
04c0 20 7b 7d 20 64 65 66 0a 20 20 2f 66 69 6e 64 72 65 73 6f 75 72 63 65 20 7b 20 70 6f 70 20 70 6f .{}.def.../findresource.{.pop.po
04e0 70 20 32 30 20 64 69 63 74 20 7d 20 64 65 66 0a 20 20 2f 62 65 67 69 6e 63 69 64 72 61 6e 67 65 p.20.dict.}.def.../begincidrange
0500 20 7b 20 70 6f 70 20 5b 20 7d 20 62 69 6e 64 20 64 65 66 0a 20 20 2f 62 65 67 69 6e 63 6f 64 65 .{.pop.[.}.bind.def.../begincode
0520 73 70 61 63 65 72 61 6e 67 65 20 7b 20 70 6f 70 20 6d 61 72 6b 20 7d 20 62 69 6e 64 20 64 65 66 spacerange.{.pop.mark.}.bind.def
0540 0a 20 20 2f 65 6e 64 63 6f 64 65 73 70 61 63 65 72 61 6e 67 65 20 7b 20 63 6c 65 61 72 74 6f 6d .../endcodespacerange.{.cleartom
0560 61 72 6b 20 7d 20 64 65 66 0a 20 20 2f 62 65 67 69 6e 6e 6f 74 64 65 66 72 61 6e 67 65 20 7b 20 ark.}.def.../beginnotdefrange.{.
0580 70 6f 70 20 6d 61 72 6b 20 7d 20 62 69 6e 64 20 64 65 66 0a 20 20 2f 65 6e 64 6e 6f 74 64 65 66 pop.mark.}.bind.def.../endnotdef
05a0 72 61 6e 67 65 20 7b 20 63 6c 65 61 72 74 6f 6d 61 72 6b 20 7d 20 62 69 6e 64 20 64 65 66 0a 20 range.{.cleartomark.}.bind.def..
05c0 20 2f 2e 53 74 72 69 6e 67 54 6f 49 6e 74 20 20 20 20 20 25 20 3c 73 74 72 69 6e 67 3e 20 2e 53 ./.StringToInt.....%.<string>..S
05e0 74 72 69 6e 67 54 6f 49 6e 74 20 3c 69 6e 74 65 67 65 72 3e 0a 20 20 20 20 7b 20 30 20 65 78 63 tringToInt.<integer>.....{.0.exc
0600 68 20 7b 20 65 78 63 68 20 38 20 62 69 74 73 68 69 66 74 20 61 64 64 20 7d 20 66 6f 72 61 6c 6c h.{.exch.8.bitshift.add.}.forall
0620 0a 20 20 20 20 7d 20 62 69 6e 64 20 64 65 66 0a 20 20 2f 6f 75 74 20 7b 20 46 69 6c 65 20 65 78 .....}.bind.def.../out.{.File.ex
0640 63 68 20 77 72 69 74 65 73 74 72 69 6e 67 20 7d 20 62 69 6e 64 20 64 65 66 0a 20 20 2f 6f 75 74 ch.writestring.}.bind.def.../out
0660 6c 20 7b 20 6f 75 74 20 6c 69 6e 65 62 72 65 61 6b 20 6f 75 74 20 7d 20 62 69 6e 64 20 64 65 66 l.{.out.linebreak.out.}.bind.def
0680 0a 20 20 2f 65 6e 64 63 69 64 72 61 6e 67 65 20 7b 0a 20 20 20 20 5d 0a 20 20 20 20 7b 20 64 75 .../endcidrange.{.....].....{.du
06a0 70 20 74 79 70 65 20 2f 73 74 72 69 6e 67 74 79 70 65 20 65 71 20 7b 0a 20 20 20 20 20 20 20 20 p.type./stringtype.eq.{.........
06c0 63 75 72 72 65 6e 74 64 69 63 74 20 2f 62 20 6b 6e 6f 77 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 currentdict./b.known.{..........
06e0 20 2e 53 74 72 69 6e 67 54 6f 49 6e 74 20 2f 65 20 65 78 63 68 20 64 65 66 0a 20 20 20 20 20 20 ..StringToInt./e.exch.def.......
0700 20 20 7d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 2e 53 74 72 69 6e 67 54 6f 49 6e 74 20 2f 62 20 ..}.{............StringToInt./b.
0720 65 78 63 68 20 64 65 66 0a 20 20 20 20 20 20 20 20 7d 20 69 66 65 6c 73 65 0a 20 20 20 20 20 20 exch.def.........}.ifelse.......
0740 7d 20 7b 0a 20 20 20 20 20 20 20 20 62 20 31 20 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 2e 63 }.{.........b.1.e.{............c
0760 6f 6e 64 69 74 69 6f 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 32 20 63 6f 70 79 20 2e 43 ondition.{.............2.copy..C
0780 4d 61 70 20 33 20 31 20 72 6f 6c 6c 20 65 78 63 68 20 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 Map.3.1.roll.exch.put...........
07a0 20 20 32 20 63 6f 70 79 20 2e 43 4d 61 70 2d 31 20 33 20 31 20 72 6f 6c 6c 20 70 75 74 0a 20 20 ..2.copy..CMap-1.3.1.roll.put...
07c0 20 20 20 20 20 20 20 20 20 20 32 20 63 6f 70 79 20 3d 73 74 72 69 6e 67 20 63 76 73 20 70 72 69 ..........2.copy.=string.cvs.pri
07e0 6e 74 20 28 20 29 20 70 72 69 6e 74 20 3d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 70 0a 20 nt.(.).print.=.............pop..
0800 20 20 20 20 20 20 20 20 20 7d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 70 0a 20 20 20 .........}.{.............pop....
0820 20 20 20 20 20 20 20 7d 20 69 66 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 31 20 61 64 64 0a .......}.ifelse...........1.add.
0840 20 20 20 20 20 20 20 20 7d 20 66 6f 72 0a 20 20 20 20 20 20 20 20 70 6f 70 0a 20 20 20 20 20 20 ........}.for.........pop.......
0860 20 20 63 75 72 72 65 6e 74 64 69 63 74 20 2f 62 20 75 6e 64 65 66 0a 20 20 20 20 20 20 20 20 63 ..currentdict./b.undef.........c
0880 75 72 72 65 6e 74 64 69 63 74 20 2f 65 20 75 6e 64 65 66 0a 20 20 20 20 20 20 7d 20 69 66 65 6c urrentdict./e.undef.......}.ifel
08a0 73 65 0a 20 20 20 20 7d 20 66 6f 72 61 6c 6c 0a 20 20 20 20 43 49 44 53 79 73 74 65 6d 49 6e 66 se.....}.forall.....CIDSystemInf
08c0 6f 20 2f 4f 72 64 65 72 69 6e 67 20 67 65 74 20 75 73 65 72 64 69 63 74 20 65 78 63 68 20 2f 4f o./Ordering.get.userdict.exch./O
08e0 72 64 65 72 69 6e 67 20 65 78 63 68 20 70 75 74 0a 20 20 7d 20 62 69 6e 64 20 64 65 66 0a 0a 20 rdering.exch.put...}.bind.def...
0900 20 25 20 43 6f 6d 70 75 74 65 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 6c 69 6e 65 20 62 72 65 .%.Compute.the.platform.line.bre
0920 61 6b 20 3a 0a 20 20 66 69 6c 65 6e 61 6d 65 20 28 72 29 20 66 69 6c 65 20 64 75 70 0a 20 20 32 ak.:...filename.(r).file.dup...2
0940 30 30 20 73 74 72 69 6e 67 20 72 65 61 64 73 74 72 69 6e 67 20 70 6f 70 0a 20 20 2f 73 74 72 20 00.string.readstring.pop.../str.
0960 65 78 63 68 20 64 65 66 0a 20 20 63 6c 6f 73 65 66 69 6c 65 0a 0a 20 20 73 74 72 20 28 5c 72 29 exch.def...closefile....str.(\r)
0980 20 73 65 61 72 63 68 20 7b 0a 20 20 20 20 70 6f 70 20 70 6f 70 20 70 6f 70 20 2f 72 20 74 72 75 .search.{.....pop.pop.pop./r.tru
09a0 65 20 64 65 66 0a 20 20 7d 20 7b 0a 20 20 20 20 2f 72 20 66 61 6c 73 65 20 64 65 66 0a 20 20 7d e.def...}.{...../r.false.def...}
09c0 20 69 66 65 6c 73 65 0a 20 20 73 74 72 20 28 5c 6e 29 20 73 65 61 72 63 68 20 7b 0a 20 20 20 20 .ifelse...str.(\n).search.{.....
09e0 70 6f 70 20 70 6f 70 20 70 6f 70 20 2f 6e 20 74 72 75 65 20 64 65 66 0a 20 20 7d 20 7b 0a 20 20 pop.pop.pop./n.true.def...}.{...
0a00 20 20 2f 6e 20 66 61 6c 73 65 20 64 65 66 0a 20 20 7d 20 69 66 65 6c 73 65 0a 20 20 72 20 7b 0a ../n.false.def...}.ifelse...r.{.
0a20 20 20 20 20 6e 20 7b 0a 20 20 20 20 20 20 2f 6c 69 6e 65 62 72 65 61 6b 20 28 5c 72 5c 6e 29 20 ....n.{......./linebreak.(\r\n).
0a40 64 65 66 0a 20 20 20 20 7d 20 7b 0a 20 20 20 20 20 20 2f 6c 69 6e 65 62 72 65 61 6b 20 28 5c 72 def.....}.{......./linebreak.(\r
0a60 29 20 64 65 66 0a 20 20 20 20 7d 20 69 66 65 6c 73 65 0a 20 20 7d 20 7b 0a 20 20 20 20 2f 6c 69 ).def.....}.ifelse...}.{...../li
0a80 6e 65 62 72 65 61 6b 20 28 5c 6e 29 20 64 65 66 0a 20 20 7d 20 69 66 65 6c 73 65 0a 0a 20 20 25 nebreak.(\n).def...}.ifelse....%
0aa0 20 70 61 72 73 65 20 74 68 65 20 74 6f 70 20 6c 65 76 65 6c 20 43 4d 61 70 20 61 6e 64 20 63 72 .parse.the.top.level.CMap.and.cr
0ac0 65 61 74 65 20 2e 43 4d 61 70 20 20 3a 0a 20 20 66 69 6c 65 6e 61 6d 65 20 28 72 29 20 66 69 6c eate..CMap..:...filename.(r).fil
0ae0 65 20 72 75 6e 0a 20 20 2f 76 43 4d 61 70 20 2e 43 4d 61 70 20 64 75 70 20 6c 65 6e 67 74 68 20 e.run.../vCMap..CMap.dup.length.
0b00 64 69 63 74 20 63 6f 70 79 20 64 65 66 20 25 20 73 61 76 65 20 74 68 65 20 72 65 73 75 6c 74 2e dict.copy.def.%.save.the.result.
0b20 0a 20 20 2f 76 43 4d 61 70 2d 31 20 2e 43 4d 61 70 2d 31 20 64 75 70 20 6c 65 6e 67 74 68 20 64 .../vCMap-1..CMap-1.dup.length.d
0b40 69 63 74 20 63 6f 70 79 20 64 65 66 20 25 20 73 61 76 65 20 74 68 65 20 72 65 73 75 6c 74 2e 0a ict.copy.def.%.save.the.result..
0b60 20 20 25 20 57 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 70 75 72 67 65 20 2e 43 4d 61 70 20 68 65 ..%.Would.like.to.purge..CMap.he
0b80 72 65 2c 20 62 75 74 20 72 65 61 6c 6c 79 20 6e 6f 20 6e 65 63 63 65 73 73 69 74 79 2e 0a 0a 20 re,.but.really.no.neccessity....
0ba0 20 25 20 43 6f 6d 70 75 74 65 20 74 68 65 20 75 73 65 63 6d 61 70 20 66 69 6c 65 20 6e 61 6d 65 .%.Compute.the.usecmap.file.name
0bc0 20 3a 0a 0a 20 20 28 29 20 66 69 6c 65 6e 61 6d 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .:....().filename...............
0be0 20 20 20 20 20 20 25 20 73 20 70 0a 20 20 7b 20 2e 66 69 6c 65 5f 6e 61 6d 65 5f 73 65 70 61 72 ......%.s.p...{..file_name_separ
0c00 61 74 6f 72 20 73 65 61 72 63 68 20 7b 20 25 20 73 20 70 27 20 2f 20 6e 0a 20 20 20 20 20 20 34 ator.search.{.%.s.p'./.n.......4
0c20 20 33 20 72 6f 6c 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 25 20 70 27 20 .3.roll....................%.p'.
0c40 2f 20 6e 20 73 0a 20 00 20 20 20 20 64 75 70 20 6c 65 6e 67 74 68 20 30 20 67 74 20 7b 0a 20 20 /.n.s.......dup.length.0.gt.{...
0c60 20 20 20 20 20 20 2e 66 69 6c 65 5f 6e 61 6d 65 5f 73 65 70 61 72 61 74 6f 72 20 63 6f 6e 63 61 .......file_name_separator.conca
0c80 74 73 74 72 69 6e 67 73 0a 20 20 20 20 20 20 7d 20 69 66 0a 20 20 20 20 20 20 65 78 63 68 20 63 tstrings.......}.if.......exch.c
0ca0 6f 6e 63 61 74 73 74 72 69 6e 67 73 20 20 20 20 20 20 20 20 20 20 25 20 70 27 20 2f 20 73 2f 6e oncatstrings..........%.p'./.s/n
0cc0 0a 20 20 20 20 20 20 65 78 63 68 20 70 6f 70 20 65 78 63 68 20 20 20 20 20 20 20 20 20 20 20 20 .......exch.pop.exch............
0ce0 20 20 20 25 20 73 2f 6e 20 70 27 0a 20 20 20 20 7d 20 7b 0a 20 20 20 20 20 20 65 78 69 74 0a 20 ...%.s/n.p'.....}.{.......exit..
0d00 20 20 20 7d 20 69 66 65 6c 73 65 0a 20 20 7d 20 6c 6f 6f 70 0a 20 20 70 6f 70 20 2e 66 69 6c 65 ...}.ifelse...}.loop...pop..file
0d20 5f 6e 61 6d 65 5f 73 65 70 61 72 61 74 6f 72 20 63 6f 6e 63 61 74 73 74 72 69 6e 67 73 20 2e 75 _name_separator.concatstrings..u
0d40 73 65 63 6d 61 70 20 63 6f 6e 63 61 74 73 74 72 69 6e 67 73 0a 0a 20 20 25 20 53 65 74 20 6e 65 secmap.concatstrings....%.Set.ne
0d60 77 20 66 69 6c 74 65 72 20 63 6f 6e 64 69 74 69 6f 70 6e 20 3b 0a 20 20 2f 2e 63 6f 6e 64 69 74 w.filter.conditiopn.;.../.condit
0d80 69 6f 6e 20 7b 20 76 43 4d 61 70 20 31 20 69 6e 64 65 78 20 6b 6e 6f 77 6e 20 7d 20 62 69 6e 64 ion.{.vCMap.1.index.known.}.bind
0da0 20 64 65 66 0a 0a 20 20 25 20 72 75 6e 20 74 68 65 20 72 65 66 65 72 65 6e 63 65 64 20 43 4d 61 .def....%.run.the.referenced.CMa
0dc0 70 20 66 69 6c 65 20 3a 0a 20 20 64 75 70 20 28 52 75 6e 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 p.file.:...dup.(Running.the.file
0de0 20 29 20 70 72 69 6e 74 20 3d 0a 20 20 28 72 29 20 66 69 6c 65 20 72 75 6e 0a 0a 20 20 25 20 57 .).print.=...(r).file.run....%.W
0e00 72 69 74 65 20 74 68 65 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 66 69 6c 65 20 68 65 61 64 65 rite.the.substitution.file.heade
0e20 72 20 3a 0a 20 20 2f 53 75 62 73 74 4e 61 6d 65 20 4f 72 64 65 72 69 6e 67 20 3d 73 74 72 69 6e r.:.../SubstName.Ordering.=strin
0e40 67 20 63 76 73 20 28 2d 57 4d 6f 64 65 29 20 63 6f 6e 63 61 74 73 74 72 69 6e 67 73 20 64 65 66 g.cvs.(-WMode).concatstrings.def
0e60 0a 20 20 2f 46 69 6c 65 20 53 75 62 73 74 4e 61 6d 65 20 3d 73 74 72 69 6e 67 20 63 76 73 20 28 .../File.SubstName.=string.cvs.(
0e80 77 29 20 66 69 6c 65 20 64 65 66 0a 20 20 63 75 72 72 65 6e 74 66 69 6c 65 20 2e 66 69 6c 65 6e w).file.def...currentfile..filen
0ea0 61 6d 65 20 70 6f 70 20 28 72 29 20 66 69 6c 65 0a 20 20 7b 20 64 75 70 20 3d 73 74 72 69 6e 67 ame.pop.(r).file...{.dup.=string
0ec0 20 72 65 61 64 6c 69 6e 65 20 6e 6f 74 20 7b 0a 20 20 20 20 20 20 65 78 69 74 0a 20 20 20 20 7d .readline.not.{.......exit.....}
0ee0 20 69 66 0a 20 20 20 20 28 24 49 64 29 20 73 65 61 72 63 68 20 7b 0a 20 20 20 20 20 20 70 6f 70 .if.....($Id).search.{.......pop
0f00 20 70 6f 70 20 70 6f 70 20 65 78 69 74 0a 20 20 20 20 7d 20 7b 0a 20 20 20 20 20 20 6f 75 74 20 .pop.pop.exit.....}.{.......out.
0f20 6c 69 6e 65 62 72 65 61 6b 20 6f 75 74 0a 20 20 20 20 7d 20 69 66 65 6c 73 65 0a 20 20 7d 20 6c linebreak.out.....}.ifelse...}.l
0f40 6f 6f 70 0a 20 20 63 6c 6f 73 65 66 69 6c 65 0a 0a 20 20 28 25 20 24 49 64 3a 29 20 6f 75 74 6c oop...closefile....(%.$Id:).outl
0f60 0a 20 20 28 25 20 48 6f 72 69 7a 6f 6e 74 61 6c 20 74 6f 20 56 65 72 74 69 63 61 6c 20 43 49 44 ...(%.Horizontal.to.Vertical.CID
0f80 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 72 65 73 6f 75 72 63 65 20 66 6f 72 20 4f 72 64 65 72 .substitution.resource.for.Order
0fa0 69 6e 67 3d 29 20 6f 75 74 20 4f 72 64 65 72 69 6e 67 20 3d 73 74 72 69 6e 67 20 63 76 73 20 6f ing=).out.Ordering.=string.cvs.o
0fc0 75 74 6c 0a 20 20 6c 69 6e 65 62 72 65 61 6b 20 6f 75 74 0a 20 20 28 2f 29 20 6f 75 74 20 53 75 utl...linebreak.out...(/).out.Su
0fe0 62 73 74 4e 61 6d 65 20 6f 75 74 20 28 20 33 20 64 69 63 74 20 62 65 67 69 6e 29 20 6f 75 74 6c bstName.out.(.3.dict.begin).outl
1000 0a 20 20 28 2f 4f 72 64 65 72 69 6e 67 20 5c 28 29 20 6f 75 74 20 4f 72 64 65 72 69 6e 67 20 6f ...(/Ordering.\().out.Ordering.o
1020 75 74 20 28 5c 29 20 64 65 66 29 20 6f 75 74 6c 0a 20 20 28 2f 53 77 69 74 63 68 20 2f 57 4d 6f ut.(\).def).outl...(/Switch./WMo
1040 64 65 20 64 65 66 29 20 6f 75 74 6c 0a 0a 20 20 25 20 53 61 74 61 20 66 6f 72 20 67 65 6e 65 72 de.def).outl....%.Sata.for.gener
1060 61 74 69 6e 67 20 74 68 65 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 3a 0a 20 20 2f 76 43 49 44 ating.the.substitution.:.../vCID
1080 20 76 43 4d 61 70 2d 31 20 6c 65 6e 67 74 68 20 61 72 72 61 79 20 64 65 66 0a 20 20 2f 68 43 49 .vCMap-1.length.array.def.../hCI
10a0 44 20 76 43 4d 61 70 2d 31 20 6c 65 6e 67 74 68 20 61 72 72 61 79 20 64 65 66 0a 20 20 2f 68 43 D.vCMap-1.length.array.def.../hC
10c0 4d 61 70 20 76 43 4d 61 70 20 6c 65 6e 67 74 68 20 64 69 63 74 20 64 65 66 0a 20 20 2f 68 43 4d Map.vCMap.length.dict.def.../hCM
10e0 61 70 2d 31 20 76 43 4d 61 70 2d 31 20 6c 65 6e 67 74 68 20 64 69 63 74 20 64 65 66 0a 0a 20 20 ap-1.vCMap-1.length.dict.def....
1100 25 20 53 6f 72 74 20 56 20 74 61 62 6c 65 20 3a 0a 20 20 30 20 76 43 4d 61 70 2d 31 20 7b 0a 20 %.Sort.V.table.:...0.vCMap-1.{..
1120 20 20 20 70 6f 70 0a 20 20 20 20 76 43 49 44 20 65 78 63 68 20 32 20 69 6e 64 65 78 20 65 78 63 ...pop.....vCID.exch.2.index.exc
1140 68 20 70 75 74 0a 20 20 20 20 31 20 61 64 64 0a 20 20 7d 20 66 6f 72 61 6c 6c 0a 20 20 70 6f 70 h.put.....1.add...}.forall...pop
1160 0a 20 20 2f 76 43 49 44 20 76 43 49 44 20 7b 20 6c 74 20 7d 20 2e 73 6f 72 74 20 64 65 66 0a 0a .../vCID.vCID.{.lt.}..sort.def..
1180 20 20 25 20 57 72 69 74 65 20 74 68 65 20 76 65 72 74 69 63 61 6c 20 74 61 62 6c 65 20 3a 0a 20 ..%.Write.the.vertical.table.:..
11a0 20 28 31 20 5b 29 20 6f 75 74 6c 0a 20 20 76 43 49 44 20 7b 0a 20 20 20 20 64 75 70 20 76 43 4d .(1.[).outl...vCID.{.....dup.vCM
11c0 61 70 2d 31 20 65 78 63 68 20 67 65 74 20 64 75 70 20 20 20 25 20 76 63 69 64 20 63 63 20 63 63 ap-1.exch.get.dup...%.vcid.cc.cc
11e0 0a 20 20 20 20 2e 43 4d 61 70 20 65 78 63 68 20 67 65 74 20 20 20 20 20 20 20 20 20 20 20 20 20 ......CMap.exch.get.............
1200 25 20 76 63 69 64 20 63 63 20 68 63 69 64 0a 20 20 20 20 33 20 32 20 72 6f 6c 6c 20 20 20 20 20 %.vcid.cc.hcid.....3.2.roll.....
1220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 25 20 63 63 20 68 63 69 64 20 76 63 69 64 0a 20 20 20 ..............%.cc.hcid.vcid....
1240 20 68 43 4d 61 70 20 33 20 69 6e 64 65 78 20 33 20 69 6e 64 65 78 20 70 75 74 20 20 20 20 20 20 .hCMap.3.index.3.index.put......
1260 20 20 20 20 25 20 66 69 6c 6c 20 68 43 4d 61 70 0a 20 20 20 20 68 43 4d 61 70 2d 31 20 33 20 69 ....%.fill.hCMap.....hCMap-1.3.i
1280 6e 64 65 78 20 33 20 69 6e 64 65 78 20 65 78 63 68 20 70 75 74 20 20 20 25 20 66 69 6c 6c 20 68 ndex.3.index.exch.put...%.fill.h
12a0 43 4d 61 70 2d 31 0a 20 20 20 20 3d 73 74 72 69 6e 67 20 63 76 73 20 6f 75 74 0a 20 20 20 20 28 CMap-1.....=string.cvs.out.....(
12c0 20 29 20 6f 75 74 0a 20 20 20 20 3d 73 74 72 69 6e 67 20 63 76 73 20 6f 75 74 0a 20 20 20 20 28 .).out.....=string.cvs.out.....(
12e0 20 25 20 29 20 6f 75 74 0a 20 20 20 20 3d 73 74 72 69 6e 67 20 63 76 73 20 6f 75 74 6c 0a 20 20 .%.).out.....=string.cvs.outl...
1300 7d 20 66 6f 72 61 6c 6c 0a 20 20 28 5d 20 64 65 66 29 20 6f 75 74 6c 0a 0a 20 20 25 20 54 68 65 }.forall...(].def).outl....%.The
1320 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 61 6c 6d 6f 73 74 20 64 75 70 6c 69 63 61 74 65 .following.code.almost.duplicate
1340 73 20 6f 6e 65 20 61 62 6f 76 65 2c 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 64 65 66 69 6e s.one.above,.would.like.to.defin
1360 65 20 61 20 70 72 6f 63 65 64 75 72 65 2e 0a 0a 20 20 25 20 53 6f 72 74 20 48 20 74 61 62 6c 65 e.a.procedure.....%.Sort.H.table
1380 20 3a 0a 20 20 30 20 68 43 4d 61 70 2d 31 20 7b 0a 20 20 20 20 70 6f 70 0a 20 20 20 20 68 43 49 .:...0.hCMap-1.{.....pop.....hCI
13a0 44 20 65 78 63 68 20 32 20 69 6e 64 65 78 20 65 78 63 68 20 70 75 74 0a 20 20 20 20 31 20 61 64 D.exch.2.index.exch.put.....1.ad
13c0 64 0a 20 20 7d 20 66 6f 72 61 6c 6c 0a 20 20 70 6f 70 0a 20 20 2f 68 43 49 44 20 68 43 49 44 20 d...}.forall...pop.../hCID.hCID.
13e0 7b 20 6c 74 20 7d 20 2e 73 6f 72 74 20 64 65 66 0a 0a 20 20 25 20 57 72 69 74 65 20 74 68 65 20 {.lt.}..sort.def....%.Write.the.
1400 76 65 72 74 69 63 61 6c 20 74 61 62 6c 65 20 3a 0a 20 20 28 30 20 5b 29 20 6f 75 74 6c 0a 20 20 vertical.table.:...(0.[).outl...
1420 68 43 49 44 20 7b 0a 20 20 20 20 64 75 70 20 68 43 4d 61 70 2d 31 20 65 78 63 68 20 67 65 74 20 hCID.{.....dup.hCMap-1.exch.get.
1440 64 75 70 20 20 25 20 68 63 69 64 20 63 63 20 63 63 0a 20 20 20 20 76 43 4d 61 70 20 65 78 63 68 dup..%.hcid.cc.cc.....vCMap.exch
1460 20 67 65 74 20 20 20 20 20 20 20 20 20 20 20 20 25 20 68 63 69 64 20 63 63 20 76 63 69 64 0a 20 .get............%.hcid.cc.vcid..
1480 20 20 20 33 20 32 20 72 6f 6c 6c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 25 20 63 ...3.2.roll..................%.c
14a0 63 20 76 63 69 64 20 68 63 69 64 0a 20 20 20 20 3d 73 74 72 69 6e 67 20 63 76 73 20 6f 75 74 0a c.vcid.hcid.....=string.cvs.out.
14c0 20 20 20 20 28 20 29 20 6f 75 74 0a 20 20 20 20 3d 73 74 72 69 6e 67 20 63 76 73 20 6f 75 74 0a ....(.).out.....=string.cvs.out.
14e0 20 20 20 20 28 20 25 20 29 20 6f 75 74 0a 20 20 20 20 3d 73 74 72 69 6e 67 20 63 76 73 20 6f 75 ....(.%.).out.....=string.cvs.ou
1500 74 6c 0a 20 20 7d 20 66 6f 72 61 6c 6c 0a 20 20 28 5d 20 64 65 66 29 20 6f 75 74 6c 0a 0a 20 20 tl...}.forall...(].def).outl....
1520 25 20 57 72 69 74 65 20 74 68 65 20 74 72 61 69 6c 65 72 20 3a 0a 20 20 28 63 75 72 72 65 6e 74 %.Write.the.trailer.:...(current
1540 64 69 63 74 20 65 6e 64 20 2f 53 75 62 73 74 43 49 44 20 64 65 66 69 6e 65 72 65 73 6f 75 72 63 dict.end./SubstCID.defineresourc
1560 65 20 70 6f 70 29 20 6f 75 74 6c 0a 20 20 28 25 45 4f 46 29 20 6f 75 74 6c 0a 7d 20 62 69 6e 64 e.pop).outl...(%EOF).outl.}.bind
1580 20 64 65 66 0a 0a 28 2e 2e 2f 2e 2e 2f 67 73 2d 68 64 2f 52 65 73 6f 75 72 63 65 2f 43 4d 61 70 .def..(../../gs-hd/Resource/CMap
15a0 2f 56 29 20 47 65 6e 65 72 61 74 65 53 75 62 73 74 0a 28 2e 2e 2f 2e 2e 2f 67 73 2d 68 64 2f 52 /V).GenerateSubst.(../../gs-hd/R
15c0 65 73 6f 75 72 63 65 2f 43 4d 61 70 2f 42 35 2d 56 29 20 47 65 6e 65 72 61 74 65 53 75 62 73 74 esource/CMap/B5-V).GenerateSubst
15e0 0a 28 2e 2e 2f 2e 2e 2f 67 73 2d 68 64 2f 52 65 73 6f 75 72 63 65 2f 43 4d 61 70 2f 47 42 2d 56 .(../../gs-hd/Resource/CMap/GB-V
1600 29 20 47 65 6e 65 72 61 74 65 53 75 62 73 74 0a 28 2e 2e 2f 2e 2e 2f 67 73 2d 68 64 2f 52 65 73 ).GenerateSubst.(../../gs-hd/Res
1620 6f 75 72 63 65 2f 43 4d 61 70 2f 4b 53 43 2d 56 29 20 47 65 6e 65 72 61 74 65 53 75 62 73 74 0a ource/CMap/KSC-V).GenerateSubst.
1640 0a 25 45 4f 46 0a .%EOF.