in src/metrics/arabic.rs [108:123]
fn do_ligatures(curr: u32, front: Option<char>, behind: Option<char>) -> u32 {
let front = front.map(|x| x as u32).unwrap_or(0);
let behind = behind.map(|x| x as u32).unwrap_or(0);
let curr_index = (curr - 0x621) as usize;
if is_in_front_set(&front) && is_in_behind_set(&behind) {
// medi
ARABIC_POSITION[curr_index][MEDI]
} else if is_in_front_set(&front) && !is_in_behind_set(&behind) {
ARABIC_POSITION[curr_index][FINA]
} else if !is_in_front_set(&front) && is_in_behind_set(&behind) {
ARABIC_POSITION[curr_index][INIT]
} else {
ARABIC_POSITION[curr_index][ISO]
}
}