Comments (6)
May I please mention this article that details the varying display of Wide characters across Terminals in depth,
https://jeffquast.com/post/terminal_wcwidth_solution/
Perhaps the asciinema recorder could determine the Terminal's Unicode Version support level in the same way as the https://github.com/jquast/ucs-detect/ CLI tool that I recently published, and include the version in the metadata for the web player to honor, if the player could support selection by multiple versions of Unicode.
from asciinema-player.
The recently released 3.7.1 version of the player got several improvements around rendering accuracy, mostly fixing positioning and alignment of various character groups (ascii drawing, block elements, Powerline symbols, CJK, emoji). It now uses unicode-width library which helped quite a lot. It's not a 100% solution but it should look much better than before now.
The minesweeper demo looks perfectly aligned now:
The Asian characters demo is better now, although there's some glitching especially when the cursor moves over the double-width chars:
In summary: we're getting there 😅
from asciinema-player.
I'm having this problem with Emojis. Check cli-minesweeper
to try it out in your Terminal.
BTW @sickill thanks for this amazing tool & web service!
from asciinema-player.
Thanks for bringing this up. I was aware of this since I created the player. This requires major changes to the internal virtual terminal implementation and so far hasn't been an issue for asciinema users thus it wasn't a high priority task for anyone.
from asciinema-player.
It may be worth looking at Unicode 9 widths (example impl here: https://github.com/joshuarubin/wcwidth9), which may be a better fit than classic wcwidth()
-style calculation.
from asciinema-player.
@jquast thanks for linking to, and writing that blog post! It's going to be super useful when fixing this problem in asciinema player 🙇
from asciinema-player.
Related Issues (20)
- Feature Request: Beep HOT 6
- Let asciinema user's code get feeded data HOT 5
- Tmux pane disappears when opening nvim in its neighboring pane HOT 4
- Working example of getting source from element? HOT 5
- Player does not show in dropdown in Firefox HOT 7
- TypeError: Cannot read properties of null (reading 'firstChild')
- view operation records in real-time
- Wrapping failure under special conditions
- UI will not show up when pressing hotkeys HOT 3
- why does it not render sixel? HOT 1
- v3 player is harder to style than v2 HOT 8
- UI width not correctly computed HOT 3
- Cannot read properties of null (reading 'init') HOT 1
- theme settings seems to be ignored HOT 4
- sixel support
- Artifacting on asciinema.org - looks good in CLI player HOT 2
- Feature: Text to speech HOT 4
- FYI, hit unreachable!() in webassembly player HOT 3
- Player width sizing incorrect on Safari/WebKit browsers HOT 7
- Failed to import `asciinema-player` (missing `"type": "module"`?) HOT 1
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 asciinema-player.