Comments (3)
I think Terminal is correct here.
It used to be correct! But nowadays, terminals are supposed to mostly handle grapheme clusters as per UAX#29 correctly (the Unicode Text Segmentation standard). The width of a glyph is the maximum width of each character in a grapheme cluster as per UAX#11 (the East Asian Width standard).
The two glyphs are syllable type L (leading consonant) and V (vowel), as per:
UAX#29 specifies that L×V do not break apart, which means that Windows Terminal has at least 1 bug: It should treat 르 as a single unit for cursor navigation, etc.
I'm not entirely sure whether 르 should be drawn as 르, because I'm not a native Korean speaker. But given the above it should definitely only get allocated 1 cell, which would mean that it should be drawn as 르, because it won't fit otherwise. I believe the only reason it currently gets drawn as 르 is because we rely on DirectWrite whose builtin support for modern Unicode is still incomplete. For instance, you can try pasting 르 into Word and it'll be broken just like it is in Windows Terminal. Both are built on top of DirectWrite. 😕
from terminal.
Found the answer: https://devblogs.microsoft.com/oldnewthing/20201009-00/?p=104351
tl;dr: Windows (DirectWrite) does it ""right"" but they're literally the only one to do so, which is why Windows is effectively wrong. There's no alternative to DirectWrite though... Hmm, I hope I can figure something out because normalizing the input text to NFC first would be super awkward and make performance optimizations difficult.
from terminal.
I think Terminal is correct here. The text file you provided contains two letters ᄅ
(U+1105) and ᅳ
(U+1173).
The browser seems to be combining those two together to render them as 르
(U+B974), which I don't think should be happening.
from terminal.
Related Issues (20)
- Terminal confused after restarting script programmatically (Python) HOT 3
- Unclosable window and no window content rendering when launched with "-embedding" HOT 2
- `CreatePseudoConsole` crashes due to long path to conpty.dll HOT 1
- Considerable input (typing) lag after lots of output HOT 5
- Add more flexibility to keybinding HOT 5
- 1.19.10573 version of the terminal will conflict with the Windows font rendering program MacType HOT 3
- Inconsistent Korean translations in Font Weight settings HOT 1
- Opening console/terminal handle with user input HOT 3
- PreinstallKit silently fails registration phase HOT 3
- Provide better documentation and samples for default terminal application implementation. HOT 3
- If state.json contains any unknown dismissed message keys, we crash
- STILL Can't bypass DOSkey macro with leading space HOT 7
- Windows PowerShell 5.1 profile.ps1 cannot be loaded. A required certificate is not within its validity period HOT 2
- Windows Terminal and wsl.exe broken HOT 19
- Several broken commands using forward slash HOT 1
- Renderer encountered an unexpected error: -2147024809 HOT 4
- Problem with pasting in broadcast mode HOT 3
- Unicode composition characters break rendering HOT 5
- Some client app closes randomly after idle (even with sleep disabled) HOT 10
- sendInput sending no input on `\u001b\u007f`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terminal.