Maximus5 / ConEmu

Customizable Windows terminal with tabs, splits, quake-style, hotkeys and more
https://conemu.github.io/
BSD 3-Clause "New" or "Revised" License
8.53k stars 571 forks source link

Some character width not showing correctly #1330

Open fanthos opened 6 years ago

fanthos commented 6 years ago

Possible related with #1083 . Unicode CJK seems fixed, but some other chars not work as excepted. is an example that not working correctly in ConEmu.

Versions

ConEmu build: 171109 x64 OS version: Windows 10 1709 x64 Used shell version (Far Manager, git-bash, cmd, powershell, cygwin, whatever): mintty, bash

Problem description

Some Unicode character not align correctly. It works good when using default Windows Bash command line and mintty.

Steps to reproduce

  1. Install WSL on Windows 10
  2. Install Zsh and Oh-My-Zsh
  3. Start Zsh

Actual results

conemu1

Expected results

Windows Bash console: conemu-default (Screenshot does not have cursor, added manually) mintty: conemu-mintty

Additional files

Settings, screenshots, logs, etc.

Maximus5 commented 6 years ago

I see bad alignment in "Windows Bash console". ConEmu shows same alignment as mintty.

fanthos commented 6 years ago

The cursor is not in the right position. In windows console and mintty, when I am typing, the cursor is just at the position char appear.

fanthos commented 6 years ago

ConEmu not shows same as mintty, the symbol is a little wider than normal chars, and cursor is not at right position.

Maximus5 commented 6 years ago

Have you seen this? https://conemu.github.io/blog/2017/11/17/Build-171117.html

Maximus5 commented 6 years ago

the symbol is a little wider than normal chars

If the font you are using draws the glyph using this width, what ConEmu can do?

fanthos commented 6 years ago

After upgraded to 171117, the issue still exists. The cursor should display at the position new char appears. I think when calculating the cursor position, it considered as 2 chars width, but when drawing it does not calculated as 2 chars width. The following is screenshot shows the align problem, I typed _ without the following whitespace. conemu-2

fanthos commented 6 years ago

The character should consider as 1 wide char in both drawing and cursor, or 2 wide for both.

Maximus5 commented 6 years ago

https://conemu.github.io/blog/2017/12/03/Build-171203.html ?

fanthos commented 6 years ago

Not fixed

Maximus5 commented 6 years ago

On your screenshot I see gaps between _ _ _. If you didn't enter spaces that means that _ is shorter than a cell and gap between _ and the cursor is expected.

fanthos commented 6 years ago

I have space input between _s and it works as excepted. The problem is with . The cursor moves 2 cells but text moves about 1.2 cells.

fanthos commented 6 years ago

Copy and paste to come up can easily reproduce the issue.

Tested on bash and cmd, both have the issue.

es1024 commented 6 years ago

Running to this issue as well; it's a bit easier to see the misalignment if you start tmux and split the pane:

ConEmu:

image

mintty:

image

You can also see this just by running tmux + sh and doing echo ➜:

ConEmu:

image

mintty:

image

This is with ConEmu build 180506 (x64), Windows 10 1709 (x64).

Tantalus13A98B5F commented 4 years ago

Problem remains in 191012 x64/x86, Win10 1909 x64. Qoute mark in gcc output is causing problem. Using default settings and fonts for ConEmu. Plus it's okay with mintty. image image