• ×
    Information
    Windows update impacting certain printer icons and names. Microsoft is working on a solution.
    Click here to learn more
    Information
    Need Windows 11 help?
    Check documents on compatibility, FAQs, upgrade information and available fixes.
    Windows 11 Support Center.
  • post a message
  • ×
    Information
    Windows update impacting certain printer icons and names. Microsoft is working on a solution.
    Click here to learn more
    Information
    Need Windows 11 help?
    Check documents on compatibility, FAQs, upgrade information and available fixes.
    Windows 11 Support Center.
  • post a message
Guidelines
The HP Community is where owners of HP products, like you, volunteer to help each other find solutions.
Archived This topic has been archived. Information and links in this thread may no longer be available or relevant. If you have a question create a new topic by clicking here and select the appropriate board.
HP Recommended

Since the writing of the logo or signature appears to be controlled by macros, which the package identifies by number, then (presumably) calls or executes at appropriate points, it may be possible to do this without using fonts at all:

 

  • Use the MKPCL product I mentioned before to convert your .pcx files to equivalent PCL raster images within macros.
  • Make sure that these macros are set up with the identifiers currently used, and stored in the requisite .MAC file (named as at present). 
  • These macros won't refer to fonts at all, so the .sfp files could be empty (or, if the package objects to empty files,  perhaps just contain a space character, or some innocuous (non-marking) PCL escape sequence).
HP Recommended

Unfortunately, the only options for me at this point have to be "free", as I work for a school district.

 

Anything purchased must be obtained via a purchase order, and a lot of companies want checks or credit cards and really don't want to deal with the added paperwork needed when dealing with a school district.

 

If the company that provided pcx2sfp would provide the source code at a "reasonable" price, we may be able to purchase that as we already have purchased the package and have paid for ongoing maintenace on the package from them.

 

As a little background, we provide shared payroll and budgetary accounting services to about 35 other school districts in New Jersey.

 

HP Recommended

You may be able to find a free "pcx to PCL raster image" application - I don't know of one though.

 

Another option:

 

  • Open your .pcx file in a suitable application - the GIMP, ImageMagick, IrfanView, Adobe Photoshop, PaintShop Pro, and XnView applications, amongst others, apparently support this rather ancient image format - you are presumably already using a suitable application.

 

  • Print the image via the printer driver associated with your target printer, but select the 'print to file' option in the Print dialogue in order to capture the print job to a nominated .prn file. Make sure that the printer driver is a PCL5 one, not PCL6 (PCL XL) or PostScript.

 

  • Examine the .prn file to determine where the PCL raster image definition for the logo / signature is within that file. You can use the PRN File Analyse tool in PCL Paraphernalia (free) to do this.

 

  • Edit the file (or rather a copy of it, perhaps) to remove the PJL / PCL sequences before / after the image definition, so that only the image definition remains; you'll need to use a binary (hexadecimal) editor for this - the one I use (Hex WorkShop) is not free, but some are (e.g. fhred - see http://frhed.sourceforge.net/en/ ).

 

  • Then edit in the required top & tail macro control sequences using the same application.

 

This is somewhat more messy, but you may be able to automate (some of)  it with some code you write?

HP Recommended

I have been at this stuff for over 38 years, starting on an NCR mainframe in 1977. As such I have a lot of experience in their assembler, which was a great introduction on how to accomplish quite a lot with very little resources and compute power.

 

Over the years I gained a lot of experience with many dialects of Basic, and use a lot of Cobol. These days I do a lot of web programming, and programming with Python, which is very versatile. I should be able to put something together.

 

It is a lot of effort to get around having to keep a virtual machine around running a 32-bit version of Windows 7 to be able to use the proprietary 16-bit pcx2sfp software. This is also the reason I have to continue to use the ancient pcx format. I certainly wouldn't mind some other format, but that is all the pcx2sfp program supports.

 

With the knowledge of how the sfp file is designed (thanks to your responses), I could put something together if I knew enough about the graphics formats of, say, bmp files and how to convert them to something usable for PCL.

 

 

HP Recommended

>> ... I have been at this stuff for over 38 years, starting on an NCR mainframe in 1977. ...

 

I pre-date you a bit: I started as a trainee (ICL PLAN) assembler programmer in 1970:

 

  • Half of my working life was in Operating System support roles (including 10 years for a manufacturer); languages included SCL (a job control scripting language), some Cobol, and S3 (an Algol-like language).
  • The other half dealing (primarily) with writing/supporting bespoke drivers to generate LaserJet print files; languages S3C++, with some JavaScript and HTML.
  • I'm retired now, and still write bits of code (including PCL Paraphernalia) in C#.

 

HP Recommended

>> ... I could put something together if I knew enough about the graphics formats of, say, bmp files and how to convert them to something usable for PCL ...

 

If you are going to set up your images as .bmp bitmap files (rather than .pcx ones), then (as I mentioned before), given that the package mechanism appears to use nominated-identifier PCL macros to control writing the logo or signature on the printed page, I'd forget about trying to set up font files (.sfp or otherwise), and just use macro files (containing PCL raster images, with .MAC extension to suit package) and (again to satisfy the package requirements) dummy .sfp files.

 

To convert a bitmap image to a PCL raster image within a PCL macro, you'd need knowledge of:

 

  • .bmp bitmap image formats - available from various sources - note that there are a number of different versions.

 

  • The PCL5 Page Description Language, especially the escape sequences associated with raster images and macros; -see the PCL5 Technical Reference manual.

 

Until you've 'rolled your own', you may be able to make use of some of the tools in the PCL Paraphernalia application to set up some test files:

 

  • Create a suitable .bmp bitmap image in a nominated file.

 

  • For the image to work with the tools, the bitmap image should be Windows V3, of type BM, uncompressed, with 1-, 4- or 24-bits per pixel, with bottom-up (rather than top-down) DIBs. 

 

  • Most Windows bitmaps will probably satisfy those criteria.

 

  • Ideally, use a monochrome bitmap (which will have 1-bit per pixel), since colour bitmaps require use of PCL sequences which are not supported on all LaserJet printers.

 

  • Use the Image Bitmap tool to convert the bitmap file to a print file containing the equivalent PCL raster image (set the Target to File, rather than a printer, to enable the 'capture' to file).

 

  • Within the tool, use the Resolution Scaling item to manipulate the size of the printed image.

 

  • Pass the 'captured' Image Bitmap print job file through the Make Overlay tool, to create an overlay file (this will have a .ovl extension by default, but you can always rename the output file); specify the required macro identifier (e.g. 32002).

 

  • Using a binary editor, modify the resultant file to modify or remove a few sequences, as follows; note that <Esc> is used here as a placeholder for the non-printable Escape character (the character with decimal code 27, or hexadecimal 1B😞
  • <Esc>&u600D - remove
  • <Esc>&l0E - remove
  • <Esc>&a0L - remove
  • <Esc>+pnnnnxmmmmY - replace nnnn by +0 and mmmm by +0

 

  • Rename the modified overlay file as required (e.g. LOGO_XYZ.MAC).

 

  • Set up a matching dummy .sfp file (e.g. LOGO_XYZ.SFP) containing (say) just a space character.

 

Using (most of) the above 'instructions', I've set up some test files (attached in a .zip file); this contains files:

 

  • ConcentricSquaresMono.bmp - a monochrome bitmap file.
  • CaptureFile_ImageConcentricSquaresMono75.prn - output to target= File from Image Bitmap tool with raster resolution = 75 dpi.
  • CaptureFile_ImageConcentricSquaresMono75.ovl_analysis.txt - saved output of an analysis of the .prn file by the PRN File Analyse tool.
  • CaptureFile_ImageConcentricSquaresMono75.ovl - output of Make Overlay tool using previous the .prn file as input, and specifying macro identifier 32002.
  • CaptureFile_ImageConcentricSquaresMono75.ovl_report.txt - save of the action report from the tool.
  • CaptureFile_ImageConcentricSquaresMono75.ovl_analysis.txt - saved output of an analysis of the .ovl file by the PRN File Analyse tool.
  • CaptureFile_ImageConcentricSquaresMono75_x01.ovl - copy of the .ovl file where the required modifications/removals have been made.
  • CaptureFile_ImageConcentricSquaresMono75_x01.ovl_analysis.txt - saved output of an analysis of the .ovl file by the PRN File Analyse tool.
  • Another set of 7 files '...Mono150...' where the raster resolution was set to 150 dpi.

 

Using these files:

 

  • You need to copy/rename whichever of the two xxxxx_x01.ovl files you require to your LOGO_XYZ.MAC (or whatever) filename.
  • You need to set up a dummy LOGO_XYZ.SFP (or whatever) file.
  • Then test.

 

Of course, I can't guarantee that the above will work , since I have no way of testing it!

HP Recommended

Using these files:

 

  • You need to copy/rename whichever of the two xxxxx_x01.ovl files you require to your LOGO_XYZ.MAC (or whatever) filename.
  • You need to set up a dummy LOGO_XYZ.SFP (or whatever) file.
  • Then test.

I can test using your 150dpi .ovl renamed to .mac, but I am not sure how to set up a summy .sfp. I suppose I could specify the ! character (hex 21 dec 33) with a data length of 1 and use a hex 00 character for the data.

 

I can't really do any testing until at least Monday, as I work offsite from where the printing equipment is located and no one will be onsite until then.

 

We are still awaiting word from the package supplier as to if we can get the source code for their pcx2sfp, which I think modifying would be the simpler option. With rewriting our VB6 payroll and budget packages into a newer (supported) language, I pretty much have my hands full without having to reinvent their pcx2sfp "wheel".

 

Thank you again for all your continued help.

 

 

HP Recommended
To create a dummy .sfp file, just create a file in (say) Notepad, containing just a single space character.
Save the file and rename it to the required LOGO_XYZ.SFP name.

It will be tranferred to the printer (because the package insists on having a . SFP file to download) but will not actually be invoked/actioned, since our new LOGO_XYZ.MAC does not refer to it at all.
Archived This topic has been archived. Information and links in this thread may no longer be available or relevant. If you have a question create a new topic by clicking here and select the appropriate board.
† The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the <a href="https://www8.hp.com/us/en/terms-of-use.html" class="udrlinesmall">Terms of Use</a> and <a href="/t5/custom/page/page-id/hp.rulespage" class="udrlinesmall"> Rules of Participation</a>.