(http://www.faximum.com/technotes/226)
TITLE: #226 - OEM Documentation for PCL-5e Interpreter KEYWORDS: PCL-5e pcltiff RELEASE: Faximum PCL engine (Release 3.x) Faximum ELS/PLUS v4 CLASSIFICATION: All PROBLEM: This TechNote contains the documentation received by the OEM supplier of the PCL-5e interpreter used in Faximum software products starting with the PCL Engine (Release 3) and Faximum ELS/PLUS Version 4. CAUSE: N/A SOLUTION: N/A ================================================================= This documentation is a verbatim copy of the information provided by the company that has provided Faximum Software with the technology upon which Faximum has built its PCL Engine product. Many parts of this documentation, especially the section on installation, apply only to other versions of the PCL technology (including those intended for non-UNIX platforms) and not to the Faximum PCL Engine. With that said, however, it is felt that this information in this document is still useful to advanced users and is included here with the warning that not all the material applies to the software you have installed. ================================================================= PCL-5e to TIFF CONVERTER USER'S MANUAL Contents: 1.0 INTRODUCTION 1.1 PCL5e Notes: 1.2 Overview of pcltiff: 2.0 FONTS 2.1 The TrueType PCLT (Printer Control Language Table) 2.2 Character Complements and Symbol Sets Unbound Scaleable Fonts Supported Symbol Sets Character Complements 3.0 PCL5EFAX Data Files 3.1 Table 1: Data Files 3.2 NOTES ON FONTS 3.3 Auxiliary Data Files 3.4 Utility Files 3.5 Program files 4.0 INSTALLATION 4.1 DOS and OS/2 4.2 UNIX 5.0 ADDING FONTS 5.1 Relocating and Adding Intellifont Libraries 5.2 Recataloging Internal Fonts 5.3 Adding TrueType Fonts table 2 fdump.exe 5.4 Edit the tt.txt file 5.5 Run facedata.exe 5.6 Adding Symbol Sets 6.0 OPERATION 6.1 Program Execution 6.2 Initialization file 6.3 Command Line Options 6.4 Advanced Binary Options 6.5 Option Notes 6.6 Advanced Option Notes APPENDIX A Internal Scalable Fonts APPENDIX B Internal Symbol Sets ================================================================= 1.0 INTRODUCTION: Pcltiff is an interpreter of the PCL5e printer language (as described, for example, in "PCL5 Printer Language Technical Reference Manual" by Hewlett Packard, 1990.) It converts PCL5 files to a rasterized image file, which can be tailored for TIFF G3, G4, Brooktrout, PCX, and DCX formats. With a few exceptions, it supports PCL5E (extended PCL5) which, among other extensions, includes support for TrueType fonts. 1.1 PCL5E Notes: PCL5E uses TrueType fonts, as well as the fonts used by PCL5. In fact, with the introduction of the HP LaserJet 4, HP included the 16.66 pitch Line Printer font as the only onboard bitmap font. The several variants of the Courier bitmap font were replaced with Intellifont scaleable Courier fonts. TrueType fonts have become the de facto standard for use with Windows programs. With pcltiff, the printer driver does not have to convert TrueType fonts to bitmap form for downloading. This is significant for fax-normal or fax-fine output, since the bitmaps must be scaled from the normal 300/600 dpi form to 204/196 or 204/98 form, often with unpleasant results. PCL5E has several other advantages: 600 dpi operation as well as 300 dpi Arc fonts in addition to stick fonts Bezier curves in HP-GL/2 Additional raster graphics compression One of the most significant additions in the font world is the introduction of user-defined symbol sets and unbound scaleable fonts. (See section 4) 1.2 Overview of Pcltiff Pcltiff is a complete emulation of the HP LaserJet 4 printer. This means that its "on board" fonts include all of the fonts found on the LJ4. The user of pcltiff has the option of acquiring additional Intellifont and TrueType fonts, including Windows TrueType fonts and public domain TrueType fonts. PCL5E-to-FAX can be configured to use any TrueType font as an internal font, as explained in section 2.0. ----------------------------------------------------------------- 2.0 FONTS 2.1 The TrueType PCLT (Printer Control Language Table) A TrueType font file consists of several tables, some of which give complete instructions for producing the outline of each glyph in the font. There may be only a handful of such glyphs, such as those used in generating bar codes, or there may be several thousand. Other tables are used to describe the font as a whole. For example, the name table typically gives the name of the font in several forms and languages. Some tables are required and some are not. The PCLT, Printer Control Language Table, is an important table for use with PCL5E, but, unfortunately, is not a required table. It is, however, part of all of the standard TrueType fonts supplied with the pcltiff converter. A TrueType font without a valid PCLT, and which is not one of the LaserJet 4/5 internal fonts, requires the following to be an internal font. The user must supply either the character complements array or the symbol set number to be used with the font, and the typeface ID. The HP PCL5 Comparison Guide includes a list of internal fonts included with various printers. This list is also given in Appendix A of this document. 2.2 Character Complements and Symbol Sets Unbound Scaleable Fonts: The concept of an unbound scaleable font was introduced in PCL5E by HP. In PCL5 all downloaded fonts were "bound" to a particular symbol set, or perhaps to a limited set of ISO symbol sets. Among other things, this meant that the font could include at most 256 glyphs (or characters). An unbound font, on the other hand, is not bound to a single symbol set. It can support several symbol sets and can include an indefinite number of glyphs. Most internal fonts are unbound. Two notable exceptions are the TrueType Symbol and Wingding fonts. Supported Symbol Sets: Fonts indicate their supported symbol sets in an array of 8 bytes which together make up a string of 64 bits. In this string, each bit is used to indicate a family of symbol sets supported by the font. The lower 3 bits in byte 7 are used to indicate whether the character codes are Unicode numbers (used with TrueType fonts) or MSL numbers (used with AGFA Intellifont fonts). Character Complements: Normally, the user of PCL5E does not have to be concerned with character complements. The only exception was noted above, i.e. the case of a TrueType font which (1) has no PCLT, (2) is not one of the standard fonts listed in Appendix A and (3) is not bound to a particular symbol set. If the user does not indicate otherwise, a default character complement is chosen such that the Basic Latin symbol sets are supported. If the font is bound to a particular symbol set, and this set is not one of the standard sets (see Appendix B), then the set must be added to the internal symbol sets as described below. Appendix D of the HP PCL5 Comparison Guide has tables of symbol list for various character complement bits. Note that bit 63 is the left most bit in the first byte of the character complement array of 8 bytes. ================================================================= 3.0 Pcltiff Data Files In order to function properly, pcltiff requires several data files, including font files. Some of these data files can be modified in order to modify the internal fonts and/or symbol sets available to the interpreter. The modifiable files are listed in Table 1. Sections 3.3, 3.4 and 3.5 discuss the modification of files. 3.1 LJ.INI LJ.INI specifies the location of various categories of files. It must include the switches given in Table 1. NOTE: Pay particular attention to if.fnt. It includes (internally) the complete path to each Intellifont font. See Section 4.0. (If the *.cdi or .cdm files are placed in a directory other than \pcl5e\if, the program ixmak.exe should be executed with the appropriate value for the if= switch in lj.ini. NEW NOTE: If ixmak is run with the /p (or -p) switch only the font name is included in if.fnt. This is now the preferred way to operate since the path to the .cdi (or .cdm) can be indicated in lj.ini regardless of where they were located when ixmak was run. 3.2 Data Files, listed by the default directory, as given in the lj.ini file Table 1: Data Files type filename DESCRIP SWITCH NOTE ======================================================================== MODIFIABLE DATA FILES: lje\ char_set.ico character sc= 3 complements if.fnt Intellifont sc= 5 library index scalstuf.lj3 internal sc= 7 scaled fonts uif.ss symbol sets sc= 10 Uni. List utt.ss symbol sets sc= 10 MSL list lj.ini sets defaults 6 UTILITIES facedata.exe modifies scalstuf.lj3 using data from tt.txt fdump.exe Shows all glyphs of font sec. 5.4 ixmak.exe Modifies if.fnt using data from if.txt ufssmak.exe Modifies uif.ss, utt.ss using data from ufssmak.txt FONTS: lje\bmfonts\ linep200.crt 200dpi Lineprinter bm= 2 linep300.crt 300dpi Lineprinter bm= 2 linep400.crt 400dpi Lineprinter bm= 2 linep600.crt 600dpi Lineprinter bm= 2 lje\if\ 93950.cdi Courier if= 5 93951.cdi Courier Italic if= 5 93952.cdi Courier Bold if= 5 93953.cdi Courier Bold Italic if= 5 93777.cdi Letter Gothic if= 5 93778.cdi Letter Gothic Italic if= 5 93779.cdi Letter Gothic Bold if= 5 92500.cdi CG Times if= 5 92501.cdi CG Times Italic if= 5 92504.cdi CG Times Bold if= 5 92505.cdi CG Times Bold Italic if= 5 94021.cdi Univers Medium if= 5 94022.cdi Univers MdIt if= 5 94023.cdi Univers Bd if= 5 94024.cdi Univers BdIt if= 5 94029.cdi Univers MdCd if= 5 94039.cdi Univers MdCdIt if= 5 94030.cdi Univers BdCd if= 5 94040.cdi Univers BdCdIt if= 5 90249.cdi Coronet if= 5 90270.cdi Clarendon Cd if= 5 94073.cdi Marigold if= 5 92506.cdi CG Omega if= 5 92507.cdi CG Omega It if= 5 92510.cdi CG Omega Bd if= 5 92511.cdi CG Omega BdIt if= 5 92545.cdi Garamond Antiqua if= 5 92546.cdi Garamond Krsv if= 5 92547.cdi Garamond Hlb if= 5 92548.cdi Garamond KrsvHlb if= 5 92639.cdi Albertus Md if= 5 92642.cdi Albertus Xb if= 5 91119.cdi AntiqueOlv if= 5 91846.cdi AntiqueOlv It if= 5 91118.cdi AntiqueOlv Bd if= 5 plugin.cdi universal plugin if= 5 pluginfp.cdi universal plugin if= 5 if.txt list of \cgfonts used to make if.fnt lje\ttf\ symbol.ttf Symbol tt= 9 arialb.ttf Arial Bold tt= 9 arialbi.ttf Arial Bold Italic tt= 9 ariali.ttf Arial Italic tt= 9 arial.ttf Arial tt= 9 times.ttf Times New Roman tt= 9 timesb.ttf Times New Roman Bold tt= 9 timesbi.ttf Times New Roman BoldIt tt= 9 timesi.ttf Times New Roman Italic tt= 9 wingding.ttf Wingdings tt= 9 tt.txt TT fonts text file tt= 9 lje\pcldata\ arcfnt.lj3 HP-GL/2 arc fonts st= 1 gray200.dat gray (200dpi) patterns pt= 4 gray300.dat gray (300dpi) patterns pt= 4 hatch200.dat hatch(200dpi) patterns pt= 4 hatch300.dat hatch(300dpi) patterns pt= 4 stick1.fon stick fonts-arb. Scale st= 8 stickfnt.lj3 stick fonts 300 dpi st= 8 stick23.lj3 stick fonts 200 dpi st= 8 lje\sym\ ufssmake.txt Symbol set text file ss= *.sym 75 symbol set files ss= sec.5.7 DOS PROGRAMS ljedos.exe DOS PCL5e converter ljedosd.exe DOS PCL5e converter demo DOS4gw.exe Rational Systems DOS extender PMINFO.EXE Reports on available protected mode resources RMINFO.EXE Shows machine configuration OS/2 PROGRAMS ljeos2.exe OS/2 PCL5e converter ljeos2d.exe OS/2 PCL5e converter demo DOS4gw.exe Rational Systems DOS extender PMINFO.EXE Reports on available protected mode resources RMINFO.EXE Shows machine configuration UNIX PROGRAMS lje PCL5e converter NOTES ON FONTS: 1. arcfnt.lj3: This arc font file is in the form of a text file, describing each character in the arc font set. The file is used if, and only if, an arc font is used for labeling in HP-GL/2 mode. 2. linep200.crt,linep300.crt, linep400.crt, linep600.crt: This is the single internal bitmap font used in PCL5E. In this font, the glyphs are in either 200, 300 or 600 dpi form or are scaled as required. 3. char_set.ico: This file is used by pcltiff mainly to obtain character requirement data for the on board symbol sets since this data is not supplied by the UFST(r) symbol set files: uif.ss and utt.ss. This file is produced whenever ufssmak.exe is run. 4. gray200.dat, gray300.dat, hatch200.dat, hatch300.dat: Internal pattern fills are used both in the PCL and HP-GL/2 parts of PCL5E. PCL5E uses two sets of patterns for this: one for fine and normal Fax resolutions, and one for resolutions of 300 dpi and up. These files are in ASCII form, such that they can be modified by the user to change characteristics of the internal patterns. 5. if.fnt: PCL5E uses the AGFA UFST(r) font scaling technology. The if.fnt file is required by UFST to locate the internal Intellifont font libraries and to store some information about each library. The if.fnt file supplied with PCL5E, unless specified otherwise, assumes that these libraries are located in \lj4data on the current volume. A utility called ixmak.exe is provided in case it is necessary to change if.fnt, either because the libraries are on a different volume, different directory or because additional Intellifont fonts are to be made internal. See the section labeled Relocating and Adding Intellifont libraries. 6. lj.ini: The lj.ini file is used to locate the various data files required and to set various configuration parameters. Pcltiff searches for this file in the following order: 1) current directory 2) root 3) /lj 7. scalstuf.lj3: This file is used at initialization of PCL5E-to-FAX to catalog all of the internal scaleable fonts, both TrueType and Intellifont. If if.fnt or ttf.txt is changed, the utility program, facedata.exe should be run. See the section, Recataloging Internal Fonts. 8. stick1.fon, stickfnt.lj3, stick23.lj3: The stick fonts are vector fonts used only in the HP-GL/2 mode of PCL5//PCL5E. Several variants of this font are used - mainly to save time if the default 9 pitch size of the font is used. 9. tt.txt: This is a text file list of TrueType fonts which are to used as internal fonts. Note that the plugin .ttf is not required to be in this list although, if it is to be used, it should be located in \lj4ttf or in the directory given by the "tt=" directory in lj.ini. This text file can actually serve a dual purpose since it can also be used to provide missing information about a TrueType font. See the section Adding TrueType Fonts. 10. uif.ss, utt.ss: These files contain, in binary form, the contents of the internal symbol sets which are normally available on the HP LaserJet 4/5 series of printers, for MSL coding and Unicode coding, respectively. These files are used by UFST(r). They need only be modified if additional internal symbol sets are required. See the section Adding Symbol Sets. 3.4 PCL5E AUXILIARY DATA FILES The following files are supplied for the purpose of modifying uif.ss, utt.ss, if.fnt or scalstuf.lj3. if.txt: list of Intellifont fonts to be placed in if.fnt, used with ixmak.exe. ufssmak.txt: list of symbol set files used to make uif.ss, utt.ss; used with ufssmak.exe *.sym: set of default symbol set files, used with ufssmak.exe 3.5 PCL5E-to-FAX UTILITY FILES These files are used to modify the files listed in 3.4. They use lj.ini to locate their input and output as indicated. Each utility is shown in the form: (input) => utility => (output) where the input is shown as: the file name and the lj.ini switch used to specify the directory in which the file resides. (See also section 5.0, Adding Fonts) (if= if.txt, *.cdi) => ixmak.exe => (sc= if.fnt) (ss= ufssmak.txt, *.sym) => uffsmak.exe => (sc= uif.ss, utt.ss) (sc= if.fnt, uif.ss, utt.ss, char_set.ico; tt= tt.txt, *.ttf) => facedata.exe => (sc= scalstuf.lj3, char_set.ico) ================================================================= 4.0 INSTALLATION 4.1 INSTALLATION of LJE from zipfile (DOS, OS/2) Unzip the file into the root directory. The zipfile includes complete paths so that directories will be created and the files will be placed in their proper directories. 4.2 INSTALLATION OF UNIX VERSIONS Create the following directory: lje Within lje, create these directories: ttf if pcldata bmfonts sym The fonts are stored in tar-files which have been subsequently compressed using gzip. To uncompress, run gzip -d filename. Then run tar -xvf filename to extract files. Extract ttf.tar into ttf, if.tar into if, et cetera. The other files are stored in a tar-file. Within this file, the executable is compressed using gzip. First run tar -xvf filename to extract files, then run gzip -d to uncompress the executable. Put these files into the lje folder. 4.3 PLEASE NOTE: If you choose to use a different directory structure, then you must edit the file lj.ini and then run the three utilities, ixmake, ufssmake and facedata. (See sections 3.4 and 3.5). Lj.ini must be in the same directory as the utility programs (or in the root directory or /lj). ================================================================= 5.0 ADDING FONTS 5.1 Relocating and Adding Intellifont Libraries If additional fonts are to be added as internal fonts or if these fonts are not in the default location, the program ixmak.exe must be run. This is a DOS box program which requires as input a list of Intellifont library files. The complete path to each library is made by concatenating the path following the "if=" switch in lj.ini with the file name given in the list. The list itself is a text file. The auxiliary data file, if.txt, is a list of the internal Intellifont files used with the HP LaserJet 4/5 series of printers. If the file name is preceded with "#" that font library is not added to the internal fonts. NEW NOTE: If ixmak is run with the /p option only the name of the various .cdi (or .cdm) files are stored within if.fnt. The complete path to these files can then be specified by giving the path in lj.ini when the interpreter is run. 5.2 Recataloging Internal Fonts The program facedata.exe is used to recatalog internal fonts after any of the following changes have taken place: 1. Addition of TrueType font files as internal fonts. (most likely use) 2. The set of internal TrueType fonts is modified. 3. The set of internal Intellifont fonts is modified using ixmak.exe. 4. Additional internal symbol sets are added using ufssmak.exe. 5. Current internal symbol sets are modified using ufssmak.exe. This program requires as input many of the same files used by LJEFAX, but produces the master font catalog file, scalstuf.lj3. 5.3 Adding TrueType Fonts Place the desired TrueType font files into a common directory. Reference this directory with the "tt=" switch in lj.ini. Add the names of the files to tt.txt. If the file includes a PCLT and/or is one of the standard fonts listed in Appendix A, it is not necessary to supply missing information. If not, supply the missing information. To do so, add additional strings to the name of the file in tt.txt. Three "switches" are used, with the value to be applied to a given quantity following the switch with no intervening spaces. Switch Definitions: c character complement Gives a series of bits to be turned off. If a bit is on, the symbol set associated with this bit is not supported by the font. The bits to be turned off can be given as individual bit numbers, as a range of bits separated by commas, or a combination of both. Ex: font supports all Latin symbol sets (bits 28-31) c28-31 c28,29,30,31 c21,28-31 s symbol set standard PCL form: number followed by upper case letter s15Y f typeface name form: integer f1234 NOTE: Use either the s switch or the c switch, but not both. If if the face is bound, the character complement is 0 and the symbol set number is non-zero. If the character complement is non-zero, the symbol set number should be 0. 5.4 Assigning the character complement array Perhaps the most difficult part of adding TrueType fonts when the PCLT is not given is deciding what character complement array should be assigned. Theoretically, it should be possible to automate this process by using a program that analyzes the cmap, a required table. This table acts as an index from Unicode to internal index number for each glyph in the font. In lieu of such a program, the utility program fdump.exe has been included to display on a printer all of the glyphs in the font, either by index number or by Unicode. (Unicode is printed below each glyph in hex form) This illustration of the font can be used as an aid in deciding what bits should be set in the character complements array. Please also see the HP PCL5 Comparison Guide. Another utility program, ttfdump.exe, can be downloaded from the Internet and used to display the contents of all of the tables in the font. This program enables you to determine whether the PCLT exists within the font. Facedata.exe can also be used to create a text file containing useful information about the font, including information on the presence or absence of the PCLT. 5.5 Edit the tt.txt file Edit tt.txt file to include the added fonts. Note that tt.txt uses the same convention as if.txt: file names preceded by '#' are skipped. 5.6 Run facedata.exe Run facedata.exe to produce the modified catalog file, scalstuf.lj3. Facedata.exe, will accept a single command line paramter, "-p or /p", which will cause a text file called charcode.txt to be produced, in addition to its other outputs. This file contains a listing of the character mapping table for each TrueType font, as well as some of the contents of the font master structure associated with the font. This file is placed in the tt= directory. 5.7 Adding Symbol Sets Normally it is not necessary to add additional internal symbol sets to PCL5E-to-FAX. However, if a bound font is added which requires a symbol set not listed in Appendix B, you must modify either uif.ss or utt.ss in order for PCL5E-to-FAX to access the font. The utility program ufssmak.exe is provided for this purpose. First, obtain or produce the appropriate .sym file. Place it in the same directory as the existing .sym files (\LJE\SYM\). NOTE that there are two classes of .sym files: those coded for MSL with a "td" prefix and those coded for Unicode with a "tt" prefix. Add the name of the new symbol set to the text file, ufssmak.txt. Execute ufssmak.exe to produce the new uif.ss or utt.ss. NOTES ON CREATING .SYM FILES: The .sym files are text files. The easiest way to create a new .sym file is to use one of the existing ones as a template. The SYMBOL SET field has a two character symbol set identifier which must be unique and which is used internally by UFST to index the symbol sets. There are two special symbol sets: "00" and "01" which are used internally for handling user defined symbol sets which have been downloaded. These identifiers should not be used for any other symbol sets. ================================================================= 6.0 OPERATION (UNIX NOTE: path names would use the forward slash "/" instead of "\" and all system files are lower case.) 6.1 Program Execution: Use the following Command Line syntax to execute the program: lje -dfilename -eoutput.tif -[option][value] -[option][value] -[option][value] Options may be specified in the command line, or in the LJ.INI file. Please read section 6.2 for directions on using the initialization file and options. The only required command parameter is the name of the input file which immediately follows the -d option. The name of the output file given by the -e option is required if it is not given in the lj.ini file since there is no default value. Examples: lje -dtestfile.pcl -etesttif.tif -h204 -v196 -j968 [may be in any order] lje -dtestfile.pcl -etesttif.tif [options specified in lj.ini] 6.2 Initialization file: LJ.INI is an optional file, used to specify the default settings of the options recognized by the executable, and to indicate the location of the font and pattern files. The LJ.INI file which is provided with the software is listed below. In the supplied LJ.INI, there are sample options which are preceded by "#" so that they are not used. The file includes a variety of sample TIFF output (j-option) formats, of which j=840 has been selected. LJ.INI does not include all possible options, but may be modified to achieve the desired output. Options are specified in the form "option = value", or to turn on a binary option, "option =". Please read section 5.3 on Options, for a description of parameters and values. The search order for LJ.INI is: 1) current directory 2) root directory 3) \ LJ The options in LJ.INI will be overridden by any options specified in either the command line or the API, unless the "i" option (see) is turned on (i=) in LJ.INI. LJ.INI: sc=\lje\ bm=\lje\bmfont\ st=\lje\pcldata\ pt=\lje\pcldata\ ss=\lje\sym\ tt=\lje\ttf\ if=\lje\if\ e=ts000001.tif # create template #b=0 #or with a template #f=ts000001.bin # Brooktrout with EOLs and EOB #j=4936 # TIFF with EOLs and EOB j=840 # TIFF with EOLs and EOB and template on each page #j=9032 # multipage TIFF Group 3 with EOLs and EOB, Motorola format #j=984 # multipage TIFF Group 3 with EOLs and EOB #j=968 # DCX (multipage PCX) #j=131 # single page PCX #j=11 #t=2272 #s=0 t=0 #for letter set p=0 or omit since letter is default #p=1 m=0 c=0 #h=204 #v=196 6.3 COMMAND LINE OPTIONS: Note: An option not followed by a value is binary, i.e. if present it causes the non-default value to be used; an option followed by # indicates an integer value, by #.# a decimal number, by $ a string, by & a special value. In some cases the string should not start with an integer. Option Description, Range And Default Values -a scaling method switch for raster graphics range: 0=Ritex 1=smooth sequence (default) -b template/document mode switch range: 0=template 1=document (default) -c# Solaris only: document timeout in seconds range: 0 to 1000 0=infinity (default) -d$ REQUIRED input file name -e$ output file name -f$ template file name -g$ pagemap file name (see note) -h# horizontal resolution (pixels/inch) range: 50 to 600 200 = default -i read .ini file after command line parameters received range: 0=no (default) 1=yes -j# TIFF parameter code (see note) defaults: 72 -k# G3/2D encoding only: K-value (see note) range: 2,3,4 -l$ left font cartridge file name -m# Solaris only: page timeout in seconds range: 0 to 300 0=infinity (default) -n# default font number range: 0-9999 6=Courier (default) -o# default page orientation range: 0=portrait (default) 1=landscape 2=inverse portrait 3=inverse landscape -p# paper size code (see note) range: 0=letter (default) 1=A4 2=B5 3=legal 4=executive page 5=A5 6=monarch envelope 7=com 10 envelope 8=C5 envelope 9=DL envelope 10=11x17 11=A3 12=custom size -q scaling method switch for bitmap characters range: 0=Ritex 1=smooth sequence (default) -r$ right font cartridge file name -s# output bitmap width in pixels (see note) range: 0 to 32767 1728=default -t# output bitmap height in pixels (see note) range: 0 to 32767 0=default -u$ font source switch range: I=internal fonts (default) L=left font cartridge R=right font cartridge S=soft fonts -v# vertical resolution in pixels/inch(see note) range: 50 to 600 200=default -w# Solaris only: file descriptor for writing messages -x# horizontal offset of image within bitmap (pixels) range: 0-32768 0=default -y# vertical offset of image within bitmap (pixels) range: no limit 0=default -z# file descriptor for reading messages or name of log file 6.4 ADVANCED BINARY OPTIONS: -!a if set, turns off form feed on bad PCL escape commands -!d if set, causes raster graphics in PCL to be read as 600 dpi. Emulates the 300/600 dpi front panel switch on a printer. -!g if set, forces scaling to be done at the band level rather than the object level -!i if set, enables converter to emulate edge-to-edge printing. -!q if set, enables converter to convert HPGL without being embedded in PCL -!s if set, forces turns off scale rounding -!y if set, text path is vertical for Asian (Chinese, etc.) fonts -!z if set, embedded copy counts are ignored 6.5 ADDED NON-BINARY OPTIONS -*g# character cache maximum memory if 0 or negative it is set to the default - 9 megabytes -*o$ name of file containing an overlay macro -*s# sets the Sleep value in milliseconds [0] (OS/2 only) -*y# text parsing message for one/two byte character encoding of Asian fonts range: 0, 21, 31, 38 -^a#.# font point size of proportional fonts range: 4.0 to 999.75 12.0 = default -^b#.# font pitch of fixed pitch fonts range: .44 to 99.0 characers per inch 10.0 = default -^c& symbol set to be used, e.g. 10U 8U = default -^d# special output option (subject to additions) 1 - .ras type output (used mainly in UNIX) -^e# ascii text extraction bit code (special implementation) bit 0 set or not -> extract ascii bit 1 set -> also output TIF bit 2 set -> output ascii position (not implemented) -^f$ ascii text output file name "asc00000.txt" = default 6.6 OPTION NOTES -a: Scaling method: Since PCL5 is not a resolution dependent language, certain objects (raster graphic images and bitmap characters) must be scaled to the desired resolution (commonly from 300 dpi to 200 dpi for fax format). There are two scaling methods: "Ritex" and "smooth sequence". Ritex scaling will occasionally cause significant pixels to be missed. Smooth sequence scaling will never omit pixels, but will OR them with other pixels. The net result is that some raster graphics may seem too dark. If this is the case, set a=0 to force Ritex scaling. -b: The interpreter normally operates in document mode (b=1). If b=0, it operates in template mode and produces a binary file. This file is suitable for use as a template, which may be ORed with either the first page or all pages of a document. (See -f and -j for further discussion of templates.) -c: Document timeout is only applicable to Solaris. -d: Input file name is a required parameter on the command line. -e: Output file name: There will be one output file for each page of the input file unless multipage TIFF is specified. An output file name must be specified, either on the command line or in the lj.ini flle - here is no default. For output files with nonnumeric or nonexistant file extensions, subsequent output file names are derived by successively incrementing the digit portion of the root name, if present. The length of the digit portion is preserved by using 0 fill on the left. If there is no such digit portion, then a digit portion is added to the root incrementally for each page (001, 002, 003, et cetera). If the file extension is a number, the new file name is derived by incrementing this number. Note that this form is required by some Brooktrout boards. Example: p1: fx000999.tif a:\test500.tif abcdefgh.tif brookt.301 p2: fx001000.tif a:\test501.tif abcde002.tif brookt.302 p3: fx001001.tif a:\test502.tif abcde003.tif brookt.303 et cetera. -f: Specify template file: If the interpreter runs in document mode and a binary template file name (see option-b) is specified using option -f, the template will be ORed with either the first page or all pages of the primary document. The width and height of the template bitmap need not be the same as that of the document. The template will always be placed at the top of the page. Example: lje -dtest.pcl -etest000.tif -ftemplate.bin -g: This option is used to force the interpreter to use page sizes other than the default. The interpreter uses a set of 13 internal page sizes, along with the page size code (option -p), to determine the size of the output bitmap. The default page size code is 0 for "US letter" since the width of the letter size page is that normally used in the US. For European use it may have to be set to 1 for "A4". Note that the PCL5 input file may contain an escape command which will cause the paper size to change from its original setting. The following structure should be used when creating a pagemap file, to be used to replace the internal pagemap. The page width and heights are expressed in units of 1/72". The map file, if used, should be a binary file containing up to 13 width, height pairs. typedef struct pgsz_tag { INT32 w; INT32 h; }PGSZ; LOCAL PGSZ trays[] = { { 612, 792 }, /* letter */ { 595, 842 }, /* a4 */ { 516, 729 }, /* b5 */ { 612, 1008 }, /* legal */ { 522, 756 }, /* executivepage */ { 421, 595 }, /* a5 */ { 540, 279 }, /* monarcenvelope */ { 684, 297 }, /* com10envelope */ { 649, 460 }, /* c5envelope */ { 624, 312 }, /* dlenvelope */ { 792, 1224 }, /* 11x17 */ { 842, 1191 }, /* a3 */ { 1000, 1000} /* custom */ }; -h: Horizontal resolution of the output in pixels/inch. Most raster graphics and bitmap fonts are designed for 300 dpi printers. On the other hand, most fax machines have horizontal resolutions of approximately 203 or 204 dpi and vertical resolutions of approximately 196 (fine) or 98 (normal) dpi. There are two sets of bitmap fonts supplied: one for 200 x 200 dpi and one for 300 x 300 dpi. The 200 x 200 dpi fonts are used for 204 x 196 and 204 x 98 resolutions as well as 200 x 200. For normal fax resolution, further scaling is done within the interpreter. Scaled fonts and most HPGL graphics are scaled exactly. For best fax results, it is recommended that the default resolutions be used. See option !t. -i: Read LJ.INI after command parameters. Normally the LJ.INI file is read only before the command parameters are read. If i=1, LJ.INI is also read after the command parameters, thus allowing the .INI parameters to override those given on the command line. -j: Output format. Set J=n in the LJ.INI file, where n is the decimal value of the binary number represented by the bit settings in a TIFF option word. Bit settings and default values are listed in the following table: BIT DESCRIPTION VALUES DEC. VALUE *default j=72 ** j=840 0, 1 Compression format 00 = G3/1D* 0 01 = G3/2D 1 10 = G4 2 11 = PCX/DCX 3 2 Code compression 0= no uncomp codes* 0 1= allow uncomp codes 4 3 Bitmap bit setting 0=white 0 1=black* 8 4 TIFF header format 0=little endian(Intel)* 0 (byte order) 1=big endian(Motorola) 16 5 Bit order 0=low order bits on right* 0 1=reverse fill order 32 6 Line ending 0=no restriction 0 1=lines end on byte boundary* 64 7 Multipage TIFF or DCX: 0=single page output* 0 1=multipage output 128 8 EOL bytes 0=no EOL bytes at end of line 0* 1=EOL bytes at end of line 256** 9 EOB bytes 0=no 0* at end of G3image 1=yes 512** 10, Reserved for EOL type 00* 1024 11 (not used) 2048 12 Brooktrout header 0=TIFF header* 0 1= Brooktrout header 4096 13 Templates 0= template on 1st page only* 0* 1= template on every page 8192 examples: J value Binary Description -j72 0000 0000 0100 1000 default G3/1D -j840 0000 0011 0100 1000 default, w/ EOL and EOB on -j4936 0001 0011 0100 1000 default, w/ EOL and EOB on, Brooktrout headers -j968 0000 0011 1100 1000 default, w/ EOL and EOB on, multipage TIFF -j1016 0000 0011 1111 1000 EOL/EOB on, multipg, rev fill, big endian -j3 0000 0000 0000 0011 PCX output -j131 0000 0000 1000 0011 DCX output (multipage PCX) PCX/DCX NOTES: For PCX output, a separate PCX file is output for each page if the multipage TIFF bit is not set. If multipage TIFF bit is set, output will be a single DCX file containing all PCX components. For monotone PCX files, if a bit is set, it is considered white. If the opposite convention is desired, TIFF bit 3 should be set. Thus j=3 is normal PCX, while j=11 gives inverted PCX. -k: Applicable only with G3/2D encoding, the "K" value as specified in section 4 , Coding, of CCITT Recommendation T.4: "Standardization of Group 3 Facsimile apparatus for document transmission: International Telephone and Telegraph Consultative Committee (CCITT, Geneva: 1988). K = 2, 3, or 4, the number of scanlines encoded in a group, in which the first line is encoded 1-dimensionally and the remainder 2-dimensionally. -l: Left font cartridge file. EP/Fax has the ability to attach additional font "cartridges" in the form of special font files. As in the LaserJet III printer, both left and right cartridges can be attached. -m: Page timeout is implemented only in Solaris. -n: Default font setting. If a font is not specified (e. g., when printing ASCII files, which have no provisions for font selection), or when the specified font is not found, the default font will be 10 point Courier. This option enables one to specify a different default font. The fonts are assigned numbers internally and it is this number which should be used. These numbers depend on the order in which fonts were loaded and what fonts were loaded if other than the standard set is loaded. In order to determine these "assignment" numbers set n equal to 1000 and specify a log file to record the output using the -z option. The numbers 0 - 5 are assigned to the line printer font and do not appear in the list. -o: This option can be used to override the default page orientation which is Portrait or 0. The other possible values are Landscape (1), -p: See -g. -q: Scaling method switch for bitmap characters. See also -a. Bitmap characters should usually be scaled using the smooth sequence method, so the q option should not be used. -r: Right font cartridge file. EP/Fax has the ability to attach additional font "cartridges" in the form of special font files. As in the LaserJet III printer, both left and right cartridges can be attached. -s: If this is set to 0, the bitmap width is a "minimal" one which is determined mainly by the page size and horizontal resolution. The default is the standard Fax Group 3 width. Note that at 300 dpi output the default width will cause the page to be clipped on the right. -t: If this is set to 0, the bitmap height is one which is determined mainly by the page size and vertical resolution. The Fax Group 3 spec does not define a standard for this. If it is set to a negative number, the bitmap height is determined not by the size of the page but by the depth on the page where the last band was placed. (See notes about fax output at end of this document.) -u: This option forces the interpreter to select fonts from a designated source, such as the internal fonts or downloaded (soft) fonts. -v: This option expresses the vertical resolution of the output in pixels/inch. Most raster graphics and bitmap fonts are designed for 300 dpi printers. On the other hand, most fax machines have horizontal resolutions of approximately 203 or 204 dpi and vertical resolutions of approximately 196 (fine) or 98 (normal) dpi. Four sets of bitmap fonts are supplied: 200 x 200 dpi, 300 x 300 dpi, 400 x 400 and 600 x 600 dpi. The 200 x 200 dpi fonts are used for 204 x 196 and 204 x 98 resolutions as well as 200 x 200. For normal fax resolution, further scaling is done within the interpreter. Also see option !t. Scaled fonts and most HPGL graphics are scaled exactly. For best results it is recommended that the default resolutions be used. -w: Only used in a multi-tasking environment to communicate with a parent process. -x and -y: These options are used to move the image to the left, down or both within the output bitmap. This x/y offset is in pixels. -z: See -w. If the character following z is not a digit, then it is considered to be the first character of a log file name, which is then used to log error and informative messages in a non-multitasking environment. 6.6 ADVANCED OPTION NOTES: !a: Turn off forced form feed: In order to emulate the behavior of certain HP LaserJet printers the PCL5E interpreter will force a form feed when selected bad escape sequences are received. This feature may be turned off by setting this binary option. !d: Turn on printer front-panel switch for 600 dpi raster graphics. This will cause any 600 dpi raster graphics to be treated as such by the interpreter. It is used with files which are created by a driver for a printer which has such a switch. !g: Scale at bitmap level: For some PCL files, you may get better results by scaling to the desired resolution after an entire page has been converted to a bitmap at 300 dpi. Setting this option will cause scaling to be done at the bitmap level rather than the object level. Currently, this scaling is to 200 x 200 or 200 x 100 only. To get 200 x 100 output resolution, set v to 100. The value of h is ignored; the vertical resolution will be 200 unless v is set to 100. !i: In order to emulate the output of some IBM printers which use more of the printable area of the page than HP printers, this option should be set. !q: The interpreter processes HPGL commands but normally they must be embedded in some PCL escape sequences. By setting this option, "pure" HPGL files can be processed. Note however that various HPGL plotter parameters such as position of the "scaling points", P1, P2 will not be correct. !t: The output resolutions specified by -h and -v are actually rounded to the nearest multiple of 100 but the resolution specified by -h and -v are placed in the TIFF header since some Fax machines expect these exact values. On the other hand the exact values present some scaling problems. If exact values are required for the output, set the !t option. !y: This option can be used with Asian text to output characters in "vertical" format. It has no effect in non-Asian text. Specifying this option has the effect of transforming a portrait page with horizontal text into a landscape page with vertical text. !z: Some PCL files will have a copy count escape sequence. If this count is to be ignored the !z option should be set. *g: This option should be used only in special cases where a very large number of characters will be cached such that the memory they use may cause an excessive amount of memory page swapping, thus slowing down the interpreter. *o: For some applications it is handy to specify an internal macro which will be executed at the end of each page. If this macro is placed in a special "macro file" the macro can be made internal by specifying the name of this file using this option. *s: OS/2 based programs execute the Sleep() function after each band is formed. The default parameter is 0. This may be changed to a different value via this option. *y: For some Asian languages like Japanese and Chinese the single byte character encoding scheme must be replaced by either a pure two byte encoding scheme like Unicode or by one of a various one/two byte encoding schemes. HP uses the following numbers to indicate which scheme is used: 0, 1: single byte only, 21 : 1/2 byte - JIS X0208, GB 2312-80 (7 bit), KS C 5601-1992 (7 bit) 31 : 1/2 byte - Shift-JIS 38 : 1/2 byte - BigFive, TCA, GB 2312-80 (8 bit), KS C 5601-1992 (8 bit) ^a, ^b, ^c: These options can be used to specify the size (point or pitch) of the font to be used as well as the internal symbol set to be used. Note that this has an effect only on those PCL files which do not include escape sequences specifying such values. The symbol set is identified by a number letter pair such as 8U (Roman 8) and must be represented by one of the .sym files included with the interpreter. See Appendix B for the standard set. ^d: This option is used to specify special output formats and is subject ot update. Currently the only special output is the UNIX rasterfile (.ras) format which is essentilly an uncompressed bitmap with a special header. ^e: This option can be used to extract the text portion of a PCL file. This text is placed in a file specified with the ^f option or the default file asc00000.txt. Note that for many PCL files the output will be nonsense. The value associated with this option is actually a bit field which can be used to specify more than just text output. Currently any value <= 7 will cause ASCII output and if bit 1 is set a TIF file will also be output, for example value = 2 or 3. ================================================================= APPENDIX A INTERNAL SCALABLE FONTS: TYPEFACE TREATMENT TYPEFACE NUMBER INTELLIFONT TYPEFACES CG Times Med, Ital, Bold, Bd. Ital. 4101 Univers Med, Ital, Bold, Bd. Ital 4148 Univers Cond Med, Ital, Bold, Bd. Ital 4148 Courier Med, Ital, Bold 4099 Letter Gothic Med, Ital, Bold 4102 Albertus Med, Ex. Bd. 4362 Antique Olive Med, Ital, Bold 4168 Clarendon Cond. Bold 4140 Coronet Med, Ital 4116 GaramondAntiqua Kursiv,Halbfett,KursivHalbfett 4197 Marigold Med 4297 CG Omega Med, Ital, Bold, Bd. Ital 4113 TRUETYPE TYPEFACES Arial Med, Ital, Bold, Bd. Ital 16602 Times New Roman Med, Ital, Bold, Bd. Ital 16901 Symbol Med 16686 Wingdings Med 31402 ================================================================= APPENDIX B Internal Symbol Sets SYMBOL SET PCL SYMBOL SYMBOL SET NAME INDEX SET ID RE 8U Roman-8 E1 0N USI 8859 Latin 1 (previously called ECMA 94 Latin 1) E2 2N ISO 8859-2 Latin 2 E5 5N ISO 8859-2 Latin 5 PC 10U PC-8 PD 11U PC-8 D/N PM 12U PC-850 PE 17U PC852 PT 9T PC-Turk W1 19U Windows 3.1 Latin 1 (Microsoft calls it ANSI) WE 9E Windows 3.1 Latin 2 WT 5T Windows 3.1 Latin 5 DT 7J DeskTop TS 10J PS Text VI 13J Ventura International VI 14J Ventura US PB 6J Microsoft Publishing M8 8M Math-8 MS 5M PS Math VM 6M Ventura Math PI 15U PI Font LG 1U Legal UK 1E ISO United Kingdom US 0U ASCII SW 0S ISO Swedish: names IT 0I ISO Italian SP 2S ISO Spanish GR 1G ISO German DN 0D ISO Norwegian FR 1F ISO French WO 9U Windows 3.0 Latin 1 (previously called Windows) MC 12J MC Text SY 19M Symbol WD 579L Wingdings ---------------------------------------------------------------------- TechNote: 226 - Copyright 2001 Faximum Software Inc., All Rights Reserved. Last Updated: Thu Mar 22 14:33:29 PST 2001 Find all Faximum TechNotes at http://www.faximum.com/support© Copyright 2001 Faximum Software Inc. All Rights Reserved.