[V3dot10] TTCFont in 7121

Mathieu Suen mathk.sue at gmail.com
Mon Jul 16 12:33:34 UTC 2007


I have also notice some other undefined  classes in:

My image is a 7119 (Squeak-dev 7.6.2)


On Jul 16, 2007, at 2:22 PM, Ralph Johnson wrote:

> The latest image is Squeak3.10alpha.7121 in http://ftp.squeak.org/ 
> 3.10alpha/
> I believe that almost all the problems in this image are due to
> TTCFont.  There are two minor problems not related to TTCFont.
> 1) ChangeHookTests prompts for each of its tests, so it prompts about
> 20 times.  This is so annoying that I deleted the class.
> 2) WideStringTest>>testSubstrings fails.
> All other problems are probably due to TTCFont.
> First, TTCFont has an undeclared class variable, Registry.  That is  
> easy to fix.
> When I ran the tests, I got two failures the first time.  When I ran
> the tests a second time, the image crashed.  The problem was that
> TTCFont is creating recursive fonts.  The solution is one we discussed
> some time ago,
> fallbackFont: aFontSetOrNil
> 	aFontSetOrNil == self ifTrue: [self error: 'recursive font'].
> 	fallbackFont _ aFontSetOrNil.
> With that change, there are two failures the first time I run the
> tests, which are:
> LocaleTest>>#testFontIsAvailable
> WideStringTest>>testSubstrings
> The second time I run the tests, there are a lot more test failing:
> FontTest had three failures, and TestIndenting has four errors.  Plus,
> there are the two failures from before.  And there is an error at
> LocaleTest>>#testLocaleChanged
> Except for the WideStringTest, all the other tests use TTCFont, so
> probably TTCFont is causing all these failures.
> The third time I run the tests, there is one more failure
> (StringSocketTestCase>>#testBogusInput2) and one more error
> (MorphTest>>#testOverlapAnyDeletedPlaer)
> One of the funny things about the first error  
> (LocaleTest>>#testLocaleChanged)
> is that when I debug it, the test fails, it doesn't generate an error.
> But the nice thing about this MorphTest is that it DOES give an
> error, and it is the recursive font error that I have been looking
> for!  fallbackFont: is called from TTCFont>>#setupDefaultFallbackFont
> ...
> 	fonts _ TextStyle default fontArray.
> 	f _ fonts first.
> 	1 to: fonts size do: [:i |
> 		self height > (fonts at: i) height ifTrue: [f _ fonts at: i].
> 	].
> 	self fallbackFont: f.
> ...
> This is called from StrikeFont class>>#setupDefaultFallbackFont
> In fact, a good way to generate this error is with StrikeFont
> setupDefaultFallbackFont
> The fourth time I ran the tests, the extra failure and the extra error
> went away; I got the same results at the second time.  The fifth time
> I ran the tests, I got the MorphTest error again.  The sixth time I
> ran the tests, the MophTest error dissappeared, and the
> StringSocketTestCase returned.
> Tests that give non-repeatable results are a pain in the neck!
> One other thing about TTCFont: because TTCFont declares a bunch of
> instance variables, it is suspicious that it does not copy any of them
> in veryDeepCopyWith:
> TTCFont is sick.  I don't know how to fix it.  However, I know how to
> remove it from the image.  If someone doesn't fix it then we will
> remove it.
> -Ralph
> _______________________________________________
> V3dot10 mailing list
> V3dot10 at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/v3dot10

More information about the V3dot10 mailing list