.TH SubFont 1.2 "11/28/94" .\" @(#) SubFont.1 1.2 21:06:00 11/28/94 .SH NAME SubFont \- Makes type 1 font from a characters of other font .SH SYNOPSIS .B subfont < .B Command list > .SH DESCRIPTION .B SubFont parses Adobe type-1 font programs (in PFA (hexadecimal) or PFB (binary) formats), extracts specified characters and write out font which contains only specified characters. When this program works with single font it writes out font in PFA or PFB ATM compatible font formats. When the program works in multifont mode (which is automatically switched on by option .I -f ) that writes fonts in such format that can be loaded only by complete PS interpreter. In multifont mode, fonts with the same encoding share one encoding vector, .I eexec PS operator is not used in output stream and other optimizations were done. .SH Commands .TP 12 .B -v This option tell program to output more information about font parsing stadies. .TP .B -o By default, program outputs into stdout. One can redirect output via redirection facility. Also one can redirect output by this option. .TP .B -a It works like .I -o option but opens file in append mode. It is usefull when addition of some prolog is required. .TP .B -b The same as .I -o option but force output in binary mode. So, program will be write PFB-font format. Note that this option contradicts with multifont preparation, and in attempt of loading second font process will be canceled. .TP .B -c Copying specified file to output as is. This option is strange in UNIX environment but is very usefull in VMS environment. .TP .B -n/../../ This option defines characters required to download from next font. Note, if this option is missed, program will loads all characters. In this case only convertion from .I PFB format to .I PFA format and back will be done. .TP .B Process font from file. .TP .B - Process font from stdin. .TP .B -f Reads list of required fonts and characters from .I file and process every font. This option turns on .I multifont mode in which fonts with the same encoding will share one encoding vector, .I eexec PS operator will not be used in output stream and other optimizations will be done. Every line of this file must containes specification: font-name/char-1/char-2/.../char.../ .TP .B -m defines file with mapping of font names (used in file processed by .I -f option) to file names. Every line of map-file maps font to file like to: Times-Romat tir____.pfb Times-Bold tib____.pfb .TP .B -I Font search path, which is used for searching font files (used with .I -f option). .TP .B -u File for put list of undefined fonts (used with -f option). This file will be created only in case if unknown fonts exist. .TP .B -e\# Touch encoding flag. In multifont mode the same font encoding verctors is loaded only once. To make so, every encoding vector loaded out of font body and have uniqual name. Every font will only refer into already loaded encoding verctor. To suppress this feature one can use option .B -e-1 When program prepares several files without .I \-f option but using .I \-n option and .I , encoding vector will be loaded as is. To force removing the same encodings one can say .B -e1. .TP .B -x\# eexec applying flag. In multifont mode fonts will be outputted without .I eexec instruction. This feature make output file smaller. To suppress this feature in multifont mode one can use option .B -x2 When program prepares several files without .I \-f option but using .I \-n option and .I , eexec will be applied. To remove eexec, in this case, one can use .B -x0. .TP .B -z ... In this case program will be read every file from list, search line with pattern: .B /FontName / def and output line like .B / () ; This facility is usefull for making font map file. .SH EXAMPLES .LP .nf To make font with characters 'B', 'K' and 'M' from Times-Roman font: .B subfont -o BKM.pfa -n/B/K/M/ Times-Roman.pfa The same but output will be in PFB format: .B subfont -b BKM.pfb -n/B/K/M/ Times-Roman.pfa .ft R .fi .SH "SEE ALSO" .LP .BR fload (1), .LP .I "Adobe Type 1 Font Format" .SH BUGS None known. .SH AUTHOR Basil K. Malyshev (malyshev@mx.ihep.su)