[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):
|
def is_CONS_WITH_STACKER(U, UISC, UDI, UGC, AJT):
|
||||||
return UISC == Consonant_With_Stacker
|
return UISC == Consonant_With_Stacker
|
||||||
def is_HALANT(U, UISC, UDI, UGC, AJT):
|
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):
|
def is_HALANT_NUM(U, UISC, UDI, UGC, AJT):
|
||||||
return UISC == Number_Joiner
|
return UISC == Number_Joiner
|
||||||
def is_HIEROGLYPH(U, UISC, UDI, UGC, AJT):
|
def is_HIEROGLYPH(U, UISC, UDI, UGC, AJT):
|
||||||
|
@ -280,6 +283,7 @@ use_mapping = {
|
||||||
'SUB': is_CONS_SUB,
|
'SUB': is_CONS_SUB,
|
||||||
'CS': is_CONS_WITH_STACKER,
|
'CS': is_CONS_WITH_STACKER,
|
||||||
'H': is_HALANT,
|
'H': is_HALANT,
|
||||||
|
'HVM': is_HALANT_OR_VOWEL_MODIFIER,
|
||||||
'HN': is_HALANT_NUM,
|
'HN': is_HALANT_NUM,
|
||||||
'IS': is_INVISIBLE_STACKER,
|
'IS': is_INVISIBLE_STACKER,
|
||||||
'G': is_HIEROGLYPH,
|
'G': is_HIEROGLYPH,
|
||||||
|
@ -329,6 +333,7 @@ use_positions = {
|
||||||
'Blw': [Bottom],
|
'Blw': [Bottom],
|
||||||
},
|
},
|
||||||
'H': None,
|
'H': None,
|
||||||
|
'HVM': None,
|
||||||
'IS': None,
|
'IS': None,
|
||||||
'B': None,
|
'B': None,
|
||||||
'FM': {
|
'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 J = 50; # HIEROGLYPH_JOINER
|
||||||
export SB = 51; # HIEROGLYPH_SEGMENT_BEGIN
|
export SB = 51; # HIEROGLYPH_SEGMENT_BEGIN
|
||||||
export SE = 52; # HIEROGLYPH_SEGMENT_END
|
export SE = 52; # HIEROGLYPH_SEGMENT_END
|
||||||
|
export HVM = 53; # HALANT_OR_VOWEL_MODIFIER
|
||||||
|
|
||||||
export FAbv = 24; # CONS_FINAL_ABOVE
|
export FAbv = 24; # CONS_FINAL_ABOVE
|
||||||
export FBlw = 25; # CONS_FINAL_BELOW
|
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
|
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*)*;
|
consonant_modifiers = CMAbv* CMBlw* ((h B | SUB) CMAbv? CMBlw*)*;
|
||||||
medial_consonants = MPre? MAbv? MBlw? MPst?;
|
medial_consonants = MPre? MAbv? MBlw? MPst?;
|
||||||
dependent_vowels = VPre* VAbv* VBlw* VPst* | H;
|
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_consonants = FAbv* FBlw* FPst*;
|
||||||
final_modifiers = FMAbv* FMBlw* | FMPst?;
|
final_modifiers = FMAbv* FMBlw* | FMPst?;
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,7 @@
|
||||||
#define GB USE(GB) /* BASE_OTHER */
|
#define GB USE(GB) /* BASE_OTHER */
|
||||||
#define H USE(H) /* HALANT */
|
#define H USE(H) /* HALANT */
|
||||||
#define HN USE(HN) /* HALANT_NUM */
|
#define HN USE(HN) /* HALANT_NUM */
|
||||||
|
#define HVM USE(HVM) /* HALANT_OR_VOWEL_MODIFIER */
|
||||||
#define IS USE(IS) /* INVISIBLE_STACKER */
|
#define IS USE(IS) /* INVISIBLE_STACKER */
|
||||||
#define J USE(J) /* HIEROGLYPH_JOINER */
|
#define J USE(J) /* HIEROGLYPH_JOINER */
|
||||||
#define N USE(N) /* BASE_NUM */
|
#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,
|
/* 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,
|
/* 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,
|
/* 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,
|
/* 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,
|
/* 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,
|
/* 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 GB
|
||||||
#undef H
|
#undef H
|
||||||
#undef HN
|
#undef HN
|
||||||
|
#undef HVM
|
||||||
#undef IS
|
#undef IS
|
||||||
#undef J
|
#undef J
|
||||||
#undef N
|
#undef N
|
||||||
|
|
|
@ -351,7 +351,7 @@ record_pref_use (const hb_ot_shape_plan_t *plan HB_UNUSED,
|
||||||
static inline bool
|
static inline bool
|
||||||
is_halant_use (const hb_glyph_info_t &info)
|
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);
|
!_hb_glyph_info_ligated (&info);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue