Improve company productivity with a Business Account.Sign Up

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1052
  • Last Modified:

Printing from old, DOS based software

A client has an old DOS based software. We have it running in XP Mode for the most part and it is still working. So far we had a LaserJet 4050 setup using a PCI LPT card in one computer and the printer is shared. In XP mode the printer is mapped via net use LPT1 "\\computer\printername" and it works.

Now we had the request to make another printer available, a Lexmark T632, since there are slowness issues. The Lexmark is a network connected printer and we have installed the printer in XP mode and then created the same net use setup by mapping LPT2 to localhost.

We have been doing extensive research and I have been trying to learn the old software, and eventually came accross a printer setup menu, however, I am not entirely sure what "pitch codes" are, and whether they are unique to a printer and if so where to obtain them.

Please see the attached screenshot for reference. I remember a lot from my MS-DOS days, but pitch codes is a new one.
4 Solutions
JohnBusiness Consultant (Owner)Commented:
The codes are to print 10 characters per inch (courier monospaced) (Ten pitch) and (normally) 16.67 characters per inch (condensed pitch). They are the codes sent out to set or change pitch.

They are not necessarily unique but different printers can use different codes.

The codes are normally supplied by the software to set its print style. I have not seen them as user codes.  

.... Thinkpads_User
EMJSRAuthor Commented:
Hm. That makes sense. I guess I will have to make the changes in the live environment eventually and see how it goes.
Steve KnightIT ConsultancyCommented:
As long as that printer supports PCL emulation it will work frankly.  the 15 and 18 codes for printer above are older codes used by Epson compatible dot matrix printers typically.

I have a reference here on my site of what the codes do:

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

I agree with dragon-it: any PCL5 printer will probably work fine here.

However, according to the data sheet, the T632 has "PostScript 3 emulation standard, PCL 6 emulation standard". Neither of these bear any relationship to PCL5 - although PCL6 printers should also support PCL5. This would be the first one I've heard of that doesn't.

If it doesn't, and you need to use that printer, I recommend DOSPRN. It takes the output from the DOS program and feeds it through the Windows printer driver. That lets it print output from DOS to any printer, regardless of its type.
Steve KnightIT ConsultancyCommented:
And worst case scenario, you can set the printer default font on it;s front panel or web interface to a suitable sized fonts and just get the DOS app to send text to it and it will use that font...
Just to agree with and add to the comments already made by thinkpads_user, dragon-it and hdhondt:

The sequences which start with decimal code 027 (hexadecimal 1B), which is the (non-graphic) control-code Escape character (usually represented by <Esc> or <esc>) are:

<Esc>(s10H        Primary Font: Pitch (10 characters per inch)

Open in new window

<Esc>(s16.66H     Primary Font: Pitch (16.66 characters per inch)

Open in new window

which are both fairly common PCL5 escape sequences.

Note that these sequences are only relevant if the current font (as selected via PCL5 sequences, or defaulting to the one selected via the printer front panel or equivalent) is a scalable fixed-pitch font (e.g. Courier or Letter Gothic); most LaserJet fonts are proportionally-spaced (e.g. Arial, Times, Omega, Univers) and the pitch sequences have no effect on these fonts).

The decimal 18 (hexadecimal 12) code represents the Device-Control-2 (<DC2>) control-code character; this is not a PCL5 control code.

The decimal 15 (hexadecimal 0F) code represents the Shift-In (<SI>) control-code character, which is used within PCL5 to select the Primary font (when switching between selected Primary and Secondary fonts).
Steve KnightIT ConsultancyCommented:
The 18 and 15 are for old ESC-P2 Epson codes.  ascii 15 was for condensed
For the Lexmark T63x / old T Series printers you will find the technical reference, explaining the languages to control the printer at

Basically those printers support PCL5, PCL XL and PS and if explicitly activated even PPDS (Proprinter Datastream)

When you download the Technical Reference, have a look at page 2-38 where fonts, pitch etc, in general are described. Futher down at 2-60 the font control codes are explained and when you look at 2-62, you will find exactly the one sequence you have in your graphic of your setup window of the DOS program.

Mostly you can configure the printer to use PCL as it's default printer language and you can define inside the Configuration / PCL Emul Menu what Symbol Set, Pitch, Font etc, shall be used. So, basically, I'd expect to be mostly compatible to what you have configured for the HP, eventually you can switch the mode (there is "forward" and "backward" compatibility mode for the PCL fonts, as well explained in the reference manual.
Hope this will provide all necessary information you need.
EMJSRAuthor Commented:
Thank you for everyone's input. I managed to get the issue resolved. I used the PCL5 drivers that is designed for XP (since the application is now being run in XP Mode due to its age). Additionally I configured it in the DOS software and then created a local share of the printer within XP Mode which I could then map to LPT2 (via net use). That allowed printing to work. DOSPRN wasn't even required.

It's always a little bit of a game of chance with older software. I will try and assign points fairly!
EMJSRAuthor Commented:
Client testing lead to the solution. All the input definitely helped a lot though!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Tackle projects and never again get stuck behind a technical roadblock.
Join Now