[squeak-dev] Unicode fonts and MultiCompositionScaner

Andrey Larionov anlarionov at gmail.com
Thu Apr 16 22:22:05 UTC 2009


But i'm just try to make more precise your explain :)

On Fri, Apr 17, 2009 at 02:18, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>
>
> On Thu, Apr 16, 2009 at 2:57 PM, Andrey Larionov <anlarionov at gmail.com>
> wrote:
>>
>> > On Fri, Apr 17, 2009 at 01:09, Eliot Miranda <eliot.miranda at gmail.com>
>> > wrote:
>> > 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.
>> If we talking about ranges from 1 to 256 yes, but if characters have
>> zero based index, then 256, 257
>
> I was only trying to explain what the meanings were.
>
>>
>> On Fri, Apr 17, 2009 at 01:52, 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?
>> >
>> > 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.
>> >>>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >
>>
>
>
>
>
>



More information about the Squeak-dev mailing list