Paul Moore wrote:
> On Windows, Vim does not correctly display international characters.
> To demonstrate this, create a file in UTF-8 encoding with the Unicode
> characters \x5000 \x5001 \x5002 in it. These should display as Chinese
> chacaters.
The question is: What version of Windows? Reading the comments it
appears the behavior changed at some point.
There are plenty of Chinese Vim users, I'm sure they would have
complained loudly if Chinese characters don't show up.
> With stock gvim (I'm using 7.4 with patches to 389) the characters are
> not displayed.
>
> The problem is the use of the ETO_IGNORELANGUAGE in gui_w32.c
> (function gui_mch_draw_string), which is documented by MS as "Reserved
> for system use. If an application sets this flag, it loses
> international scripting support and in some cases it may display no
> text at all." which is more or less what happened.
>
> The following patch fixes this:
>
> diff --git a/src/gui_w32.c b/src/gui_w32.c
> --- a/src/gui_w32.c
> +++ b/src/gui_w32.c
> @@ -2342,8 +2342,8 @@
> /* On NT, tell the font renderer not to "help" us with Hebrew and Arabic
> * text. This doesn't work in 9x, so we have to deal with it manually on
> * those systems. */
> - if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT)
> - foptions |= ETO_IGNORELANGUAGE;
> + /* if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT)
> + foptions |= ETO_IGNORELANGUAGE; */
>
> /*
> * We have to provide the padding argument because italic and bold
> versions
>
> The comments in the code imply that by disabling ETO_IGNORELANGUAGE,
> RL text display will be "slow" (line 2465). I have no idea how slow it
> is in practice, but I didn't see any perceptible slowdown with ":set
> rl".
>
> Should I supply a clean patch (that removes the use of
> ETO_IGNORELANGUAGE completely rather than just commenting it out)?
--
Engineers are always delighted to share wisdom, even in areas in which they
have no experience whatsoever. Their logic provides them with inherent
insight into any field of expertise. This can be a problem when dealing with
the illogical people who believe that knowledge can only be derived through
experience.
(Scott Adams - The Dilbert principle)
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.