macvim-dev / macvim-dev/macvim

glyphs rendering issue

未关闭
#1,049 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
Vim Script
星标
7.9k
派生
691
PR 合并指标
30 天内没有已合并 PR

描述

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

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先,在禁用 Core Text Renderer、使用大于 h18 的字体大小以及 issue 中所示的 lightline 分隔符设置的情况下,在 MacVim GUI 中复现该问题。跟踪右侧分隔符的 GUI 字形渲染路径;完成标准是,在列出的所有字体和配置下,分隔符渲染时不会出现竖条。

由索引模型根据 Issue 内容生成。

评估

技术栈
macos, vim
领域
desktop
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。