internationalisation of squeak
shalabhraizada2004 at yahoo.co.in
Tue Dec 14 06:14:53 UTC 2004
I am working in an educational institution in India. We have using squeak to improve the level of science and maths education for over 2 years now. We train teachers to develop multimedia content for rural primary schools. In this process we face some problems. The biggest is that teachers know english sparingly. We feel that they will be better placed if we could enable squeak to display fonts for indic languages like hindi, telugu etc. I would appeal to all squeak users to extend their help and support to us in this regard. Below, I am giving the roadmap for acheiving internationalisation of squeak.
Supporting Indian Languages in Squeak
Squeak is an IDE running on its own virtual machine. It uses 8-bit
bitmap fonts. Bitmap Fonts are being neglected with increasing
internationalization. OpenType Fonts/Unicode are being preferred.
To provide support for Indian language scripts we need the following:
1) A keyboard input mechanism
2) Unicode handling of squeak
3) Support for complex text layout
4) Ability to use open type fonts
For input of keyboard, we could depend the on the operating
system's input mechanisms. The user will select his own input
mechanism and input the characters. We could also provide support for
the IIIMF input mechanism (http://www.openi18n.org) if we feel that to
be more correct way of taking input.
Inorder to handle the unicode text in our application, with
the current 8-bit environment, it is ideal to use UTF-8 encoding. No
major code changes will be required this way. There will be a bit of
overhead finding out the length of the string, the character
boundaries etc. but this is the best way to get unicode support for the
The next thing we need support for complex text layout. In
Indian languages, serveral characters make up to form a cluster. This
cluster should be taken as the basic unit while selecting text,
deleting using backspace, while moving the text cursor across the text
with keyboard, copy paste operations and other such actions. Also we
need to apply the Unicode BiDi algorithm on the text to obtain the
"visual" order (the order in which the users sees text on the screen)
of the text from "logical" order (the order in which the characters
are stored). For example, if we have "GREAT BUILDING" written in
arabic, it has to be converted to "GNIDLIUB TAERG" before trying to
show on the screen. Bidi algorithm also helps Indian languages render
the text. We could use Pango/ICU (http://www.pango.org,
http://oss.software.ibm.com/icu/) to handle this part. For this we
need to get a bridge for Pango/ICU in Smalltalk.
Visual ordered text thus obtained needs to be displayed on the
screen using opentype fonts. Opentype fonts allows us to have unicode
compliant fonts which have much more than 256 glyphs. The substitution
tables available in OTF fonts are critical for displaying Indian
language text. We can use the Freetype library which has got good
support of OTF fonts. Again we will need bindings for the Freetype
library to achieve this.
Then the text morph has to modified to keep in mind the
various issues in displaying international text and use the above
libraries to achieve its purpose.
Yahoo! India Matrimony: Find your life partneronline.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Squeak-dev