| # unicode-width |
| |
| Determine displayed width of `char` and `str` types according to |
| [Unicode Standard Annex #11](http://www.unicode.org/reports/tr11/) |
| rules. |
| |
| [](https://travis-ci.org/unicode-rs/unicode-width) |
| |
| [Documentation](https://unicode-rs.github.io/unicode-width/unicode_width/index.html) |
| |
| ```rust |
| extern crate unicode_width; |
| |
| use unicode_width::UnicodeWidthStr; |
| |
| fn main() { |
| let teststr = "Hello, world!"; |
| let width = UnicodeWidthStr::width(teststr); |
| println!("{}", teststr); |
| println!("The above string is {} columns wide.", width); |
| let width = teststr.width_cjk(); |
| println!("The above string is {} columns wide (CJK).", width); |
| } |
| ``` |
| |
| ## features |
| |
| unicode-width does not depend on libstd, so it can be used in crates |
| with the `#![no_std]` attribute. |
| |
| ## crates.io |
| |
| You can use this package in your project by adding the following |
| to your `Cargo.toml`: |
| |
| ```toml |
| [dependencies] |
| unicode-width = "0.1.5" |
| ``` |