Implement leaning mark mechanism for F, L, P, b, d, h, k, p, q, r to get better mark placement. Now, "narrow" marks will align to these letters' extension parts (#1851).

This commit is contained in:
be5invis 2023-08-12 23:01:10 -07:00
parent 387389919c
commit f7fd09172b
33 changed files with 419 additions and 168 deletions

View file

@ -80,3 +80,39 @@ export class $NamedParameterPair$ {
this.right = r;
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////
export const MatchUtil = {
never() {
return false;
},
equal(x) {
return y => y === x;
},
negate(f) {
return x => !f(x);
},
both(a, b) {
return x => a(x) && b(x);
},
either(a, b) {
return x => a(x) || b(x);
}
};
export function constant(x) {
return () => x;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
export const ArrayUtil = {
mapIndexToItems(a, indexes) {
let answer = [];
for (const item of indexes) answer.push(a[item]);
return answer;
},
insertSliceAt(a, i, b) {
a.splice(i, 0, ...b);
}
};