dwrite: Remove special case for vertical variants.

This should be implemented as a part of shaping pass.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2019-01-25 14:56:39 +03:00 committed by Alexandre Julliard
parent 95a83bc942
commit 27aef423d8
1 changed files with 1 additions and 18 deletions

View File

@ -1161,9 +1161,8 @@ static HRESULT WINAPI dwritetextanalyzer_GetGlyphs(IDWriteTextAnalyzer2 *iface,
DWRITE_NUMBER_SUBSTITUTION_METHOD method; DWRITE_NUMBER_SUBSTITUTION_METHOD method;
struct scriptshaping_context context; struct scriptshaping_context context;
struct scriptshaping_cache *cache = NULL; struct scriptshaping_cache *cache = NULL;
BOOL update_cluster, need_vertical;
WCHAR digits[NATIVE_DIGITS_LEN]; WCHAR digits[NATIVE_DIGITS_LEN];
IDWriteFontFace1 *fontface1; BOOL update_cluster;
WCHAR *string; WCHAR *string;
UINT32 i, g; UINT32 i, g;
HRESULT hr = S_OK; HRESULT hr = S_OK;
@ -1225,12 +1224,6 @@ static HRESULT WINAPI dwritetextanalyzer_GetGlyphs(IDWriteTextAnalyzer2 *iface,
glyph_props[i].reserved = 0; glyph_props[i].reserved = 0;
} }
hr = IDWriteFontFace_QueryInterface(fontface, &IID_IDWriteFontFace1, (void**)&fontface1);
if (FAILED(hr))
WARN("failed to get IDWriteFontFace1\n");
need_vertical = is_sideways && fontface1 && IDWriteFontFace1_HasVerticalGlyphVariants(fontface1);
for (i = 0, g = 0, update_cluster = FALSE; i < length; i++) { for (i = 0, g = 0, update_cluster = FALSE; i < length; i++) {
UINT32 codepoint; UINT32 codepoint;
@ -1245,14 +1238,6 @@ static HRESULT WINAPI dwritetextanalyzer_GetGlyphs(IDWriteTextAnalyzer2 *iface,
if (FAILED(hr)) if (FAILED(hr))
goto done; goto done;
if (need_vertical) {
UINT16 vertical;
hr = IDWriteFontFace1_GetVerticalGlyphVariants(fontface1, 1, &glyph_indices[g], &vertical);
if (hr == S_OK)
glyph_indices[g] = vertical;
}
g++; g++;
} }
else { else {
@ -1294,8 +1279,6 @@ static HRESULT WINAPI dwritetextanalyzer_GetGlyphs(IDWriteTextAnalyzer2 *iface,
hr = default_shaping_ops.set_text_glyphs_props(&context, clustermap, glyph_indices, *actual_glyph_count, text_props, glyph_props); hr = default_shaping_ops.set_text_glyphs_props(&context, clustermap, glyph_indices, *actual_glyph_count, text_props, glyph_props);
done: done:
if (fontface1)
IDWriteFontFace1_Release(fontface1);
release_scriptshaping_cache(cache); release_scriptshaping_cache(cache);
heap_free(string); heap_free(string);