The current font subsetting algorithm works by selecting the glyphs corresponding to given characters and removing everything else. This removes all the substitution and ligature glyphs as well. For Indic scripts (and potentially for other scripts), this leaves the font unusable.
The correct way would be to pull in for every character, all the substitution glyphs and all ligature glyphs. Out of many font subsetting python scripts I found online, only the one included in fonttools works correctly: https://github.com/behdad/fonttools/blob/master/Lib/fontTools/subset.py
The current font subsetting algorithm works by selecting the glyphs corresponding to given characters and removing everything else. This removes all the substitution and ligature glyphs as well. For Indic scripts (and potentially for other scripts), this leaves the font unusable.
The correct way would be to pull in for every character, all the substitution glyphs and all ligature glyphs. Out of many font subsetting python scripts I found online, only the one included in fonttools works correctly: https://github.com/behdad/fonttools/blob/master/Lib/fontTools/subset.py