Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lilydjwg/cjk-align

Align CJK and emoji characters correctly on terminals
https://github.com/lilydjwg/cjk-align

cjk cjk-characters rust-library

Last synced: about 2 months ago
JSON representation

Align CJK and emoji characters correctly on terminals

Awesome Lists containing this project

README

        

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.

```rust
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:

```rust
use cjk_align::{CJKAlign, CJKAlignWide};

assert_eq!(format!("{:8}", CJKAlign("“……”")), "“……” ");
assert_eq!(format!("{:8}", CJKAlignWide("“……”")), "“……”");
```