[lao] Decompose and reorder U+0EB3 around U+0EBB
This commit is contained in:
parent
d3308f4713
commit
04c4767150
|
@ -857,6 +857,11 @@ hb_in_ranges (T u, T lo1, T hi1, T lo2, T hi2, T lo3, T hi3)
|
||||||
{
|
{
|
||||||
return hb_in_range (u, lo1, hi1) || hb_in_range (u, lo2, hi2) || hb_in_range (u, lo3, hi3);
|
return hb_in_range (u, lo1, hi1) || hb_in_range (u, lo2, hi2) || hb_in_range (u, lo3, hi3);
|
||||||
}
|
}
|
||||||
|
template <typename T> static inline bool
|
||||||
|
hb_in_ranges (T u, T lo1, T hi1, T lo2, T hi2, T lo3, T hi3, T lo4, T hi4)
|
||||||
|
{
|
||||||
|
return hb_in_range (u, lo1, hi1) || hb_in_range (u, lo2, hi2) || hb_in_range (u, lo3, hi3) || hb_in_range (u, lo4, hi4);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -279,7 +279,7 @@ preprocess_text_thai (const hb_ot_shape_plan_t *plan,
|
||||||
* to be what Uniscribe and other engines implement. According to Eric Muller:
|
* to be what Uniscribe and other engines implement. According to Eric Muller:
|
||||||
*
|
*
|
||||||
* When you have a SARA AM, decompose it in NIKHAHIT + SARA AA, *and* move the
|
* When you have a SARA AM, decompose it in NIKHAHIT + SARA AA, *and* move the
|
||||||
* NIKHAHIT backwards over any above-base marks (0E31, 0E34-0E37, 0E47-0E4E).
|
* NIKHAHIT backwards over any above-base marks.
|
||||||
*
|
*
|
||||||
* <0E14, 0E4B, 0E33> -> <0E14, 0E4D, 0E4B, 0E32>
|
* <0E14, 0E4B, 0E33> -> <0E14, 0E4D, 0E4B, 0E32>
|
||||||
*
|
*
|
||||||
|
@ -309,7 +309,7 @@ preprocess_text_thai (const hb_ot_shape_plan_t *plan,
|
||||||
*
|
*
|
||||||
* Testing shows that Uniscribe reorder the following marks:
|
* Testing shows that Uniscribe reorder the following marks:
|
||||||
* Thai: <0E31,0E34..0E37, 0E47..0E4E>
|
* Thai: <0E31,0E34..0E37, 0E47..0E4E>
|
||||||
* Lao: <0EB1,0EB4..0EB7,0EC7..0ECE>
|
* Lao: <0EB1,0EB4..0EB7,0EBB,0EC8..0ECD>
|
||||||
*
|
*
|
||||||
* Note how the Lao versions are the same as Thai + 0x80.
|
* Note how the Lao versions are the same as Thai + 0x80.
|
||||||
*/
|
*/
|
||||||
|
@ -319,7 +319,7 @@ preprocess_text_thai (const hb_ot_shape_plan_t *plan,
|
||||||
#define IS_SARA_AM(x) (((x) & ~0x0080u) == 0x0E33u)
|
#define IS_SARA_AM(x) (((x) & ~0x0080u) == 0x0E33u)
|
||||||
#define NIKHAHIT_FROM_SARA_AM(x) ((x) - 0x0E33u + 0x0E4Du)
|
#define NIKHAHIT_FROM_SARA_AM(x) ((x) - 0x0E33u + 0x0E4Du)
|
||||||
#define SARA_AA_FROM_SARA_AM(x) ((x) - 1)
|
#define SARA_AA_FROM_SARA_AM(x) ((x) - 1)
|
||||||
#define IS_ABOVE_BASE_MARK(x) (hb_in_ranges<hb_codepoint_t> ((x) & ~0x0080u, 0x0E34u, 0x0E37u, 0x0E47u, 0x0E4Eu, 0x0E31u, 0x0E31u))
|
#define IS_ABOVE_BASE_MARK(x) (hb_in_ranges<hb_codepoint_t> ((x) & ~0x0080u, 0x0E34u, 0x0E37u, 0x0E47u, 0x0E4Eu, 0x0E31u, 0x0E31u, 0x0E3Bu, 0x0E3Bu))
|
||||||
|
|
||||||
buffer->clear_output ();
|
buffer->clear_output ();
|
||||||
unsigned int count = buffer->len;
|
unsigned int count = buffer->len;
|
||||||
|
|
Loading…
Reference in New Issue