[use] Reintroduce the HVM class for U+0DCA
This commit is contained in:
parent
1555b30081
commit
6059828769
|
@ -221,7 +221,10 @@ def is_CONS_SUB(U, UISC, UDI, UGC, AJT):
|
|||
def is_CONS_WITH_STACKER(U, UISC, UDI, UGC, AJT):
|
||||
return UISC == Consonant_With_Stacker
|
||||
def is_HALANT(U, UISC, UDI, UGC, AJT):
|
||||
return UISC == Virama
|
||||
return UISC == Virama and not is_HALANT_OR_VOWEL_MODIFIER(U, UISC, UDI, UGC, AJT)
|
||||
def is_HALANT_OR_VOWEL_MODIFIER(U, UISC, UDI, UGC, AJT):
|
||||
# Split off of HALANT
|
||||
return U == 0x0DCA
|
||||
def is_HALANT_NUM(U, UISC, UDI, UGC, AJT):
|
||||
return UISC == Number_Joiner
|
||||
def is_HIEROGLYPH(U, UISC, UDI, UGC, AJT):
|
||||
|
@ -280,6 +283,7 @@ use_mapping = {
|
|||
'SUB': is_CONS_SUB,
|
||||
'CS': is_CONS_WITH_STACKER,
|
||||
'H': is_HALANT,
|
||||
'HVM': is_HALANT_OR_VOWEL_MODIFIER,
|
||||
'HN': is_HALANT_NUM,
|
||||
'IS': is_INVISIBLE_STACKER,
|
||||
'G': is_HIEROGLYPH,
|
||||
|
@ -329,6 +333,7 @@ use_positions = {
|
|||
'Blw': [Bottom],
|
||||
},
|
||||
'H': None,
|
||||
'HVM': None,
|
||||
'IS': None,
|
||||
'B': None,
|
||||
'FM': {
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -82,6 +82,7 @@ export G = 49; # HIEROGLYPH
|
|||
export J = 50; # HIEROGLYPH_JOINER
|
||||
export SB = 51; # HIEROGLYPH_SEGMENT_BEGIN
|
||||
export SE = 52; # HIEROGLYPH_SEGMENT_END
|
||||
export HVM = 53; # HALANT_OR_VOWEL_MODIFIER
|
||||
|
||||
export FAbv = 24; # CONS_FINAL_ABOVE
|
||||
export FBlw = 25; # CONS_FINAL_BELOW
|
||||
|
@ -107,12 +108,12 @@ export FMBlw = 46; # CONS_FINAL_MOD UIPC = Bottom
|
|||
export FMPst = 47; # CONS_FINAL_MOD UIPC = Not_Applicable
|
||||
|
||||
|
||||
h = H | IS | Sk;
|
||||
h = H | HVM | IS | Sk;
|
||||
|
||||
consonant_modifiers = CMAbv* CMBlw* ((h B | SUB) CMAbv? CMBlw*)*;
|
||||
medial_consonants = MPre? MAbv? MBlw? MPst?;
|
||||
dependent_vowels = VPre* VAbv* VBlw* VPst* | H;
|
||||
vowel_modifiers = VMPre* VMAbv* VMBlw* VMPst*;
|
||||
vowel_modifiers = HVM? VMPre* VMAbv* VMBlw* VMPst*;
|
||||
final_consonants = FAbv* FBlw* FPst*;
|
||||
final_modifiers = FMAbv* FMBlw* | FMPst?;
|
||||
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
#define GB USE(GB) /* BASE_OTHER */
|
||||
#define H USE(H) /* HALANT */
|
||||
#define HN USE(HN) /* HALANT_NUM */
|
||||
#define HVM USE(HVM) /* HALANT_OR_VOWEL_MODIFIER */
|
||||
#define IS USE(IS) /* INVISIBLE_STACKER */
|
||||
#define J USE(J) /* HIEROGLYPH_JOINER */
|
||||
#define N USE(N) /* BASE_NUM */
|
||||
|
@ -246,7 +247,7 @@ static const uint8_t use_table[] = {
|
|||
/* 0D90 */ B, B, B, B, B, B, B, WJ, WJ, WJ, B, B, B, B, B, B,
|
||||
/* 0DA0 */ B, B, B, B, B, B, B, B, B, B, B, B, B, B, B, B,
|
||||
/* 0DB0 */ B, B, WJ, B, B, B, B, B, B, B, B, B, WJ, B, WJ, WJ,
|
||||
/* 0DC0 */ B, B, B, B, B, B, B, WJ, WJ, WJ, H, WJ, WJ, WJ, WJ, VPst,
|
||||
/* 0DC0 */ B, B, B, B, B, B, B, WJ, WJ, WJ, HVM, WJ, WJ, WJ, WJ, VPst,
|
||||
/* 0DD0 */ VPst, VPst, VAbv, VAbv, VBlw, WJ, VBlw, WJ, VPst, VPre, VPre, VPre, VPre, VPre, VPre, VPst,
|
||||
/* 0DE0 */ WJ, WJ, WJ, WJ, WJ, WJ, B, B, B, B, B, B, B, B, B, B,
|
||||
/* 0DF0 */ WJ, WJ, VPst, VPst, O, WJ, WJ, WJ,
|
||||
|
@ -1531,6 +1532,7 @@ hb_use_get_category (hb_glyph_info_t info)
|
|||
#undef GB
|
||||
#undef H
|
||||
#undef HN
|
||||
#undef HVM
|
||||
#undef IS
|
||||
#undef J
|
||||
#undef N
|
||||
|
|
|
@ -351,7 +351,7 @@ record_pref_use (const hb_ot_shape_plan_t *plan HB_UNUSED,
|
|||
static inline bool
|
||||
is_halant_use (const hb_glyph_info_t &info)
|
||||
{
|
||||
return (info.use_category() == USE(H) || info.use_category() == USE(IS)) &&
|
||||
return (info.use_category() == USE(H) || info.use_category() == USE(HVM) || info.use_category() == USE(IS)) &&
|
||||
!_hb_glyph_info_ligated (&info);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue