summaryrefslogtreecommitdiff
path: root/toolbin/GenSubstCID.ps
blob: a6432b7856c82fbd19b42f2bb31d0cec2c472056 (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 33 20 41 72 74 69 66 65 %.Copyright.(C).2001-2023.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 33 39 20 4d 65 73 61 20 53 74 72 65 65 74 .Software,.Inc.,..39.Mesa.Street
01e0 2c 20 53 75 69 74 65 20 31 30 38 41 2c 20 53 61 6e 20 46 72 61 6e 63 69 73 63 6f 2c 0a 25 20 43 ,.Suite.108A,.San.Francisco,.%.C
0200 41 20 39 34 31 32 39 2c 20 55 53 41 2c 20 66 6f 72 20 66 75 72 74 68 65 72 20 69 6e 66 6f 72 6d A.94129,.USA,.for.further.inform
0220 61 74 69 6f 6e 2e 0a 0a 25 20 24 49 64 3a 20 47 65 6e 53 75 62 73 74 43 49 44 2e 70 73 20 38 36 ation...%.$Id:.GenSubstCID.ps.86
0240 34 38 20 32 30 30 38 2d 30 34 2d 31 39 20 30 34 3a 34 39 3a 32 30 5a 20 61 6c 65 78 63 68 65 72 48.2008-04-19.04:49:20Z.alexcher
0260 0a 0a 25 20 55 73 61 67 65 3a 20 67 73 20 2d 2d 20 55 73 61 67 65 3a 20 67 73 20 2d 2d 20 74 6f ..%.Usage:.gs.--.Usage:.gs.--.to
0280 6f 6c 62 69 6e 2f 47 65 6e 53 75 62 73 74 43 49 44 2e 70 73 0a 25 20 47 65 6e 65 72 61 74 65 20 olbin/GenSubstCID.ps.%.Generate.
02a0 61 20 53 75 62 73 74 43 49 44 20 72 65 73 6f 75 72 63 65 20 66 6f 72 20 57 4d 6f 64 65 20 73 75 a.SubstCID.resource.for.WMode.su
02c0 62 73 74 69 74 75 74 69 6f 6e 20 66 72 6f 6d 20 76 65 72 74 69 63 61 6c 20 43 4d 61 70 20 66 69 bstitution.from.vertical.CMap.fi
02e0 6c 65 73 2e 0a 25 20 53 65 65 20 74 68 65 20 6c 69 73 74 20 6f 66 20 43 4d 61 70 20 6d 66 69 6c les..%.See.the.list.of.CMap.mfil
0300 65 73 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2e 0a 25 20 57 65 es.at.the.end.of.this.file..%.We
0320 20 61 73 73 75 6d 65 20 74 68 61 74 20 74 68 65 20 43 4d 61 70 20 69 6d 6d 65 64 69 61 74 65 6c .assume.that.the.CMap.immediatel
0340 79 20 64 65 66 69 6e 65 73 20 22 76 65 72 74 69 63 61 6c 22 20 43 49 44 73 20 6f 6e 6c 79 0a 25 y.defines."vertical".CIDs.only.%
0360 20 61 6e 64 20 74 61 6b 65 73 20 6f 74 68 65 72 73 20 66 72 6f 6d 20 61 6e 6f 74 68 65 72 20 43 .and.takes.others.from.another.C
0380 4d 61 70 20 77 69 74 68 20 75 73 65 63 6d 61 70 2e 0a 0a 2f 47 65 6e 65 72 61 74 65 53 75 62 73 Map.with.usecmap.../GenerateSubs
03a0 74 20 20 20 25 20 3c 43 4d 61 70 20 66 69 6c 65 20 70 61 74 68 20 6e 61 6d 65 3e 20 47 65 6e 65 t...%.<CMap.file.path.name>.Gene
03c0 72 61 74 65 53 75 62 73 74 20 2d 0a 7b 0a 20 20 64 75 70 20 3d 0a 20 20 2f 66 69 6c 65 6e 61 6d rateSubst.-.{...dup.=.../filenam
03e0 65 20 65 78 63 68 20 64 65 66 0a 0a 20 20 2f 2e 43 4d 61 70 20 31 30 30 20 64 69 63 74 20 64 65 e.exch.def..../.CMap.100.dict.de
0400 66 0a 20 20 2f 2e 43 4d 61 70 2d 31 20 31 30 30 20 64 69 63 74 20 64 65 66 0a 20 20 2f 2e 63 6f f.../.CMap-1.100.dict.def.../.co
0420 6e 64 69 74 69 6f 6e 20 7b 20 74 72 75 65 20 7d 20 64 65 66 0a 0a 20 20 2f 75 73 65 63 6d 61 70 ndition.{.true.}.def..../usecmap
0440 20 7b 20 75 73 65 72 64 69 63 74 20 65 78 63 68 20 2f 2e 75 73 65 63 6d 61 70 20 65 78 63 68 20 .{.userdict.exch./.usecmap.exch.
0460 3d 73 74 72 69 6e 67 20 63 76 73 20 64 75 70 20 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 20 63 6f =string.cvs.dup.length.string.co
0480 70 79 20 70 75 74 20 7d 20 62 69 6e 64 20 64 65 66 0a 20 20 2f 62 65 67 69 6e 63 6d 61 70 20 7b py.put.}.bind.def.../begincmap.{
04a0 7d 20 64 65 66 0a 20 20 2f 65 6e 64 63 6d 61 70 20 7b 7d 20 64 65 66 0a 20 20 2f 66 69 6e 64 72 }.def.../endcmap.{}.def.../findr
04c0 65 73 6f 75 72 63 65 20 7b 20 70 6f 70 20 70 6f 70 20 32 30 20 64 69 63 74 20 7d 20 64 65 66 0a esource.{.pop.pop.20.dict.}.def.
04e0 20 20 2f 62 65 67 69 6e 63 69 64 72 61 6e 67 65 20 7b 20 70 6f 70 20 5b 20 7d 20 62 69 6e 64 20 ../begincidrange.{.pop.[.}.bind.
0500 64 65 66 0a 20 20 2f 62 65 67 69 6e 63 6f 64 65 73 70 61 63 65 72 61 6e 67 65 20 7b 20 70 6f 70 def.../begincodespacerange.{.pop
0520 20 6d 61 72 6b 20 7d 20 62 69 6e 64 20 64 65 66 0a 20 20 2f 65 6e 64 63 6f 64 65 73 70 61 63 65 .mark.}.bind.def.../endcodespace
0540 72 61 6e 67 65 20 7b 20 63 6c 65 61 72 74 6f 6d 61 72 6b 20 7d 20 64 65 66 0a 20 20 2f 62 65 67 range.{.cleartomark.}.def.../beg
0560 69 6e 6e 6f 74 64 65 66 72 61 6e 67 65 20 7b 20 70 6f 70 20 6d 61 72 6b 20 7d 20 62 69 6e 64 20 innotdefrange.{.pop.mark.}.bind.
0580 64 65 66 0a 20 20 2f 65 6e 64 6e 6f 74 64 65 66 72 61 6e 67 65 20 7b 20 63 6c 65 61 72 74 6f 6d def.../endnotdefrange.{.cleartom
05a0 61 72 6b 20 7d 20 62 69 6e 64 20 64 65 66 0a 20 20 2f 2e 53 74 72 69 6e 67 54 6f 49 6e 74 20 20 ark.}.bind.def.../.StringToInt..
05c0 20 20 20 25 20 3c 73 74 72 69 6e 67 3e 20 2e 53 74 72 69 6e 67 54 6f 49 6e 74 20 3c 69 6e 74 65 ...%.<string>..StringToInt.<inte
05e0 67 65 72 3e 0a 20 20 20 20 7b 20 30 20 65 78 63 68 20 7b 20 65 78 63 68 20 38 20 62 69 74 73 68 ger>.....{.0.exch.{.exch.8.bitsh
0600 69 66 74 20 61 64 64 20 7d 20 66 6f 72 61 6c 6c 0a 20 20 20 20 7d 20 62 69 6e 64 20 64 65 66 0a ift.add.}.forall.....}.bind.def.
0620 20 20 2f 6f 75 74 20 7b 20 46 69 6c 65 20 65 78 63 68 20 77 72 69 74 65 73 74 72 69 6e 67 20 7d ../out.{.File.exch.writestring.}
0640 20 62 69 6e 64 20 64 65 66 0a 20 20 2f 6f 75 74 6c 20 7b 20 6f 75 74 20 6c 69 6e 65 62 72 65 61 .bind.def.../outl.{.out.linebrea
0660 6b 20 6f 75 74 20 7d 20 62 69 6e 64 20 64 65 66 0a 20 20 2f 65 6e 64 63 69 64 72 61 6e 67 65 20 k.out.}.bind.def.../endcidrange.
0680 7b 0a 20 20 20 20 5d 0a 20 20 20 20 7b 20 64 75 70 20 74 79 70 65 20 2f 73 74 72 69 6e 67 74 79 {.....].....{.dup.type./stringty
06a0 70 65 20 65 71 20 7b 0a 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 64 69 63 74 20 2f 62 20 6b pe.eq.{.........currentdict./b.k
06c0 6e 6f 77 6e 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 65 nown.{............StringToInt./e
06e0 20 65 78 63 68 20 64 65 66 0a 20 20 20 20 20 20 20 20 7d 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .exch.def.........}.{...........
0700 2e 53 74 72 69 6e 67 54 6f 49 6e 74 20 2f 62 20 65 78 63 68 20 64 65 66 0a 20 20 20 20 20 20 20 .StringToInt./b.exch.def........
0720 20 7d 20 69 66 65 6c 73 65 0a 20 20 20 20 20 20 7d 20 7b 0a 20 20 20 20 20 20 20 20 62 20 31 20 .}.ifelse.......}.{.........b.1.
0740 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 2e 63 6f 6e 64 69 74 69 6f 6e 20 7b 0a 20 20 20 20 20 e.{............condition.{......
0760 20 20 20 20 20 20 20 32 20 63 6f 70 79 20 2e 43 4d 61 70 20 33 20 31 20 72 6f 6c 6c 20 65 78 63 .......2.copy..CMap.3.1.roll.exc
0780 68 20 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 32 20 63 6f 70 79 20 2e 43 4d 61 70 2d 31 h.put.............2.copy..CMap-1
07a0 20 33 20 31 20 72 6f 6c 6c 20 70 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 32 20 63 6f 70 79 .3.1.roll.put.............2.copy
07c0 20 3d 73 74 72 69 6e 67 20 63 76 73 20 70 72 69 6e 74 20 28 20 29 20 70 72 69 6e 74 20 3d 0a 20 .=string.cvs.print.(.).print.=..
07e0 20 20 20 20 20 20 20 20 20 20 20 70 6f 70 0a 20 20 20 20 20 20 20 20 20 20 7d 20 7b 0a 20 20 20 ...........pop...........}.{....
0800 20 20 20 20 20 20 20 20 20 70 6f 70 0a 20 20 20 20 20 20 20 20 20 20 7d 20 69 66 65 6c 73 65 0a .........pop...........}.ifelse.
0820 20 20 20 20 20 20 20 20 20 20 31 20 61 64 64 0a 20 20 20 20 20 20 20 20 7d 20 66 6f 72 0a 20 20 ..........1.add.........}.for...
0840 20 20 20 20 20 20 70 6f 70 0a 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 64 69 63 74 20 2f 62 ......pop.........currentdict./b
0860 20 75 6e 64 65 66 0a 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 64 69 63 74 20 2f 65 20 75 6e .undef.........currentdict./e.un
0880 64 65 66 0a 20 20 20 20 20 20 7d 20 69 66 65 6c 73 65 0a 20 20 20 20 7d 20 66 6f 72 61 6c 6c 0a def.......}.ifelse.....}.forall.
08a0 20 20 20 20 43 49 44 53 79 73 74 65 6d 49 6e 66 6f 20 2f 4f 72 64 65 72 69 6e 67 20 67 65 74 20 ....CIDSystemInfo./Ordering.get.
08c0 75 73 65 72 64 69 63 74 20 65 78 63 68 20 2f 4f 72 64 65 72 69 6e 67 20 65 78 63 68 20 70 75 74 userdict.exch./Ordering.exch.put
08e0 0a 20 20 7d 20 62 69 6e 64 20 64 65 66 0a 0a 20 20 25 20 43 6f 6d 70 75 74 65 20 74 68 65 20 70 ...}.bind.def....%.Compute.the.p
0900 6c 61 74 66 6f 72 6d 20 6c 69 6e 65 20 62 72 65 61 6b 20 3a 0a 20 20 66 69 6c 65 6e 61 6d 65 20 latform.line.break.:...filename.
0920 28 72 29 20 66 69 6c 65 20 64 75 70 0a 20 20 32 30 30 20 73 74 72 69 6e 67 20 72 65 61 64 73 74 (r).file.dup...200.string.readst
0940 72 69 6e 67 20 70 6f 70 0a 20 20 2f 73 74 72 20 65 78 63 68 20 64 65 66 0a 20 20 63 6c 6f 73 65 ring.pop.../str.exch.def...close
0960 66 69 6c 65 0a 0a 20 20 73 74 72 20 28 5c 72 29 20 73 65 61 72 63 68 20 7b 0a 20 20 20 20 70 6f file....str.(\r).search.{.....po
0980 70 20 70 6f 70 20 70 6f 70 20 2f 72 20 74 72 75 65 20 64 65 66 0a 20 20 7d 20 7b 0a 20 20 20 20 p.pop.pop./r.true.def...}.{.....
09a0 2f 72 20 66 61 6c 73 65 20 64 65 66 0a 20 20 7d 20 69 66 65 6c 73 65 0a 20 20 73 74 72 20 28 5c /r.false.def...}.ifelse...str.(\
09c0 6e 29 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 6e 20 74 n).search.{.....pop.pop.pop./n.t
09e0 72 75 65 20 64 65 66 0a 20 20 7d 20 7b 0a 20 20 20 20 2f 6e 20 66 61 6c 73 65 20 64 65 66 0a 20 rue.def...}.{...../n.false.def..
0a00 20 7d 20 69 66 65 6c 73 65 0a 20 20 72 20 7b 0a 20 20 20 20 6e 20 7b 0a 20 20 20 20 20 20 2f 6c .}.ifelse...r.{.....n.{......./l
0a20 69 6e 65 62 72 65 61 6b 20 28 5c 72 5c 6e 29 20 64 65 66 0a 20 20 20 20 7d 20 7b 0a 20 20 20 20 inebreak.(\r\n).def.....}.{.....
0a40 20 20 2f 6c 69 6e 65 62 72 65 61 6b 20 28 5c 72 29 20 64 65 66 0a 20 20 20 20 7d 20 69 66 65 6c ../linebreak.(\r).def.....}.ifel
0a60 73 65 0a 20 20 7d 20 7b 0a 20 20 20 20 2f 6c 69 6e 65 62 72 65 61 6b 20 28 5c 6e 29 20 64 65 66 se...}.{...../linebreak.(\n).def
0a80 0a 20 20 7d 20 69 66 65 6c 73 65 0a 0a 20 20 25 20 70 61 72 73 65 20 74 68 65 20 74 6f 70 20 6c ...}.ifelse....%.parse.the.top.l
0aa0 65 76 65 6c 20 43 4d 61 70 20 61 6e 64 20 63 72 65 61 74 65 20 2e 43 4d 61 70 20 20 3a 0a 20 20 evel.CMap.and.create..CMap..:...
0ac0 66 69 6c 65 6e 61 6d 65 20 28 72 29 20 66 69 6c 65 20 72 75 6e 0a 20 20 2f 76 43 4d 61 70 20 2e filename.(r).file.run.../vCMap..
0ae0 43 4d 61 70 20 64 75 70 20 6c 65 6e 67 74 68 20 64 69 63 74 20 63 6f 70 79 20 64 65 66 20 25 20 CMap.dup.length.dict.copy.def.%.
0b00 73 61 76 65 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 20 20 2f 76 43 4d 61 70 2d 31 20 2e 43 4d 61 save.the.result..../vCMap-1..CMa
0b20 70 2d 31 20 64 75 70 20 6c 65 6e 67 74 68 20 64 69 63 74 20 63 6f 70 79 20 64 65 66 20 25 20 73 p-1.dup.length.dict.copy.def.%.s
0b40 61 76 65 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 20 20 25 20 57 6f 75 6c 64 20 6c 69 6b 65 20 74 ave.the.result....%.Would.like.t
0b60 6f 20 70 75 72 67 65 20 2e 43 4d 61 70 20 68 65 72 65 2c 20 62 75 74 20 72 65 61 6c 6c 79 20 6e o.purge..CMap.here,.but.really.n
0b80 6f 20 6e 65 63 63 65 73 73 69 74 79 2e 0a 0a 20 20 25 20 43 6f 6d 70 75 74 65 20 74 68 65 20 75 o.neccessity.....%.Compute.the.u
0ba0 73 65 63 6d 61 70 20 66 69 6c 65 20 6e 61 6d 65 20 3a 0a 0a 20 20 28 29 20 66 69 6c 65 6e 61 6d secmap.file.name.:....().filenam
0bc0 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 25 20 73 20 70 0a 20 20 7b 20 e.....................%.s.p...{.
0be0 2e 66 69 6c 65 5f 6e 61 6d 65 5f 73 65 70 61 72 61 74 6f 72 20 73 65 61 72 63 68 20 7b 20 25 20 .file_name_separator.search.{.%.
0c00 73 20 70 27 20 2f 20 6e 0a 20 20 20 20 20 20 34 20 33 20 72 6f 6c 6c 20 20 20 20 20 20 20 20 20 s.p'./.n.......4.3.roll.........
0c20 20 20 20 20 20 20 20 20 20 20 20 25 20 70 27 20 2f 20 6e 20 73 0a 20 00 20 20 20 20 64 75 70 20 ...........%.p'./.n.s.......dup.
0c40 6c 65 6e 67 74 68 20 30 20 67 74 20 7b 0a 20 20 20 20 20 20 20 20 2e 66 69 6c 65 5f 6e 61 6d 65 length.0.gt.{..........file_name
0c60 5f 73 65 70 61 72 61 74 6f 72 20 63 6f 6e 63 61 74 73 74 72 69 6e 67 73 0a 20 20 20 20 20 20 7d _separator.concatstrings.......}
0c80 20 69 66 0a 20 20 20 20 20 20 65 78 63 68 20 63 6f 6e 63 61 74 73 74 72 69 6e 67 73 20 20 20 20 .if.......exch.concatstrings....
0ca0 20 20 20 20 20 20 25 20 70 27 20 2f 20 73 2f 6e 0a 20 20 20 20 20 20 65 78 63 68 20 70 6f 70 20 ......%.p'./.s/n.......exch.pop.
0cc0 65 78 63 68 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 25 20 73 2f 6e 20 70 27 0a 20 20 20 20 exch...............%.s/n.p'.....
0ce0 7d 20 7b 0a 20 20 20 20 20 20 65 78 69 74 0a 20 20 20 20 7d 20 69 66 65 6c 73 65 0a 20 20 7d 20 }.{.......exit.....}.ifelse...}.
0d00 6c 6f 6f 70 0a 20 20 70 6f 70 20 2e 66 69 6c 65 5f 6e 61 6d 65 5f 73 65 70 61 72 61 74 6f 72 20 loop...pop..file_name_separator.
0d20 63 6f 6e 63 61 74 73 74 72 69 6e 67 73 20 2e 75 73 65 63 6d 61 70 20 63 6f 6e 63 61 74 73 74 72 concatstrings..usecmap.concatstr
0d40 69 6e 67 73 0a 0a 20 20 25 20 53 65 74 20 6e 65 77 20 66 69 6c 74 65 72 20 63 6f 6e 64 69 74 69 ings....%.Set.new.filter.conditi
0d60 6f 70 6e 20 3b 0a 20 20 2f 2e 63 6f 6e 64 69 74 69 6f 6e 20 7b 20 76 43 4d 61 70 20 31 20 69 6e opn.;.../.condition.{.vCMap.1.in
0d80 64 65 78 20 6b 6e 6f 77 6e 20 7d 20 62 69 6e 64 20 64 65 66 0a 0a 20 20 25 20 72 75 6e 20 74 68 dex.known.}.bind.def....%.run.th
0da0 65 20 72 65 66 65 72 65 6e 63 65 64 20 43 4d 61 70 20 66 69 6c 65 20 3a 0a 20 20 64 75 70 20 28 e.referenced.CMap.file.:...dup.(
0dc0 52 75 6e 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 20 29 20 70 72 69 6e 74 20 3d 0a 20 20 28 72 29 Running.the.file.).print.=...(r)
0de0 20 66 69 6c 65 20 72 75 6e 0a 0a 20 20 25 20 57 72 69 74 65 20 74 68 65 20 73 75 62 73 74 69 74 .file.run....%.Write.the.substit
0e00 75 74 69 6f 6e 20 66 69 6c 65 20 68 65 61 64 65 72 20 3a 0a 20 20 2f 53 75 62 73 74 4e 61 6d 65 ution.file.header.:.../SubstName
0e20 20 4f 72 64 65 72 69 6e 67 20 3d 73 74 72 69 6e 67 20 63 76 73 20 28 2d 57 4d 6f 64 65 29 20 63 .Ordering.=string.cvs.(-WMode).c
0e40 6f 6e 63 61 74 73 74 72 69 6e 67 73 20 64 65 66 0a 20 20 2f 46 69 6c 65 20 53 75 62 73 74 4e 61 oncatstrings.def.../File.SubstNa
0e60 6d 65 20 3d 73 74 72 69 6e 67 20 63 76 73 20 28 77 29 20 66 69 6c 65 20 64 65 66 0a 20 20 63 75 me.=string.cvs.(w).file.def...cu
0e80 72 72 65 6e 74 66 69 6c 65 20 2e 66 69 6c 65 6e 61 6d 65 20 70 6f 70 20 28 72 29 20 66 69 6c 65 rrentfile..filename.pop.(r).file
0ea0 0a 20 20 7b 20 64 75 70 20 3d 73 74 72 69 6e 67 20 72 65 61 64 6c 69 6e 65 20 6e 6f 74 20 7b 0a ...{.dup.=string.readline.not.{.
0ec0 20 20 20 20 20 20 65 78 69 74 0a 20 20 20 20 7d 20 69 66 0a 20 20 20 20 28 24 49 64 29 20 73 65 ......exit.....}.if.....($Id).se
0ee0 61 72 63 68 20 7b 0a 20 20 20 20 20 20 70 6f 70 20 70 6f 70 20 70 6f 70 20 65 78 69 74 0a 20 20 arch.{.......pop.pop.pop.exit...
0f00 20 20 7d 20 7b 0a 20 20 20 20 20 20 6f 75 74 20 6c 69 6e 65 62 72 65 61 6b 20 6f 75 74 0a 20 20 ..}.{.......out.linebreak.out...
0f20 20 20 7d 20 69 66 65 6c 73 65 0a 20 20 7d 20 6c 6f 6f 70 0a 20 20 63 6c 6f 73 65 66 69 6c 65 0a ..}.ifelse...}.loop...closefile.
0f40 0a 20 20 28 25 20 24 49 64 3a 29 20 6f 75 74 6c 0a 20 20 28 25 20 48 6f 72 69 7a 6f 6e 74 61 6c ...(%.$Id:).outl...(%.Horizontal
0f60 20 74 6f 20 56 65 72 74 69 63 61 6c 20 43 49 44 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 72 65 .to.Vertical.CID.substitution.re
0f80 73 6f 75 72 63 65 20 66 6f 72 20 4f 72 64 65 72 69 6e 67 3d 29 20 6f 75 74 20 4f 72 64 65 72 69 source.for.Ordering=).out.Orderi
0fa0 6e 67 20 3d 73 74 72 69 6e 67 20 63 76 73 20 6f 75 74 6c 0a 20 20 6c 69 6e 65 62 72 65 61 6b 20 ng.=string.cvs.outl...linebreak.
0fc0 6f 75 74 0a 20 20 28 2f 29 20 6f 75 74 20 53 75 62 73 74 4e 61 6d 65 20 6f 75 74 20 28 20 33 20 out...(/).out.SubstName.out.(.3.
0fe0 64 69 63 74 20 62 65 67 69 6e 29 20 6f 75 74 6c 0a 20 20 28 2f 4f 72 64 65 72 69 6e 67 20 5c 28 dict.begin).outl...(/Ordering.\(
1000 29 20 6f 75 74 20 4f 72 64 65 72 69 6e 67 20 6f 75 74 20 28 5c 29 20 64 65 66 29 20 6f 75 74 6c ).out.Ordering.out.(\).def).outl
1020 0a 20 20 28 2f 53 77 69 74 63 68 20 2f 57 4d 6f 64 65 20 64 65 66 29 20 6f 75 74 6c 0a 0a 20 20 ...(/Switch./WMode.def).outl....
1040 25 20 53 61 74 61 20 66 6f 72 20 67 65 6e 65 72 61 74 69 6e 67 20 74 68 65 20 73 75 62 73 74 69 %.Sata.for.generating.the.substi
1060 74 75 74 69 6f 6e 20 3a 0a 20 20 2f 76 43 49 44 20 76 43 4d 61 70 2d 31 20 6c 65 6e 67 74 68 20 tution.:.../vCID.vCMap-1.length.
1080 61 72 72 61 79 20 64 65 66 0a 20 20 2f 68 43 49 44 20 76 43 4d 61 70 2d 31 20 6c 65 6e 67 74 68 array.def.../hCID.vCMap-1.length
10a0 20 61 72 72 61 79 20 64 65 66 0a 20 20 2f 68 43 4d 61 70 20 76 43 4d 61 70 20 6c 65 6e 67 74 68 .array.def.../hCMap.vCMap.length
10c0 20 64 69 63 74 20 64 65 66 0a 20 20 2f 68 43 4d 61 70 2d 31 20 76 43 4d 61 70 2d 31 20 6c 65 6e .dict.def.../hCMap-1.vCMap-1.len
10e0 67 74 68 20 64 69 63 74 20 64 65 66 0a 0a 20 20 25 20 53 6f 72 74 20 56 20 74 61 62 6c 65 20 3a gth.dict.def....%.Sort.V.table.:
1100 0a 20 20 30 20 76 43 4d 61 70 2d 31 20 7b 0a 20 20 20 20 70 6f 70 0a 20 20 20 20 76 43 49 44 20 ...0.vCMap-1.{.....pop.....vCID.
1120 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 64 0a exch.2.index.exch.put.....1.add.
1140 20 20 7d 20 66 6f 72 61 6c 6c 0a 20 20 70 6f 70 0a 20 20 2f 76 43 49 44 20 76 43 49 44 20 7b 20 ..}.forall...pop.../vCID.vCID.{.
1160 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 76 65 lt.}..sort.def....%.Write.the.ve
1180 72 74 69 63 61 6c 20 74 61 62 6c 65 20 3a 0a 20 20 28 31 20 5b 29 20 6f 75 74 6c 0a 20 20 76 43 rtical.table.:...(1.[).outl...vC
11a0 49 44 20 7b 0a 20 20 20 20 64 75 70 20 76 43 4d 61 70 2d 31 20 65 78 63 68 20 67 65 74 20 64 75 ID.{.....dup.vCMap-1.exch.get.du
11c0 70 20 20 20 25 20 76 63 69 64 20 63 63 20 63 63 0a 20 20 20 20 2e 43 4d 61 70 20 65 78 63 68 20 p...%.vcid.cc.cc......CMap.exch.
11e0 67 65 74 20 20 20 20 20 20 20 20 20 20 20 20 20 25 20 76 63 69 64 20 63 63 20 68 63 69 64 0a 20 get.............%.vcid.cc.hcid..
1200 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 20 25 20 ...3.2.roll...................%.
1220 63 63 20 68 63 69 64 20 76 63 69 64 0a 20 20 20 20 68 43 4d 61 70 20 33 20 69 6e 64 65 78 20 33 cc.hcid.vcid.....hCMap.3.index.3
1240 20 69 6e 64 65 78 20 70 75 74 20 20 20 20 20 20 20 20 20 20 25 20 66 69 6c 6c 20 68 43 4d 61 70 .index.put..........%.fill.hCMap
1260 0a 20 20 20 20 68 43 4d 61 70 2d 31 20 33 20 69 6e 64 65 78 20 33 20 69 6e 64 65 78 20 65 78 63 .....hCMap-1.3.index.3.index.exc
1280 68 20 70 75 74 20 20 20 25 20 66 69 6c 6c 20 68 43 4d 61 70 2d 31 0a 20 20 20 20 3d 73 74 72 69 h.put...%.fill.hCMap-1.....=stri
12a0 6e 67 20 63 76 73 20 6f 75 74 0a 20 20 20 20 28 20 29 20 6f 75 74 0a 20 20 20 20 3d 73 74 72 69 ng.cvs.out.....(.).out.....=stri
12c0 6e 67 20 63 76 73 20 6f 75 74 0a 20 20 20 20 28 20 25 20 29 20 6f 75 74 0a 20 20 20 20 3d 73 74 ng.cvs.out.....(.%.).out.....=st
12e0 72 69 6e 67 20 63 76 73 20 6f 75 74 6c 0a 20 20 7d 20 66 6f 72 61 6c 6c 0a 20 20 28 5d 20 64 65 ring.cvs.outl...}.forall...(].de
1300 66 29 20 6f 75 74 6c 0a 0a 20 20 25 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 f).outl....%.The.following.code.
1320 61 6c 6d 6f 73 74 20 64 75 70 6c 69 63 61 74 65 73 20 6f 6e 65 20 61 62 6f 76 65 2c 20 77 6f 75 almost.duplicates.one.above,.wou
1340 6c 64 20 6c 69 6b 65 20 74 6f 20 64 65 66 69 6e 65 20 61 20 70 72 6f 63 65 64 75 72 65 2e 0a 0a ld.like.to.define.a.procedure...
1360 20 20 25 20 53 6f 72 74 20 48 20 74 61 62 6c 65 20 3a 0a 20 20 30 20 68 43 4d 61 70 2d 31 20 7b ..%.Sort.H.table.:...0.hCMap-1.{
1380 0a 20 20 20 20 70 6f 70 0a 20 20 20 20 68 43 49 44 20 65 78 63 68 20 32 20 69 6e 64 65 78 20 65 .....pop.....hCID.exch.2.index.e
13a0 78 63 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 xch.put.....1.add...}.forall...p
13c0 6f 70 0a 20 20 2f 68 43 49 44 20 68 43 49 44 20 7b 20 6c 74 20 7d 20 2e 73 6f 72 74 20 64 65 66 op.../hCID.hCID.{.lt.}..sort.def
13e0 0a 0a 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 ....%.Write.the.vertical.table.:
1400 0a 20 20 28 30 20 5b 29 20 6f 75 74 6c 0a 20 20 68 43 49 44 20 7b 0a 20 20 20 20 64 75 70 20 68 ...(0.[).outl...hCID.{.....dup.h
1420 43 4d 61 70 2d 31 20 65 78 63 68 20 67 65 74 20 64 75 70 20 20 25 20 68 63 69 64 20 63 63 20 63 CMap-1.exch.get.dup..%.hcid.cc.c
1440 63 0a 20 20 20 20 76 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 c.....vCMap.exch.get............
1460 25 20 68 63 69 64 20 63 63 20 76 63 69 64 0a 20 20 20 20 33 20 32 20 72 6f 6c 6c 20 20 20 20 20 %.hcid.cc.vcid.....3.2.roll.....
1480 20 20 20 20 20 20 20 20 20 20 20 20 20 25 20 63 63 20 76 63 69 64 20 68 63 69 64 0a 20 20 20 20 .............%.cc.vcid.hcid.....
14a0 3d 73 74 72 69 6e 67 20 63 76 73 20 6f 75 74 0a 20 20 20 20 28 20 29 20 6f 75 74 0a 20 20 20 20 =string.cvs.out.....(.).out.....
14c0 3d 73 74 72 69 6e 67 20 63 76 73 20 6f 75 74 0a 20 20 20 20 28 20 25 20 29 20 6f 75 74 0a 20 20 =string.cvs.out.....(.%.).out...
14e0 20 20 3d 73 74 72 69 6e 67 20 63 76 73 20 6f 75 74 6c 0a 20 20 7d 20 66 6f 72 61 6c 6c 0a 20 20 ..=string.cvs.outl...}.forall...
1500 28 5d 20 64 65 66 29 20 6f 75 74 6c 0a 0a 20 20 25 20 57 72 69 74 65 20 74 68 65 20 74 72 61 69 (].def).outl....%.Write.the.trai
1520 6c 65 72 20 3a 0a 20 20 28 63 75 72 72 65 6e 74 64 69 63 74 20 65 6e 64 20 2f 53 75 62 73 74 43 ler.:...(currentdict.end./SubstC
1540 49 44 20 64 65 66 69 6e 65 72 65 73 6f 75 72 63 65 20 70 6f 70 29 20 6f 75 74 6c 0a 20 20 28 25 ID.defineresource.pop).outl...(%
1560 45 4f 46 29 20 6f 75 74 6c 0a 7d 20 62 69 6e 64 20 64 65 66 0a 0a 28 2e 2e 2f 2e 2e 2f 67 73 2d EOF).outl.}.bind.def..(../../gs-
1580 68 64 2f 52 65 73 6f 75 72 63 65 2f 43 4d 61 70 2f 56 29 20 47 65 6e 65 72 61 74 65 53 75 62 73 hd/Resource/CMap/V).GenerateSubs
15a0 74 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 42 35 2d t.(../../gs-hd/Resource/CMap/B5-
15c0 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 65 V).GenerateSubst.(../../gs-hd/Re
15e0 73 6f 75 72 63 65 2f 43 4d 61 70 2f 47 42 2d 56 29 20 47 65 6e 65 72 61 74 65 53 75 62 73 74 0a source/CMap/GB-V).GenerateSubst.
1600 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 4b 53 43 2d 56 (../../gs-hd/Resource/CMap/KSC-V
1620 29 20 47 65 6e 65 72 61 74 65 53 75 62 73 74 0a 0a 25 45 4f 46 0a ).GenerateSubst..%EOF.