]>
Commit | Line | Data |
---|---|---|
8bb4bdeb XL |
1 | # unicode-width |
2 | ||
3 | Determine displayed width of `char` and `str` types according to | |
4 | [Unicode Standard Annex #11](http://www.unicode.org/reports/tr11/) | |
5 | rules. | |
6 | ||
7 | [![Build Status](https://travis-ci.org/unicode-rs/unicode-width.svg)](https://travis-ci.org/unicode-rs/unicode-width) | |
8 | ||
9 | [Documentation](https://unicode-rs.github.io/unicode-width/unicode_width/index.html) | |
10 | ||
11 | ```rust | |
12 | extern crate unicode_width; | |
13 | ||
14 | use unicode_width::UnicodeWidthStr; | |
15 | ||
16 | fn main() { | |
17 | let teststr = "Hello, world!"; | |
18 | let width = UnicodeWidthStr::width(teststr); | |
19 | println!("{}", teststr); | |
20 | println!("The above string is {} columns wide.", width); | |
21 | let width = teststr.width_cjk(); | |
22 | println!("The above string is {} columns wide (CJK).", width); | |
23 | } | |
24 | ``` | |
25 | ||
26 | ## features | |
27 | ||
28 | unicode-width does not depend on libstd, so it can be used in crates | |
29 | with the `#![no_std]` attribute. | |
30 | ||
31 | ## crates.io | |
32 | ||
33 | You can use this package in your project by adding the following | |
34 | to your `Cargo.toml`: | |
35 | ||
36 | ```toml | |
37 | [dependencies] | |
8faf50e0 | 38 | unicode-width = "0.1.5" |
8bb4bdeb | 39 | ``` |