diff --git a/src/newgdi/layoutinfo.c b/src/newgdi/layoutinfo.c index f14e5621..879abb3f 100644 --- a/src/newgdi/layoutinfo.c +++ b/src/newgdi/layoutinfo.c @@ -146,6 +146,8 @@ LAYOUTINFO* GUIAPI CreateLayoutInfo( if (!check_logfont_rotatable(layout->lf_upright)) { layout->grv_base = GLYPH_GRAVITY_SOUTH; layout->grv_plc = GLYPH_GRAVITY_POLICY_STRONG; + layout->rf &= ~GRF_TEXT_ORIENTATION_MASK; + layout->rf |= GRF_TEXT_ORIENTATION_UPRIGHT; } else { switch (render_flags & GRF_TEXT_ORIENTATION_MASK) { diff --git a/src/newgdi/shape-glyphs-basic.c b/src/newgdi/shape-glyphs-basic.c index adbd1e5c..7bebd353 100644 --- a/src/newgdi/shape-glyphs-basic.c +++ b/src/newgdi/shape-glyphs-basic.c @@ -109,7 +109,8 @@ static BOOL shape_layout_run(SEInstance* inst, // UBidiGetParagraphEmbeddingLevels memset(els, run->el, nr_ucs); - if (run->st == SCRIPT_ARABIC) { + if (run->st == SCRIPT_ARABIC && + !(run->flags & LAYOUTRUN_FLAG_CENTERED_BASELINE)) { if (nr_ucs < LOCAL_ARRAY_SIZE) bidi_ts = local_bidi_ts;