How do I switch between one HP laser printer and another in Dbase 3+?

My client has a number of programs developed in Dbase 3+ which print in different fonts to an HP printer which is now outdated. He needs to upgrade to an HP 4000. The font control is done using hex codes directly sent to the printer.

Can this be changed to use some sort of font by name control?

Are the codes likely to be the same for older and newer HP printers?
LVL 4
dovidfCEOAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

DansDadUKCommented:
>> ... The font control is done using hex codes directly sent to the printer ...

What you are probably referring to are font selection sequences.
Apart from the initial Escape character (the character with decimal code 27, or hexadecimal 1B), the sequences use ASCII text characters; since the Escape character is a non-graphic (control-code) character, it is usually referred to using a place-holder, such as <Esc>, or <esc>.


>> ... Can this be changed to use some sort of font by name control? ...

Not sure just what you are getting at here; your program could presumably have a built-in table mapping required font names to the equivalent PCL5 font selection sequence skeleton.


>> ... Are the codes likely to be the same for older and newer HP printers? ...

Depends how old the original one was.

LaserJet devices up to and including (I think) LaserJet 4 had various different mixes of printer-resident bitmap and Intellifont format scalable fonts.

More modern devices (except for the cheap 'host-based' devices) have a fairly consistent set of fonts, which (apart from the Line Printer bitmap fonts) use encapsulated TrueType scalable technology.

With most LaserJet printers, you can print off a Typeface List, which shows which fonts are available, and also shows the required font selection sequences.
With most devices, printing of the list can be invoked using the front panel menu system, or Embedded Web Server or Toolbox equivalents.
0
dovidfCEOAuthor Commented:
DansDadUK> What you are probably referring to are font selection sequences.

That is correct

DansDadUK> >> ... Can this be changed to use some sort of font by name control? ...

What I meant here is there some upgrade that can change the font by indicating font name and size such as in more modern programs.

The older printers are Laserjet II and Laserjet III. They use a font cartridge. Would the modern typeface list likely include some of the older printer fonts?

DansDadUK> Embedded Web Server or Toolbox equivalents

What does this mean? How can this be used?
0
DansDadUKCommented:
>> ... What I meant here is there some upgrade that can change the font by indicating font name and size such as in more modern programs ...

I'm still not clear what you mean.
A PCL5 printer only understands PCL5 escape sequences.
How you refer to them in your 'program' (bearing in mind that I know nothing of DBase 3+) is up to you.

For example, you can define a byte array containing the font selection sequences required to select the 12-point size of the Arial font, and name the array Arial12, or fred , etc.
Then refer to the array by the name you've chosen when you come to copy the array contents to the printer.


>> ... The older printers are Laserjet II and Laserjet III. They use a font cartridge.
>> ... Would the modern typeface list likely include some of the older printer fonts?

The printer resident fonts on LJ II and LJ III are different to those on modern devices, although some of the old font selection sequences will possibly select similar looking fonts on the modern devices.

But use of font cartridges on the old machines implies that you are making use of 'special' fonts; to make these available on the newer printers, you'd need to:

Install equivalent external font add-ons (on SIMM, DIMM, compact flash, etc. depending on model) provided you can find one with the equivalent fonts.
or:  
Obtain PCL encapsulated soft font equivalents of the required fonts, and download these to the printer (usually every time it is powered up).


>> ... Embedded Web Server or Toolbox equivalents ... What does this mean? How can this be used?

For modern 'network' enabled models (usually those with 'n' or 'w' in the model name), you can point your browser at the TCP/IP address of the printer, and this should display the Embedded Web Server interface, which should provide you with the equivalent of the front panel menu system.

The Toolbox application is available with some non-network models to provide an equivalent of the EWS for printers connected via direct connection (parallel-port or USB).
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

dovidfCEOAuthor Commented:
I am waiting to hear from the user which fonts he wants to emulate on the new machine.
0
dovidfCEOAuthor Commented:
The cartridge that they are currently using supports Helv Bold, tms roman medium, tms roman bold, tms roman italic medium, line printer medium.

There is smaller writing to the right of these fonts but I can't read it and have requested that they send me that information.
0
DansDadUKCommented:
Not having access to a LaserJet 4000 printer (which is hardly a new printer itself - it first came out in 1997), I'm not sure about Helvetic Bold, but I would imagine that the standard printer resident font list would include:

scalable Times Roman and/or Times New Roman and/or CG Times typefaces in Regular, Bold and Italic variants
bitmap (fixed size 16.67 characters-per-inch) Line Printer font

A PCL Typeface List generated by the LJ 4000 would confirm the identities (and font selection sequences) of the available printer-resident fonts, so that you can compare these with your old cartridge font details.
0
dovidfCEOAuthor Commented:
Thanks for your help with this issue
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Databases

From novice to tech pro — start learning today.

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.