fonts, characterscanners and dead primitive 103

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
66 messages Options
1234
Reply | Threaded
Open this post in threaded view
|

fonts, characterscanners and dead primitive 103

timrowledge
I've been trying to sort out mantis-1650 and siblings; oh boy what fun.

Basically at some point the shape of CharacterScanner was changed so that primitive 103 could no longer work; nowadays we waste time in starting up the primitive and never doing anything but failing it. The fallback code is pretty ugly too, though I have a few small improvements for it. We can't reasonably 'fix' the primitive since it is required to support older images, in particular Scratch on the Pi. Anyone doing something that compromises *that* will get a quiet visit from The Boys. We *could* add a new primitive, of course. It's also possible that for a lot of modern machines running Cog it might not be worth it - but not all machines are cogged nor fast.

Part of the complication is that we have rather lot of font related classes these days and not all of them are even subclasses of AbstractFont. So far as I can tell the major change was due to an attempt to handle fonts that can have character pair kerning, which looks like only FreeTypeFont. All the others are wasting time both through losing the primitive support and pointlessly finding out that pair-kerning does nothing new. Oh and FT2Face seems to be off on its own for some reason I haven't discerned as yet.
Obvious question - who is most up to speed with what the hell Fonts are up to these days? I have some Questioning Instruments warming up for you…

MultiCharacterScanner brings in a whole new level of insanity, not least because it uses identical code including the pointless call of the primitive - and the two senders of these two methods are also (effectively) identical. And do, just for grins, take a look at the only reference to MultiCharacterScanner - FreeTypeFontProvider class>initialize. Oh my. And let's consider references and uses to other classes in that hierarchy - in NewParagraph>characterBlock* MultiCharacterBlockScanner is used for WideStrings but in Paragraph>composeAll it is used for both byte strings and wider strings. And then there is GrafPort>displayScannerForMulti:….

How have we got into such a mixed and messy state? Did some experiment get partially worked on and forgotten? Surely nobody has deliberately made it so convoluted?

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: CLOUT: Call Long-distance On Unused Telephone



Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

Bert Freudenberg
On 2013-09-02, at 07:24, tim Rowledge <[hidden email]> wrote:

> How have we got into such a mixed and messy state? Did some experiment get partially worked on and forgotten?

That is pretty much exactly what happened - back in 2005 for the 3.8 release the m17n work done by our Japanese subcommunity was merged in. That work had existed for a couple of years so it was designed to be rather independent of Squeak's old system, rather than being a proper update of it. That is why there is much duplication of machinery. It got to a state that it pretty much worked fine, but no cleanup or simplification was ever attempted.

FT2 is a distinct effort of utilizing the FreeType plugin that was never properly integrated (it's still not in trunk). HostFont had a similar aim but the plugin was only ever implemented on Windows. Scratch's UnicodePlugin is completely separate. And rudimentary Pango support is part of RomePlugin (for odd reasons) but has not been used in Squeak trunk (it is used to render paragraphs of non-Latin scripts in Etoys on Linux).

I agree, it's a mess. Glad you're taking it on :)

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

Casey Ransberger-2
In reply to this post by timrowledge
Usually, it's because open-source is a ghetto.


On Sun, Sep 1, 2013 at 10:24 PM, tim Rowledge <[hidden email]> wrote:
I've been trying to sort out mantis-1650 and siblings; oh boy what fun.

Basically at some point the shape of CharacterScanner was changed so that primitive 103 could no longer work; nowadays we waste time in starting up the primitive and never doing anything but failing it. The fallback code is pretty ugly too, though I have a few small improvements for it. We can't reasonably 'fix' the primitive since it is required to support older images, in particular Scratch on the Pi. Anyone doing something that compromises *that* will get a quiet visit from The Boys. We *could* add a new primitive, of course. It's also possible that for a lot of modern machines running Cog it might not be worth it - but not all machines are cogged nor fast.

