• Home
Name Date Size #Lines LOC

..--

.github/workflows/06-Sep-2024-2925

patches/06-Sep-2024-1411

scripts/06-Sep-2024-506392

src/06-Sep-2024-863672

.cargo_vcs_info.jsonD06-Sep-202494 66

.gitignoreD06-Sep-202457 65

.travis.ymlD06-Sep-20241.1 KiB2926

Android.bpD06-Sep-20242.4 KiB7570

COPYRIGHTD06-Sep-2024321 87

Cargo.tomlD06-Sep-20241.4 KiB6155

Cargo.toml.origD06-Sep-2024906 3024

LICENSED06-Sep-202410.6 KiB202169

LICENSE-APACHED06-Sep-202410.6 KiB202169

LICENSE-MITD06-Sep-20241 KiB2622

METADATAD06-Sep-2024693 2119

MODULE_LICENSE_APACHE2D06-Sep-20240

NOTICED06-Sep-202410.6 KiB202169

OWNERSD06-Sep-202440 21

README.mdD06-Sep-20241.6 KiB5942

TEST_MAPPINGD06-Sep-2024515 2827

cargo_embargo.jsonD06-Sep-202442 54

README.md

1# unicode-width
2
3Determine displayed width of `char` and `str` types according to
4[Unicode Standard Annex #11][UAX11] rules.
5
6[UAX11]: http://www.unicode.org/reports/tr11/
7
8[![Build Status](https://travis-ci.org/unicode-rs/unicode-width.svg)](https://travis-ci.org/unicode-rs/unicode-width)
9
10[Documentation](https://unicode-rs.github.io/unicode-width/unicode_width/index.html)
11
12```rust
13extern crate unicode_width;
14
15use unicode_width::UnicodeWidthStr;
16
17fn main() {
18    let teststr = "Hello, world!";
19    let width = UnicodeWidthStr::width(teststr);
20    println!("{}", teststr);
21    println!("The above string is {} columns wide.", width);
22    let width = teststr.width_cjk();
23    println!("The above string is {} columns wide (CJK).", width);
24}
25```
26
27**NOTE:** The computed width values may not match the actual rendered column
28width. For example, the woman scientist emoji comprises of a woman emoji, a
29zero-width joiner and a microscope emoji.
30
31```rust
32extern crate unicode_width;
33use unicode_width::UnicodeWidthStr;
34
35fn main() {
36    assert_eq!(UnicodeWidthStr::width("��"), 2); // Woman
37    assert_eq!(UnicodeWidthStr::width("��"), 2); // Microscope
38    assert_eq!(UnicodeWidthStr::width("��‍��"), 4); // Woman scientist
39}
40```
41
42See [Unicode Standard Annex #11][UAX11] for precise details on what is and isn't
43covered by this crate.
44
45## features
46
47unicode-width does not depend on libstd, so it can be used in crates
48with the `#![no_std]` attribute.
49
50## crates.io
51
52You can use this package in your project by adding the following
53to your `Cargo.toml`:
54
55```toml
56[dependencies]
57unicode-width = "0.1.7"
58```
59