11 stable releases

2.0.0-beta1 Nov 23, 2024
1.5.1 Jun 25, 2024
1.5.0 May 28, 2024
1.4.1 Feb 15, 2024
0.6.0 May 17, 2022

#369 in Internationalization (i18n)

Download history 2229/week @ 2024-08-19 3182/week @ 2024-08-26 2893/week @ 2024-09-02 3203/week @ 2024-09-09 1905/week @ 2024-09-16 2361/week @ 2024-09-23 2178/week @ 2024-09-30 4078/week @ 2024-10-07 2649/week @ 2024-10-14 3280/week @ 2024-10-21 3115/week @ 2024-10-28 2869/week @ 2024-11-04 2301/week @ 2024-11-11 2911/week @ 2024-11-18 1874/week @ 2024-11-25 2328/week @ 2024-12-02

9,623 downloads per month
Used in 3 crates

Unicode-3.0

4.5MB
71K SLoC

Rust 54K SLoC // 0.1% comments JavaScript 15K SLoC // 0.1% comments TypeScript 2.5K SLoC // 0.2% comments

icu_capi crates.io

This crate contains the source of truth for the Diplomat-generated FFI bindings. This generates the C, C++, JavaScript, and TypeScript bindings. This crate also contains the extern "C" FFI for ICU4X.

While the types in this crate are public, APIs from this crate are not intended to be used from Rust and as such this crate may unpredictably change its Rust API across compatible semver versions. The extern "C" APIs exposed by this crate, while not directly documented, are stable within the same major semver version, as are the bindings exposed under the cpp/ and js/ folders.

This crate may still be explored for documentation on docs.rs, and there are language-specific docs available as well. C++, Dart, and TypeScript headers contain inline documentation, which is available pre-rendered: C++, TypeScript.

This crate is no_std-compatible. If you wish to use it in no_std mode, you must write a wrapper crate that defines an allocator and a panic hook in order to compile as a C library.

More information on using ICU4X from C++ can be found in our tutorial.

More Information

For more information on development, authorship, contributing etc. please visit ICU4X home page.

Dependencies

~1–14MB
~90K SLoC