Still more hacking on OpenGL glyph caching for Windows
Show the whole height of the cache bitmap after all (when SAL_LOG contains vcl.gdi.opengl). The interesting pieces are often at the bottom, like the tip of the hook of the "j" glyphs that used to bleed over into the preceding glyphs, usually "i", when they were rendered into the same chunk. Add more space between glyphs and at top and bottom of the bitmap, for anti-aliasing. The glyph ABC widths don't take expansions caused by anti-aliasing into consideration and are misleading. Hopefully anti-aliasing can expand the (partially) painted pixels of a glyph just one column/row in each direction, but for safety use a two-pixel border. (Defensive programming, eek?) Some getWidth() instead of GetWidth() etc craziness. Using <tools/gen.hxx> types truly is programming-by-coincidence as Thorsten says. In a dbgutil build, setting the environment variable VCL_GLYPH_CACHING_HACK_NO_ANTIALIAS causes the code to turn off anti-aliasing for the fonts used. I used this to verify that it indeed was anti-aliasing that made the ABC widths inconsistent with reality. Not sure if it makes sense to keep this code in? Anyway, now I don't see any leaked pixels in "i" glyphs any more, touch wood. Change-Id: If527343ff1dcdb1fa208cd5e7fa4d08f812d0d7b
Showing
Please
register
or
sign in
to comment