WordPerfect for DOS Updated | Site Map | Search | Troubleshooting Guide | Feedback | Voluntary Contributions | FAQ

How to Print the Euro from DOS Programs (Other than WPDOS)


About this page | If your PCL printer supports the euro | If your PCL printer does not support the euro | Make printer output match screen display | DataPerfect and the euro | Home page


About this page

This page is for programmers and technically-expert users who want to print the euro symbol from DOS applications other than WordPerfect for DOS. WPDOS users who want to view and print the euro symbol should consult this site's page on printing and viewing the euro in WordPerfect for DOS, and perhaps also this site's page on viewing and displaying the euro in DOS. This page is designed to help programmers and anyone else who needs to print the euro symbol from other DOS programs, including DataPerfect.

Most of the information on this page concerns Hewlett Packard printers. I hope to add information on other printer models in the future. If you have comparable information on Epson, IBM Proprinter, or other printers, please send me feedback.


If your PCL printer supports the euro in firmware

All current Hewlett Packard and HP-compatible printers include the euro symbol in their firmware. To test whether your older printer includes euro support, download this eurotest.prn file and copy it to your printer from a DOS prompt. If the euro symbol appears, note the symbol set code that appears next to the symbol. All HP printers that support the euro in firmware support symbol set 19U (Windows CP1252 Latin 1); when printing the euro symbol, this is the safest symbol set to choose, unless you want to match what you see on the DOS screen to what appears in print (in which case you should use the methods on this site's page on displaying the euro in DOS screens together with the method elsewhere on this page that allows euro-enabled HP-compatible printers to print the euro symbol directly from DOS). 

HP LaserJets began supporting the euro with the LaserJet 4050, 4100, 8150, 4550, 9000 and later models.Euro support in HP DeskJet and other HP inkjet printers is not well-documented; I believe that all HP inkjet printers widely available for sale in the year 2001 and afterward support the euro. I believe that the older models in the following list of HP inkjet printers also support the euro, but I cannot be certain:

Some late models of the HP 2500C, HP DeskJet 1120, HP DeskJet 880, and HP DeskJet 895 series may have the euro symbol, but I cannot confirm this.

For these printers, the following PCL codes switch to the Windows CP1252 Latin 1 symbol set, print the euro symbol, then switch back to the default Roman-8 symbol set:

<27>(19U<128><27>(10U


If your PCL printer does not support the euro in firmware

HP-compatible printers made before mid-1999 do not include the euro symbol in firmware. With these printers, if all other solutions fail, you can print an almost-acceptable substitute for the euro by printing the epsilon character, which is character 213 in the PC-8 symbol set. This may already by the default symbol set used by your application; if PC-8 is not the default symbol set, and if you can modify the printer drivers of your application, the code that switches to the PC-8 symbol set is: <27>(10U and the code that switches back to the Roman-8 symbol set (typically the printer default set) is: <27>(8U  

However, a much better solution is to create a reasonable facsimile of the euro symbol either by combining the character "C" with a smaller version of the two-horizontal-line graphic character, or (with the LaserJet Series II and later LaserJets) by combining the character "C" with two lines drawn using PCL graphic commands.

For LaserJets (not DeskJets) from the LaserJet Series II model onward, the following codes draw a euro symbol using the letter "C" and graphic commands; for best results, use Courier 10 pitch as the base font. The codes have been divided into separate lines for clarity, but should be sent to the printer as a continuous string (note the letter C on the last line):

<27>*p-2x-18Y
<27>*c24a4bP
<27>*p+6Y
<27>*c22a4bP
<27>*p+2x+12Y
C

For any DeskJet or LaserJet, the following codes draw a euro symbol using the letter "C" and the two-horizontal-line character from the PC-8 character set (in a smaller size than the letter C, and shifted slightly above the line and to the left); for best results use Courier 10 as the base font. Note that the sequence <27>(10U appears twice; it may not be necessary at all, but the first set of these codes ensures that the correct two-horiztonal-line character will be printed, and the second set can be changed to switch to whichever symbol set is the default for your application.

C
<8>
<27>&a-.05r-.05C
<27>(s16H
<27>(10U
<205>
<8>
<27>&a+.05r+.05C
<27>(s10H
<27>(10U
<32>

You may prefer to change the .05 codes to slightly higher numbers, depending on your printer model. (A very similar solution was devised by Dick Koster and posted on the newsgroup comp.lang.clipper.)


Make the printer output match the screen display

This site's page on viewing and displaying the euro in DOS offers instructions for aking DOS windows and full-screen DOS display codepage 858 (or IBM's "modified codepage 850" which is identical to codepage 858). If your printer also supports the PC-858 symbol set, your program can set the default symbol set in the printer to PC-858, and then send simple ASCII and upper-ASCII codes that will produce output to match the screen. In other words, if you have a recent-model HP LaserJet or DeskJet, your program can send the printer code <27>(13U at the start of the print job to make PC-858 the current symbol set, and then use the code <213> to print the euro symbol.

Note: Hewlett Packard laser printers that support PC-858 include the HP LaserJet and Color LaserJet 1200, 2200, 3200, 4050, 4100, 4550, 8150, and 9000 series, and any later models with similar numbers (but not the 8550). With some of these printers, it may be possible to make PC-858 the default symbol set by using the printer's control panel, but I have not tested this (and it is not possible with my LaserJet 4050). HP DeskJet printers that support PC-858 may include the models listed in another section on this page.

Use PrintFile to set any recent HP-compatible printer to default to codepage 858. If your printer supports codepage 858, you can use Peter Lerup's superb freeware PrintFile together with this euro.prn printer code file to set your printer to default to codepage 858. (The euro.prn file was kindly provided by the programmer who calls himself Wildman and who provided the EURO.COM DOS utility described below.)

First, download and install the PrintFile program; allow the installer to associate the filetype .PRN with the program; run the program use the Settings button to configure it. When configuring, make sure there is no check mark next to "Show printer selection dialog," add a check mark next to "Quit when handled command line," and specify your HP-compatible printer in the drop-down list at the bottom. Save your settings and exit the program.

Next, download the euro.prn printer code file from this page. Double-click on the euro.prn file; PrintFile should briefly appear; it will send the file to your printer and close down. Until the new default setting is replaced by WordPerfect or Windows print jobs, the default codepage will be 858. This method works with any recent HP-compatible printer, whether the printer is connected by a parallel or USB cable or across a network. This method will have no effect if your printer does not support codepage 858 in firmware.

Two DOS utilities for setting the printer to default to codepage 858. If your printer supports codepage 858, and is connected by a parallel cable to LPT1, you may prefer to use one of two DOS programs provided by generous-minded programmers to make codepage 858 the printer's temporary default. Each of these programs simply sends the codes <27>(13U to any printer connected with a parallel cable to the LPT1 port; no error-checking is included, and the codes will no effect if your printer does not support codepage 858 in its firmware. These programs are not needed for printing the euro from WordPerfect, and will not have any effect on printing from WordPerfect!

Choose either:

PC858.COM, by Eric P. VanWestendorp, comes with the assembler code used to write the program. Download the self-extracting pc858com.exe archive; run the self-extracting archive program to extract PC858.COM, and run PC858.COM from the DOS prompt before printing from DOS. You will almost certainly need to run the program again after printing from WordPerfect or Windows.

Or:

EURO.COM, by a programmer who uses the name Wildman, also comes with the assembler code used to write the program. Download the self-extracting eurohcom.exe archive; run the self-extracting archive program to extract EURO.COM, and run EURO.COM from the DOS prompt before printing from DOS. You will almost certainly need to run the program again after printing from WordPerfect or Windows.


DataPerfect and the euro

The easiest and most reliable way to print the euro from DataPerfect is through DPSpool, which works with any Windows printer. Follow the instructions in the documentation to enable euro support, and use ASCII 213 for the euro symbol, as in all other solutions on this page.

For users who prefer the DPPrint program supplied with DataPerfect, this site offers drivers that print the euro on HP DeskJet and HP LaserJet printers. Download the EUROPRD.ZIP archive and extract the drivers. Different drivers are supplied for printers that support the euro in hardware and those that do not support the euro in hardware. (These drivers may be also used with other WP Office for DOS software.)


Edward Mendelson  Home Page  Site Map