Loading ...
Sorry, an error occurred while loading the content.

2585Re: Combining diacritical marks display as separate character

Expand Messages
  • Tony Mechelynck
    Mar 12, 2009
    • 0 Attachment
      On 12/03/09 14:51, Sven Siegmund wrote:
      > Hello, thanks for the details,

      My pleasure.

      Beware: I'm going to send this email in UTF-8 because of the text I'll
      be typing into it.

      > On Thu, Mar 12, 2009 at 10:53 AM, Tony Mechelynck
      > <antoine.mechelynck@...> wrote:
      >> Which exact version and patchlevel of gvim are you using? You might want
      >> to copy the first handful of lines from the output of ":version" (until
      >> the line with "Features included (+) or not (-)") -- see ":help :redir"
      >> about how to capture that kind of output. Also, when you type
      > VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Aug 9 2008 18:46:22)
      > MS-Windows 32-bit GUI version with OLE support
      > Compiled by Bram@KIBAALE
      > Big version with GUI.

      This means 7.2.0. I would recommend that you install a more recent
      bugfixed versions, for instance (for Windows) one of Steve Hall's
      distributions at
      -- click the clipboard-like icon next to a download link to see when
      that build was compiled and what features are included.

      I'm not asying that a more recent build will necessarily cure _this_
      problem, but it is always worth doing, since it might cure _other_
      problems which you might be having. At
      http://ftp.vim.org/pub/vim/patches/7.2/README you can see a text file
      with a one-line description of every bugfix published sofar for Vim 7.2
      -- and whenever a new bugfix gets published, that README file is updated
      at the same time.

      >> :echo has('multi_byte')
      > 1

      Good. Nonzero means "feature is present".

      >> Also, what is your _full_ 'guifont' setting? If it ends in cANSI, I
      >> think you're in trouble -- cDEFAULT is usually better IMHO.
      > "unicode encoding:
      > set enc=utf-8
      > "set gui font
      > set guifont=DejaVu_Sans_Mono:h11:cDEFAULT

      this ought to be all right.

      > set nocompatible
      > source $VIMRUNTIME/vimrc_example.vim
      > ...
      > ...
      > ...
      > I explored the problem further. There is something wrong with gvim
      > interpreting deadkeys of the Windows-Keyboard layout. I could not type
      > "n" with combined circumflex because I tried to map the combining
      > circumflex on a dead key of my windows keyboard layout. When I map the
      > combining circumflex to another key it works and it gets displayed
      > well in gvim.

      Aha! To enter any Unicode codepoint by its Unicode codepoint number in
      Vim, use the method described at |i_CTRL-V_digit|. Or if you frequently
      use some particular codepoints, you might want to use a keymap -- either
      a preexisting one if you find one that suits you, or else you can build
      your own: it isn't very hard once you get the hang of it. The
      "accents.vim" and "esperanto.vim" keymaps (in $VIMRUNTIME/keymap/) are
      small examples showing how keymaps are built. The relevant help is at

      -- Note that if you build your own keymap it should NOT go into
      $VIMRUNTIME/keymap/ (where any upgrade may silently destroy it) but into
      either $VIM/vimfiles/keymap/ (if you want to be able to access it from
      any Windows login name) or $HOME/vimfiles/keymap/ (to restrict it to one
      login name, since every "user" has a different $HOME directory). Create
      the needed directory, and maybe its parent too, if they don't yet exist.

      Of course Vim must see the keypress in order to act on it, and I suspect
      that Windows dead keas are retained by Windows (and not given to Vim)
      until you press something else (with which Windows, not Vim, will
      combine the "dead key"). And since "Unicode combining characters" must
      go _after_ the spacing character to which they apply, they are not
      really "dead keys" in the usual typewriter meaning of the expression: on
      my Belgian keyboard I hit "dead-circumflex" followed by c to get the
      _precombined_ Esperanto consonant ĉ (U+0109 LATIN SMALL LETTER C WITH
      CIRCUMFLEX) but in Vim I type c first and ^Vu0302 afterwards to get the
      _composite_ codepoints ĉ [i.e. c (U+0063 LATIN SMALL LETTER C) followed
      by "dead-circumflex" (U+0302 COMBINING CIRCUMFLEX ACCENT)] which
      SeaMonkey 2.0b1pre erroneously does not overprint in the mail
      composition window -- I don't know about your mailer.

      > I will explore the problems of remapping the dead keys of the windows
      > keyboard layout later. So far I could not google anything about this
      > issue in gvim in Windows.
      > S.

      As far as I know, everything, but _everything_ about Vim behaviour is
      in the help. (Obviously, the fine points of _Windows_ behaviour are not
      in the _Vim_ help.) To find your precious needle (any needle) in the Vim
      help^H^H^H^Hhaystack (which is admittedly a huge one), use the following
      starting points (magnets, if you will ;-) since sewing needles are
      usually made of steel):

      :help :help
      :help {subject}
      where {subject} means exactly open-brace, small-ess,
      small-you, small-bee, small-jay, small-eeh, small-cee,
      small-tee, close-brace. No fancy replacing (yet).
      :help :helpgrep

      which will explain progressively more complex methods of finding your
      way about the help.

      Best regards,
      Mustgo, n.:
      Any item of food that has been sitting in the refrigerator so
      long it has become a science project.
      -- Sniglets, "Rich Hall & Friends"

      You received this message from the "vim_multibyte" maillist.
      For more information, visit http://www.vim.org/maillist.php
    • Show all 7 messages in this topic