Yoshiki Hayashi <t90553(a)m.ecc.u-tokyo.ac.jp> writes:
> > The question is: which Latin characters? What are "normal
> > settings" to you? Does this mean that when I change my font (as I
> > do, because the default one is awful), the twice-as-wide
> > relationship gets lost?
>
> Probably Latin-1. I guess Latin-2 is the same. It has nothing to do
> with font setting. Japanese characters display twice as wide and it
> also takes two columns.
Impossible. Whatever Latin fonts I choose, I see the same Japanese
characters. So if I choose a wider Latin font (which I do, because
the defaults are too small), there is no chance in hell that the
Japanese glyphs *still* display exactly twice as wide as the Latin
ones.
> I mean, if the line is only US-ASCII and what-cursor-position
> returns column 40, the line has 40 characters. If there are
> Japanese characters and what-cursor-position returns column 40,
> there may be only 20 characters.
IMO `what-cursor-position' should either count the characters or maybe
the pixels. Anything else is bound to be broken in almost every
situation. I know the FSF did differently, and I think they made a
mistake.
> For example, next part contain 11 Japanese
> characters. At the end of the line, what-cursor-position
> will say column 22.
> この行は十一文字です。
This is a "feature" of the `current-column' function, which in turn
calls column_at_point(), which contains this:
#ifdef MULE
col += XCHARSET_COLUMNS (CHAR_CHARSET (c));
#else
col ++;
#endif /* MULE */
IMO the code above is wrong, and the function should simply return 11,
not 22.