src/hb-uniscribe.cc | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-)
New commits: commit 29eac8f591fdb86f1c4fdc0a6ab63910ff286b84 Author: Behdad Esfahbod <[email protected]> Date: Fri Jun 8 09:26:17 2012 -0400 Override direction in Uniscribe backend Matches OT backend now. diff --git a/src/hb-uniscribe.cc b/src/hb-uniscribe.cc index 18648a8..2edc178 100644 --- a/src/hb-uniscribe.cc +++ b/src/hb-uniscribe.cc @@ -309,7 +309,7 @@ retry: *(uint32_t*)&bidi_control |= 1<<24; bidi_state.uBidiLevel = HB_DIRECTION_IS_FORWARD (buffer->props.direction) ? 0 : 1; -// bidi_state.fOverrideDirection = 1; + bidi_state.fOverrideDirection = 1; hr = ScriptItemizeOpenType (wchars, chars_len, commit 1c1233e57686d77d89fe3ac1dc53de9ee60798c1 Author: Behdad Esfahbod <[email protected]> Date: Fri Jun 8 09:20:53 2012 -0400 Make Uniscribe backend respect selected script diff --git a/src/hb-uniscribe.cc b/src/hb-uniscribe.cc index 9f84a3c..18648a8 100644 --- a/src/hb-uniscribe.cc +++ b/src/hb-uniscribe.cc @@ -1,5 +1,5 @@ /* - * Copyright © 2011 Google, Inc. + * Copyright © 2011,2012 Google, Inc. * * This is part of HarfBuzz, a text shaping library. * @@ -332,6 +332,10 @@ retry: } OPENTYPE_TAG language_tag = hb_ot_tag_from_language (buffer->props.language); + hb_tag_t buffer_script_tags[2]; + hb_ot_tags_from_script (buffer->props.script, + &buffer_script_tags[0], + &buffer_script_tags[1]); unsigned int glyphs_offset = 0; unsigned int glyphs_len; @@ -339,7 +343,14 @@ retry: { unsigned int chars_offset = items[i].iCharPos; unsigned int item_chars_len = items[i + 1].iCharPos - chars_offset; - OPENTYPE_TAG script_tag = script_tags[i]; /* XXX buffer->props.script */ + + OPENTYPE_TAG script_tag; + /* We ignore what script tag Uniscribe chose, except to differentiate + * between old/new tags. Not sure if this picks DFLT up correctly... */ + if (script_tags[i] == buffer_script_tags[1]) + script_tag = buffer_script_tags[1]; + else + script_tag = buffer_script_tags[0]; hr = ScriptShapeOpenType (font_data->hdc, &font_data->script_cache,
_______________________________________________ HarfBuzz mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/harfbuzz
