AA-StrikeFont rendering is ALOT faster than TrueType rendering.
Plus, they allow a good way to get nice-looking fonts on all platforms
without distributing a Font with the image.
You have to import new StrikeFonts manually into the image if you want
more choice, only DejaVu in 7/9/12, with italic and bold variants are
included in Juans changeset.
If you choose one of the truetype-fonts in your system, they will, (of
course) use TT-rendering instead.
TrueType is somewhat better looking though, and the StrikeFonts still
have some bugs:
- WarpBlt doesn't work in the .cs, fixed in Squeak trunk. (F.ex leads
to the mini-images on the window bar not rendering).
- "Disabled" buttons using StrikeFonts draw strangely (Open Monticello
Browser for an example).
- The Squeak trunk version has a messed up StrikeFont class >>
dejaVuSansBold12Form. (Or it might be caused by the way I loaded into
Pharo, by browsing the package and installing just the latest versions
of StrikeFont and BitBlt, then running StrikeFont installDejaVu)
Cheers,
Henry
Some details:
Opening up a BetaDev-image (Properties browser and workspace open),
and doing:
TimeProfileBrowser onBlock: [|test| 500 timesRepeat: [World
fullRepaintNeeded; doOneCycle]]
reveals :
- TT:
39400ms total
- 34278ms rendering
- 13396ms rendering fonts.
- 17015 inc gc's, 3271ms
then installing StrikeFonts changeset and reopening Workspace/
PropertiesBrowser:
- (leaf nodes are cut of at 1%, so font rendering is probably a bit
higher)
28556ms total
- 22445ms rendering
- 1623ms rendering fonts.
- 10593 inc gc's, 2068ms
On Aug 6, 2009, at 3:19 23PM, Mariano Martinez Peck wrote:
On Wed, Aug 5, 2009 at 7:28 AM, Stéphane Ducasse <[email protected]
> wrote:
I have the impression that in case you want to have to run your vm on
system not having the freeType plugin.
Relying less on C code is a nice option (especially when a guy did all
the work).
Often people are telling us that we should not do everything in
Smalltalk but there this is a nice solution
and all in Smalltalk.
what about the performance between them?
If I can choose, I will obviously choose to do as much as possible
in the smalltalk world. However, this is not always possible. If
this Juan fonts were as fast (or better) as TrueTypes and as nice of
them, I would choose Juan's work.
Another newbie question, with this StrikeFonts, can I choose the
font to use?
thanks
mariano
Stef
>> Concerning the fonts, I wonder what the win is, now that we have
>> FreeType? Not that I don't like Juan's solution (I even proposed it
>> some time ago for Pharo but then others preferred FreeType). When
>> would FreeType not work and you would fall back to Juan's fonts?
>>
>> Adrian
>
>
> On Aug 5, 2009, at 09:50 , Stéphane Ducasse wrote:
>
>> Henrik
>>
>> here is my answer: so I would really like to get enhanced
>> strikefonts in pharo.
>> Now I would like to have the point of view of the font experts.
>>
>> http://code.google.com/p/pharo/issues/detail?id=1037
>>
>>
>>>> Hi Stef,
>>>>
>>>> Stéphane Ducasse wrote:
>>>>> Hi juan
>>>>>
>>>>> Ideally in Pharo I would really like to be able to have really
>>>>> nice fonts without relying
>>>>> on external plugin. Now I do not know too much about fonts.
>>>>> Do you know that we could have the best of both worlds:
>>>>> - your idea
>>>>> - freetype.
>>>>>
>>>>> Stef
>>>>
>>>> Yes, I don't see any reason for not doing so. Load the attached.
>>>> First 'preliminaries', then the big one.
>>>>
>>>> Enjoy!
>>>>
>>>> Cheers,
>>>> Juan Vuletich
>>
>>
>> <EnhancedStrikeFontsForPharo.zip>
>>
>>
>>
>>
>> On Aug 4, 2009, at 8:05 PM, Stéphane Ducasse wrote:
>>
>>> From: Juan Vuletich <juan <at> jvuletich.org>
>>> Subject: [Ann] Enhanced StrikeFonts (antiAliasing , subPixel AA)
>>> Newsgroups: gmane.comp.lang.smalltalk.squeak.general
>>> Date: 2009-08-03 21:52:47 GMT (20 hours and 12 minutes ago)
>>> Hi Folks,
>>>
>>> If you update to the latest trunk, you'll load Graphics-jmv.53,
>>> Morphic-jmv.138 and System-jmv.118. This is the support for anti
>>> aliased
>>> StrikeFonts from Cuis. The new 'BitmapDejaVu' font of point size 9
>>> is
>>> set as default. I only included size 9 (reg, italic, bold, bold
>>> italic)
>>> to avoid using too much space in the image. If people want, more
>>> sizes
>>> can be added.
>>>
>>> To do proper antialiasing / subpixel AA _without_ requiring new
>>> BitBlt
>>> modes, I use RGBMul BitBlt rule, and a second pass with RGBAdd
rule.
>>> Text looks very good, in any combination of font and background
>>> colors,
>>> even at lower Display depths and / or glyphs depths.
>>>
>>> By default underscore and caret are shown as in standard ASCII. If
>>> you
>>> prefer the classic ST-80 left and up arrow, evaluate 'StrikeFont
>>> useLeftArrow'. To go back to the default, evaluate 'StrikeFont
>>> useUnderscore'. I also added 2 preferences #subPixelRenderFonts
and
>>> #subPixelRenderColorFonts (both default to true).
>>>
>>> Andreas, thanks for all your help!
>>>
>>> Comments are welcome.
>>>
>>> Cheers,
>>> Juan Vuletich
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-
project
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project