-
Sponsor
Sponsor Maximus5/ConEmu
- Notifications
- Fork 522
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not-locale characters clamping together #739
Comments
I need exact characters which overlaps. |
From what I know, japanese letters and general symbols they use start from 0x3000. Basically, to replicate this you can:
|
@AndyScull What is your OS? Show info from ConEmu/About/OS. |
here you go: |
And how do you imagine ConEmu would fit your string in non-intended console space without shrinking??? You have two options: either install CJK OS or do not use CJK. |
Oh... then I have a counterquestion - why does the same happens on complete japanese windows installation? ConEmu 160612 [32] Startup Info |
p.s.
The same way ConEmu v 141221 did. That's why I wrote that expected behavior from updating the program is to not lose current functionality |
The same? I doubt. Show screenshots of ConEmu and RealConsole on DBCS system. And issue chcp in that console, what codepage it shows?
Previously, ConEmu trims glyphs which overrun intended rectangle. Just compare screenshots. I'm sure partially displayed text is worse than compressed one. |
This looks like a bug of Far Manager. On DBCS enabled systems, CJK takes two cells instead of one. AFAIK Far ignores this fact and it's an issue for Mantis. Why your long string is displayed condensed in ConEmu I'm not sure. Depends on exact glyphs location in console. Seems like Far tries to fit data which exceeds panels size. And ConEmu do its best to fit bad data... |
Oh well ok, will stick to old version then. |
I can't understand why do you prefer cropped content. |
Elaborate please, what exactly do you mead by cropped content? |
OK, more reasons and description In your own example, you have really long text in your console ConEmu can't do any magic. It shows in virtual console the data console application printed. Lets take WinWord for example. Would you like if the text you typed goes out of page margins? What happens if you send this doc to printer? You would have only half of the book, which has absolutely no sense. You can't guess what was in the cropped text (which overruns page margins). What would happen, when you try to copy this cropped string (old ConEmu behavior) from console? Doesn't matter, with Far's grabber Well, some fun below: With old behavior, when overruns were just dropped (cropped) you got that And you just didn't see infomation which may be valuable On DBCS enabled OS properly designed console application knows, that CJK takes two cells and does not try to print more data than possible. Far was not designed for CJK, thats why I've suggested you to complain on Mantis. |
Than you would be able to scroll long names as usual in Far with
That behaviour of console application would be absolute proper and ConEmu would not crop/drop/whatever any parts of text. And there would be no overlaps too.
You can easily see that part on the left. You have no idea at all that after
Look. I do not tell you that current implementation is ideal. ConEmu just does its best to show what console application asks to show. |
DBCS versions of Windows works absolutely different than non-DBCS. The only exception is codepage 65001. It uses one unicode (wchar_t) real cell. The console window (conhost.exe) and ConEmu known about that and display sequence of cells ( So, when you are using CJK Windows, console applications must work in different way than on non-CJK Windows. |
So, you are wrong here. There would be no spaces. Only CJK glyphs which are (unfortunately) doubled in conhost internal buffer (taking two cells) but are displayed as one wide glyph. |
Simple test in CPP coming
|
I'm not into programming, much more in CPP.
Well, I mean spaces between glyphs. Console should use monowidth font for those, so there should be more spacing between actual character lines when compared to pure graphic output |
I'm preparing tests and screenshots. Later today...
What do you mean? On DBCS system "monowidth" font has different width for double-width (CJK, full) and single-width (just ASCII) characters. PS. Is it possible to discuss in Russian to avoid translation problems? |
yep. |
Here are some tests: https://github.com/Maximus5/Write-Read-Test
RealConsole (conhost.exe) physically can't show more than 30 full-width glyphs in 60-cells console. They are folded to the next line otherwise. Each CJK takes two cells in any case on DBCS OS.
Exactly as they must. ASCII (half-width) would take single cell.
Same as in RealConsole. There would be no compression at all, because all glyphs would take desired space. On DBCS OS of course.
Arial? Times New Roman? Tahoma? Awful... regardless CJK or not. |
And here's the answer. It would definitely look awful for me if this bug in FAR was fixed. That's why I won't report it and prefer you'd not do it too. |
…by default. By unchecking that option you'll get ‘old’ behavior, when ConEmu just trims text, which overruns dedicated space. Read comments in the issue for details: #739
If you think output nay be improved (looks like so), reopen the issue and put here the file/text where problem occurs. |
@AndyScull Chinese character hava the same problem. Is there any solution now? |
Sadly, no, I just use old version of conemu, from 2014. I don't use newer features, all I need is correct display of unicode characters and it does it. |
@AndyScull Thank you very much, your answer is very helpful to me. |
I don't think the issue is actual in current ConEmu builds. Option "Compress long strings to fit space" exists for a long time. |
@Maximus5 Unfortunately,Option "Compress long strings to fit space" don't work in current ConEmu builds, this is my screenshot. |
Isn't it better to ping the issue? |
@TGhoul So, do you prefer to lost completely the tail of the string in favor of CJK not clamping together? |
Versions
ConEmu build: 160612 x32 (stable)
OS version: Windows 7 x64
Used shell version: Far Manager
Problem description
Problem with japanese characters overlapping one another.
See attached screenshots from 141221, it does not have this problem.
ConEmu settings for text are same - same checkboxes, fonts, font sizes.
Switching to Monolength isn't acceptable since it makes filenames with ascii characters look really bad
Steps to reproduce
Actual results
-->screenshots
Expected results
not break existing functionality
Additional files
ConEmu 2016: some filenames do not keep original character widths (which is probably defined in ttf font?)



ConEmu 2014: each character has it's own width and displayed correctly. There are some characters with more space that visible glyph is, but at least they aren't drawn over each another
The text was updated successfully, but these errors were encountered: