[Fresco-devel] Pixel grid for fonts (was: IRC MEETING)

Iain Hallam <[email protected]> Wed, 21 Jan 2004 05:22:51 +0000
Newsgroups gmane.comp.video.fresco.devel
Message-ID <[email protected]>
Tobias Hunger wrote:
> We had a very productive IRC meeting yesterday, the logs are up on
>   http://www2.fresco.org/irc.html

Just been reading those - very interesting and I hope I'll be able to 
lurk in the next one :o)

>   * vector graphics and device independence:
> 
>      Nicholas said that we cannot be fully device independent since some
>      applications will need to work on pixels and widgets and fonts need
>      to be aligned on the pixel-grid, influencing the layout.

Fair enough, since some applications will want to be concerned about 
pixel representations. But, I think that the next part could go even 
further (whether technically possible in Fresco's architecture... I'm 
not sure).

>      We agreed that this should be transparent to the clients as far as
>      possible, but that clients need to be able to request this kind of
>      information.

With many text-based applications, I think that there are probably two 
important rendering modes: displaying text that is easy to read 
on-screen and portraying the form that text will take on a given surface 
(like a printed page). The latter is actually more forgiving in terms of 
the pixel grid (although much harder for the layout and typography).

To give a concrete example, a word processor that is editing the text 
itself (Word in "Normal view") is concerned with the content, and needs 
to display the most readable text to the user (i.e., aligned to the 
pixel grid). Showing the exact size is not as important. When preparing 
the same document for print (Word in "Page layout view"), the text can 
ignore the pixel grid and just use AA to show the exact form that the 
text block will take. To see these modes in action, take a look at the 
screenshots I took of Ghostscript and Acrobat Reader rendering the same 
text (an extract from a CV I found online):

http://www.swarfega.net/GS-Acrobat.png

GS (top) is rendering the glyphs for on-screen readability, though in 
its attempt to keep the characters in the right positions, it loses the 
text's "colour" and gives uneven gaps and letter thicknesses. Acrobat 
(bottom) is rendering the glyphs to show how they will look on a printed 
page - the colour is very even and characters have the right thicknesses 
through most of the passage. This is most evident in the "s" of "PASP" 
(line 4 word 6), whose glyph looks completely different.

Having read the pages in the Wiki, I can't work out what Fresco already 
does with font rendering (and pages like screenshots.html don't work for 
me on the site). However, making both methods available would cater to 
those devices that need pixel grid-based fonts (PDAs, GUI text on 
displays under about 1280x1024) _and_ those on larger resolutions.

Perhaps applications could request a list of real-world sizes that would 
render well to the pixel grid for on-screen reading, and then use the 
nearest size to that specified by the user (e.g. 11.67mm rather than 
12mm on a certain resolution of display) when the main purpose of text 
is for on-screen use, and switch to exact sizes for layout purposes. 
That would free many applications (like web browsers, text-editors, 
terminals) from having to know about the pixel grid just to get 
well-rendered text on a smaller screen.

- Iain.
(Sorry for the long-ish post!)