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
|