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.
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)?
Paul
--
--
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.