home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fonts 1
/
freshfonts1.bin
/
bbs
/
programs
/
amiga
/
pastex13.lha
/
DVIPS
/
dvips5519.lha
/
dvips
/
vmcms
/
texc.exec
< prev
Wrap
Text File
|
1992-11-15
|
4KB
|
132 lines
/* TEXC exec: based on the texc.script for Unix. */
/* This is version 2.0 as of 9 Nov. 1992. */
/* Written by Jim Hafner (hafner@almaden.ibm.com). */
/* */
/* Command is: */
/* TEXC [ifn.[ift [ofn.[oft]]]] */
/* Note: filemodes are not USED in the input and output file */
/* name specification. They default to '*' and 'A' for */
/* the input and output files, respectively. */
/* */
/* The defaults: */
/* ifn: TEX ift: LPRO */
/* ofn: TEXC oft: LPRO */
/* END OF HEADER (this line must be preceded by a blank line) */
/* This program is part of the VM/CMS version of DVIPS, a TeX dvi to
* PostScript driver written by Tom Rokicki. It is used in the MKDVIPS
* procedure to build the TEXC.LPRO file from the TEX.LPRO file. This is
* then followed by SQEEZE to remove the comment lines and pack the files
* tighter.
*
* You are welcome to modify this exec in any way you choose.
*
* It reads the input file and deletes all the lines between and
* including
* % begin code for uncompressed fonts only
* and
* % end code for uncompressed fonts only
* Then it strips the leading % comment symbol from all the succeeding
* lines up to and including the line
* % % end of code for unpacking compressed fonts
*
* THANKS:
* Many thanks to Ronald Kappert (R.Kappert@uci.kun.nl) for sending
* me many suggestions to enhance the support for this program.
* Also, Michel Goossens (goossens@cernvm.cern.ch) for other ideas
* and helping with the testing.
*/
parse upper source . . execfn execft execfm .
parse upper arg ifn'.'ift ofn'.'oft .
default_ifn = 'TEX'; default_ofn = 'TEXC'
default_ift = 'LPRO'; ifm = '*';
default_oft = 'LPRO'; ofm = 'A1';
if ifn = '?' then signal show_header ;
if ifn = '' then ifn = default_ifn
if ift = '' then ift = default_ift
if ofn = '' then ofn = default_ofn
if oft = '' then oft = default_oft
upper ofn oft ofm
address 'COMMAND'
'STATE' ifn ift ifm
if rc^=0 then signal input_state_error
'STATE' ofn oft ofm
if rc=0 then do
say execfn': Output File' ofn oft ofm 'already exists.'
say execfn': Will overwrite with new version.'
"ERASE "ofn oft ofm
end
else if rc^=28 then signal output_state_error
'MAKEBUF'; lev = rc;
outputon = 1
stripcomment = 0
do forever
'EXECIO 1 DISKR' ifn ift ifm '(VAR LINE'
if rc ^= 0 then leave
parse var line comment text
if ( comment = "%" &,
delword(text,5) = "begin code for uncompressed" ) then do
outputon = 0
stripcomment = 0
end
if (comment = "%" &,
delword(text,5) = "% here's the alternate" ) then do
stripcomment = 1
outputon = 1
end
if ( outputon == 1 & stripcomment == 1 ) then
'EXECIO 1 DISKW' ofn oft ofm '(STRING' text
else if ( outputon = 1 & stripcomment == 0 ) then
'EXECIO 1 DISKW' ofn oft ofm '(STRING' line
if (comment = "%" &,
delword(text,7) = "% end of code for unpacking" ) then do
stripcomment = 0
outputon = 1
end
end
'DROPBUF' lev
'FINIS' ifn ift ifm
'FINIS' ofn oft ofm
exit
show_header:
index=1
line=Sourceline(index)
Do While Substr(line,1,2)="/*"
parse var line '/*' middle '*/'
say middle
index=index+1
line=Sourceline(index)
End
Exit
input_state_error:
if rc = 28 then say execfn': Input File' ifn ift ifm 'does not exist.'
else if rc = 36 then say execfn': Disk' ifm 'not accessed.'
else say execfn': Error reading 'ifn ift ifm'.'
exit rc
output_state_error:
if rc = 36 then say execfn': Disk' ofm 'not accessed.'
else say execfn': Error writing to 'ofn oft ofm'.'
exit rc
/* exit */