Skip to content

Commit ff4923a

Browse files
authored
Merge pull request #7 from theindigamer/add-emoji-example
Add a possible issue to the README.
2 parents 9bc5375 + 88bc3ea commit ff4923a

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

README.md

+21-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
# unicode-width
22

33
Determine displayed width of `char` and `str` types according to
4-
[Unicode Standard Annex #11](http://www.unicode.org/reports/tr11/)
5-
rules.
4+
[Unicode Standard Annex #11][UAX11] rules.
5+
6+
[UAX11]: (http://www.unicode.org/reports/tr11/)
67

78
[![Build Status](https://travis-ci.org/unicode-rs/unicode-width.svg)](https://travis-ci.org/unicode-rs/unicode-width)
89

@@ -23,6 +24,24 @@ fn main() {
2324
}
2425
```
2526

27+
**NOTE:** The computed width values may not match the actual rendered column
28+
width. For example, the woman scientist emoji comprises of a woman emoji, a
29+
zero-width joiner and a microscope emoji.
30+
31+
```rust
32+
extern crate unicode_width;
33+
use unicode_width::UnicodeWidthStr;
34+
35+
fn 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+
42+
See [Unicode Standard Annex #11](UAX11) for precise details on what is and isn't
43+
covered by this crate.
44+
2645
## features
2746

2847
unicode-width does not depend on libstd, so it can be used in crates

src/tests.rs

+10
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,16 @@ fn test_str() {
108108
assert_eq!("\u{2081}\u{2082}\u{2083}\u{2084}".width_cjk(), 8);
109109
}
110110

111+
#[test]
112+
fn test_emoji() {
113+
// Example from the README.
114+
use super::UnicodeWidthStr;
115+
116+
assert_eq!(UnicodeWidthStr::width("👩"), 2); // Woman
117+
assert_eq!(UnicodeWidthStr::width("🔬"), 2); // Microscope
118+
assert_eq!(UnicodeWidthStr::width("👩‍🔬"), 4); // Woman scientist
119+
}
120+
111121
#[test]
112122
fn test_char() {
113123
use super::UnicodeWidthChar;

0 commit comments

Comments
 (0)