PuTTY bug font-overflow
This is a mirror. The primary PuTTY web site can be found
here.
Home |
Licence |
FAQ |
Docs |
Download |
Keys |
Links
Mirrors |
Updates |
Feedback |
Changes |
Wishlist |
Team
summary: Fonts that overflow their character cells cause problems
class: bug: This is clearly an actual problem we want fixed.
difficulty: tricky: Needs many tuits.
priority: medium: This should be fixed one day.
fixed-in: 2004-12-18 (0.58) (0.59) (0.60)
There's a two-pronged problem with fonts whose characters overlap
outside their designated rectangular cell.
-
Firstly, we don't deal
well with this. Each string passed to
do_text() is clipped to the rectangle it should be in;
but within that string there's still scope for overlap
between character cells. If half the string is then updated then
there will be artefacts left on the screen. This seems to be
particularly common when using ClearType in Windows XP.
-
Secondly, the resize-by-changing-font code has a tendency to choose
fonts that cause this problem a lot. For bitmap fonts I think this
is just a hazard of the job - if you ask PuTTY to resize a non-
resizeable font, you can expect it to do a shoddy job at best - but
it even happens slightly in Courier New (the very RH edge of the
lower case m sometimes protrudes into the next character cell),
which really isn't on. Sadly I have no idea how we can fix this in
general - if we ask for a smaller width than we really want, then
(a) we penalise well-behaved fonts, and (b) the spacing when drawing
a large string will come out wrong.
Simon has a cunning idea for dealing with this. The plan is
that whenever we paint a string on the screen, we clip it to its bounding
rectangle (this should happen already), and then whenever we change the
contents of the rectangle, we always re-paint the whole thing, splitting
it into smaller rectangles, or joining rectangles together as appropriate.
This way, we never leave droppings behind, because whenever a character is
erased, the entire clipping box that was in force when it was painted is
cleared as well. Unfortunately, implementing this is likely to involve
substantial changes to the way PuTTY stores the contents of the screen.
SGT, 2004-12-17: I think this is now done. I've
tested it in a known failure case on Windows (1600x1200 screen, set
font to Courier New 11, set resize behaviour to change-font,
maximise window, the lower case m then projects over its character
cell) and it now appears not to cause any droppings no matter what I
do.
Audit trail for this bug.
If you want to comment on this web site, see the
Feedback page.
(last revision of this bug record was at 2004-12-17 12:55:12 +0000)
mirror powered by triplemind.com - Web directory, Ferienwohnung Berlin, Last Minute Reisen, Language schools in Spain, Pension Dresden Hotel, Markisen Sonnenschutz Plissees, Kreuzfahrten, Routenplaner, Sofort online, Fliegen, Ferienwohnung Harz, Newsletter Software, Ferienhäuser, weltweit Sprachreisen, Webdesign Homepage erstellen, Wellness Bayern Bewerbung Geld verdienen