URL:
<http://gna.org/bugs/?21648>
Summary: Pango/Cairo (GUI2) font rendering with ClearType on
Windows
Project: Battle for Wesnoth
Submitted by: shadowmaster
Submitted on: Fri 14 Feb 2014 02:05:48 AM CLST
Category: Bug
Severity: 4 - Important
Priority: 5 - Normal
Item Group: User Interface
Status: None
Privacy: Public
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: 1.10.x, 1.11.x, earlier too maybe
Operating System: Windows XP - 8
_______________________________________________________
Details:
As evidenced by the attached screenshots, the Pango/Cairo font rendering code
path used by GUI2 yields considerably different results to the SDL_ttf
(freetype) path used by GUI1 when running on Windows XP and later with
ClearType enabled (there is no way to disable it from the Windows
configuration UI on Vista and later).
In fact, the Cairo rendering with ClearType looks generally inferior due to
the way antialiasing bits are overpainted. For instance, consider the
rendering of the words "encircling" and "skirmishers" in the titlescreen
screenshot: the thinner 'l's and 'i's make the text look poorly-rendered, and
the thin 'i' following a thick 'm' in "skirmishers" makes the kerning seem
inconsistent.
The overpainting is done on purpose as a Windows-specific hack in
ttext::rerender() (src/text.cpp around line 678) because there appears to be a
bug with the decode_pixel() function normally used on Linux and other systems;
in fact, forcing that rendering method on Windows results in a washed-out text
effect.
Because Pango/Cairo and SDL_ttf/freetype-based text rendering still coexist in
Wesnoth largely due to the continued usage of GUI1, having these
inconsistencies in font rendering within the same application gives the game a
significantly less polished overall appearance. Since Windows users comprise a
large part of our audience, I consider this to be a rather important issue
that might be worth solving before or during Wesnoth 1.12.x.
*Notes*
* The Cairo version in use appears to be 1.10.2 -- I obtained it from the
Windows build-time dependencies dir
<http://sourceforge.net/projects/wesnoth/files/unofficial/Windows%20Compile%20Stuff/>
from the Wesnoth SF.net project for building on Windows.) However, I think
this is also the version that is used for our official Windows build. What I
don't know for sure if this is actually a bug in Cairo (or possibly Pango?)
that is already solved in newer versions; unfortunately, the Gtk+ project site
<http://www.gtk.org/download/win32.php> does not have newer Windows builds
than 1.10.2.
* Although the screenshots were made with a 1.11.6+dev build, the issue
remains in latest Git master, and as far as I know has been present for a long
time, even before 1.10.x.
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: Fri 14 Feb 2014 02:05:48 AM CLST Name:
wesnoth-win32-cleartype-cairo-defaults.png Size: 826kB By: shadowmaster
<http://gna.org/bugs/download.php?file_id=20041>
_______________________________________________________
Reply to this item at:
<http://gna.org/bugs/?21648>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
Wesnoth-bugs mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-bugs