%! % Copyright (C) 2001-2019 Artifex Software, Inc. % All Rights Reserved. % % This software is provided AS-IS with no warranty, either express or % implied. % % This software is distributed under license and may not be copied, % modified or distributed except as expressly authorized under the terms % of the license contained in the file LICENSE in this distribution. % % Refer to licensing information at http://www.artifex.com or contact % Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Utility program for converting Japanese fonts produced by Macromedia's % Rollup program to Type 0 fonts suitable for use with Ghostscript. % % Rollup produces the following files, where xxx is the font name: % xxx-H, xxx-SA, xxx-SB, xxx-SK, xxx-SR, xxx-UG % JIS83-1_COD % JIS83-1_CSA % The _COD and _CSA files are large files containing the actual % character outline data; they may theoretically be shared between % multiple fonts. % % rollconv.ps converts the above to files named: % fff.ps % fff.COD % fff.CSA % fff.CSR % where fff is a font file name provided by the user at conversion time. % The fff.ps file is the actual font file to be loaded with `run' % or placed in a Fontmap or a directory named by [GS_]FONTPATH; % the other two files must be present at runtime in a directory that is % on Ghostscript's search path (-I, GS_LIB, GS_LIB_DEFAULT). % % The normal way to invoke this program is % gsnd -- rollconv.ps xxx fff InDir CDir OutDir % (assuming that gsnd is an alias for gs -dNODISPLAY), where: % xxx is the font name; % fff is the base part of the output file name; % InDir is the name of the directory containing the xxx-* input files; % CDir is the name of the directory containing the _COD and _CSA % input files (typically the same as InDir); % OutDir is the name of the directory where the output should be written % (OutDir must already exist). % For example: % gsnd -- rollconv.ps HGGothicBPRO gothic /gs/k/rufonts/Gothic \ % /gs/k/rufonts/Gothic /gs/k/gsfonts % To suppress output messages, you may insert -q: % gsnd -q -- rollconv.ps ... % % This program assumes that the files have been FTP'ed from a Macintosh and % therefore have 128 bytes of garbage at the beginning. If you have % transferred them in some manner that avoids this, change true to false % in the following line. /fromMac true def % The FontName of the converted font is xxx-83pv-RKSJ-H. In order to % use a converted font with Ghostscript, you may either load it explicitly % at run time, e.g., % (gothic.ps) run % or you may add an entry to the Fontmap file, in the form: % /HGGothicBPRO-83pv-RKSJ-H (gothic.ps) ; % which will allow the font to be loaded automatically. After % loading the font, by either method, you can select it in the usual way: % /HGGothicBPRO-83pv-RKSJ-H findfont 36 scalefont setfont % or % /HGGothicBPRO-83pv-RKSJ-H 36 selectfont /macrfile % <filename> macrfile <file> { (r) file fromMac { % Get rid of the initial Mac garbage (128 characters). % The garbage at the end is unpredictable, % so we'll just have to hope that it's all nulls. dup =string 0 128 getinterval readstring pop pop } if } bind def /convert % <FName> <OutBase> <InDir> <CDir> <OutDir> convert - { /OutDir exch def /CDir exch def /InDir exch def /OutBase exch def /FName exch def /inprefix InDir (/) concatstrings FName concatstrings (-) concatstrings def /inh inprefix (H) concatstrings def % Open the output file. /OutDot OutDir (/) concatstrings OutBase concatstrings (.) concatstrings def /outname OutDot (ps) concatstrings def QUIET not { (Writing ) print outname = flush } if /cdfromstr (\(pgfonts/) FName concatstrings (-JIS83-1_) concatstrings def /cdstr (\() OutBase concatstrings (.) concatstrings def /out outname (w) file def /buffer 65000 string def % Copy the initial comments from the input file. inh macrfile { dup =string readline pop out 1 index writestring out (\n) writestring (%%EndComments) eq { exit } if } loop % Write out our preamble. out ( currentpacking true setpacking userdict /AltsysCFD3 known { (%END) .skipeof } if userdict /AltsysCFD3 25 dict dup begin /beint { 0 exch { exch 8 bitshift add } forall } bind def /rfile { findlibfile { exch pop } { (r) file } ifelse } bind def /str 500 string def /AltRO { } def /BuildCh % <font> <ccode> <bias> BuildCh - { /bias exch def /ccode exch def begin % font ccode dup 255 and dup bias lt exch 252 gt or { pop 127 } if dup -8 bitshift -67 mul add % subfonts have 189 chars, not 256 bias sub buildch1 } bind def /BuildChr % <font> <ccode> BuildChr - { /ccode exch def begin % font ccode buildch1 } bind def /buildch1 { 6 mul PGOffsets add FileNames 0 get rfile dup dup 4 -1 roll setfileposition (xxxxxx) readstring pop exch closefile dup 1 3 getinterval beint % COD offset exch 4 2 getinterval beint % length dup 0 eq { pop pop currentdict end 1000 0 0 0 1 1 0 -1000 500 1000 setcachedevice2 } { dup str length gt { /str 1 index string store } if FileNames 1 get rfile dup dup % offset length file file file 5 -1 roll setfileposition % length file file str 0 5 -1 roll getinterval readstring pop pop closefile currentdict end ccode str 1183615869 internaldict /CCRun get exec } ifelse } bind def /privates 100 dict def /BuildPr % <stdhw> <stdvw> BuildPr <dict> { 2 copy 1000 mul add privates 1 index known { privates exch get 3 1 roll pop pop } { 7 dict begin /MinFeature{16 16}executeonly def /BlueValues BlueValues def /StdVW 3 -1 roll 1 array astore def /StdHW 3 -1 roll 1 array astore def /password 5839 def /LanguageGroup 1 def /Subrs Subrs def currentdict readonly end privates 2 index 2 index put exch pop } ifelse } bind def /FullEncoding systemdict { pop } forall systemdict length 512 sub 1 255 { (x) dup 0 4 -1 roll put cvn } for 768 packedarray def /BlueValues[-250 -250 1100 1100]readonly def /BuildChar{AltsysCFD3 begin 64 BuildCh end}bind def /CharStrings 1 dict dup /.notdef (�1py�8��) noaccess put readonly def /CDevProc { pop pop pop pop 0 exch -1000 exch 2 div currentfont /FontBBox get 3 get } bind def /FontMatrix[0.001 0.0 0.0 0.001 0.0 0.0]readonly def /Subrs [ (�1p|=-�D\�R) noaccess (�1py��Uz) noaccess (�1py�Ği) noaccess (�1p�) noaccess (�1p|35r�I) noaccess ] noaccess def end put %END ) writestring % Locate and copy the definition of NotDefFont. out ( FontDirectory /NotDefFont known { (%END) .skipeof } if ) writestring { dup =string readline pop dup (/NotDefFont) eq { exit } if pop } loop out exch writestring out (\n) writestring { dup =string readline pop (definefont) search { pop pop pop exit } if out exch writestring out (\n) writestring } loop out (definefont pop %END ) writestring % Copy the definitions of the subfonts, moving the % CharStrings of the Roman supplement to an external file. % Stack for pattern procedures: infile line /CSRName OutDot (CSR) concatstrings def /csr CSRName (w) file def QUIET not { (Writing ) print CSRName = flush } if /encoding 256 array def /patterns [ % Patterns specific to the Roman supplement, in which % the outlines are in an eexec section. { (/Encoding 256 array) { pop out (/Encoding ) writestring { dup buffer readline pop dup (dup) search { exit } if pop pop } loop { % Stack: infile dupline postdup (dup) predup pop pop exch pop % The top element of the stack is a string beginning with % an index and value to put into the Encoding. token pop exch token pop exch pop encoding 3 1 roll put dup buffer readline pop dup (dup) search not { pop exit } if } loop out encoding cvx write== out ( cvlit ) writestring out exch writestring out (\n) writestring } } { (/FontType 1 def) { pop out (/FontType 4 def\n) writestring out (/BuildChar{AltsysCFD3 begin BuildChr end}bind def\n) writestring out (/FileNames[) writestring 2 { out OutBase (.CSR) concatstrings write==only } repeat out (]def\n) writestring } } { (currentfile eexec) { pop out (systemdict begin\n) writestring dup //.eexec_param_dict /eexecDecode filter } } { (dup/CharStrings ) { % Copy the individual CharStrings to the CSR file, % recording the lengths and offsets. pop out (dup/CharStrings AltsysCFD3 /CharStrings get put\n) writestring /offsets 256 dict def { dup token pop % char name dup dup type /nametype eq exch xcheck not and not { pop exit } if 1 index token pop % length of binary data 2 index token pop pop % skip RD 2 index buffer 0 3 index getinterval readstring pop % charstring offsets 3 index csr fileposition 16 bitshift 4 index add put csr exch writestring pop pop dup buffer readline pop pop % skip ND } loop % We skipped the 'end'; skip the 'readonly put' as well. 2 { dup token pop pop } repeat out (dup/PGOffsets ) writestring out csr fileposition write=only out ( put\n) writestring encoding { offsets exch .knownget not { 0 } if 2 { csr 0 write } repeat 4 { dup -24 bitshift csr exch write 8 bitshift } repeat pop } forall } } { (/OtherSubrs[) { pop { dup buffer readline pop (]noaccess def) search { pop pop pop exit } if pop } loop } } { (/Subrs 5 array) { pop out (/Subrs AltsysCFD3 /Subrs get def\n) writestring 6 { dup buffer readline pop pop } repeat } } { (currentfile closefile) { pop out (end % systemdict\n) writestring closefile } } % Patterns for other supplements. { (pgfonts/) { { cdfromstr search not { exit } if out exch writestring pop out cdstr writestring } loop out exch writestring out (\n) writestring } } { (/BuildChar{AltsysCFD3 begin 64 BuildCh end}bind def) { pop out (\t/BuildChar AltsysCFD3 /BuildChar get def\n) writestring } } { (/CDevProc{pop pop pop pop 0 exch -1000 exch 2 div ) { pop out (\t/CDevProc AltsysCFD3 /CDevProc get def\n) writestring } } { (/CharStrings 1 dict dup begin) { pop out (\t/CharStrings AltsysCFD3 /CharStrings get def\n) writestring 2 { dup buffer readline pop pop } repeat } } { (/FontMatrix[0.001 0.0 0.0 0.001 0.0 0.0]def) { pop out (\t/FontMatrix AltsysCFD3 /FontMatrix get def\n) writestring } } { (/Private 14 dict dup begin) { pop out (\t/Private) writestring { dup buffer readline pop (end def) search { pop pop pop exit } if (/Std) search { pop pop dup length 3 sub 3 exch getinterval (]) search pop out ( ) writestring out exch writestring pop } if pop } loop out ( AltsysCFD3 begin BuildPr end def\n) writestring } } { (UniqueID) { pop } } { () { out exch writestring out (\n) writestring } } ] def [ (SR) (SA) (SK) (SB) (UG) ] { 0 1 255 { encoding exch /.notdef put } for inprefix exch concatstrings macrfile { dup buffer readline not { pop exit } if /patterns load { 2 copy 0 get search { pop pop pop 1 get exec exit } if pop pop } forall } loop closefile } forall csr closefile % Copy the definition of the root font. dup buffer readstring pop out exch writestring closefile out ( setpacking ) writestring out closefile % Remove the Mac garbage from the outline files. [ (COD) (CSA) ] { CDir (/) concatstrings (JIS83-1_) concatstrings 1 index concatstrings macrfile exch OutDot exch concatstrings QUIET not { (Writing ) print dup = flush } if (w) file % Stack: infile outfile { 1 index buffer readstring exch % Stack: infile outfile noteof substring 2 index exch writestring not { exit } if } loop closefile closefile } forall } bind def % If the program was invoked from the command line, run it now. [ .shellarguments { counttomark 5 eq { convert QUIET not { (Done.\n) print flush } if } { cleartomark (Usage: gsnd -- rollconv.ps FName OutBase InDir CDir OutDir\n) print ( e.g.: gsnd -- rollconv.ps HGMinchoE mincho HGfonts/Mincho HGfonts/Mincho HGfonts/gs\n) print flush mark } ifelse } if pop
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
PDFA_def.ps | File | 1.25 KB | 0644 |
|
PDFX_def.ps | File | 1.77 KB | 0644 |
|
PM760p.upp | File | 1.13 KB | 0644 |
|
PM760pl.upp | File | 1.1 KB | 0644 |
|
PM820p.upp | File | 1.12 KB | 0644 |
|
PM820pl.upp | File | 1.09 KB | 0644 |
|
Stc670p.upp | File | 1.13 KB | 0644 |
|
Stc670pl.upp | File | 1.1 KB | 0644 |
|
Stc680p.upp | File | 1.11 KB | 0644 |
|
Stc680pl.upp | File | 1.09 KB | 0644 |
|
Stc740p.upp | File | 1.01 KB | 0644 |
|
Stc740pl.upp | File | 1.09 KB | 0644 |
|
Stc760p.upp | File | 1.11 KB | 0644 |
|
Stc760pl.upp | File | 1.09 KB | 0644 |
|
Stc777p.upp | File | 1.11 KB | 0644 |
|
Stc777pl.upp | File | 1.09 KB | 0644 |
|
Stp720p.upp | File | 1.13 KB | 0644 |
|
Stp720pl.upp | File | 1.09 KB | 0644 |
|
Stp870p.upp | File | 1.11 KB | 0644 |
|
Stp870pl.upp | File | 1.09 KB | 0644 |
|
acctest.ps | File | 4.17 KB | 0644 |
|
align.ps | File | 2.11 KB | 0644 |
|
bj8.rpd | File | 639 B | 0644 |
|
bj8gc12f.upp | File | 1.5 KB | 0644 |
|
bj8hg12f.upp | File | 1.5 KB | 0644 |
|
bj8oh06n.upp | File | 1.48 KB | 0644 |
|
bj8pa06n.upp | File | 1.49 KB | 0644 |
|
bj8pp12f.upp | File | 1.51 KB | 0644 |
|
bj8ts06n.upp | File | 1.49 KB | 0644 |
|
bjc6000a1.upp | File | 1.62 KB | 0644 |
|
bjc6000b1.upp | File | 1.62 KB | 0644 |
|
bjc610a0.upp | File | 1.49 KB | 0644 |
|
bjc610a1.upp | File | 1.48 KB | 0644 |
|
bjc610a2.upp | File | 1.48 KB | 0644 |
|
bjc610a3.upp | File | 1.49 KB | 0644 |
|
bjc610a4.upp | File | 1.49 KB | 0644 |
|
bjc610a5.upp | File | 1.48 KB | 0644 |
|
bjc610a6.upp | File | 1.48 KB | 0644 |
|
bjc610a7.upp | File | 1.48 KB | 0644 |
|
bjc610a8.upp | File | 1.49 KB | 0644 |
|
bjc610b1.upp | File | 1.48 KB | 0644 |
|
bjc610b2.upp | File | 1.48 KB | 0644 |
|
bjc610b3.upp | File | 1.49 KB | 0644 |
|
bjc610b4.upp | File | 1.49 KB | 0644 |
|
bjc610b6.upp | File | 1.48 KB | 0644 |
|
bjc610b7.upp | File | 1.49 KB | 0644 |
|
bjc610b8.upp | File | 1.49 KB | 0644 |
|
caption.ps | File | 1.72 KB | 0644 |
|
cbjc600.ppd | File | 10.89 KB | 0644 |
|
cbjc800.ppd | File | 11.22 KB | 0644 |
|
cdj550.upp | File | 1.65 KB | 0644 |
|
cdj690.upp | File | 1.95 KB | 0644 |
|
cdj690ec.upp | File | 2.01 KB | 0644 |
|
cid2code.ps | File | 4.39 KB | 0644 |
|
dmp_init.ps | File | 7.08 KB | 0644 |
|
dmp_site.ps | File | 459 B | 0644 |
|
dnj750c.upp | File | 2.74 KB | 0644 |
|
dnj750m.upp | File | 1.93 KB | 0644 |
|
docie.ps | File | 7.32 KB | 0644 |
|
escp_24.src | File | 350 B | 0644 |
|
font2pcl.ps | File | 18.01 KB | 0644 |
|
ghostpdf.ppd | File | 25.04 KB | 0644 |
|
gs_ce_e.ps | File | 2.17 KB | 0644 |
|
gs_il2_e.ps | File | 2.57 KB | 0644 |
|
gs_kanji.ps | File | 3.91 KB | 0644 |
|
gs_ksb_e.ps | File | 3.07 KB | 0644 |
|
gs_l.xbm | File | 1.9 KB | 0644 |
|
gs_l.xpm | File | 2.69 KB | 0644 |
|
gs_l_m.xbm | File | 1.91 KB | 0644 |
|
gs_lgo_e.ps | File | 2.67 KB | 0644 |
|
gs_lgx_e.ps | File | 1.72 KB | 0644 |
|
gs_m.xbm | File | 945 B | 0644 |
|
gs_m.xpm | File | 1.4 KB | 0644 |
|
gs_m_m.xbm | File | 955 B | 0644 |
|
gs_s.xbm | File | 594 B | 0644 |
|
gs_s.xpm | File | 957 B | 0644 |
|
gs_s_m.xbm | File | 604 B | 0644 |
|
gs_t.xbm | File | 345 B | 0644 |
|
gs_t.xpm | File | 605 B | 0644 |
|
gs_t_m.xbm | File | 355 B | 0644 |
|
gs_wl1_e.ps | File | 2.44 KB | 0644 |
|
gs_wl2_e.ps | File | 2.44 KB | 0644 |
|
gs_wl5_e.ps | File | 2.45 KB | 0644 |
|
gslp.ps | File | 20.24 KB | 0644 |
|
gsnup.ps | File | 2.57 KB | 0644 |
|
ht_ccsto.ps | File | 222.8 KB | 0644 |
|
image-qa.ps | File | 71.34 KB | 0644 |
|
jispaper.ps | File | 784 B | 0644 |
|
landscap.ps | File | 1.43 KB | 0644 |
|
lines.ps | File | 3.65 KB | 0644 |
|
mkcidfm.ps | File | 21.8 KB | 0644 |
|
necp2x.upp | File | 1.02 KB | 0644 |
|
necp2x6.upp | File | 1.04 KB | 0644 |
|
pdf2dsc.ps | File | 7.87 KB | 0644 |
|
pf2afm.ps | File | 14.94 KB | 0644 |
|
pfbtopfa.ps | File | 996 B | 0644 |
|
ppath.ps | File | 1.78 KB | 0644 |
|
pphs.ps | File | 6.68 KB | 0644 |
|
prfont.ps | File | 7.04 KB | 0644 |
|
printafm.ps | File | 4.78 KB | 0644 |
|
ps2ai.ps | File | 21.78 KB | 0644 |
|
ps2epsi.ps | File | 8.34 KB | 0644 |
|
ras1.upp | File | 215 B | 0644 |
|
ras24.upp | File | 219 B | 0644 |
|
ras3.upp | File | 214 B | 0644 |
|
ras32.upp | File | 196 B | 0644 |
|
ras4.upp | File | 220 B | 0644 |
|
ras8m.upp | File | 209 B | 0644 |
|
rollconv.ps | File | 12.23 KB | 0644 |
|
s400a1.upp | File | 1.42 KB | 0644 |
|
s400b1.upp | File | 1.57 KB | 0644 |
|
sharp.upp | File | 1.89 KB | 0644 |
|
sipixa6.upp | File | 529 B | 0644 |
|
st640ih.upp | File | 2.23 KB | 0644 |
|
st640ihg.upp | File | 1.47 KB | 0644 |
|
st640p.upp | File | 1.87 KB | 0644 |
|
st640pg.upp | File | 1.11 KB | 0644 |
|
st640pl.upp | File | 1.83 KB | 0644 |
|
st640plg.upp | File | 1.08 KB | 0644 |
|
stc.upp | File | 1.88 KB | 0644 |
|
stc1520h.upp | File | 2.1 KB | 0644 |
|
stc2.upp | File | 1.86 KB | 0644 |
|
stc200_h.upp | File | 1.8 KB | 0644 |
|
stc2_h.upp | File | 1.83 KB | 0644 |
|
stc2s_h.upp | File | 2.22 KB | 0644 |
|
stc300.upp | File | 2.09 KB | 0644 |
|
stc300bl.upp | File | 1.31 KB | 0644 |
|
stc300bm.upp | File | 1.4 KB | 0644 |
|
stc500p.upp | File | 1.86 KB | 0644 |
|
stc500ph.upp | File | 1.86 KB | 0644 |
|
stc600ih.upp | File | 2.23 KB | 0644 |
|
stc600p.upp | File | 1.12 KB | 0644 |
|
stc600pl.upp | File | 1.09 KB | 0644 |
|
stc640p.upp | File | 1.07 KB | 0644 |
|
stc740ih.upp | File | 2.07 KB | 0644 |
|
stc800ih.upp | File | 2.11 KB | 0644 |
|
stc800p.upp | File | 1.09 KB | 0644 |
|
stc800pl.upp | File | 1.07 KB | 0644 |
|
stc_h.upp | File | 1.87 KB | 0644 |
|
stc_l.upp | File | 734 B | 0644 |
|
stcany.upp | File | 673 B | 0644 |
|
stcany_h.upp | File | 681 B | 0644 |
|
stcinfo.ps | File | 24.92 KB | 0644 |
|
stcolor.ps | File | 4.95 KB | 0644 |
|
stocht.ps | File | 2.44 KB | 0644 |
|
traceimg.ps | File | 1.35 KB | 0644 |
|
traceop.ps | File | 2.51 KB | 0644 |
|
uninfo.ps | File | 5.85 KB | 0644 |
|
viewcmyk.ps | File | 1.94 KB | 0644 |
|
viewgif.ps | File | 5.27 KB | 0644 |
|
viewjpeg.ps | File | 5.56 KB | 0644 |
|
viewmiff.ps | File | 4.15 KB | 0644 |
|
viewpbm.ps | File | 10.04 KB | 0644 |
|
viewpcx.ps | File | 5.11 KB | 0644 |
|
viewps2a.ps | File | 1.11 KB | 0644 |
|
winmaps.ps | File | 3.52 KB | 0644 |
|
zeroline.ps | File | 2.26 KB | 0644 |
|