The second attempt to multilingualize Squeak, first impressions

Boris Gaertner Boris.Gaertner at gmx.net
Sun Mar 23 08:50:31 UTC 2003


At Thursday, March 20, 2003 11:30 AM <Yoshiki.Ohshima at acm.org>
wrote:

>   Hello,
>
>   I just updated a couple of Swiki page and uploaded the multilingual
> Squeak code.
Thank you a lot for doing this.

> This is nothing more than pre-alpha (or pre-pre-alpha),
> which I barely hope that it conveys the general design idea.
>
>   For those who wants to try it, visit
>
> http://minnow.cc.gatech.edu/squeak/919
>
> and follow the instructions.
I did this, and here is my first report about successes and problems:

1. The instructions on the above mentioned page can be followed
without problems.The scripts give class String a new superclass,
create a new image and install a lot of code and fonts.

2. The scripts do not change the menues to Japanese and I really
want to encourage all those who found the Nihongo-image difficult
to use to try this newest work of Yoshiki-san.

3. A quick comparision with Nihongo reveals something very exciting:
Yoshiki-san has added a framework for Unicode that is already
elaborated in great detail.

Now a few tips about bringing Unicode to life:

1. Class CombinedChar has a class method that is named
parseCompositionMapping. You have to execute this method once
to initialize a dictionary that is needed to display Unicode. When you
have executed this method, you should save your image.
Before you can execute the method, you have to download a file
named 'UnicodeData.txt' from the ftp-area of the Unicode Corporation.
(ftp://www.unicode.org/Public/3.2-Update/)
You can also use the newest version (for Unicode 4.0 from
ftp://www.unicode.org/Public/4.0-Update/ but do not forget to
update the file name in 'parseCompositionMapping' when you
use that file.)

2. There is a class Unicode that has a lot of subclasses. Each of these
subclasses describes one aspect of Unicode. Regrettably, due to a
flaw in file all0318.st some of these classes are installed as subclasses
of ProtoObject. The problem is that the definition of class 'Unicode'
comes too late in 'all0318.st' (in line 474, but it should be placed before
line 204, where the first subclass of 'Unicode' is defined). There are
several ways to fix this: You may edit the file before you file it in.
Alternatively, you load the code as it is and change the superclass
of Unicode-related subclasses to 'Unicode'. (Finally, you may
load the attached file 'fixes.cs')

3. The swiki page 919 offers some fonts for download. You need
these fonts to read utf-8 encoded files with text written in cyrillic or
greek. In class StrikeFontSet in class method

installExternalFontFileName:encoding:encodingName:textStyleName:

you find a comment that can be used to load all these fonts.

4. A lot of glyphs are still missing. I shall see what I can do
to add some glyphs.

>
>   I really like to improve the system and hope one day we can make the
> unified version of Squeak which works as a vehicle for the world-wide
> communication and idea-sharing.  So, feel free to send comment,
> critic, and of course, code.
I think I have some stuff that I can contribute, but I have to adapt it
first. (And I have to understand your work a bit better than now -
but time will certainly bring insights).

>   Hopefully, I can set up a update stream for this particular version
> of Squeak to track the changes we are going to make.
>
That would be great!

>   Enjoy and Thank you!
Thank you to you, Yoshiki!
>
> -- Yoshiki
>
 --  Boris

For those who have installed the fonts for cyrillic and greek, I have
a small gift: Put this code into a workspace and execute it
with 'inspect it' to see greetings in Bulgarian and in Greek

 | st |

 st := WriteStream on: MultiString new.
  st nextPutAll: (#(16r417 16r434 16r440 16r430 16r432 16r435 16r439 16r442
16r435)
                    collect: [:v | UnicodeCyrillic charFromUnicode: v]);
     nextPut: Character space;
     nextPut: Character cr;
     nextPutAll: (#(16r393 16r3B5 16r3B9 16r3B1) collect: [:v | UnicodeGreek
charFromUnicode: v]);
     nextPut: Character space;
     nextPutAll: (#(16r3C3 16r3B1 16r3C2) collect: [:v | UnicodeGreek
charFromUnicode: v]).
  st contents
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fixes.cs
Type: application/octet-stream
Size: 5207 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20030323/056b9270/fixes.obj


More information about the Squeak-dev mailing list