Home Reference Source

Mojix

ESDoc coverage badge MIT License

Mojix is the successor of MojiJS.
This project was renamed to avoid confusion with other libraries named "moji" or "moji.js".

What

主な機能

Install

npm install mojix

ESM

import Mojix from "mojix";
console.log(Mojix);

CommonJS

const Mojix = require("mojix");
console.log(Mojix);

Browser(umd)

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', 'あ', 'イ', 'う' ]

Author