1个不稳定版本

0.1.0 2024年3月29日

#319 in 国际化(i18n)

BSD-3-Clause

5KB
50 代码行数(不含注释)

此库提供了一个包装结构体 CJKAlign,用于在终端上正确对齐CJK和emoji字符。尽管其名称如此,但它也适用于unicode-width crate支持的Unicode字符。

use cjk_align::CJKAlign;

assert_eq!(format!("{:6}", CJKAlign("你好")), "你好  ");
assert_eq!(format!("{:>6}", CJKAlign("你好")), "  你好");
assert_eq!(format!("{:^6}", CJKAlign("你好")), " 你好 ");
assert_eq!(format!("{:^7}", CJKAlign("你好")), "  你好 ");

要将东亚模糊宽度字符视为双宽度,请使用 CJKAlignWide

use cjk_align::{CJKAlign, CJKAlignWide};

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

lib.rs:

此库提供了一个包装结构体 [CJKAlign],用于在终端上正确对齐CJK和emoji字符。尽管其名称如此,但它也适用于unicode-width crate支持的Unicode字符。

use cjk_align::CJKAlign;

assert_eq!(format!("{:6}", CJKAlign("你好")), "你好  ");
assert_eq!(format!("{:>6}", CJKAlign("你好")), "  你好");
assert_eq!(format!("{:^6}", CJKAlign("你好")), " 你好 ");
assert_eq!(format!("{:^7}", CJKAlign("你好")), "  你好 ");

要将东亚模糊宽度字符视为双宽度,请使用 [CJKAlignWide]

use cjk_align::{CJKAlign, CJKAlignWide};

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

依赖项

~375KB