# Crate unicode_width [−] [src]

Determine displayed width of `char` and `str` types according to Unicode Standard Annex #11 rules.

    extern crate unicode_width;

    use unicode_width::UnicodeWidthStr;

    fn main() {
        let teststr = "Ｈｅｌｌｏ, ｗｏｒｌｄ!";
        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 supports a `no_std` feature. This eliminates dependence on std, and instead uses equivalent functions from core.

# crates.io

You can use this package in your project by adding the following to your `Cargo.toml`:

    [dependencies]
    unicode-width = "0.1.1"

## Constants

UNICODE_VERSION | The version of Unicode that this version of unicode-width is based on.

## Traits

UnicodeWidthChar | Methods for determining displayed width of Unicode characters.
UnicodeWidthStr | Methods for determining displayed width of Unicode strings.

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)