Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@koron
Copy link

@koron koron commented Nov 26, 2017

This patch introduces two big features and one small fix to Vim's
DirectX rendering.

  1. Support colored emoji (emoticon).
  2. Improve drawing speed extremely.
  3. 'taamode' option didn't work.

Emoji was started from Japan and now widely used in the World as you
know. It has became very important parts for the communication. Recent
Windows supports colored emoji with DirectX, but Vim couldn't use it.
This patch implements colored emoji for Vim.

Vim's DirectX support was not enough about drawing speed. It was caused
by wrong use of DirectX. Now Vim's DirectX rendering is equal or faster
than GDI.

The 'taamode' option didn't work entirely because of incorrect use of
DirectX. This patch fixes it.

And last, this patch is written by collaborating mattn, k-takata and me.
Please enjoy colored 🍣 emoji with this patch. 😄😄😄

capture

koron and others added 30 commits November 21, 2017 23:54
keep `type:directx` use old renderer.
`type:directx2` for new renderer.
ignore lib files for debug executables
BindDC is not called when turn on DirectX(3)
because of IS_ENABLE_DIRECTX() guard in directx_binddc().
The flag which be checked in the macro is not set at where called it.

fix #3
* high speed
* without color emoji
* with some bugs

related #4
* Character on cursor was not shown.
* Hollow cursor was not shown.
* Flush before using GDI functions.
@codecov-io
Copy link

Codecov Report

Merging #2375 into master will increase coverage by 0.01%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2375      +/-   ##
==========================================
+ Coverage   74.52%   74.54%   +0.01%     
==========================================
  Files          91       91              
  Lines      132413   132412       -1     
  Branches    29082    29083       +1     
==========================================
+ Hits        98682    98701      +19     
- Misses      33706    33707       +1     
+ Partials       25        4      -21
Impacted Files Coverage Δ
src/if_xcmdsrv.c 84.53% <0%> (-0.18%) ⬇️
src/if_py_both.h 76.45% <0%> (-0.15%) ⬇️
src/gui.c 47.4% <0%> (-0.11%) ⬇️
src/channel.c 82.48% <0%> (-0.05%) ⬇️
src/gui_gtk_x11.c 47.65% <0%> (ø) ⬆️
src/window.c 81.78% <0%> (+0.03%) ⬆️
src/libvterm/src/screen.c 73.3% <0%> (+0.51%) ⬆️
src/gui_beval.c 63.09% <0%> (+0.85%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fb1db0e...b98eab5. Read the comment docs.

@koron koron mentioned this pull request Nov 26, 2017
@brammool brammool closed this in d7ccc4d Nov 26, 2017
@chrisbra
Copy link
Member

From your example it looks like some emojis are cut-off? Does the change in directx rendering fix #1520 perhaps?

@mattn
Copy link
Member

mattn commented Nov 26, 2017

As we wrote in :help renderoptions, if alternative font doesn't have fixed width glyph for the emoji, it will be cut-off.

		  - When this alternative font didn't have fixed width glyph,
		    emoji might be rendered beyond the bounding box of drawing
		    cell.

@k-takata k-takata mentioned this pull request Dec 2, 2017
@axbender
Copy link

axbender commented Dec 8, 2017

Where would I get the current test font (Segoe UI Mono)?

adizero pushed a commit to adizero/vim that referenced this pull request May 19, 2018
Problem:    MS-Windows: does not show colored emojis.
Solution:   Implement colored emojis. Improve drawing speed. Make 'taamode'
            work. (Taro Muraoka, Yasuhiro Matsumoto, Ken Takata, close vim#2375)
@ds14050 ds14050 mentioned this pull request Oct 28, 2018
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants