[squeak-dev] Unicode fonts and MultiCompositionScaner

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

[squeak-dev] Unicode fonts and MultiCompositionScaner

Andrey Larionov
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. 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.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Unicode fonts and MultiCompositionScaner

Nicolas Cellier
Ah, it reminds me
http://lists.squeakfoundation.org/pipermail/squeak-dev/2007-April/116179.html
http://lists.squeakfoundation.org/pipermail/squeak-dev/2007-May/116508.html

2009/4/16 Andrey Larionov <[hidden email]>:

> 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. 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.
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Unicode fonts and MultiCompositionScaner

Eliot Miranda-2
In reply to this post by Andrey Larionov


On Thu, Apr 16, 2009 at 1:05 PM, Andrey Larionov <[hidden email]> 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.




Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Unicode fonts and MultiCompositionScaner

Andrey Larionov
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 <[hidden email]> wrote:

>
>
> On Thu, Apr 16, 2009 at 1:05 PM, Andrey Larionov <[hidden email]>
> 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.
>>
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Unicode fonts and MultiCompositionScaner

Andrey Larionov
> On Fri, Apr 17, 2009 at 01:09, Eliot Miranda <[hidden email]> 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

On Fri, Apr 17, 2009 at 01:52, Andrey Larionov <[hidden email]> 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 <[hidden email]> wrote:
>>
>>
>> On Thu, Apr 16, 2009 at 1:05 PM, Andrey Larionov <[hidden email]>
>> 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.
>>>
>>
>>
>>
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Unicode fonts and MultiCompositionScaner

Eliot Miranda-2
In reply to this post by Andrey Larionov


On Thu, Apr 16, 2009 at 2:52 PM, Andrey Larionov <[hidden email]> 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 <[hidden email]> wrote:
>
>
> On Thu, Apr 16, 2009 at 1:05 PM, Andrey Larionov <[hidden email]>
> 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.
>>
>
>
>
>
>




Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Unicode fonts and MultiCompositionScaner

Eliot Miranda-2
In reply to this post by Andrey Larionov


On Thu, Apr 16, 2009 at 2:57 PM, Andrey Larionov <[hidden email]> wrote:
> On Fri, Apr 17, 2009 at 01:09, Eliot Miranda <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> wrote:
>>
>>
>> On Thu, Apr 16, 2009 at 1:05 PM, Andrey Larionov <[hidden email]>
>> 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.
>>>
>>
>>
>>
>>
>>
>




Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Unicode fonts and MultiCompositionScaner

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

On Fri, Apr 17, 2009 at 02:18, Eliot Miranda <[hidden email]> wrote:

>
>
> On Thu, Apr 16, 2009 at 2:57 PM, Andrey Larionov <[hidden email]>
> wrote:
>>
>> > On Fri, Apr 17, 2009 at 01:09, Eliot Miranda <[hidden email]>
>> > 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 <[hidden email]>
>> 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 <[hidden email]>
>> > wrote:
>> >>
>> >>
>> >> On Thu, Apr 16, 2009 at 1:05 PM, Andrey Larionov <[hidden email]>
>> >> 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.
>> >>>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >
>>
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Unicode fonts and MultiCompositionScaner

Nicolas Cellier
In reply to this post by Eliot Miranda-2
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


2009/4/17 Eliot Miranda <[hidden email]>:

>
>
> On Thu, Apr 16, 2009 at 2:52 PM, Andrey Larionov <[hidden email]>
> 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 <[hidden email]>
>> wrote:
>> >
>> >
>> > On Thu, Apr 16, 2009 at 1:05 PM, Andrey Larionov <[hidden email]>
>> > 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.
>> >>
>> >
>> >
>> >
>> >
>> >
>>
>
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Unicode fonts and MultiCompositionScaner

Igor Stasenko
2009/4/17 Nicolas Cellier <[hidden email]>:

> 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 <[hidden email]>:
>>
>>
>> On Thu, Apr 16, 2009 at 2:52 PM, Andrey Larionov <[hidden email]>
>> 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 <[hidden email]>
>>> wrote:
>>> >
>>> >
>>> > On Thu, Apr 16, 2009 at 1:05 PM, Andrey Larionov <[hidden email]>
>>> > 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.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Unicode fonts and MultiCompositionScaner

Nicolas Cellier
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 <[hidden email]>:

> 2009/4/17 Nicolas Cellier <[hidden email]>:
>> 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 <[hidden email]>:
>>>
>>>
>>> On Thu, Apr 16, 2009 at 2:52 PM, Andrey Larionov <[hidden email]>
>>> 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 <[hidden email]>
>>>> wrote:
>>>> >
>>>> >
>>>> > On Thu, Apr 16, 2009 at 1:05 PM, Andrey Larionov <[hidden email]>
>>>> > 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.
>
>



TextStopConditions-Part1-nice.st (2K) Download Attachment
TextStopConditions-Part2-nice.st (2K) Download Attachment
TextStopConditions-Part3-nice.st (28K) Download Attachment
TextStopConditions-Part4-nice.st (410 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Unicode fonts and MultiCompositionScaner

Andrey Larionov
Thanks, try it tomorow. Also i have no my own image, so nothing to
loose :) Newbie

On Fri, Apr 17, 2009 at 03:28, Nicolas Cellier
<[hidden email]> wrote:

> 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 <[hidden email]>:
>> 2009/4/17 Nicolas Cellier <[hidden email]>:
>>> 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 <[hidden email]>:
>>>>
>>>>
>>>> On Thu, Apr 16, 2009 at 2:52 PM, Andrey Larionov <[hidden email]>
>>>> 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 <[hidden email]>
>>>>> wrote:
>>>>> >
>>>>> >
>>>>> > On Thu, Apr 16, 2009 at 1:05 PM, Andrey Larionov <[hidden email]>
>>>>> > 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.
>>
>>
>
>
>
>