macvim-dev / macvim-dev/macvim

glyphs rendering issue

オープン
#1,049 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
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. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、Core Text Rendererを無効にし、h18を超えるフォントサイズと、issueに示されているlightlineのセパレーター設定を使用して、MacVim GUIで問題を再現します。右側のセパレーターについてGUIのグリフ描画パスを追跡します。完了条件は、一覧にあるすべてのフォントと設定で、セパレーターが縦棒なしで描画されることです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
macos, vim
領域
desktop
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。