emacs-devel
[Top][All Lists]
Advanced

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

Re: Bidi reordering engine upgraded


From: Thien-Thi Nguyen
Subject: Re: Bidi reordering engine upgraded
Date: Fri, 17 Oct 2014 12:27:24 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

() Eli Zaretskii <address@hidden>
() Fri, 17 Oct 2014 11:25:54 +0300

   But there are W+1 pixels in a line that
   starts at X and ends at X+W. W+1, not W.

Exactly!  We have achieved identical conclusions from
reproducible observations!  Cool.

   >  | 1         2         3
   >  | 012345678901234567890123456789
   >  |           ***********
   >  |                     ^ out out damned dot!

   Count the stars, and you will see there are 11 of them,
   not 10.

Right -- that's what "11 *s" my message was meant to convey.
(No argument here from this pedant. :-D)

   Where did the 11th one come from, when we requested a
   width of 10?

It comes from the (deeply-reviled, IMNSHO) misdesign of
XDrawRectangle(3), which uses the word "width" in the
parameter name (and description), but is actually described
later to draw a rectangle whose width, as measured by pixels
rendered, is ‘width + 1’.  Yuck!  And that description is not
straightforward, but instead exposes, and thus requires the
reader to understand, the ‘PolyLine’ X protocol request, an
implementation detail.  Ugh!Ly!  [Insert more ranting here.]

Well, i'm starting to foam at the mouth re Xlib, which was
one of the motivations for scheming on the socket directly
(inducing other foamings, of course...), so i'll stop now.

   Why not just a single-pixel vertical line instead?

Wouldn't that lose the "hollow" look?  Also, depending on
choice of foreground (text) and cursor colors, that could
obscure the glyph completely.

-- 
Thien-Thi Nguyen
   GPG key: 4C807502
   (if you're human and you know it)
      read my lisp: (responsep (questions 'technical)
                               (not (via 'mailing-list)))
                     => nil

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]