Printer Fonts

Post Reply
dpaterso
Posts: 142
Joined: Tue Jan 24, 2006 9:45 am
Location: South Africa
Contact:

Printer Fonts

Post by dpaterso »

Does anyone have an idea what parameters to use when defining a printer font that will make the printer print in the equivalent old DOS font size?

What I am trying to say is (for example):

In DOS we had Chr(27) + Chr(15) (usually) which was 'compressed' print and Chr(27) + Chr(18) (usually) which was 'normal' print. What is the equivalent 'Define Font oFont ... Size ...' etc. etc. for 'normal' and 'compressed' fonts.

I don't mean that I want to print using DOS (using TDosPrn) but what the closest fonts to 'normal' and 'compressed' using FWH and Windows printing.

Basically I need a 'normal' and 'compressed' font that does not use proportional spacing.

I hope my question makes sense.

Regards,

Dale.
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Printer Fonts

Post by Enrico Maria Giordano »

The only standard non-proportional true type font is Courier New, as far as I know.

EMG
User avatar
E. Bartzokas
Posts: 114
Joined: Tue Feb 14, 2006 8:13 am
Location: Corinth, Greece

Re: Printer Fonts

Post by E. Bartzokas »

EnricoMaria wrote:The only standard non-proportional true type font is Courier New, as far as I know.

EMG
There is also OCR-A that is non-proportional...

The point is that the way to do what you want, is to use CMPRINT().
You need to know exactly the physical width of what you print, and compare how much space the smaller font will occupy... Not an easy job for sure.

My recommendation is to convert your text to some Rich Text format, and print it as a richtext format... I have no more suggestions, because I have not done it, but am sure there is a way to do it...
User avatar
James Bott
Posts: 4654
Joined: Fri Nov 18, 2005 4:52 pm
Location: San Diego, California, USA
Contact:

Post by James Bott »

Dale,

Below are some notes from my files on emulating DOS printing.

James

---------------------------------
ASCII printing uses a fixed pitch font and the only one that comes with Windows is Courier New. To emulate standard ASCII 80 characters per line printing define a 12 point font as follows:

define font oFont name "Courier New" size 0,-12

To get 92 characters define a 10 point font (SIZE 0,-10).

Note, however, that DOS ASCII printing uses the same height font regradless of how many characters per line. I.E. 80 chars are the same height as 132 chars (compressed mode). Windows fonts become shorter as the point size is reduced. To maintain the same font height and get more characters per line just define the font as 12 point (SIZE 0,-12) then multiple oFont:nWidth by a correction factor. For example, to get a simulated compressed typeface (132 characters per line):

FONT oFont name "Courier New" size 0,-12

oFont:nWidth:= oFont:nWidth * (80/132)

This will give you the same number of lines per page (66) as you would get with ASCII printing.
-----------------------------------
Post Reply