Part of the complication is that we have rather lot of font related classes these days and not all of them are even subclasses of AbstractFont. So far as I can tell the major change was due to an attempt to handle fonts that can have character pair kerning, which looks like only FreeTypeFont. All the others are wasting time both through losing the primitive support and pointlessly finding out that pair-kerning does nothing new. Oh and FT2Face seems to be off on its own for some reason I haven't discerned as yet.
Obvious question - who is most up to speed with what the hell Fonts are up to these days? I have some Questioning Instruments warming up for you…

MultiCharacterScanner brings in a whole new level of insanity, not least because it uses identical code including the pointless call of the primitive - and the two senders of these two methods are also (effectively) identical. And do, just for grins, take a look at the only reference to MultiCharacterScanner - FreeTypeFontProvider class>initialize. Oh my. And let's consider references and uses to other classes in that hierarchy - in NewParagraph>characterBlock* MultiCharacterBlockScanner is used for WideStrings but in Paragraph>composeAll it is used for both byte strings and wider strings. And then there is GrafPort>displayScannerForMulti:….

How have we got into such a mixed and messy state? Did some experiment get partially worked on and forgotten? Surely nobody has deliberately made it so convoluted?

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: CLOUT: Call Long-distance On Unused Telephone






--
Casey Ransberger


Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

Nicolas Cellier
In reply to this post by Bert Freudenberg
I think there is no point in making internationalization unloadable.
There is a better image for this purpose and it's named Cuis.
So +1 for merging the single and multi Character*
Also note that Pharo has greater plans about text composition refactorings...

Nicolas


2013/9/2 Bert Freudenberg <[hidden email]>
On 2013-09-02, at 07:24, tim Rowledge <[hidden email]> wrote:

> How have we got into such a mixed and messy state? Did some experiment get partially worked on and forgotten?

That is pretty much exactly what happened - back in 2005 for the 3.8 release the m17n work done by our Japanese subcommunity was merged in. That work had existed for a couple of years so it was designed to be rather independent of Squeak's old system, rather than being a proper update of it. That is why there is much duplication of machinery. It got to a state that it pretty much worked fine, but no cleanup or simplification was ever attempted.

FT2 is a distinct effort of utilizing the FreeType plugin that was never properly integrated (it's still not in trunk). HostFont had a similar aim but the plugin was only ever implemented on Windows. Scratch's UnicodePlugin is completely separate. And rudimentary Pango support is part of RomePlugin (for odd reasons) but has not been used in Squeak trunk (it is used to render paragraphs of non-Latin scripts in Etoys on Linux).

I agree, it's a mess. Glad you're taking it on :)

- Bert -






Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

Casey Ransberger-2
Yeah but on this particular list, the diaspora isn't as interesting as what we're going to do with the bits we've got. I'm a huge fan of and advocate of Cuis, in part because the Cuis crowd still dreams of becoming the basis of a future Squeak. The Pharo crowd though, with Elvis, has left the building.

It's probably best if I stop talking right bloody now.

On Mon, Sep 2, 2013 at 5:03 AM, Nicolas Cellier <[hidden email]> wrote:
I think there is no point in making internationalization unloadable.
There is a better image for this purpose and it's named Cuis.
So +1 for merging the single and multi Character*
Also note that Pharo has greater plans about text composition refactorings...

Nicolas


2013/9/2 Bert Freudenberg <[hidden email]>
On 2013-09-02, at 07:24, tim Rowledge <[hidden email]> wrote:

> How have we got into such a mixed and messy state? Did some experiment get partially worked on and forgotten?

That is pretty much exactly what happened - back in 2005 for the 3.8 release the m17n work done by our Japanese subcommunity was merged in. That work had existed for a couple of years so it was designed to be rather independent of Squeak's old system, rather than being a proper update of it. That is why there is much duplication of machinery. It got to a state that it pretty much worked fine, but no cleanup or simplification was ever attempted.

FT2 is a distinct effort of utilizing the FreeType plugin that was never properly integrated (it's still not in trunk). HostFont had a similar aim but the plugin was only ever implemented on Windows. Scratch's UnicodePlugin is completely separate. And rudimentary Pango support is part of RomePlugin (for odd reasons) but has not been used in Squeak trunk (it is used to render paragraphs of non-Latin scripts in Etoys on Linux).

I agree, it's a mess. Glad you're taking it on :)

