usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Syriac.
This commit is contained in:
parent
8b9a7a1ed8
commit
3fd459b232
|
@ -1099,6 +1099,54 @@ static void ContextualShape_Hebrew(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *p
|
||||||
* ContextualShape_Syriac
|
* ContextualShape_Syriac
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
static int combining_lexical_Syriac(WCHAR c)
|
||||||
|
{
|
||||||
|
enum {Syriac_Norm=0, Syriac_DIAC1, Syriac_DIAC2, Syriac_DIAC3, Syriac_DIAC4, Syriac_DIAC5, Syriac_DIAC6, Syriac_DIAC7, Syriac_DIAC8, Syriac_DIAC9, Syriac_DIAC10, Syriac_DIAC11, Syriac_DIAC12, Syriac_DIAC13, Syriac_DIAC14, Syriac_DIAC15, Syriac_DIAC16, Syriac_DIAC17};
|
||||||
|
|
||||||
|
switch(c)
|
||||||
|
{
|
||||||
|
case 0x730:
|
||||||
|
case 0x733:
|
||||||
|
case 0x736:
|
||||||
|
case 0x73A:
|
||||||
|
case 0x73D: return Syriac_DIAC1; break;
|
||||||
|
case 0x731:
|
||||||
|
case 0x734:
|
||||||
|
case 0x737:
|
||||||
|
case 0x73B:
|
||||||
|
case 0x73E: return Syriac_DIAC2; break;
|
||||||
|
case 0x740:
|
||||||
|
case 0x749:
|
||||||
|
case 0x74A: return Syriac_DIAC3; break;
|
||||||
|
case 0x732:
|
||||||
|
case 0x735:
|
||||||
|
case 0x73F: return Syriac_DIAC4; break;
|
||||||
|
case 0x738:
|
||||||
|
case 0x739:
|
||||||
|
case 0x73C: return Syriac_DIAC5; break;
|
||||||
|
case 0x741:
|
||||||
|
case 0x30A: return Syriac_DIAC6; break;
|
||||||
|
case 0x742:
|
||||||
|
case 0x325: return Syriac_DIAC7; break;
|
||||||
|
case 0x747:
|
||||||
|
case 0x303: return Syriac_DIAC8; break;
|
||||||
|
case 0x748:
|
||||||
|
case 0x32D:
|
||||||
|
case 0x32E:
|
||||||
|
case 0x330:
|
||||||
|
case 0x331: return Syriac_DIAC9; break;
|
||||||
|
case 0x308: return Syriac_DIAC10; break;
|
||||||
|
case 0x304: return Syriac_DIAC11; break;
|
||||||
|
case 0x307: return Syriac_DIAC12; break;
|
||||||
|
case 0x323: return Syriac_DIAC13; break;
|
||||||
|
case 0x743: return Syriac_DIAC14; break;
|
||||||
|
case 0x744: return Syriac_DIAC15; break;
|
||||||
|
case 0x745: return Syriac_DIAC16; break;
|
||||||
|
case 0x746: return Syriac_DIAC17; break;
|
||||||
|
default: return Syriac_Norm;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#define ALAPH 0x710
|
#define ALAPH 0x710
|
||||||
#define DALATH 0x715
|
#define DALATH 0x715
|
||||||
#define RISH 0x72A
|
#define RISH 0x72A
|
||||||
|
@ -1189,6 +1237,8 @@ right_join_causing(neighbour_joining_type(i,dirR,context_type,cChars,psa)))
|
||||||
|
|
||||||
HeapFree(GetProcessHeap(),0,context_shape);
|
HeapFree(GetProcessHeap(),0,context_shape);
|
||||||
HeapFree(GetProcessHeap(),0,context_type);
|
HeapFree(GetProcessHeap(),0,context_type);
|
||||||
|
|
||||||
|
mark_invalid_combinations(hdc, pwcChars, cChars, pwOutGlyphs, pcGlyphs, dirL, pwLogClust, combining_lexical_Syriac);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue