tech-x11 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Not matching our bitmap Helvetica



>> The "modern" way, as I understand it (I don't use it, so my
>> understanding may be incorrect) moves font handling to the client,
>> which has upsides and downsides.
> Pretty much only upsides.

Well...I'd say, rather, that the downsides are things you don't happen
to care about much.

> The old way (for bystanders: traditionally fonts are handled on the
> server side of the X11 client/display connection) has all kinds of
> architectural defects (e.g. unprivileged apps either can't install or
> use their own fonts, [...).]

Even privileged apps can't, unless they happen to be on the same
machine as the server or they are prepared to act as font servers and
add themselves to the font path.  (They can, though, draw "characters"
into bitmaps and render them with XFillRectangle or XCopyPlane or the
like.  It's slow compared to XDrawString but it works; my terminal
emulator uses that technique for rendering rotated, reflected, and/or
magnified characters, so I have some practical experience with it.)

Which leads directly the major downside I see to client-side font
handling: the font you want to use, and the code to understand and use
it, has to be present on the every client machine you use, instead of
it being enough to install it once on the server; furthermore, the
computational load falls on the client machine rather than the server,
which last can be a win or a lose, depending.  (I am aware that kids
these days think network-remote connections are not worth supporting.
That may be true for their use cases; it definitely is not true for
mine.)

> Which is not to say that font handling isn't still a disgrace.  It's
> just always been a disgrace.

Indeed.  Pushing _any_ rendering off to the client is a lose from many
perspectives; this is just one more example.  Whether it's better than
1bpp server-side fonts depends, of course, on your tradeoffs.

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index