<html>
<head>
<title>Interview: Jitendra Shah</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
<body LANG="en-US">
<p class="Header">Interview: Jitendra Shah</p>
<p class="Header">Using OpenOffice.org to Switch to Unicode </p>
<p><a href="#mayank">Mayank Sharma</a></p>
<p class="Header">2004-09</p>
<p class="Header">&nbsp;</p>
<p>Unicode was developed to provide a standardized way of encoding multilingual text. By standardizing the encoding scheme and by making room for more than 65,000 characters, Unicode became an instant hit with local language computing developers around the world. </p>
<p>In India, which has more than a handful of languages and scripts written both from left-to-right and right-to-left, Unicode was accepted with open hands. </p>
<p><a href="http://www.indictrans.org">Indictrans</a> is a project that is using OpenOffice.org as a means of getting common people to switch to Unicode. Prof. Jitendra Shah, the project leader of Indictrans, has worked on projects to convert Government documents to Unicode. His pitch to the government officers: &quot;if you shift to OpenOffice.org with any free OpenType fonts, you get the Indian language capability through Unicode along with it. And you can make this shift to Unicode immediately. This can be done even on older hardware like the PIII or Celeron with 64MB RAM. The shift to OpenOffice.org enables you to standardize on Unicode and any new PCs don't need to be loaded with a costly OS. GNU/Linux systems will do nicely.&quot; </p>
<p>In this interview , Shah explains his belief that "OpenOffice.org-Unicode-GNU/Linux" implies affordable freedom for Indian languages. </p>
<p>&nbsp;</p>
<p>Q. India has developed its own encoding like ISFOC, ISCII. Why then instead of standardizing on them did you decide to go after Unicode? </p>
<p>A: It's like this. If my mother organized a hall, bedroom and prayer place in a 10x10 apartment I would admire her for that. But this does not mean I have to keep her in the same state when I can afford 10 times the space. </p>
<p>ISFOC and ISCII were developed in the 8-bit constrained era. The most important aspect in ISCII is its phonetic pattern. This has been picked up lock-stock and barrel in Unicode. Hence we are loosing little. To make the same encoding be seen in different scripts by a 'switch of a button' is still easy though not automatic. This is no great loss as most computing goes on behind the scene and users do not have to bother. The most advantageous aspect of Unicode is that Linux natively supports Unicode while it does not support ISCII. This is the most important reason why migration to Unicode is justified.  </p>
<p>The second most important reason why I particularly lean on Unicode is that free software can be much more easily spread using Unicode and supporters of ISCII have not yet come forward with free solutions based on ISCII. I have therefore adopted the route of translating ISCII content to Unicode and to then use it with Free/Open Source software. The Free Software Movement has of course consistently argued in favor of Unicode.  </p>
<p>This does not prevent ardent Free/Open Source users from using some ASCII based fonts in Emacs, mule, etc. ('Asian'). There is no doubt that the Centre for Development of Advanced Computing (CDAC formerly NCST) showed the way in this direction a few years back. </p>
<p>Thirdly if we were to standardize on anything, then it must be 'global' ( i.e., global+local) and not just local. ISCII would be just local. </p>
<p>&nbsp;</p>
<p>Q. How are open source projects like OOo useful to India? How are you using OOo? </p>
<p>A: They are extremely useful to India because OOo is the single most important reason why migration to OSS/Free software will occur beyond the network servers. There is absolutely no doubt in my mind. Being open source, is like a glass box which is superbly better than the blackbox model. </p>
<p>I am using OOo as 'the' argument for shifting to Indian language enablement, whatever might be the OS [operating system--ed.]. </p>
<p>&nbsp;</p>
<p>Q. What are the obstacles in standardizing on Unicode? What problems exist for you to engage in OOo? How can these be resolved? </p>
<p>A: The main obstacle is the hand-holding required while dealing with the government departments who need to migrate. There are many lobbies of proprietary software which are there propagating against Unicode. The big-budget-loving decision makers are attracted by the proprietary options.  </p>
<p>They can see the deficiencies of Free/Open Source with a magnifying lens. They either overlook or ignore if they notice, issues like the total cost of ownership or the importance of the stigma of piracy. Once government bodies start migrating, others will follow more easily. </p>
<p>The education sector is important too. But that requires more lobbying. The system as of now is too tied towards minting money and not geared to encourage learning. The fly-by-night contractors who 'teach' computers in schools are happy with 'pirated', 'standard', 'familiar' software and would consider anything else substandard. The machines are usually discarded ones with low RAM and hence typical GNU/Linux with current versions of OOo may not be loadable. </p>
<p>Another area is to incorporate new keyboard layouts. Procedures are not clear (to me). Our government employees have been hooked to 'typewriter' keyboards. How do I include them? I have done that for yudit and have also done it using java, from scratch. OOo can definitely help in this regard. </p>
<p>The support for dictionaries, spell-checkers, better support for tables in word-processors (particularly wide tables and in landscape format) is missing. This hurts. The issues of presentation software, like not supporting some of the most recent features in Microsoft PowerPoint, may not be that important as far as I think. </p>
<p>OpenOffice.org can even work on Windows and can support binary applications across platforms. But input methods and fonts are the main limitations (use IBM IME as input method and Arial Unicode MS as font). One wishes there was better support for OpenType. </p>
<p>So in a snap, my students were not able to locate a simple way to build a dictionary, so that we could use the auto-completion feature in OOo. We also don't know the procedure for localizing OOo: there is a simple procedure using gettext, msgfmt, po-file translation, etc. for C programs, GNOME, KDE etc. We don't know how to add a new keyboard layout (you will find typewriter, KeyLekh on our site in typebhaaratii). OOo has Inscript which is the best. </p>
<p>&nbsp;</p>
<p>Q. How do you envisage engaging your students in open-source projects, including OOo?  </p>
<p>A: I have tried to work on spell-checkers, auto-completion, dictionaries and converters. I wish all these can be incorporated in OOo. You can see that I have tools for converting (font-encoding to Unicode, and vice versa, HTML or text etc). I wish I could incorporate them in OOo. </p>
<p>&nbsp; </p>
<p>Q. Why would you rather work on popular OSS for Localization purposes than creating your own from scratch? </p>
<p>A: I don't really know the answer except that I am not crazy to start from scratch for what is already available :)</p>
<p> </p>
<p>Q. How does F/OSS help Indian democratic efforts? What are the issues that exist? How do you resolve them? </p>
<p>A: Fluency of information is an essential prerequisite for any democracy. F/OSS enables fluency of information by basing information on standards and also making applications reproducible without limits.</p>
<p>As for the issues, apart from the ones listed above, there is a need to localize OOo. Indictrans have had to keep that in the back-burner as Indictrans are struggling to help the team survive with other revenue earning projects. </p>
<p>There are a lot of charity organizations and public spirited people. But there is no effective organization that can bring these amorphous forces together.</p>
<p><br>
</p>
<p>About the author</p>
<p>Mayank Sharma writes on open source development in India. He lives in New Delhi. He has generously donated this work to the OpenOffice.org Project.</p>
<p><a href="index.html">Return to Editorial Index</a></p>
<p></p>
<p></p>
<p>
<!-- Creative Commons Licence -->
<a rel="license" href="http://creativecommons.org/licenses/by/2.0/"><img alt="Creative Commons Licence" border="0" src="http://creativecommons.org/images/public/somerights20.gif" /></a><br />
This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/2.0/">Creative Commons License</a>.
<!-- /Creative Commons Licence -->


<!--

<rdf:RDF xmlns="http://web.resource.org/cc/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="">
   <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" />
   <license rdf:resource="http://creativecommons.org/licenses/by/2.0/" />
</Work>

<License rdf:about="http://creativecommons.org/licenses/by/2.0/">
   <permits rdf:resource="http://web.resource.org/cc/Reproduction" />
   <permits rdf:resource="http://web.resource.org/cc/Distribution" />
   <requires rdf:resource="http://web.resource.org/cc/Notice" />
   <requires rdf:resource="http://web.resource.org/cc/Attribution" />
   <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
</License>

</rdf:RDF>

--></p>
<p></p>
</body>
</html>
