[V3dot10] [Fwd: Re: Fwd: Font bugs]

Andreas Raab andreas.raab at gmx.de
Sun Jul 22 19:43:13 UTC 2007


[FYI, I finally figured out that the rude response from the list server 
saying "You are not allowed to post to this mailing list, and your 
message has been automatically rejected" is nothing but saying "you have 
to subscribe in order to post here". Is it possible to fix the message 
which to me reads as "this is a private list, go away"]

-------- Original Message --------
Subject: Re: Fwd: Font bugs
Date: Sat, 21 Jul 2007 21:58:13 -0700
From: Andreas Raab <andreas.raab at gmx.de>
To: Ralph Johnson <johnson at cs.uiuc.edu>
References: 
<e5fa86ac0707211310x72064424v3d492c10a3c7e416 at mail.gmail.com> 
<e5fa86ac0707211354m4e9cbd23v43bf53e683d12ba7 at mail.gmail.com>

Hi Ralph -

I just took the time to run the whole test suite from 7122 and had no
problems whatsoever. The tests run through with 9 failures 8 of which I
can comment on:

1) FontTest>>testFallback
The test is broken. It seems to test the default fallback font (by
default set to a FixedFont with the face using a question mark) but the
fallback font is often set differently (see TextStyle>>addNewFontSize:
which sets the fallback font explicitly)

2) FontTest>>testParagraphFallback
Same problem. Expects '???' of a particular fixed face font which may or
may not be the fallback font.

3) FontTest>>testResetAfterEmphasized
Broken, too. Given that this test is recent it's pretty crappy. TTCFonts
make #reset (correctly) a no-op so it fails if the default font is truetype.

4) LocaleTest>>testIsFontAvailable
The test itself may or may not make sense but the code for sure doesn't.
Whoever wrote LanguageEnvironment>>isFontAvailable must have had no idea
how the fonts are organized inside a font style. The code says:

LanguageEnvironment>>isFontAvailable
	| encoding |
	encoding := self leadingChar + 1.
	TextStyle default fontArray
		at: encoding
		ifAbsent: [^ false].
	^ true

But it makes no sense since "TextStyle default fontArray" contains fonts
at different *sizes* not different *encodings*. In other words the above
tests if a font with the size of the current language encoding exists.
Makes no sense whatsoever.

5) TestIndenting>>testCR2
This is broken because of a problem in Form>>isAllWhite which only works
for 1-bit forms and the form under test is a 32bit form. I've filed the
fix and the test as http://bugs.squeak.org/view.php?id=6572

6) TestIndenting>>testNewLineLeaveSpacesOnOldLine
Same problem (and fix) as above.

7) TestIndenting>>testSetUp
The test relies on a particular font size but it doesn't set a font so
it's no wonder if this fails when the font changes.

8) WideStringTest>>testSubstrings
The test is correct, the code is not. The current implementation of
String>>substrings should be moved into ByteString (it's an optimized
variant that assumes byte strings) and the superclass implementation
needs to be more generic (basically using #isSeparator in the loop). Fix
is at http://bugs.squeak.org/view.php?id=6573


Finally, a couple of bugs I noticed in the process:

* BUG: All keybord shortcuts in lists seem to be broken. I hadn't even
realized how much I rely on typing the first character to quickly jump
to a particular portion in a list. It's broken in pretty much all the
browsers.

* BUG: Something is wrong with the resizers in SystemWindows. There is
some empty space over the top-left and and top-right resizer which is
visually quite annoying.

* BUG: ChangeSorter got broken; it exploded on me when I was trying to
move changes between different change sets.

Cheers,
   - Andreas



More information about the V3dot10 mailing list