New Font Changes Not Showing in App

Recently released Annapurna SIL Nepal v2 font has a fix we need. (Download - Annapurna SIL - Annapurna SIL)

Incorrect display (v1.204):
font incorrect

Correct display (v2.0):
font correct

When I updated the font in SAB, the preview pane for the SAB shows the correction. However when I actually build the app, eBook or PWA, it shows the incorrect way.

I have verified the TTF file in the font subfolder for project, ebook and pwa is the correct v2 file.

Any suggestions for resolution?


Try navigating to the font folder in your project folder and replacing the font there, keeping the same filename.

Also, whatever is handling the font e.g. Grandroid/GeckoView might not support the new font features.

I already verified that the file there is the new font. How would copying the file over do anything different?

Great. Then that is not where the problem lies. It’s most likely with the Font Handler/renderer.

Did you try clearing the app cache?
Did you try a fresh install on a new device/emulator?

I have tried it on a couple phones and a couple emulators.
I did do an uninstall before installing.
I also tried incognito browser window for the PWA.

I did some more testing on this, and it does seem to be a rendering issue. It’s also not font-specific. Although this character combination is quite unusual it is supported in all the Devanagari fonts I tried it on, including Google’s Noto Sans Devanagari, as well as Mangal, Kokila and Aparajita that ship with Windows. They all display fine in Word, Notepad, etc. But in SAB, when we click on a book in the Book Collection, it displays OK when we click the Viewer button, but if we click the Book File button or Display in Browser, it displays wrong, regardless of the font being used.

And it always displays wrong in the App, whether installed on a phone or run in an emulator on Windows. So it seems that either SAB is doing something wrong when it builds the app, or the Android renderer isn’t handling it properly.

To test the renderer I installed Keyman on my phone, and enabled it as a system keyboard. The display is wrong even when typed directly into a document (Google doc format, I assume). I then realized I hadn’t actually tried a Google doc on Windows, so went back and tried that, and behold, it displays wrong! So it seems that it’s a Google rendering issue.

What rendering engine does Android use? Is there a way to get it updated if it’s not handling everything it should?

Annapurna SIL v2.100 has been released which addresses this issue.

The older Annapurna font displayed it correctly with the Microsoft renderer. But the Harfbuzz renderer (used by web browsers and Android) interpreted the Unicode Standard in a stricter way which prevented the unique Wambule implosives to be rendered correctly. The newly released Annapurna font has a workaround for this Harbuzz restriction.

1 Like