Aric Stewart : usp10: Apply all the GSUB features specified in Microsofts Typesetting documentation for Arabic Shaping .
Module: wine Branch: master Commit: cddb5d6455d0ed18eaff4f6ad9215bb2b5ca7072 URL: http://source.winehq.org/git/wine.git/?a=commit;h=cddb5d6455d0ed18eaff4f6ad9... Author: Aric Stewart <aric(a)codeweavers.com> Date: Thu May 27 15:03:34 2010 -0500 usp10: Apply all the GSUB features specified in Microsofts Typesetting documentation for Arabic Shaping. --- dlls/usp10/shape.c | 18 +++++++++++++++++- 1 files changed, 17 insertions(+), 1 deletions(-) diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c index fe2ea53..0a4f5b9 100644 --- a/dlls/usp10/shape.c +++ b/dlls/usp10/shape.c @@ -194,6 +194,17 @@ static const char* contextual_features[] = "medi" }; +static const char* arabic_GSUB_features[] = +{ + "rlig", + "calt", + "liga", + "dlig", + "cswh", + "mset", + NULL +}; + static INT GSUB_is_glyph_covered(LPCVOID table , UINT glyph) { const GSUB_CoverageFormat1* cf1; @@ -719,7 +730,12 @@ void SHAPE_ShapeArabicGlyphs(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WC } } - apply_GSUB_feature(hdc, psa, psc->GSUB_Table, pwOutGlyphs, dirL, pcGlyphs, "rlig"); + i = 0; + while (arabic_GSUB_features[i] != NULL) + { + apply_GSUB_feature(hdc, psa, psc->GSUB_Table, pwOutGlyphs, dirL, pcGlyphs, arabic_GSUB_features[i]); + i++; + } HeapFree(GetProcessHeap(),0,context_shape); HeapFree(GetProcessHeap(),0,context_type);
participants (1)
-
Alexandre Julliard