[ENH] BDF fonts for squeak

Dan Ingalls Dan.Ingalls at disney.com
Wed Jan 26 04:27:38 UTC 2000


Jay -

I appreciate your comments.  Here are some responses to only a few of the points you made (ie many are snipped).

>Are bitmap fonts even in the running?  It would be nice if there was a set
>of free, heavily hinted TrueType fonts suitable for general use in Squeak,
>but I don't know where to start hunting.

Without some significant further work, I see Squeak continuing to run with Strike fonts.  However it would be great if a few pages of code would allow us to generate the base family from an outline definition such as TrueType, and if we could ship Squeak with one or several such fonts that had no (bad) strings attached.

>First, there's no support in the shipped image for separate bitmaps for
>non-basal emphasis.  Somebody's already working on that issue.

I saw a reference to this and passed it by.  It should be very simple.  If anyone is having trouble with it msg me.

>Second, StrikeFont doesn't support separation of glyph origin and width from
>bitmap origin and width---there's no way to have pixels before or after the
>section of baseline the glyph owns.  This is most evident for oblique or
>italic fonts, where an ascender in 'd' wants to overhang its display width,
>and a descender in 'j' wants to underhang the previous character.  You can
>also see this in the leftmost serifs on the roman "v" and "w" in
>NewCenturySchoolbook12.sf2.  I'm toying with trying to fix font rendering to
>handle this, but it could break code that depends on the previous
>model---scrolling and erasing text gets more complicated.

True.  Some of the necessary mechanism can be found in the current kerning capability, though.  It would certainly slow things down to do this all the time.

I thought you were also going to mention absence of fractional widths for printer spacing.

>The X11 fonts support Latin-1.  That's a win.  I'm not sure what to do about
>character 255, '\"y', though.  CharacterScanner>>characterNotInFont wants
>StrikeFont>>maxAscii+1 to be a legal Character, so attached is a fix to keep
>maxAscii at 254 or below.

It's been a while since I've been deeply into this, but i could swear that the Strike def allows for 256 actual characters.  It may not even be hard to add a 256th for the charNotInFont.

>Besides any specifics of these fonts, *any* change may have a high hurdle
>for acceptance.  People get really attached to particular looks.  Heck, I
>switched from NewYork10 to NewCenturySchoolbook12 and literally had a huge
>headache for a few hours.  (Maybe I'm weird---I get this with any kind of
>display change on any computer.  New monitor, different resolution,
>different dominant font.  It even happened when I switched video cards and
>everything else was the same.  Does this happen to anyone else?)

Yes.  Fonts go straight to the right brain (that's why publishers are so covetous of them).  However, the Hawthorn effect usually lubricates the change well (something new is at first attractive).

	- Dan






More information about the Squeak-dev mailing list