How to view a website containing Indic fonts in Android browser? Recently, I tried viewing a website on my Android device. Some of the content of the website contains text in a specific Indic font. I noticed that the website is not displayed in the Android browsers (Chrome, Firefox, Opera, etcetera) as it is displayed on my PC. The intended font (Indic font) is replaced by another font, when viewed in any browser on my Android device.
As I have root access on my Android mobile, I moved the indicfont.ttf file (which I downloaded from the Internet) to the /system/fonts folder and restarted my phone. Now, I can view the website perfectly (but only on Firefox browser for Android).
I have the following questions to ask:


Can someone please explain all the steps involved in the process of displaying the Indic font by Firefox browser (in the particular scenario explained above)? The indicfont.ttf was placed in the /system/fonts directory.
Why does the previous solution only work on Firefox browser and not on other mobile browsers?


Most importantly, could you suggest a possible solution for non-rooted Android phones? It is okay even if it is a difficult solution to implement.  

My device: (Android 4.4.4, Firefox 32.0.1)

EDIT:
There are many fonts for Sanskrit (Devanāgarī script) among which the following two are the ones in the scenario: Sanskrit2003 and Mangal.


These are some important facts that are derived from a good
source about Indic fonts available on this site.


  From Android 4.0 on wards, Tamil and other few languages are supported through browser as said in Android 4.x API overview as
  seen below.  
  
  Support for Indic fonts (Devanagari, Bengali, and Tamil, including the complex character support needed for combining glyphs) in WebView and the built-in Browser.  


My issue is that the default support given by the browsers display the Sanskrit text in Mangal font and not in Sanskrit2003 font (a superior font compared to Mangal ).  


  Source of the image  
The whole issue is to let the android mobile browser display Sanskrit (which is intended to be displayed in Sanskrit2003 font) to be displayed in the intended font and not in Mangal (which is very less superior in comparison with Sanskrit2003 ).


Thanks.
To answer the second part of your question first:

'Why does the previous solution only work on Firefox browser and not on other mobile browsers?'

You are using TTF file. This type of font file is supported by firefox , Safari and Chrome. The other browsers may not support it. For eg: IE supports EOT ; Opera supports SVG etc. But mostly all android browsers support TTF so that is strange.

In short check which type of font the browser supports.

'explain all the steps involved in the process of displaying the Indic font by Firefox browser'

In some scenarios, along with the web data, the web font is also embedded and sent to the browser which the browsers uses to display the data. In other scenarios, only web data is sent.The font used is not a web font (like in this case) In such cases the browsers searches for the font file within the system. If it finds it, it displays the data otherwise tries to display the data using some default font.