[FIX] Better password font handling when TrueTypeTextStyles installed
hargettp at mindspring.com
Sun Jan 5 15:31:45 UTC 2003
I use Yoshiki's excellent TrueType Text Styles throughout my image;
however, when using TrueType fonts, anytime squeak needs to ask me for a
password (e.g., when storing a changeset on an FTP server, when Scamper
accesses a web site with a user ID / password field, etc.), I would
receive a walkback on the StrikeFont class>>passwordFontSize: method.
After reviewing the method and it's intent, I concluded that this line
aFont := (StrikeFont familyName: #NewYork10 size: aSize) copy.
was the culprit. It would appear that the method is asking for a font
with family name #NewYork10, and finds none, so the font on the default
text style is used instead. Because I use TrueType Text Styles everywhere
(including as my default font, which works fine--even on emergency
evaluators), a TTCFont is used. However, the next several lines make
assumptions about the font object retrieved, none of which are true for
instances of TTCFont.
If I ever have the time, I might try to understand why a special password
font is used to display passwords rather than translate every character
to $* before display, which this effectively achieves as well, but at
seemingly high cost for such a conceptually simple operation. Instead,
I've chosen a simpler fix: change #NewYork10 to just #NewYork. After
that, everything works fine. A non-TTCFont is found (at least in my
image, but I suspect this will be true in others as well), passwords can
be entered where necessary.
Hope this is helpful! :)
More information about the Squeak-dev