- Bert -










--
Casey Ransberger


Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

timrowledge

On 02-09-2013, at 5:25 AM, Casey Ransberger <[hidden email]> wrote:

> Yeah but on this particular list, the diaspora isn't as interesting as what we're going to do with the bits we've got. I'm a huge fan of and advocate of Cuis, in part because the Cuis crowd still dreams of becoming the basis of a future Squeak. The Pharo crowd though, with Elvis, has left the building.

I pretty much agree.
>

> On Mon, Sep 2, 2013 at 5:03 AM, Nicolas Cellier <[hidden email]> wrote:
> I think there is no point in making internationalization unloadable.

I agree, I think. I certainly haven't been looking at this as part of trying to get rid of i18n stuff and the only sense in which I think it would be desirable to make it unloadable is in the very wide aim of making *everything* unloadable. Which isn't actually something I think is sensible, being more of a "make it buildable from a recipe" kinda guy.

> There is a better image for this purpose and it's named Cuis.

Cuis is excellent and if I had near-inifinite time available I'd work on it.

> So +1 for merging the single and multi Character*

I'm not so much trying to merge as understand and clean up so it works as neatly as possible. If merging gets us there, good.

> Also note that Pharo has greater plans about text composition refactorings…
>

I tried out a pharo image, didn't much enjoy it and don'y have time to put any greater effort than that into it. They've gone their own way, do their own thing and maybe they will come up with something wonderful and successful.

What I really could do with finding out is who - if anyone - wrote, maintains, cares about, understands, whatever, the current collection of classes involved. I'd much rather find out what was intended from the horse's mouth than have to infer it all from complicated code with little commenting and no background docs.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Useful random insult:- On permanent leave of absence from his senses.



Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

timrowledge
Who, if anyone, is maintaining the FreeType package? Who, if anyone, is using it? It has some rather old methods that nastily over-ride more recent methods in the trunk image. That implies it is moribund to me.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
A sad tale that brings a lump to the eye and a tear to the throat.



Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

timrowledge

On 02-09-2013, at 12:45 PM, tim Rowledge <[hidden email]> wrote:

> Who, if anyone, is maintaining the FreeType package? Who, if anyone, is using it? It has some rather old methods that nastily over-ride more recent methods in the trunk image. That implies it is moribund to me.

Well it certainly sounds like nobody cares about FreeType. I guess that means nobody will mind as I rewrite some of the low-level font/scanner code and almost certainly break FreeType.


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Useful random insult:- Not much to show for four billion years of evolution.



Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

David T. Lewis
On Tue, Sep 03, 2013 at 06:21:08PM -0700, tim Rowledge wrote:
>
> On 02-09-2013, at 12:45 PM, tim Rowledge <[hidden email]> wrote:
>
> > Who, if anyone, is maintaining the FreeType package? Who, if anyone, is using it? It has some rather old methods that nastily over-ride more recent methods in the trunk image. That implies it is moribund to me.
>
> Well it certainly sounds like nobody cares about FreeType. I guess that means nobody will mind as I rewrite some of the low-level font/scanner code and almost certainly break FreeType.
>

I don't know if anyone is actively using FreeType, although I think that it
is (or was?) being used in Pharo. We do try to keep the FT2Plugin healthy
in the VM.

If you can clean up the font code, I'd say you should consider yourself
empowered.

You might want to check if Juan has addressed any of this in Cuis. You'll
never go too far wrong by adopting his work.

Dave
 

Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

Casey Ransberger-2
In reply to this post by timrowledge
I'm not sure what the deal here is. It's native OS fonts, I think, and also something that hasn't come up to my recollection since Juan gave us a much-nicer-than-we-had (anti-aliased) font from Cuis.

I'd like to see us depend less on host facilities now that we have the Cogs, so I'm biased, but I'd say: go ahead and break it if no one is raising an objection.

Is this related to the Scratch work, out of curiosity?

On Sep 3, 2013, at 6:21 PM, tim Rowledge <[hidden email]> wrote:

>
> On 02-09-2013, at 12:45 PM, tim Rowledge <[hidden email]> wrote:
>
>> Who, if anyone, is maintaining the FreeType package? Who, if anyone, is using it? It has some rather old methods that nastily over-ride more recent methods in the trunk image. That implies it is moribund to me.
>
> Well it certainly sounds like nobody cares about FreeType. I guess that means nobody will mind as I rewrite some of the low-level font/scanner code and almost certainly break FreeType.
>
>
> tim
> --
> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> Useful random insult:- Not much to show for four billion years of evolution.
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

Hannes Hirzel
Pharo uses Freetype, see a mail from Mariano Martinez Peck, 20th Nov last year
<[hidden email]>

world menu -> system -> settings -> type "fonts" and hit enter ->
check on "Use Free type..." (wait that it loads fonts).
and that's all. Then if you go and select a font, you should see all of them

I think it is not a big effort to download a Pharo image and check out
what they have been doing in this area.


Assuming Tim breaks the FreeType plugin, is it still possible to
display Host System True Type fonts?

--Hannes



On 9/4/13, Casey Ransberger <[hidden email]> wrote:

> I'm not sure what the deal here is. It's native OS fonts, I think, and also
> something that hasn't come up to my recollection since Juan gave us a
> much-nicer-than-we-had (anti-aliased) font from Cuis.
>
> I'd like to see us depend less on host facilities now that we have the Cogs,
> so I'm biased, but I'd say: go ahead and break it if no one is raising an
> objection.
>
> Is this related to the Scratch work, out of curiosity?
>
> On Sep 3, 2013, at 6:21 PM, tim Rowledge <[hidden email]> wrote:
>
>>
>> On 02-09-2013, at 12:45 PM, tim Rowledge <[hidden email]> wrote:
>>
>>> Who, if anyone, is maintaining the FreeType package? Who, if anyone, is
>>> using it? It has some rather old methods that nastily over-ride more
>>> recent methods in the trunk image. That implies it is moribund to me.
>>
>> Well it certainly sounds like nobody cares about FreeType. I guess that
>> means nobody will mind as I rewrite some of the low-level font/scanner
>> code and almost certainly break FreeType.
>>
>>
>> tim
>> --
>> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
>> Useful random insult:- Not much to show for four billion years of
>> evolution.
>>
>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

David T. Lewis
On Wed, Sep 04, 2013 at 03:59:16AM +0000, H. Hirzel wrote:

> Pharo uses Freetype, see a mail from Mariano Martinez Peck, 20th Nov last year
> <[hidden email]>
>
> world menu -> system -> settings -> type "fonts" and hit enter ->
> check on "Use Free type..." (wait that it loads fonts).
> and that's all. Then if you go and select a font, you should see all of them
>
> I think it is not a big effort to download a Pharo image and check out
> what they have been doing in this area.
>

You are right, this would be a good reference and the Pharo implementation
looks good.

>
> Assuming Tim breaks the FreeType plugin, is it still possible to
> display Host System True Type fonts?

The plugin and the VM should not be affected by anything that Tim is doing.

When you build a Squeak VM (either Cog or interpreter VM), you are using the
FT2Plugin code from the squeaksource.com/FreetypePlugin repository as well as
some support code from the squeaksource.com/FreeTypePlus repository. These
provide the source code for the FT2Plugin in the VM, so any changes to
font handling in the Squeak image should have no impact on the VM plugin.

