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?