2016-04-24 18:31 GMT+03:00 Adelar da Silva Queiróz <
[email protected]>:

> @crazymaster <https://github.com/crazymaster> I did create there (
> macvim-dev/macvim#267 <https://github.com/macvim-dev/macvim/issues/267>).
> But I think that is something about vim, since on GVim on Windows has
> similar problems.
>

​This is something about font rendering libraries (or how these libraries
are used by toolkit used by Vim GUI or terminal emulator) and how they work
with symbols borrowed from the other fonts.​ Opening issues in *vim
repositories is not going to be much helpful: Vim could fix this only by
creating some more or less dirty hacks and do this only for itself.

Basically this happens because monospace fonts used by Vim do not contain
necessary glyphs, so font rendering library has to borrow them from
somewhere. This “somewhere” is usually not a monospace font and definitely
has different glyph dimensions; and picture glyphs from non-monospace font
most of time are wider then a screen cell when taking font with the same
size. I do not know why literally nowhere I saw this borrowing tries to
resize glyph, but usually this results in one of two behaviours:

1. Glyph is displayed completely, but all screen cells to the right are
shifted. Shifting may be seen up to the location where terminal emulator
received “move to (X, Y) cell” command which provokes hard visual bugs when
editing such files. Most of time shift also ends at the next blank cell.
2. Glyph is truncated like you see.

Another possible source of confusion is the case when toolkit/font
rendering library/terminal emulator/… thinks that glyph occupies two
display cells while Vim thinks it occupies one or vice versa. Looks like
you were hit also by this problem. There are always at least two places
where text width in screen cells is computed: Vim uses its own functions
for this, whatever renders the text uses its own which are not identical to
Vim’s ones (given that you may run Vim in screen in tmux in Neovim
:terminal buffer in konsole terminal emulator you may have even more places
where text width is computed, all using different functions; add such
character to a file name and use powerline with old Vim version and you
will have yet another function which computes width added to an equation
(new Vim versions have strwidth())).


> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly or view it on GitHub
> <https://github.com/vim/vim/issues/732#issuecomment-213984946>
>
> --
> --
> 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.
>

-- 
-- 
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.

Raspunde prin e-mail lui