| Crates.io | cjk-align |
| lib.rs | cjk-align |
| version | 0.1.0 |
| created_at | 2024-03-29 14:19:33.958441+00 |
| updated_at | 2024-03-29 14:19:33.958441+00 |
| description | Align CJK and emoji characters correctly on terminals |
| homepage | |
| repository | https://github.com/lilydjwg/cjk-align |
| max_upload_size | |
| id | 1190161 |
| size | 6,049 |
This library provides a wrapper struct CJKAlign to align CJK and emoji characters
correctly on terminals. Despite its name, it works for other Unicode characters too
as supported by the unicode-width crate.
use cjk_align::CJKAlign;
assert_eq!(format!("{:6}", CJKAlign("你好")), "你好 ");
assert_eq!(format!("{:>6}", CJKAlign("你好")), " 你好");
assert_eq!(format!("{:^6}", CJKAlign("你好")), " 你好 ");
assert_eq!(format!("{:^7}", CJKAlign("你好")), " 你好 ");
To treat East Asian ambiguous width characters as double width, use
CJKAlignWide instead:
use cjk_align::{CJKAlign, CJKAlignWide};
assert_eq!(format!("{:8}", CJKAlign("“……”")), "“……” ");
assert_eq!(format!("{:8}", CJKAlignWide("“……”")), "“……”");