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

Combining characters not displayed correctly

Expand Messages
  • Lech Lorens
    Combining characters are not displayed correctly in gvim. They are displayed one character too early. Examples: Instead of Škoda I get  ̌Skoda:  Škoda S
    Message 1 of 7 , Jul 31, 2009
    View Source
    • 0 Attachment
      Combining characters are not displayed correctly in gvim. They are
      displayed one character too early.
      Examples:

      Instead of Škoda I get  ̌Skoda:
       Škoda
      S + U+030C

      Instead of wieś, I get wiés:
      wieś
      s + U+0301

      Instead of więc, I get wįec:
      wie̜c
      e + U+31C

      The problem seems related to fonts, since I do get it if I:

      set guifont=Andale\ Mono\ 11
      set guifont=DejaVu\ Sans\ Mono\ 11
      set guifont=LucidaTypewriter\ 14

      Problem disappears if I e.g.
      set guifont=TlwgTypewriter\ 12

      I don't feel competent enough to decide whether this is Vim's fault. I
      would be grateful for comments from someone wiser.

      Thanks in advance!

      --
      Cheers,
      Lech

      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_dev" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    • Raúl Núñez de Arenas Coronado
      Saluton Lech :) ... Let s try using digraphs on my console Vim under Linux: Škoda, wieś and więc. The special chars are U+0160 U+015B and U+0119, all of
      Message 2 of 7 , Jul 31, 2009
      View Source
      • 0 Attachment
        Saluton Lech :)

        Lech Lorens <l...@...> dixit:
        > Combining characters are not displayed correctly in gvim. They are
        > displayed one character too early.

        Let's try using digraphs on my console Vim under Linux:

        Škoda, wieś and więc. The special chars are U+0160 U+015B and U+0119,
        all of them non-composing :(

        And now let's try using gucharmap and selecting the composing
        variations:

        Škoda --> That's an "S" and a combining caron (U+030C)
        wieś --> That's an "s" and a combining acute (U+0301)
        wie̜j --> That's an "e" and a combining half ring (U+031C)

        All of them display correctly in my terminal (gnome-terminal) using my
        self-built Vim (7.2.228) under Ubuntu.

        > The problem seems related to fonts, since I do get it if I:
        >
        > set guifont=Andale\ Mono\ 11
        > set guifont=DejaVu\ Sans\ Mono\ 11
        > set guifont=LucidaTypewriter\ 14
        >
        > Problem disappears if I e.g.
        > set guifont=TlwgTypewriter\ 12

        From this information I would say that you're using Vim under Gnome,
        probably. I'm using "DejaVu Sans Mono 11" in my gnome-terminal, but I
        haven't tested under the GUI Vim. In fact, I stopped using GVim because
        problems like these: bad font rendering, composing character problems
        and very slow redrawing.

        > I don't feel competent enough to decide whether this is Vim's fault. I
        > would be grateful for comments from someone wiser.

        I've tested using gedit and it draws all the characters correctly using
        the same font than in my gnome-terminal, DejaVu Sans Mono 11. So this
        doesn't seem to be a problem in the font rendering engine, but I can't
        say more about it. It *looks* like a GVim problem, though, but I'm not
        sure.

        Could you please tell us a bit more about your environment, just in
        case?

        --
        Raúl "DervishD" Núñez de Arenas Coronado
        Linux Registered User 88736 | http://www.dervishd.net
        It's my PC and I'll cry if I want to... RAmen!

        --~--~---------~--~----~------------~-------~--~----~
        You received this message from the "vim_dev" maillist.
        For more information, visit http://www.vim.org/maillist.php
        -~----------~----~----~----~------~----~------~--~---
      • Dominique Pellé
        ... I tried with those fonts, the composing characters look as expected for me. ... It looks also fine with this font and it looks fine with the font that I
        Message 3 of 7 , Aug 1, 2009
        View Source
        • 0 Attachment
          Lech Lorens wrote:

          > Combining characters are not displayed correctly in gvim. They are
          > displayed one character too early.
          > Examples:
          >
          > Instead of Škoda I get  ̌Skoda:
          >  Škoda
          > S + U+030C
          >
          > Instead of wieś, I get wiés:
          > wieś
          > s + U+0301
          >
          > Instead of więc, I get wįec:
          > wie̜c
          > e + U+31C
          >
          > The problem seems related to fonts, since I do get it if I:
          >
          > set guifont=Andale\ Mono\ 11
          > set guifont=DejaVu\ Sans\ Mono\ 11
          > set guifont=LucidaTypewriter\ 14

          I tried with those fonts, the composing characters look
          as expected for me.

          > Problem disappears if I e.g.
          > set guifont=TlwgTypewriter\ 12

          It looks also fine with this font and it looks fine with the font
          that I normally use: set guifont=MiscFixed\ Semi-Condensed\ 10.

          I'm using Ubuntu-8.10 with Vim-7.2.245 on Linux x86 (xterm)
          and gvim GUI GTK2.

          > I don't feel competent enough to decide whether this is Vim's fault. I
          > would be grateful for comments from someone wiser.
          >
          > Thanks in advance!

          Do those characters look wrong only in gvim? What about
          other applications? (gedit, xemacs, gnome-terminal, firefox, ...)

          -- Dominique

          --~--~---------~--~----~------------~-------~--~----~
          You received this message from the "vim_dev" maillist.
          For more information, visit http://www.vim.org/maillist.php
          -~----------~----~----~----~------~----~------~--~---
        • Bram Moolenaar
          ... It s probably a problem in the GTK libraries. Vim has to play some tricks to make them display composing characters correctly. If someone wants to dive
          Message 4 of 7 , Aug 1, 2009
          View Source
          • 0 Attachment
            Lech Lorens wrote:

            > Combining characters are not displayed correctly in gvim. They are
            > displayed one character too early.
            > Examples:
            >
            > Instead of Škoda I get  ̌Skoda:
            > Â SÌŒkoda
            > S + U+030C
            >
            > Instead of wieś, I get wiés:
            > wiesÌ
            > s + U+0301
            >
            > Instead of więc, I get wįec:
            > wieÌœc
            > e + U+31C
            >
            > The problem seems related to fonts, since I do get it if I:
            >
            > set guifont=Andale\ Mono\ 11
            > set guifont=DejaVu\ Sans\ Mono\ 11
            > set guifont=LucidaTypewriter\ 14
            >
            > Problem disappears if I e.g.
            > set guifont=TlwgTypewriter\ 12
            >
            > I don't feel competent enough to decide whether this is Vim's fault. I
            > would be grateful for comments from someone wiser.

            It's probably a problem in the GTK libraries. Vim has to play some
            tricks to make them display composing characters correctly.
            If someone wants to dive into this, please do. I'm not going to spend
            time on it.

            --
            All true wisdom is found on T-shirts.

            /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
            /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
            \\\ download, build and distribute -- http://www.A-A-P.org ///
            \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

            --~--~---------~--~----~------------~-------~--~----~
            You received this message from the "vim_dev" maillist.
            For more information, visit http://www.vim.org/maillist.php
            -~----------~----~----~----~------~----~------~--~---
          • Lech Lorens
            ... [...] ... Hi, Indeed, it is GVim under Gnome. It s my computer at work, running Ubuntu 8.10. However, I just tried to reproduce this problem at home
            Message 5 of 7 , Aug 2, 2009
            View Source
            • 0 Attachment
              On 31-Jul-2009 Raúl Núñez de Arenas Coronado <raulnac@...> wrote:
              > Lech Lorens <l...@...> dixit:
              [...]
              > From this information I would say that you're using Vim under Gnome,
              > probably. I'm using "DejaVu Sans Mono 11" in my gnome-terminal, but I
              > haven't tested under the GUI Vim. In fact, I stopped using GVim because
              > problems like these: bad font rendering, composing character problems
              > and very slow redrawing.
              >
              > > I don't feel competent enough to decide whether this is Vim's fault. I
              > > would be grateful for comments from someone wiser.
              >
              > I've tested using gedit and it draws all the characters correctly using
              > the same font than in my gnome-terminal, DejaVu Sans Mono 11. So this
              > doesn't seem to be a problem in the font rendering engine, but I can't
              > say more about it. It *looks* like a GVim problem, though, but I'm not
              > sure.
              >
              > Could you please tell us a bit more about your environment, just in
              > case?

              Hi,

              Indeed, it is GVim under Gnome. It's my computer at work, running Ubuntu
              8.10. However, I just tried to reproduce this problem at home (Ubuntu
              9.04) and got the same (wrong) results.
              Answering the question about other applications, if I set
              guifont=DejaVu\ Sans\ Mono\ 11 in GVim, I get incorrectly displayed
              combining characters and if I set my xterm to use:

              XTerm*vt100.font: -dejavu-dejavu sans mono-medium-r-*-*-17-120-100-100-*-0-iso10646-*

              the combining characters cause no problem.
              Under Gedit - no problem with this font in this variant. However, I have
              some problems (the combining characters are displayed like ordinary
              characters - take up "their own slot") with the oblique (DejaVu Sans
              Mono Oblique 11) variant of the font, which I do not get in GVim.

              --
              Cheers,
              Lech

              --~--~---------~--~----~------------~-------~--~----~
              You received this message from the "vim_dev" maillist.
              For more information, visit http://www.vim.org/maillist.php
              -~----------~----~----~----~------~----~------~--~---
            • Raúl Núñez de Arenas Coronado
              Saluton Lech :) ... I see. Anyway, you ve read the reply from Bram: it is more or less a known problem and he doesn t want to put time on it, I suppose because
              Message 6 of 7 , Aug 2, 2009
              View Source
              • 0 Attachment
                Saluton Lech :)

                Lech Lorens <l...@...> dixit:
                > Indeed, it is GVim under Gnome. It's my computer at work, running
                > Ubuntu 8.10. However, I just tried to reproduce this problem at home
                > (Ubuntu 9.04) and got the same (wrong) results.

                I see. Anyway, you've read the reply from Bram: it is more or less a
                known problem and he doesn't want to put time on it, I suppose because
                it belongs to the GUI part, but I don't know.

                If you are going to work with a lot of combining characters and you can
                live without the GUI, you can use the console version of Vim. I don't
                miss any feature of GVim with it and the character rendering is much
                better (at least for me). It is better in terms of scrolling speed, too.

                --
                Raúl "DervishD" Núñez de Arenas Coronado
                Linux Registered User 88736 | http://www.dervishd.net
                It's my PC and I'll cry if I want to... RAmen!

                --~--~---------~--~----~------------~-------~--~----~
                You received this message from the "vim_dev" maillist.
                For more information, visit http://www.vim.org/maillist.php
                -~----------~----~----~----~------~----~------~--~---
              • Tony Mechelynck
                ... Using DejaVu Sans Mono 8, all three examples display correctly in gvim. Also, I m busy with a Russian-French dictionary, and there too, the combining
                Message 7 of 7 , Aug 14, 2009
                View Source
                • 0 Attachment
                  On 01/08/09 13:25, Bram Moolenaar wrote:
                  >
                  >
                  > Lech Lorens wrote:
                  >
                  >> Combining characters are not displayed correctly in gvim. They are
                  >> displayed one character too early.
                  >> Examples:
                  >>
                  >> Instead of Škoda I get  ̌Skoda:
                  >> Â SÌŒkoda
                  >> S + U+030C
                  >>
                  >> Instead of wieś, I get wiés:
                  >> wiesÌ
                  >> s + U+0301
                  >>
                  >> Instead of więc, I get wįec:
                  >> wieÌœc
                  >> e + U+31C
                  >>
                  >> The problem seems related to fonts, since I do get it if I:
                  >>
                  >> set guifont=Andale\ Mono\ 11
                  >> set guifont=DejaVu\ Sans\ Mono\ 11
                  >> set guifont=LucidaTypewriter\ 14
                  >>
                  >> Problem disappears if I e.g.
                  >> set guifont=TlwgTypewriter\ 12
                  >>
                  >> I don't feel competent enough to decide whether this is Vim's fault. I
                  >> would be grateful for comments from someone wiser.
                  >
                  > It's probably a problem in the GTK libraries. Vim has to play some
                  > tricks to make them display composing characters correctly.
                  > If someone wants to dive into this, please do. I'm not going to spend
                  > time on it.
                  >

                  Using DejaVu\ Sans\ Mono\ 8, all three examples display correctly in
                  gvim. Also, I'm busy with a Russian-French dictionary, and there too,
                  the combining acute displays correctly over Cyrillic vowels. (Over Latin
                  letters I use precombined diacritics.)

                  These dictionary pages also display correctly using Times New Roman in
                  both SeaMonkey (Gecko 1.9.1 with GTK2) and Konqueror (3.5.10, with Qt)
                  though the accents are not exactly at the same relative location "above"
                  their respective vowels. However I've seen Wikipedia pages (with
                  "Cologne Blue" skin) displayed correctly in Konqueror and not in
                  SeaMonkey (where the combining character would appear on the next letter).

                  About the emails in this thread, which I read in SeaMonkey (you can get
                  the exact version from my mail headers), most of the combining
                  characters seem to be displayed one character too far to the right. I
                  wouldn't swear that all of them were wrong. IIUC, the font used to
                  display them is the system's monospace font, which doesn't say much
                  (could be any fixed-width font installed).

                  So IMO it "might" be a problem with the GTK2 libraries, or with some
                  fonts, or with how to use the ones with the others, but it's hard for me
                  to tell exactly "what" is wrong "where"... and whether or not GTK2 will
                  correct it in some later release (which would mean that stopgap measures
                  taken in the meantime by patching one of the various src/gui_gtk* might
                  have to be undone to avoid combining signs being drawn too far to the
                  _left_).


                  Best regards,
                  Tony.
                  --
                  When properly administered, vacations do not diminish productivity:
                  for every week you're away and get nothing done, there's another when
                  your boss is away and you get twice as much done.
                  -- Daniel B. Luten

                  --~--~---------~--~----~------------~-------~--~----~
                  You received this message from the "vim_dev" maillist.
                  For more information, visit http://www.vim.org/maillist.php
                  -~----------~----~----~----~------~----~------~--~---
                Your message has been successfully submitted and would be delivered to recipients shortly.