unicode-width
Determine displayed width of `char` and `str` types according to Unicode Standard Annex #11 rules.
0.2.2
752M downloads/mo
#101 most downloaded on crates.io
unicode-rs/unicode-width
What this package is like to depend on
Last release 10 months ago
06 Oct 2025
Ships fairly regularly
a new release about every 7 months
This project publishes no release notes
the list below is its commits, not an announcement
Nothing withdrawn
no release was ever pulled
11 years old
19 releases · first in 2015
1 release in the last 12 months
see the full history below
Release timeline
19 releases · Apr 2015 to Oct 2025Releases
latest 19-
0.2.206 Oct 2025Commits, not release notes
This project publishes no release notes. Between
v0.2.1andv0.2.2there were 2 commits, 2 of them substantive:- Support Unicode 17 (#75)
- Publish 0.2.2 (#79)
-
0.2.109 Jun 2025Commits, not release notes
This project publishes no release notes. Between
v0.2.0andv0.2.1there were 7 commits, 6 of them substantive:- Make characters with
Line_Break=Ambiguousambiguous (#61) - Advertise and enforce MSRV (#73)
- Support Unicode 16 (#74)
- update copyright year (#76)
- Remove
compiler-builtinsfromrustc-dep-of-stddependencies (#77) - Publish 0.2.1
- Make characters with
-
0.2.019 Sep 2024Commits, not release notes
This project publishes no release notes. Between
v0.1.14andv0.2.0there were 1 commits, 1 of them substantive:- Publish 0.2.0 with newlines treated as width 1 (#68)
-
0.1.1419 Sep 2024Commits, not release notes
This project publishes no release notes. Between
v0.1.13andv0.1.14there were 6 commits, 6 of them substantive:- fix CI failure (#59)
- include U+0000 in comment (#58)
- Support lots of ligatures (#53)
- Support
Grapheme_Cluster_Break=Prepend(#62) - Treat ambiguous
Modifier_Letters as narrow (#63) - Treat newlines as width 0 in the 0.1 stream, publish 0.1.14 (#67)
-
0.1.1304 Jun 2024Commits, not release notes
This project publishes no release notes. Between
v0.1.12andv0.1.13there were 32 commits, 21 of them substantive:- Add more canonical equivalence tests
- Remove old normalization test
- Specify unicode version in unicode.py
- Check
NormalizationTest.txtinto CI - Even more tests
- Diff
NormalizationTest.txtin CI - Fix CI
- More CI fix
- Support text presentation sequences
- Remove soft hyphen special case
- Control characters have width 1
- Test width = sum(grapheme cluster widths)
- Revert "Test width = sum(grapheme cluster widths)"
- Fix CI link in README
- Support Lisu tone letters
- Mark U+070F SYRIAC ABBREVIATION MARK as zero width
- Mark U+A8FA DEVANAGARI CARET as zero-width
- Mark more
Prepended_Concatenation_Marks as non-advancing - Refactor
unicode.py - Assign the same CJK width to canonically equivalent strings
…and 1 more.
-
0.1.1226 Apr 2024Commits, not release notes
This project publishes no release notes. Between
v0.1.11andv0.1.12there were 25 commits, 17 of them substantive:- Treat
Default_Ignorable_Code_Points as zero-width - Treat all jungseong and jongseong jamo as 0-width
- Don't treat
Prepended_Concatenation_Marks as zero width - Give U+115F HANGUL CHOSEONG FILLER width 2
- Add more info to README
- Mark interlinear annotation chars and Egyptian hieroglyph format controls as non-zero width
- doc: align no_std info with README
- Drop redundant use-declarations
- tests: drop redundant feature guards
- build: mark
no_stdas legacy feature flag - Ensure that canonically equivalent strings have the same width
- Refactor tests
unicode.py: Don't useUnicodeData.txtanymore- Document width rules
- Cargo.toml: add categories
- Cargo.toml: make license SPDX-compliant
- Support emoji presentation sequences
- Treat
-
0.1.1119 Sep 2023Commits, not release notes
This project publishes no release notes. Between
v0.1.10andv0.1.11there were 8 commits, 6 of them substantive:- Use Iterator::sum() instead of fold()
- Update to Unicode 15.1
- Create rust.yml
- Fixup script
- Add ignore file
- Publish 0.1.11 (Unicode 15.1)
-
0.1.1013 Sep 2022Commits, not release notes
This project publishes no release notes. Between
v0.1.9andv0.1.10there were 8 commits, 4 of them substantive:- Switch from binary search to lookup tables
- Add Wikipedia benchmarks & instructions
- Use static tables
- Update to Unicode 15
-
0.1.916 Sep 2021Commits, not release notes
This project publishes no release notes. Between
v0.1.8andv0.1.9there were 3 commits, 2 of them substantive:- Update to Unicode 14
- Update to 0.1.9
-
0.1.829 Jun 2020Nothing published for this version
-
0.1.705 Dec 2019Nothing published for this version
-
0.1.619 Aug 2019Nothing published for this version
-
0.1.519 May 2018Nothing published for this version
-
0.1.423 Dec 2016Nothing published for this version
-
0.1.320 Aug 2015Nothing published for this version
-
0.1.209 Jul 2015Nothing published for this version
-
0.1.119 Apr 2015Nothing published for this version
-
0.1.016 Apr 2015Nothing published for this version
-
0.0.114 Apr 2015Nothing published for this version