Author |
Topic: Points vs Pixels (Read 217 times) |
|
hellomike
New Member
member is offline


Gender: 
Posts: 46
|
 |
Points vs Pixels
« Thread started on: Jun 25th, 2015, 1:58pm » |
|
Hi,
For PRINT output I want some fancier font. Unfortunately the font doesn't really come out fine. Code: VDU 23,22,512;512;16,16,16,0
*FONT Courier New,10,B
PRINT "The Quick Brown Fox Jumps Over The Lazy Dog"
END
Some characters slightly overlap.
I guess it has something to do with my incorrect choice of points or pixels or both.
Strangely enough, after the program ends and I start typing in the same output window, the effect is not there....
What extra do I need to do/consider? I hope it is not related to my videocard/driver.
Thanks
Mike
|
|
Logged
|
|
|
|
rtr2
Guest
|
 |
Re: Points vs Pixels
« Reply #1 on: Jun 25th, 2015, 3:55pm » |
|
on Jun 25th, 2015, 1:58pm, hellomike wrote:What extra do I need to do/consider? |
|
Kerning perhaps? This is a complicated area, as has been discussed before (I can't remember whether here or at the Yahoo group). How (and whether) kerning is actioned depends on the version of Windows, on the API call(s) used and on the plotting mode.
Things you can try are to use the VDU 5 mode (plot text at graphics coordinates), or to explicitly set the text background colour to transparent using an API call, or to change the character spacing (again using an API call). You may find relevant information by searching this forum and the Yahoo group for posts mentioning kerning.
Finally I would point out that ClearType can affect this - so maybe try turning it off - as can the automatic scaling applied with high DPI values in recent versions of Windows, which again you can try disabling.
As I said, it's a complex area!
Richard.
|
|
Logged
|
|
|
|
rtr2
Guest
|
 |
Re: Points vs Pixels
« Reply #2 on: Jun 25th, 2015, 5:57pm » |
|
on Jun 25th, 2015, 3:55pm, g4bau wrote:Things you can try are to use the VDU 5 mode |
|
Code: VDU 23,22,512;512;16,16,16,0
*FONT Courier New,10,B
VDU 5,30
PRINT "The Quick Brown Fox Jumps Over The Lazy Dog"
END Quote:or to explicitly set the text background colour to transparent |
|
Code: VDU 23,22,512;512;16,16,16,0
*FONT Courier New,10,B
TRANSPARENT = 1
SYS "SetBkMode", @memhdc%, TRANSPARENT
PRINT "The Quick Brown Fox Jumps Over The Lazy Dog"
END Quote:or to change the character spacing |
|
Code: VDU 23,22,512;512;16,16,16,0
*FONT Courier New,10,B
SYS "SetTextCharacterExtra", @memhdc%, 1
PRINT "The Quick Brown Fox Jumps Over The Lazy Dog"
END Richard.
|
|
Logged
|
|
|
|
hellomike
New Member
member is offline


Gender: 
Posts: 46
|
 |
Re: Points vs Pixels
« Reply #3 on: Jun 27th, 2015, 11:01am » |
|
Thanks for the replies.
Adding the line:
Code: SYS "SetBkMode", @memhdc%, 1
Seems to solve the issue.
Indeed pretty complex stuff. How I miss the simple RISC OS and its PRM.
Thanks again.
Mike
|
|
Logged
|
|
|
|
|