Hi, Since most fonts do not have the standard tex ligatures built in, I tend to add them when I load the fonts. Once in a while, I run into fonts where this does not work. See the attached tex/pdf files. I basically load the font as follows: \definefontfeature[tf][arabic][tlig=yes] \definedfont[dejavusansmono*tf] This works fine for DejaVuSansMono and for one Farsi font I use ( https://github.com/rastikerdar/vazir-font/blob/master/dist/Vazir-Regular.ttf) but not for this other Farsi font ( https://github.com/aminabedi68/Mikhak/blob/master/Font/ttf/Mikhak-Medium.ttf). Perhaps this is because the last font is not standard, but TrueType/OpenType standard is sometimes up for interpretation. I see two strange symptoms here: \showotfcomposition displays the tlig feature differently for the last font. It appears in the "extra" list, not in "basic". Why is that? What does this mean anyway? In the pdf, you see two unicode characters U+647 and U+654 following the numbers and dashes. This usually has a ligature turning the two characters into U+6C0. It happens for VazirRegular but not for Mikhak-Medium. Why is that? I have looked in the font: the ligature exists. I have seen that working in this demo page (https://aminabedi68.github.io/Mikhak/), though it may be hard to spot. Why is that? Is there something about the ordering of OpenType features which causes this behavior, or is there a bug in the font processing code? Best, MHB