Commit cddb5d64 authored by Aric Stewart's avatar Aric Stewart Committed by Alexandre Julliard

usp10: Apply all the GSUB features specified in Microsofts Typesetting…

usp10: Apply all the GSUB features specified in Microsofts Typesetting documentation for Arabic Shaping.
parent 5ad2f6e1
...@@ -194,6 +194,17 @@ static const char* contextual_features[] = ...@@ -194,6 +194,17 @@ static const char* contextual_features[] =
"medi" "medi"
}; };
static const char* arabic_GSUB_features[] =
{
"rlig",
"calt",
"liga",
"dlig",
"cswh",
"mset",
NULL
};
static INT GSUB_is_glyph_covered(LPCVOID table , UINT glyph) static INT GSUB_is_glyph_covered(LPCVOID table , UINT glyph)
{ {
const GSUB_CoverageFormat1* cf1; const GSUB_CoverageFormat1* cf1;
...@@ -719,7 +730,12 @@ void SHAPE_ShapeArabicGlyphs(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WC ...@@ -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_shape);
HeapFree(GetProcessHeap(),0,context_type); HeapFree(GetProcessHeap(),0,context_type);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment