[squeak-dev] Unicode fonts and MultiCompositionScaner

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Thu Apr 16 23:28:51 UTC 2009


That's the limit of operating in vivo: you need another display
mechanism while debugging...
Changing the surface is easier: Andrey, you can try the changeSets (at
your own risk) to be loaded in right order !
Be prepared to loose some images...

Nicolas

2009/4/17 Igor Stasenko <siguctua at gmail.com>:
> 2009/4/17 Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>:
>> A possible solution:
>> Make stopConditions an object with inst vars 'stops crossedX endOfRun'.
>> Then replace (stops at: CrossedX) with: (stops crossedX) in
>> CharacterScanner and friends.
>> Default initialization would be crossedX := #crossedX. endOfRun := #endOfRun.
>> It only costs and indirection when executing (stops at: asciiValue + 1).
>> (Remember this part has to be fast).
>>
>> By the way, did you notice the mess between inst var stopConditions
>> and argument stops?
>> This is http://bugs.squeak.org/view.php?id=6450
>>
>
> IMO the character scanner is too complicated for displaying a plain
> text paragraph. It tries to be everything at once, like when you can
> use it to draw characters over a spline path..
> My feelings, that this part of output (which needs to be fast and
> simple) is heavily over-engineered.
>
> I would really love to see somebody to wipe this stuff out.
>
>>
>> 2009/4/17 Eliot Miranda <eliot.miranda at gmail.com>:
>>>
>>>
>>> On Thu, Apr 16, 2009 at 2:52 PM, Andrey Larionov <anlarionov at gmail.com>
>>> wrote:
>>>>
>>>> Sorry for hestiating, but since Unicode is come and Character ranges
>>>> are enlarged, should we review this hardcodes?
>>>
>>> Of course  I was only trying to answer what they were used for. not
>>> suggesting they should continue to be used that way.
>>>>
>>>> On Fri, Apr 17, 2009 at 01:09, Eliot Miranda <eliot.miranda at gmail.com>
>>>> wrote:
>>>> >
>>>> >
>>>> > On Thu, Apr 16, 2009 at 1:05 PM, Andrey Larionov <anlarionov at gmail.com>
>>>> > wrote:
>>>> >>
>>>> >> Investigating reasons of fail FontTest tests i found bug in
>>>> >> MultiCompositionScaner (or it maybe some related class). Looks like
>>>> >> what Character value: 257 had a special meaning in squeak.
>>>> >
>>>> > 257 was the code THE scan characters primitive answered when it reached
>>>> > the
>>>> > end of the input string.
>>>> > 258 was the code it returned when the next character to be output would
>>>> > have
>>>> > crOssed over the right-hand margin.
>>>> > Alas none of this is documented in the blue book.  You have to extract
>>>> > it
>>>> > from e.g. the Xerox V2.0 sources.
>>>> > Here's the defines from an ancient VM of mine:
>>>> > /* TextConstants pool variables initialised in Text */
>>>> > #define CrossedX 258
>>>> > #define EndOfRun 257
>>>> >
>>>> >>
>>>> >> If not use
>>>> >> StrikeFont everything is well, but if you choose FreeType font the
>>>> >> doing something
>>>> >> (Character value: 257) asString asTextMorph openInWorld
>>>> >> creates an endles loop in composer. It founds character falls in
>>>> >> crossedX method (this character is stopCondition) and then remove
>>>> >> character from composition and starts again.
>>>> >>
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TextStopConditions-Part1-nice.st
Type: application/octet-stream
Size: 2067 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20090417/d3a19f2c/TextStopConditions-Part1-nice.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TextStopConditions-Part2-nice.st
Type: application/octet-stream
Size: 1939 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20090417/d3a19f2c/TextStopConditions-Part2-nice.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TextStopConditions-Part3-nice.st
Type: application/octet-stream
Size: 21030 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20090417/d3a19f2c/TextStopConditions-Part3-nice.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TextStopConditions-Part4-nice.st
Type: application/octet-stream
Size: 300 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20090417/d3a19f2c/TextStopConditions-Part4-nice.obj


More information about the Squeak-dev mailing list