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 |
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. |
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. |
Free forum by Nabble | Edit this page |