The second attempt to multilingualize Squeak, first impressions

Yoshiki.Ohshima at acm.org Yoshiki.Ohshima at acm.org
Sun Mar 23 14:32:59 UTC 2003


  Boris,

  Wow.  This is really impressive!

> 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.

  Thank you for trying.

> 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.)

  This is exactly right.  I completely forgot to mention this and you
just figured it out.

> 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')

  I'm sorry.  the all0318.st is semi-automatically generated and the
order of the class definition in the file is manually defined in a
method which is not part of this set of scripts.  I should have made
sure the file is sound...

  I'd recommend to edit the file and move the Unicode class definition
earlier in the file.  Ultimately, I should make the part of code that
generates the 'all' file out available.

> 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.

  Wow.  This is right, too.

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

  Do you mean the missing ones from the EFont?  If a 'glyph block' is
available in EFont, the family of StrikeFontSet
class>>#createExternalFontFileFor... should work.  If you are looking
for more glyphs which is not available in EFont, what I can do is my
question, too.

> >   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).

  Thank you so much!  Please feel free to ask any questions.

> 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

  This is great!  Instead of specifying the 'concrete classes' such as
UnicodeCyrillic or UnicodeGreek, Unicode class>>value: should work.
Although it would be a bit slower.

-- Yoshiki



More information about the Squeak-dev mailing list