internationalisation of squeak

Shalabh Raizada shalabhraizada2004 at yahoo.co.in
Tue Dec 14 06:14:53 UTC 2004


Hi everyone,
 
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

application.

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...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20041214/2f286857/attachment.htm


More information about the Squeak-dev mailing list