is the cursor always one character wide?

Stephen J. Turnbull stephen at xemacs.org
Sun Jun 6 23:40:24 EDT 2010


Jeff Sparkes writes:
 > "Stephen J. Turnbull" <stephen at xemacs.org> writes:

 > > Do you really mean "space"?  The block cursor is generally as wide as
 > > the character after point, and overlays that character.  This is true
 > > for proportional fonts (which typically have extremely narrow spaces),
 > > as well as for Asian "full-width" (ie, as wide as they are tall)
 > > characters.
 > 
 > The cursor only overlays a single space width of a tab.  That might
 > mean that wider unicode characters aren't completely overlaid by
 > the cursor.

On an X console, in Asian double-width fonts, the cursor covers the
whole character after point; I'm looking at an example.  This is not
true in a Mac Terminal.app.  I don't know what xterm does.  But in GUI
consoles based on the XLIKE code, it will be the whole character.  I
assume that Windows does it to that spec, I don't know about Carbon
since I don't have a working build at the moment (Mac builds specify
an exact library version and a bunch have changed).

TABs are a special case.  I don't know why the cursor doesn't cover
the whole whitespace area created by the TAB.  My first guess is that
determining the width of the TAB is annoying and the implementor(s)
didn't bother.  My second guess is that somebody decided that an
8-en-wide cursor was too ugly (not to mention that TABs can be
arbitrarily wide).

I'll try to take a look at the code (both existing and your new GTK2
stuff) later this week.  Feel free to ping me if you don't hear from
me (and want to ;-).




More information about the XEmacs-Beta mailing list