cjk-align 0.1.0

Align CJK and emoji characters correctly on terminals
Documentation
  • Coverage
  • 33.33%
    1 out of 3 items documented1 out of 3 items with examples
  • Size
  • Source code size: 5.94 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 398.04 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • lilydjwg/cjk-align
    6 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • lilydjwg

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("“……”")), "“……”");