>
> --Hannes
>
>
>
> On 9/4/13, Casey Ransberger <[hidden email]> wrote:
> > I'm not sure what the deal here is. It's native OS fonts, I think, and also
> > something that hasn't come up to my recollection since Juan gave us a
> > much-nicer-than-we-had (anti-aliased) font from Cuis.
> >
> > I'd like to see us depend less on host facilities now that we have the Cogs,
> > so I'm biased, but I'd say: go ahead and break it if no one is raising an
> > objection.
> >
> > Is this related to the Scratch work, out of curiosity?
> >
> > On Sep 3, 2013, at 6:21 PM, tim Rowledge <[hidden email]> wrote:
> >
> >>
> >> On 02-09-2013, at 12:45 PM, tim Rowledge <[hidden email]> wrote:
> >>
> >>> Who, if anyone, is maintaining the FreeType package? Who, if anyone, is
> >>> using it? It has some rather old methods that nastily over-ride more
> >>> recent methods in the trunk image. That implies it is moribund to me.
> >>
> >> Well it certainly sounds like nobody cares about FreeType. I guess that
> >> means nobody will mind as I rewrite some of the low-level font/scanner
> >> code and almost certainly break FreeType.
> >>
> >>
> >> tim
> >> --
> >> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
> >> Useful random insult:- Not much to show for four billion years of
> >> evolution.
> >>
> >>
> >>
> >
> >

Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

Levente Uzonyi-2
In reply to this post by Casey Ransberger-2
On Tue, 3 Sep 2013, Casey Ransberger wrote:

> I'm not sure what the deal here is. It's native OS fonts, I think, and also something that hasn't come up to my recollection since Juan gave us a much-nicer-than-we-had (anti-aliased) font from Cuis.

I didn't really follow recent changes to Cuis, but AFAIK it only supports
byte characters, so those fonts only contain some latin characters
(Latin-9 maybe).


Levente

>
> I'd like to see us depend less on host facilities now that we have the Cogs, so I'm biased, but I'd say: go ahead and break it if no one is raising an objection.
>
> Is this related to the Scratch work, out of curiosity?
>
> On Sep 3, 2013, at 6:21 PM, tim Rowledge <[hidden email]> wrote:
>
>>
>> On 02-09-2013, at 12:45 PM, tim Rowledge <[hidden email]> wrote:
>>
>>> Who, if anyone, is maintaining the FreeType package? Who, if anyone, is using it? It has some rather old methods that nastily over-ride more recent methods in the trunk image. That implies it is moribund to me.
>>
>> Well it certainly sounds like nobody cares about FreeType. I guess that means nobody will mind as I rewrite some of the low-level font/scanner code and almost certainly break FreeType.
>>
>>
>> tim
>> --
>> tim Rowledge; [hidden email]; http://www.rowledge.org/tim
>> Useful random insult:- Not much to show for four billion years of evolution.
>>
>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

timrowledge
In reply to this post by Hannes Hirzel

On 03-09-2013, at 8:59 PM, "H. Hirzel" <[hidden email]> wrote:

> Pharo uses Freetype, see a mail from Mariano Martinez Peck, 20th Nov last year
> <[hidden email]>
>
> world menu -> system -> settings -> type "fonts" and hit enter ->
> check on "Use Free type..." (wait that it loads fonts).
> and that's all. Then if you go and select a font, you should see all of them
>
> I think it is not a big effort to download a Pharo image and check out
> what they have been doing in this area.


I have a Pharo image and have run it; I don't expect to use it much because I find it doesn't please me; of course, I can use it briefly to investigate what other people have done.
>
>
> Assuming Tim breaks the FreeType plugin, is it still possible to
> display Host System True Type fonts?

Well, firstly I'm not intending to break the plugin - it would be difficult since I don't have a password for that repository!
I *might* conclude that the best way to make things better is to 'break' it in the sense of changing image code enough that the plugin would need changing to keep working  - and if that happens and nobody chooses to make similar changes and support them in Pharo/Cuis, then I guess I'd have to fork the plugin code.

TrueType fonts should work exactly as well or as badly as they did. If I find problems I can understand I'll probably manage to fix them, or at least report them. Since TTFs seem pretty much converted to StrikeFonts with slightly different glyph format I don't see much problem. Do TTF files have pair-kerning maps? They're not used in Squeak if so; that might be something worth trying to improve at some point.

Who knows what StrikeFontSets are intended for? I don't see a lot of evidence of usage. I can sort of see evidence that they are (or were?) a way to build a set of glyphs that could cope with a more-than-256-char language from the behaviour of the glyphInfoInt: method, but beyond that… no real idea. No blasted comments! What happened to the old policy of "no comment, no inclusion" ? Similarly TTCFontSets…

