[squeak-dev] Statistics on merging Cuis with 3.10 on Morph hierarchy

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
23 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: Font rendering (was Re: [squeak-dev] Re: Statistics on merging Cuis with 3.10 on Morph hierarchy)

Colin Putney
K. K. Subramaniam wrote:

> On Monday 20 April 2009 9:17:38 pm Bert Freudenberg wrote:
>> Linux and Windows users are accustomed to heavily hinted font
>> rendering, looking overly "crisp" because lines are snapped to the
>> screen pixel grid. The result has little resemblance to the true
>> character shape as it would appear when printed on paper, but it's
>> what they are used to. In contrast, Apple's and Adobe's font rendering
>> is much more truthful to the paper appearance, but looks "blurry" to
>> Windows and Linux users
> Squeak's screen and its contents are meant to be consumed on bitmap monitors
> and rarely printed on paper, so why should the fonts be optimized for paper
> rendering and not display monitors?
>
> Confused .. Subbu

Hi Subbu,

It isn't a question of optimization for a particular medium. Printers
can render fonts at high resolution, so the quality of the rendering is
quite good: crisp edges, smooth curves and high fidelity to the letter
shapes defined by the font. Screens are much lower resolution, and
especially at smaller point sizes, it's impossible to match the
rendering quality of a printer.

So how do we get a good image at low resolution? Apple's strategy is to
alter the *intensity* of certain pixels in the rendered image to
preserve fidelity to the letter shapes and provide the illusion of
smooth curves. Microsoft's strategy is to alter the *position* of
certain pixels in the rendered image to preserve the crisp edges that
one finds in printed text.

Apple emphasizes fidelity to the font's character shapes, resulting in
bluriness, while Microsoft emphasizes clarity, resulting in distortion.
Either is a reasonable choice.

Colin

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Font rendering

Igor Stasenko
In reply to this post by Bert Freudenberg
I wonder, why we should care bundling TT fonts with squeak?

As well as why we should sacrifice the quality to the abstract 'be
identical on all platforms' idea?

For me, it is strange to even see a phrases like 'be bit identical everywhere'.
Is this the most important thing we should care about when dealing
with font rendering???
Let turn our face to the end users: for font rendering a most
important aspect is quality.
And from user's perspective an overall quality is a balance between
two categories:
 - do things fast (so UI is fast & responsive)
 - render glyphs with a good quality so users can read text on display
without hurting their eyes.


2009/4/27 Bert Freudenberg <[hidden email]>:

>
> On 27.04.2009, at 17:30, Steve Wart wrote:
>
> On Sun, Apr 26, 2009 at 7:19 AM, Bert Freudenberg <[hidden email]>
> wrote:
>>
>> On 26.04.2009, at 15:04, Steve Wart wrote:
>>
>> Is an external dependency like http://www.freetype.org/ completely out of
>> the question?
>>
>> Not sure what you mean. There is a FreeType plugin already.
>
> Funny. I had installed it only 2 months ago and spent several hours trying
> to get it to work/work well in Cobalt before deciding that Accuny looked
> better than any of the several dozen fonts I scoured through. Don't know why
> I didn't think about that before I posted.
>
> I mentioned because I had been coincidentally looking at GLTT (for another
> project) to render some TT fonts in OpenGL and probably read too much into
> the coincidence.
>
>> It does work for some applications. But besides huge plugins in general
>> being not in the spirit of Smalltalk, one of the particular problems of
>> using FreeType is that it depends on external fonts. But platform fonts vary
>> largely between systems. That breaks one of the core promises of Squeak,
>> platform independence.
>
> I think this is a problem for a lot of projects and maybe FreeType isn't the
> answer. But it would be nice to have an alternative to the bitmap fonts and
> the TrueType model is very rich (I don't know if it's rich enough for all
> human languages but if there is another model that can live up to that
> standard I'd be interested to find out more). Many decent free fonts are
> available so I don't think external dependencies need to be an issue
> (they're just data), but I don't understand why fonts tend to be a platform
> problem. How is font rendering/lookup dependent on the underlying OS? Can
> that dependency be broken?
>
> By bundling fonts, sure. But trying to convince Linux package maintainers
> that this is a necessity ... that's going to be hard.
>>
>> Now I know the "re-inventing the wheel" argument. Which is why we made a
>> Pango/FreeType rendering plugin for OLPC Etoys, where we need to support
>> many more scripts than simple TrueType rendering could do. But it already
>> starts to crumble. OLPC defined a platform, so we could rely on the fonts we
>> used being installed. But now that Sugar became independent of OLPC, there
>> is no control of the platform anymore really. Which means it's not
>> guaranteed projects will look the same everywhere. We have not yet found a
>> cheap solution to that problem.
>
> It does make sense in some contexts to do everything in Smalltalk. Clearly
> changing the font model is a huge amount of work and there is a long legacy
> of development that depends on fonts working the way they do now. But Squeak
> has for years shipped with its own fonts installed, why do we need to depend
> on the platform for that?
>
> We don't need to, true, but in their current form the plugins cannot render
> fonts embedded in the image.
> - Bert -
>
>
>
>
>



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Font rendering

Steve Wart
Bert wrote
> By bundling fonts, sure. But trying to convince Linux package maintainers
> that this is a necessity ... that's going to be hard.
[..snip...]
> We don't need to, true, but in their current form the plugins cannot render
> fonts embedded in the image.

On Mon, Apr 27, 2009 at 8:46 PM, Igor Stasenko <[hidden email]> wrote:
I wonder, why we should care bundling TT fonts with squeak?

It seems that it should be possible to separate identification and loading of fonts (could be platform-dependent) from the rendering of fonts (ideally not platform-dependent).

It would be nice instead of worrying about how Microsoft does it or Apple does it to instead use a platform-independent hardware abstraction like OpenGL. I know this won't work on some platforms but it will work on most, and GLES is looking to be well-supported on future low-power devices. This might also be an elegant way to improve the somewhat uncomfortable relationship between OpenGL worlds and the rest of the Squeak environment.


12