kanji 2.0.0

A library for the handling and analysis of Japanese text, particularly Kanji.
Documentation
# Kanji

[![Tests](https://github.com/fosskers/rs-kanji/workflows/Tests/badge.svg)](https://github.com/fosskers/rs-kanji/actions)
[![](https://img.shields.io/crates/v/kanji.svg)](https://crates.io/crates/kanji)

A library for the handling and analysis of Japanese text, particularly Kanji. It
can be used to find the density of Kanji in given texts according to their
*Level* classification, as defined by the Japan Kanji Aptitude Testing
Foundation (日本漢字能力検定協会).

The Kanji data presented here matches the Foundation's official 2020 February
charts. Note that [some Kanji had their levels changed][changed] (pdf) as of
2020.

See the [documentation][docs] for further explanation and usage examples.

For the Haskell version of this library, [see here][haskell].

---

`kanji`は日本文を分析するライブラリです。漢字を中心とし、日本漢字能力検定協会が
指定する「級」に従って文の中の漢字の密度や難度を計算する事ができます。

「級」自体は2020年2月現在。注意:協会の2月の報告によると[いくつかの級の配
当漢字に変更][changed]がありました。

ライブラリの詳しい使い方は[ドキュメンテーション][docs]をご覧ください。

`kanji`のHaskell版は[こちら][haskell].

[changed]: https://www.kanken.or.jp/kanken/topics/data/alterclassofkanji2020.pdf
[haskell]: http://hackage.haskell.org/package/kanji
[docs]: https://docs.rs/kanji/

### Example・例

To find out how many Kanji of each exam level belong to some text:

ある文の漢字はどの級に所属するかを計算するには:

```rust
let level_table = kanji::level_table();
let texts = vec![
    "非常に面白い文章",
    "誰でも読んだ事のある名作",
    "飛行機で空を飛ぶ",
];

for t in texts {
    let counts = kanji::kanji_counts(t, &level_table);
    println!("{:#?}", counts);
}
```