[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--