[squeak-dev] When did Scratch diverge?

mokurai at earthtreasury.org mokurai at earthtreasury.org
Fri Jul 19 15:25:48 UTC 2013

What are your questions about Unicode and the Multilingual classes? What
facilities did you have in mind to provide?

It would be really nice if we had the equivalent of the Linux libraries
for ibus for input and pango or even graphite for display and printing, so
that we would be able to support every modern national language other than
Mongolian in its traditional alphabets, and a substantial number of
others. (Long story, but Mongols can make do with Cyrillic for now. They
will eventually tell us how they want their alphabets supported.) Plus the
Mac and Windows equivalents for IMEs and rendering. That also means that
we will need OpenType support, not just TrueType.

OLPC has deployments in Cambodia, Mongolia, Thailand, and a number of
countries using extensions of the Arabic alphabet to write a variety of
languages. Hebrew would be helpful for the Gaza deployment. Right now, the
Multilingual-Languages category shows European, Greek, Simplified Chinese,
Korean, Japanese, Russian, and Nepalese out of about 30 writing systems in
modern use. The Set Language menu has about 30 languages on it, including
seven whose names it cannot display by default.

I have not gone into the Multilingual categories in depth, but most of the
code is straightforward except for classes in Multilingual-Scanning, which
has the additional problems of lacking almost all comments, and reusing
common method names for quite different operations. It appears to be used
to implement text editing functions.

The hard part will be expanding text-handling primitives.

I apologize if this seems like piling on. There is a lot to I18n.

On Thu, July 18, 2013 5:35 pm, tim Rowledge wrote:
> On 18-07-2013, at 1:25 PM, Casey Ransberger <casey.obrien.r at gmail.com>
> wrote:
>> I'm curious about what version of Squeak was used to implement Scratch.
>> It might be nice to attempt to transplant it from one image to a similar
>> one... I usually learn a lot about what outside of an application has
>> changed in its host image that way.
> Round about 2.8. Lots of stuff hacked out, some odd stuff put in, a load
> of i18n & translation (including handling RTL languages) that needs
> reworking to current unicode classes, then Scratch on top of all that.
> I've made modest changes to the Scratch execution machinery (it's a sort
> of vm within squeak) that have provided considerable speedups. We have
> added the fast blt stuff, which has modestly sped up some parts (makes the
> normal morphic dev image tolerable, for example) and I'm currently working
> on moving it all to the current image so it can run on Stack/Cog VMs.
> There are several other projects doing similar port-forward work- Phratch
> for Pharo is probably the most complete. An earlier one was called 'Scat'
> which was a very unfortunate name. BYOB etc are *extensions* to Scratch
> and I'm not interested in any of that *yet*. The mission is to make a
> Scratch that runs on StackVM/Cog that nobody would notice anything
> different except the speed.
> The i18n stuff is my biggest issue right now. Anyone that remembers the
> old days of UTF8 & UTF32 and also understands the current world of the
> Multilingual category classes and who can spare some time to educate me
> would be very welcomed.
> tim
> --
> tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
> Oxymorons: Act naturally

Edward Mokurai
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.

More information about the Squeak-dev mailing list