[ENH] FontSet reworked

Stefan Matthias Aust sma at 3plus4.de
Wed Dec 29 20:46:17 UTC 1999


--=====================_946496777==_
Content-Type: text/plain; charset="us-ascii"


Hi!

I refactored and (IMHO) improved the FontSet mechanism to store also
existing TextStyles and StrikeFonts into classes.  I also created some new
fonts for Squeak.  But because I used Microsoft TrueType fonts as a source,
I'm not really sure whether I'm allowed to publish this work or not.

All I can say that Squeak looks really nice with Tahoma or Georgia (one of
my favorites) as default font. Tahoma is a very clean
computer-display-optimized font which is part of the Microsoft Office (I
think).  Georgia is one of Microsoft's free web fonts.  I also converted
Trebuchet MS (another free web font) which looks nearly as nice as Tahoma
but has larger ascents and descents.  See
http://www.microsoft.com/typography/ for more details about these and other
fonts.

As I understand Microsoft's licence, it would be okay if Squeak would be
able to read in the unmodified fonts - displaying them in any way that
doesn't matter then.  Embedding the fonts into documents is okay they say.
However I created something one could perhaps call a derived work - even if
I'd say I embedded just a view of these fonts :-)

Therefore, I added only a freeware font called "Bookworm" which I found,
modified and extended some time agao and for which I now also created the
special ^ and _ characters.  It's only usuable for large headlines I'm
afraid because it looks very awful in Squeak without anti-aliasing in
smaller sizes.


>From the changeset:

Refactored and reworked FontSet stuff.  Additional to the BitFont converter
(which hopefully still works) you can now store complete TextStyles into
FontSet classes using

	FontSet convertTextStyleNamed: 'Bookworm'

As already implemented, you can then use

	FontSetBookworm installAsTextStyle

to (re)install that font family again.

The mechanism requires a strike font name consisting of 'family name'
'pointSize' ['B' and/or 'I'] where [ ] means that this part is optionally.
The pointSize argument must be a two-digit number, so use '08' for 8pt fonts.

Changes in detail:
* The FontSet class is now a simple Object-subclass and not a subclass of
StrikeFont anymore.
* FontSets are stored into the 'Graphics-Fonts' category.
* Created fonts are prefixed with 'FontSet' to reduce the probability of
name clashes.


bye
--=====================_946496777==_
Content-Type: text/plain; name="FontSetStuff.zip"
 ; x-mac-type="705A4950"
 ; x-mac-creator="705A4950"
Content-Disposition: attachment; filename="FontSetStuff.zip"
Content-Transfer-Encoding: imap_stub

0,2731,2,9798,0,

--=====================_946496777==_
Content-Type: text/plain; charset="us-ascii"



--
Stefan Matthias Aust  //  Bevor wir fallen, fallen wir lieber auf.
--=====================_946496777==_--





More information about the Squeak-dev mailing list