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 09:50:30 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

() Eli Zaretskii <address@hidden>
() Fri, 17 Oct 2014 09:16:05 +0300

   > Left-most pixel is numbered 0, and "at 0"
   > refers to that pixel.

   But with that model, a 1-pixel line "at 0"
   does NOT "invade" on pixel 1.

Granted (if i take "1-pixel" to mean the length of
the line, and not its "line width" (a measure
orthogonal to the line's orientation), which is
what i normally understand "1-pixel line" to mean),
but a foo-pixel line "from X to X+W"[0] renders X,
X+1, X+2 ... X+W, for a total count of W+1 pixels.
OBOE!  The invading pixel is not X+1, but X+W.

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

(11 *s; X = 20, W = 10.)  But anyway...

   decide first what we would like to see as the
   hollow cursor for a glyph that is 1-pixel wide.

Perhaps "hollow" in the vertical sense only could be
expressed as two pixels, one at top, one at bottom.
That's almost invisible, though; maybe two or three
at top and two at bottom is better.

___________________________________
[0] (under X Windows semantics)
    In src/xdisp.c ‘get_phys_cursor_geometry’, the
    comment /* Why? */ alludes to (confusion /
    frustration probably felt due to) the differences
    i mentioned previously.  Probably Someone needs
    to define the "Emacs native coordinate and pixel
    reference system" and add a centrally maintained
    abstraction layer for X, NTGUI, NS, and so on.
    This layer is where X-specific -1/+1 futzing
    should live.  Standard slog...

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