macvim-dev / macvim-dev/macvim

glyphs rendering issue

Open
#1,049 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Vim Script
Stars
7.9k
Forks
691
PR merge metrics
No merged PRs in 30d

Description

Describe the bug
If I disable the option 'Use Core Text Renderer" and I set a font size larger than h18 (e.g. h19), I get vertical bars after right separators (e.g. look on the right of the following image after "5%")
Schermata 2020-05-30 alle 10 42 33
This is with Hack Nerd Font but note that I obtain this behavior with all fonts I have installed, i.e. FiraCode, Meslo, Hack Nerd Font Mono, JetBeans, JetBeans Mono, etc.

To Reproduce
Detailed steps to reproduce the behavior:

  1. Install the "lightline" plugin (see https://github.com/itchyny/lightline.vim)
  2. Install the "Hack Nerd Font" (see https://github.com/ryanoasis/nerd-fonts)
  3. Add following settings to your .vimrc:
let g:lightline = {
      \ 'separator': { 'left': '_LS_', 'right': '_RS_' },
      \ 'colorscheme': 'deus',
      \ 'active': {
      \   'left': [ [ 'mode', 'paste' ],
      \             [ 'relativepath', 'extraflags', 'gitstat'] ],
      \   'right': [ [ 'lineinfo' ],
      \              [ 'percent' ],
      \              [ 'fileformat', 'fileencoding', 'filetype' ], 
      \              [ 'linter_checking', 'linter_errors', 'linter_warnings', 'linter_ok' ] 
      \            ]
      \ },
      \ }  

where LS and RS are left and right triangular separators as shown in the above
image which I uploaded

Environment (please complete the following information):

  • Vim version:
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Apr 12 2020 00:47:07)
macOS version
Included patches: 1-539
Compiled by travis@Traviss-Mac.local
Huge version with MacVim GUI.  Features included (+) or not (-):
+acl               +comments          +find_in_path      +lispindent        +multi_byte        +reltime           +terminal          +wildignore
+arabic            +conceal           +float             +listcmds          +multi_lang        +rightleft         +terminfo          +wildmenu
+autocmd           +cryptv            +folding           +localmap          -mzscheme          +ruby/dyn          +termresponse      +windows
+autochdir         +cscope            -footer            +lua/dyn           +netbeans_intg     +scrollbind        +textobjects       +writebackup
-autoservername    +cursorbind        +fork()            +menu              +num64             +signs             +textprop          -X11
+balloon_eval      +cursorshape       +fullscreen        +mksession         +odbeditor         +smartindent       +timers            -xfontset
+balloon_eval_term +dialog_con_gui    -gettext           +modify_fname      +packages          -sound             +title             +xim
+browse            +diff              -hangul_input      +mouse             +path_extra        +spell             +toolbar           -xpm
++builtin_terms    +digraphs          +iconv             +mouseshape        +perl/dyn          +startuptime       +transparency      -xsmp
+byte_offset       +dnd               +insert_expand     +mouse_dec         +persistent_undo   +statusline        +user_commands     -xterm_clipboard
+channel           -ebcdic            +job               -mouse_gpm         +popupwin          -sun_workshop      +vartabs           -xterm_save
+cindent           +emacs_tags        +jumplist          -mouse_jsbterm     +postscript        +syntax            +vertsplit
+clientserver      +eval              +keymap            +mouse_netterm     +printer           +tag_binary        +virtualedit
+clipboard         +ex_extra          +lambda            +mouse_sgr         +profile           -tag_old_static    +visual
+cmdline_compl     +extra_search      +langmap           -mouse_sysmouse    +python/dyn        -tag_any_white     +visualextra
+cmdline_hist      -farsi             +libcall           +mouse_urxvt       +python3/dyn       -tcl               +viminfo
+cmdline_info      +file_in_path      +linebreak         +mouse_xterm       +quickfix          +termguicolors     +vreplace
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe  -DMACOS_X -DMACOS_X_DARWIN  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_
SOURCE=1
Linking: clang   -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/readline/lib -L. -fstack
-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/readline/lib  -L/usr/local/lib -o Vim -framework Coc
oa -framework Carbon       -lm  -lncurses -liconv -framework AppKit   -fstack-protector  -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE
  • OS: Mac OSX Catalina 10.15.5
  • Terminal: GUI

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue in the MacVim GUI with Core Text Renderer disabled, a font size above h18, and the lightline separator settings shown in the issue. Trace the GUI glyph-rendering path for right separators; done means the separators render without vertical bars across the listed fonts and configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, vim
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.