To confuse things a bit more, there is a HostFont class that is rather oddly a subclass of StrikeFont and yet seems to load some platform format files (hard to say what since NO DAMN COMMENTS) which include potential kerning data - and then so far as I can see ignores all that and just makes a plain strike font. Oh - and nobody but win32 has the relevant FontPlugin anyway. Obvious question here is whether this is work to be kept and expanded or dropped in favour of FreeType or some other portable system. The code hasn't been updated in 9 years according to SVN, so I suspect it is dead.

There's also Cairo/Pango/whatever (I really should write a WhateverPlugin someday) that probably need considering but since I know damn-all about them and have very little spare time, somebody will have to explain them to me in words of a short and simple nature.

Gosh, aren't fonts fun?

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Useful random insult:- Has a one-way ticket on the Disoriented Express.



Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

timrowledge
After simplifying the scanning code a bit I'm looking into why we have the seemingly insane situation of two parallel hierarchies of CharacterScanner. So far it looks like there are no really substantive differences between CharacterScanner and MultiCharacterScanner and their subclasses. This seems like a mistake somewhere; certainly it could be mine, missing something important.

What is the intent of MultiXXXXX ? What is CombinedChar for? Are they, honestly, still needed? Or should the older versions be removed instead? Who wrote the new classes and is that person still maintaining them? Is he/she still around here?

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Useful Latin Phrases:- Utinam coniurati te in foro interficiant! = May conspirators assassinate you in the mall!



Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

Casey Ransberger-2
In reply to this post by Levente Uzonyi-2
Below

On Sep 4, 2013, at 6:35 AM, Levente Uzonyi <[hidden email]> wrote:

> On Tue, 3 Sep 2013, Casey Ransberger wrote:
>
>> I'm not sure what the deal here is. It's native OS fonts, I think, and also something that hasn't come up to my recollection since Juan gave us a much-nicer-than-we-had (anti-aliased) font from Cuis.
>
> I didn't really follow recent changes to Cuis, but AFAIK it only supports byte characters, so those fonts only contain some latin characters (Latin-9 maybe).
>
>
> Levente

I believe this is correct, though someone (Ken Dickey maybe?) has been working on a simplified Unicode implementation for Cuis.

CC Cuis list.
Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

Hannes Hirzel
In reply to this post by timrowledge
On 9/5/13, tim Rowledge <[hidden email]> wrote:
> After simplifying the scanning code a bit I'm looking into why we have the
> seemingly insane situation of two parallel hierarchies of CharacterScanner.
> So far it looks like there are no really substantive differences between
> CharacterScanner and MultiCharacterScanner and their subclasses. This seems
> like a mistake somewhere; certainly it could be mine, missing something
> important.
>
> What is the intent of MultiXXXXX ? What is CombinedChar for?

They are part of the m17n package done by Yoshiki Oshima and
introduced into Squeak 3.8


http://wiki.squeak.org/squeak/756

also check out the mailing list archive searching for
    m17n



 Are they,
> honestly, still needed? Or should the older versions be removed instead?

Maybe. I assume there was a reason for not removing the older classes.

Who
> wrote the new classes and is that person still maintaining them? Is he/she
> still around here?
>
> tim
> --

Reply | Threaded
Open this post in threaded view
|

Re: [Cuis] [squeak-dev] fonts, characterscanners and dead primitive 103

Hannes Hirzel
In reply to this post by Casey Ransberger-2
On 9/5/13, Casey Ransberger <[hidden email]> wrote:

> Below
>
> On Sep 4, 2013, at 6:35 AM, Levente Uzonyi <[hidden email]> wrote:
>
>> On Tue, 3 Sep 2013, Casey Ransberger wrote:
>>
>>> I'm not sure what the deal here is. It's native OS fonts, I think, and
>>> also something that hasn't come up to my recollection since Juan gave us
>>> a much-nicer-than-we-had (anti-aliased) font from Cuis.
>>
>> I didn't really follow recent changes to Cuis, but AFAIK it only supports
>> byte characters, so those fonts only contain some latin characters
>> (Latin-9 maybe).
>>
>>
>> Levente
>
> I believe this is correct, though someone (Ken Dickey maybe?) has been
> working on a simplified Unicode implementation for Cuis.
>
> CC Cuis list.

