mojix
v1.0.1
Published
Moji / Kanji / Unicode analysis and encoding utilities
Downloads
62
Maintainers
Readme
Mojix
Mojix is the successor of MojiJS.
This project was renamed to avoid confusion with other libraries named "moji" or "moji.js".
What
- 日本語・Unicode 文字データを解析および変換するライブラリです。
- 詳細な API を公開しています。
- 動作例 (コンソール及びソースコードを確認してみてください。)
- npm
- MojiJS の後継ライブラリとして開発されています。
- API や機能は基本的に MojiJS を引き継いでいます。
- Mojix では ECMAScript 3 をサポートしていません。JScript 実行環境が必要な場合は、MojiJS をご利用ください。
主な機能
- エンコード (UTF-8 / UTF-16 / UTF-32 / Shift_JIS / Shift_JIS-2004 / EUC-JP / EUC-JIS-2004)
- 日本語の変換 (ひらがな / カタカナ / 半角 / 全角 / ローマ字 など)
- 漢字の判定 (常用漢字 / 人名用漢字 / 面区点 / 漢字水準 など)
- 自然順ソート
Install
npm install mojixESM
sample.js
import Mojix from "mojix";
console.log(Mojix);CommonJS
sample.cjs
const Mojix = require("mojix");
console.log(Mojix);Browser(umd)
sample.html
After loading the script, Mojix will be available on globalThis.
<script src=".../umd/mojix.min.js" charset="utf-8"></script>
<script>
/** @typedef {typeof import('.../types/mojix').default} MojixClass */
/** @type {MojixClass} */
const Mojix = /** @type {any} */ (globalThis).Mojix;
console.log(Mojix);
</script>Sample
エンコード
console.log(Mojix.encode("圡①靁謹𪘂麵", "shift_jis-2004"));
// -> [ 136, 98, 135, 64, 251, 154, 238, 174, 252, 238, 239, 238 ]
console.log(Mojix.decode([0x61, 0xE3, 0x81, 0x82], "utf-8"));
// -> aあ日本語の変換
console.log(Mojix.toHiragana("カキクケコ"));
// -> かきくけこ面区点
const data1 = Mojix.getMojiData(Mojix.codePointAt("髙"));
console.log("区点:" + data1.encode.kuten.text + ", 漢字水準:" + data1.type.kanji_suijun);
// -> 区点:118-94, 漢字水準:0
// ※髙は JIS X 0208 に登録されていないので、漢字水準は表示不可
const data2 = Mojix.getMojiData(Mojix.codePointAt("圡"));
console.log("面区点:" + data2.encode.menkuten.text + ", 漢字水準:" + data2.type.kanji_suijun);
// -> 面区点:1-15-35, 漢字水準:3
const data3 = Mojix.getMojiData(Mojix.codePointAt("唁"));
console.log("面区点:" + data3.encode.menkuten.text + ", 漢字水準:" + data3.type.kanji_suijun);
// -> 面区点:2-3-93, 漢字水準:4自然順ソート
console.log(["3", "02", "あ", "イ", "う", "1"].sort(Mojix.compareToForNatural));
// -> [ '1', '02', '3', 'あ', 'イ', 'う' ]