[ltp] skinny fonts

Bret Comstock Waldow linux-thinkpad@linux-thinkpad.org
Sat, 11 Mar 2006 19:47:11 +1300


--nextPart1762347.potNXvHszO
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On Sat, 11 Mar 2006 18:27, noc ops wrote:
> Bret Comstock Waldow wrote:

> > An LCD is not a CRT, and doesn't resize like a CRT.  Give it up and
> > accept you have a 124dpi LCD.  You are wasting time and money struggling
> > against reality.
>
> -------------
> 1400x1050 was too tiny for me. Increasing font size created jaggedness
> which was not worth it. Then again maybe its me.

In my first reply to you, I asked why you wanted to force your display to=20
96dpi.  You didn't answer.  I asked the question because it seemed you migh=
t=20
have a misconception about what is going on to make your display=20
unsatisfactory, and if that's the case, nothing you try will work, as your=
=20
basis is incorrect in the first place.

If you answered the questions you're asked, we'd know what your thinking is=
,=20
and also know what concepts you are using, and what words you are using, an=
d=20
then we could spot errors, and put them in terms that make sense to you.

Your statement above "1400x1050 was too tiny for me. Increasing font size"=
=20
suggests to me that you don't understand how font sizes and display=20
resolution fit together in X-windows, and if you don't change your=20
understanding, you won't get the results you want.

Sending the computer back suggests you think the hardware is the problem.  =
I=20
will suggest it's your understanding, and trying to solve the problem by=20
changing your hardware will, at best, harness you to a particular hardware=
=20
spec.

When I pick 10pt type, I'm picking type of a certain physical SIZE.  Whethe=
r=20
it's printed in a press, printed in a laser printer, or displayed on a scre=
en=20
=2D it will all actually be the same size, as measured by a ruler held up=20
against the characters.  If it's larger or smaller, then it's 12pt type or=
=20
8pt type, as appropriate, and it shouldn't be called 10pt type if it's not=
=20
that size.

Points (pt) are NOT pixels.  Period.  Ever.  We turn on pixels to compose a=
=20
character, and how large we make the character decides it's size.  There is=
=20
no direct relationship between pixels and points.  One does not measure the=
=20
other.

But here's the problem - your computer has no idea what size it's monitor i=
s. =20
Windows uses 96dpi as a general ballpark figure, but it doesn't know - it's=
=20
pretending.  If you pick large fonts in Windows, it guesses 120dpi, but it'=
s=20
still a guess, with no basis in physical reality.

In order for a computer to make 10pt type be the actual size 10pt type is, =
the=20
computer must know how big the physical display (piece of paper, or monitor=
=20
screen) is.

In X-windows, "DisplaySize" tells the computer that.

There are 1024x768 displays that meausre 10.4", 12.1", 14.1", 15".  If the=
=20
characters are the same number of PIXELS	 then they'll be proportionally=20
larger or smaller to your eye.  However, if the computer knows the size of=
=20
the display, it will use more or fewer PIXELS to render the POINT size, and=
=20
the characters on the displays will be the same size on the different=20
displays.  They will be rougher for the larger display, as fewer, larger=20
PIXELS are used to render them, but they will be the same height measured=20
with a ruler in the room.  Think about coarser and finer graph paper - if t=
he=20
total count of cells is the same, the coarser grid will be a bigger sheet o=
f=20
paper, with fewer cells to the inch.

My T21 has a 14.1" (1024x768) display, and the DisplaySize entry tells=20
Xwindows that.  My T42 has a 14.1" (1400x1050) display, and since the=20
physical display is the same SIZE (14.1" diagonal) it gets the same entries=
=20
for DisplaySize.

But the T42 has lots more PIXELS (in the same physical size) and uses more =
of=20
them to make the same physical SIZE character on the same SIZE screen.  Sam=
e=20
number of lines, same number of columns - size is the same, as the display =
is=20
the same SIZE.  But it uses a lot more PIXELS to render the same size=20
character, and the display on the T42 is gorgeous.

I never owned one, but I believe I read long ago that MacIntosh computers=20
forced a physical correlation between pixels and dpi as a way to make what=
=20
you saw on the display match what came from the printer.  That's artificial=
,=20
and certainly isn't a part of X windows.  There is NO direct connection=20
between RESOLUTION on screen (dpi) and SIZE in X windows.

You have to tell it with DisplaySize or it won't know, and no matter how mu=
ch=20
it says "NN dpi" it actually doesn't know - it's parroting back the result =
of=20
a division and tacking "dpi" on it without knowing what it means - using=20
figures you told it (or didn't change from default values) without knowing =
if=20
those figures are correct - it doesn't know how big your monitor is.

If you set the DisplaySize, then POINTS (actual font SIZE) will be what=20
they're supposed to be, and 10pt type will actually be 10points high type (=
a=20
"Point" is a physical measurement in the real world, just like inches).  If=
=20
your eyes are more comfortable reading 12pt type, then fine, choosing "12pt=
"=20
will actually be 12 POINTS on the display - regardless of how many or few=20
PIXELS the display uses to make a character that size.

An LCD is made up of physical trios of transistors, and that's the size of=
=20
it's dots, and it can't be different.  It's a physical dot size (pixel=20
resolution) and nothing can change it.  14.1" @ 1400x768 is 124dpi, because=
=20
it reallly, actually is, and it will never be different.  By telling my X=20
windows what physical size my display is out in the real world, it knows ho=
w=20
to scale PIXELS so that sizes (points) come out right.

If you don't set the physical display size in the first place, nothing else=
=20
will ever be quite right, and the interactions are difficult to predict.  S=
et=20
the DisplaySize, then pick the font size you like.

It's not your hardware.  1400x1050 means more definition, and better lookin=
g=20
fonts, than 1024x768.

Cheers,
Bret

--nextPart1762347.potNXvHszO
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQBEEnJ0DPUy19Li5UwRAk4UAJ4jlLX2PvmfA3pEPN9G/lYoQN4DrQCeIP4L
7a7jX4tECmK4ercYI1E3Noo=
=GTHj
-----END PGP SIGNATURE-----

--nextPart1762347.potNXvHszO--