Systematic error on display versus layout units.


Subject: Systematic error on display versus layout units.
From: Martin Sevior (msevior@mccubbin.ph.unimelb.edu.au)
Date: Thu Jun 28 2001 - 01:34:24 CDT


Hi Folks,
        I've spent the last couple of days fighting with 1632. Basically
our text in left justified mode can easily extend way past the right
margin.

This is caused by a systematic errors between font sizes at screen
resolution and font sizes at Layout resolution. Relative to the screen
resolution, the layout resolution of the Type 1 fonts that ship with Abi
are smaller by a few %.

The calculation of where to break a line in Abi is done at layout
resolution, where as the text placement on the screen is done at screen
resolution. This causes lines calcualted at Layout resolution to have more
chars than will fit on the screen at screen resolution.

OK I thought I'll place chars on the line at layout resolution. This
doesn't work because you end up text runs where the end of text is
overlapped by the next text run.

OK I thought, I'll calculate the line width based on screen
resolution. This works perfectly and keeps all the text within the right
margin within abiword.

However now printing is highly non WYSIWYG. Text runs on the postscript
output are about 10% longer than on the screen.

Somehow we are are not scaling our fonts correctly between different
resolutions which leads to various sorts of non-WYSIWYG behaviour in both
onscreen weirdness (like text running past the right margin) and in
printing, even with our own PostScript driver.

Does Windows and QNX have this behaviour or is this a bug in just the unix
side of things?

In any case I'm reluctant to release 0.90 until this is fixed. Users
should get the same arrangement of text on the paper as they see on the
screen.

So clues on how to fix this would be appreciated. I am actively working on
this right now and am doing no other development.

Cheers

Martin.

PS I have made rpms of todays CVS HEAD called 0.90-pre3. These include
about 15 megabytes of ispell hash files with the following languages..

american.hash ellhnika.hash norsk.hash espanol.hash polish.hash
catala.hash esperanto.hash portugues.hash francais.hash russian.hash
czech.hash italian.hash svenska.hash dansk.hash deutsch.hash
nederlands.hash

These are available on

http://seviorpc.ph.unimelb.edu.au/abiword

in both gtk and gnome versions.



This archive was generated by hypermail 2b25 : Thu Jun 28 2001 - 01:34:45 CDT