A tutorial on Fonts for Indian
as used in web pages and web displays
Indian language text
may be conveniently displayed on web pages using the html based approach.
While it is indeed possible to display our texts this way, certain interesting
problems crop up when transparent viewing across different web browsers
is required. It is true that the html standard allows user specified fonts
to be used for the display but there is no guarantee that all web browsers
will support the particular encoding specified in a font. Most web browsers
can be told the encoding to be used for the font, which will be used to
display the downloaded page. Automatic switch over to the encoding applicable
to individually specified fonts within the downloaded page is never guaranteed.
It has also been observed
that Dynamic fonts, a very interesting and useful concept, which permits
the fonts used in a web page to be sent along with the page, are rendered
properly only if they conform to the ISO-8859-1 latin encoding. As
of now Dynamic fonts generation tools work only with truetype fonts. Many
Indian language fonts in truetype format are not rendered properly on Unix
systems as these fonts for Indian languages are encoded according to windows-1252
encoding which permits several more glyphs to be accommodated in the font
compared to ISO-8859-1. In fact, Sanskrit_1.2, a truly high quality Devanagari
font, does not get rendered properly when sent as a Dynamic font. This
is a very useful font as it supports Vedic symbols as well but it is usable
only under Windows95/98. The same applies to a Telugu font called Pothana.
It appears that as
of today, the safest approach to displaying Indian language text on web
pages, so as to be viewed from almost all the browsers, is to restrict
the font used to an ISO-8859-1 encoding. If Java based applications are
considered, then it is even more important that we stick to this encoding.
Such a restriction
always goes against the wishes of font designers who would like to accommodate
as many glyphs as possible to allow a richer set of aksharas to be rendered.
Among the freely available fonts for Indian languages, very few seem to
conform to this requirement of 8859-1 coding. This may be a consequence
of the fact that font design tools are more easily available for the MSWindows
platforms and thus most designers end up producing truetype fonts.
The concept of the font is a simple one but one that involves many technical
issues. These technical issues usually deter people from even getting an
understanding of the approaches to dealing with the fonts. With such variety
in Encoding standards as seen these days, character set formation and dependence
on the platform, one has to necessarily sift through pages and pages of
information relating to fonts before grasping the problems involved.
The interested reader is referred to the following for detailed information
relating to all aspects of fonts.
Dr. Luc Devroye has compiled a lot of useful information about a
lot of fonts. The information given in his pages is the best that we have
Please look at his compilation of information on Indian language fonts
(he calls them Indic fonts). It looks like we will have to have as many
word processors and applications if we have to effectively use the variety
of fonts listed!
The situation in respect of fonts for Indian languages may best be described
as "Unity in diversity". It is inevitable that we have to accept a language
DEPENDENT, font DEPENDENT approach to computing in Indian languages unless
we agree to go the sixteen bit way and develop our own applications or
user interfaces. In doing so, we will be setting up our own standards for
representing text that may not permit existing applications to support
multilingual interfaces in Indian languages. Since most applications rely
on using an eight bit character encoding along with eight bit fonts, we
will invariably face the multibyte representation problem.
We may however look at the sixteen bit approach taken to handling Japanese.
Unicode has indeed, a unique range of about 24000 codes for the characters
of Japanese, Chines and Korean. We may try to map the aksharas into this
range and use a sixteen bit font to render the same. This may offer a solution
but even this will suffer the problem of lack of support in general
applications. The best approach, at least in the experience of the
exercise at IIT Madras, is to use a uniform 16 bit character encoding for
all the aksharas and use any eight bit font to display the characters,
even if some compromise has to be effected in displaying some of the conjuncts.
Applications may then be free use virtually any font using just a selectable
mapping table between the characters and the glyphs.