Byeongsik Jeon bsjeon@hanmail.net wrote:
The truetype bytecode interpreter of the Freetype appears to have the following problems depending on the version.
- v35: MS cleartype font(ex. Consolas) rendering is ugly.
- v40: MS legacy font (ex. Tahoma) rendering is ugly. Some fonts return
the wrong values even for the glyph metrics.
Is this a Freetype bug? Basically NOT.
Arguably this is a Freetype bug, applications should not fiddle with underlying interpreter versions or even pretend to know anything about truetype interpreter implementation details.
+static void set_forced_interpreter_version(void) +{
- static const char property_name[] = "truetype:interpreter-version=";
- const char *env;
- env = getenv( "WINE_GDI_PROPERTIES" );
- if ( env && (env = strstr( env, property_name )) )
- {
forced_interpreter_version = atoi( env + sizeof(property_name) - 1 );
TRACE( "forced_interpreter_version = %d\n" , forced_interpreter_version );
- }
+}
Usually Wine tries to avoid such ugly hacks.
if (forced_interpreter_version == 0 && get_gasp_flags( ret, NULL, &gasp_version ))
{
ret->interpreter_version = 0;
if (gasp_version == 1)
{
if (interpreter_v40_supported)
ret->interpreter_version = 40;
else if (interpreter_v38_supported)
ret->interpreter_version = 38;
}
else if (interpreter_v35_supported)
ret->interpreter_version = 35;
}
Shouldn't Freetype itself set appropriate interpreter version based on GASP flags instead?