Ken works on an Unicode - add-on to Cuis. [1] He has a working
prototype at this stage.


Cuis 4.2 [2] runs on 8 bit characters (ISO Latin 9 - ISO 8859-15) but
it can read and write UTF8 files. For any Unicode chars not in ISO
Latin 9 (ISO 8859-15), embed an NCR.
See http://en.wikipedia.org/wiki/Numeric_character_reference"

[1] https://github.com/KenDickey/Cuis-Smalltalk-Unicode
[2] https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev

Reply | Threaded
Open this post in threaded view
|

Re: [Cuis] [squeak-dev] fonts, characterscanners and dead primitive 103

Hannes Hirzel
P.S.

https://github.com/KenDickey/Cuis-Smalltalk-Unicode

is separate from the Core-Cuis in terms of Unicode support. If you
load the package you have two character classes.

On 9/5/13, H. Hirzel <[hidden email]> wrote:

> On 9/5/13, Casey Ransberger <[hidden email]> wrote:
>> Below
>>
>> On Sep 4, 2013, at 6:35 AM, Levente Uzonyi <[hidden email]> wrote:
>>
>>> On Tue, 3 Sep 2013, Casey Ransberger wrote:
>>>
>>>> I'm not sure what the deal here is. It's native OS fonts, I think, and
>>>> also something that hasn't come up to my recollection since Juan gave
>>>> us
>>>> a much-nicer-than-we-had (anti-aliased) font from Cuis.
>>>
>>> I didn't really follow recent changes to Cuis, but AFAIK it only
>>> supports
>>> byte characters, so those fonts only contain some latin characters
>>> (Latin-9 maybe).
>>>
>>>
>>> Levente
>>
>> I believe this is correct, though someone (Ken Dickey maybe?) has been
>> working on a simplified Unicode implementation for Cuis.
>>
>> CC Cuis list.
>
> Ken works on an Unicode - add-on to Cuis. [1] He has a working
> prototype at this stage.
>
>
> Cuis 4.2 [2] runs on 8 bit characters (ISO Latin 9 - ISO 8859-15) but
> it can read and write UTF8 files. For any Unicode chars not in ISO
> Latin 9 (ISO 8859-15), embed an NCR.
> See http://en.wikipedia.org/wiki/Numeric_character_reference"
>
> [1] https://github.com/KenDickey/Cuis-Smalltalk-Unicode
> [2] https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
>

Reply | Threaded
Open this post in threaded view
|

Re: fonts, characterscanners and dead primitive 103

Yoshiki Ohshima-3
In reply to this post by timrowledge
On Wed, Sep 4, 2013 at 8:24 PM, tim Rowledge <[hidden email]> wrote:
> After simplifying the scanning code a bit I'm looking into why we have the seemingly insane situation of two parallel hierarchies of CharacterScanner. So far it looks like there are no really substantive differences between CharacterScanner and MultiCharacterScanner and their subclasses. This seems like a mistake somewhere; certainly it could be mine, missing something important.

It's all my fault and incompetence.  I am sorry.

> What is the intent of MultiXXXXX ? What is CombinedChar for? Are they, honestly, still needed? Or should the older versions be removed instead? Who wrote the new classes and is that person still maintaining them? Is he/she still around here?

This kind of stuff touches the part of Squeak that *has to* work.
Once the "MultiCharacterScanner" worked and people were confident, it
was in theory possible to ditch the old implementation; but I did not
think back then that it (replacing fundamental code with a
"work-in-progress" version) was acceptable to the community.  IF there
was enough man-power, there would have been more variation of such
scanners implemented for different writing systems; keeping the
original version that works for byte strings would have been useful
under that light.

CombinedChar creates a precomposed character from a sequence of
decomposed form of Unicode when possible.  For a certain keyboard, it
was needed.

--
-- Yoshiki

1234