On 14 August 2017 at 20:04, Aric Stewart aric@codeweavers.com wrote:
script = get_opentype_script(hdc,psa,psc,FALSE);
Does that do anything? If I'm reading the code correctly that will set it to the same value it already was. (In which case most of this would simplify to "if (!script) script = MS_MAKE_TAG('l','a','t','n');")
On 8/14/17 1:27 PM, Henri Verbeet wrote:
On 14 August 2017 at 20:04, Aric Stewart aric@codeweavers.com wrote:
script = get_opentype_script(hdc,psa,psc,FALSE);
Does that do anything? If I'm reading the code correctly that will set it to the same value it already was. (In which case most of this would simplify to "if (!script) script = MS_MAKE_TAG('l','a','t','n');")
Not quite. The above loop that sets script tries twice, once with get_opentype_script(..., FALSE) then with get_opentype_script(..., TRUE) so if script is set coming into that loop it is from the TRUE loop, which (mostly just for some Indic languages) is different. The quick search I did seemed that we wanted the first case not the second for the dflt language case.
It may be for some fonts we end up needing to search both the old and new script tags but if we do we can expand this later.
-aric
On 15 August 2017 at 16:27, Aric Stewart aric@codeweavers.com wrote:
On 8/14/17 1:27 PM, Henri Verbeet wrote:
On 14 August 2017 at 20:04, Aric Stewart aric@codeweavers.com wrote:
script = get_opentype_script(hdc,psa,psc,FALSE);
Does that do anything? If I'm reading the code correctly that will set it to the same value it already was. (In which case most of this would simplify to "if (!script) script = MS_MAKE_TAG('l','a','t','n');")
Not quite. The above loop that sets script tries twice, once with get_opentype_script(..., FALSE) then with get_opentype_script(..., TRUE) so if script is set coming into that loop it is from the TRUE loop,
"attempt" counts down from 2, so the first iteration has "try_new" as TRUE, the second iteration has it as FALSE.