Nouplo

ライセンス

このページがある理由

このサイトのツールはすべて、あなたの端末の中で処理を行います。つまり処理を行うコード自体がブラウザに送られ、そこで動いています。そのコードの一部は他の人が書き、オープンソースのライセンスで公開しているものです。ここでは、何を使い、どのライセンスに従っているかを記します。うち2つのライセンスはこうした表示を求めており、残りは義務ではありませんが、ファイルを預けてもらう以上、中身を明かすのが筋だと考えています。記載漏れにお気づきの場合は hello@nouplo.com までご連絡ください。

LGPLで使っている2つ

LAME(@breezystack/lamejs 経由)はMP3のエンコードに使っています。ブラウザ単体ではMP3を書き出せないためです。libheif(libheif-js 経由)は同じ理由で、iPhoneが撮るHEIC写真のデコードに使っています。どちらもGNU劣等一般公衆利用許諾書(LGPL)バージョン3の対象です。それぞれ公開されたままの形で、独立したファイルとしてブラウザに配信しており、当サイトのコードを混ぜ込んではいません。したがって同じライブラリの別のビルドに差し替えられます。ライセンス全文は各パッケージに同梱されており、ソースは各プロジェクトが公開しています(lame.sourceforge.io、github.com/strukturag/libheif)。

その他のライブラリ

以下は、著作権表示を残すことを主な条件とする寛容なライセンスで使っています。pdf.js(Apache-2.0)はPDFの画面表示。@cantoo/pdf-lib と @pdf-lib/fontkit(MIT)はPDFの読み書き。ONNX Runtime Web(MIT)は後述のモデルの実行。fflate(MIT)は圧縮と展開。zip.js(BSD-3-Clause)はパスワード付きZIPの暗号化と復号。mp4box(BSD-3-Clause)と mp4-muxer(MIT)はMP4の分解と再構成。heic-decode(ISC)は libheif のラッパー。gifenc(MIT)はGIFの書き出し。jsQR(Apache-2.0)はQRコードの読み取り、qrcode-generator(MIT)は生成。PapaParse(MIT)はCSVの読み取り、marked(MIT)はMarkdownの読み取り、Comlink(Apache-2.0)はバックグラウンドスレッドとのやり取りに使っています。RNNoise(BSD-3-Clause、Xiph.Orgほか)は、@shiguredo/rnnoise-wasm(Apache-2.0)でブラウザ用にビルドされたものを使い、声から雑音を取り除きます。ライセンスは /models/ に置いています。住所の英語変換は日本郵便の郵便番号データ(ローマ字)を使っています。日本郵便はこのデータの自由な再配布を認めています。

モデル

機械学習を使うツールは、初回の実行時にモデルを取得し、その後はブラウザのキャッシュに残ります。MODNet と U²-Net は被写体と背景の分離(Apache-2.0)。Real-ESRGAN は画像の拡大(BSD-3-Clause)。YuNet は顔の検出(MIT)。PP-OCR は画像内の文字の読み取り(Apache-2.0)。MI-GAN は消しゴムで消した部分の塗り直し(MIT)。ReazonSpeech は日本語音声の文字起こし(Apache-2.0)。Whisper base(OpenAI、Apache-2.0)は英語の音声を文字にします。各モデルには、そのライセンスと作者を記した表示を /models/ フォルダ内のモデルファイルと同じ場所に置いています。

フォント

ツールがPDFに文字を書き込むときは、入力された文字を含むフォントを埋め込みます。ヨーロッパの文字には Liberation Sans、日本語と韓国語には Noto Sans JP と Noto Sans KR です。3つとも SIL Open Font License 1.1 のもとで使用しており、ライセンス本文もフォントと同じ場所で配信しています。原稿用紙の文字は Noto Serif JP で組んでいます。なぞり書きプリントの文字は Playwrite(TypeTogether)、Andika(SIL International)、クレー One(Fontworks)で描いており、3つとも同じライセンスです。Playwrite とクレー One は使う文字だけに絞って配信し、Andika は手を加えずに配信しています。

刺しゅう糸の色

クロスステッチ図案の色合わせには、Sharla Gelfand 氏の dmc パッケージの「floss」データ(github.com/sharlagelfand/dmc、Copyright 2020 Sharla Gelfand、MITライセンス)を使っており、ライセンスの表示はコード内の表に添えています。このデータは adrianj/CrossStitchCreator の表を整えたものです。DMC は糸メーカーの名前で、どの糸の番号かを示すためだけに使っています。

単語リスト

韻を探すツールと、手持ちの文字から作れる単語を探すツール(ワードファインダー)は、各言語で使用頻度の高い上位40,000語のリストを検索します。リストは Robyn Speer による wordfreq(github.com/rspeer/wordfreq)から取ったもので、その語の頻度データはクリエイティブ・コモンズ 表示-継承 4.0(creativecommons.org/licenses/by-sa/4.0)のもとで配布されており、Google Books Ngrams、Leeds Internet Corpus、Wikipedia、ParaCrawl、OpenSubtitles 2018(opensubtitles.org)、Marc Brysbaert 氏らの SUBTLEX リストなどに基づいています。当サイトのリスト(単語のみを頻度順に並べ、各言語の文字に絞ったもの)も同じライセンスのもと、text.nouplo.com の /data/words/ で公開しています。

音節の数

音節カウンターは、英単語の音節の数を Carnegie Mellon Pronouncing Dictionary(github.com/cmusphinx/cmudict、Copyright 1993–2015 Carnegie Mellon University)から取っており、BSD形式のライセンスのもとで使っています。ライセンスの表示は、text.nouplo.com の /data/words/en-syllables.txt に当サイトのリストと一緒に置いています。

ビーズの色

アイロンビーズ図案作成の色合わせには、maxcleme 氏の beadcolors(github.com/maxcleme/beadcolors、Copyright 2020 maxcleme、MITライセンス)が集めた Hama・Perler・Artkal の色番号を使っており、ライセンスの表示はコード内の表に添えています。Hama、Perler、Artkal はメーカーの名前で、どのビーズの番号かを示すためだけに使っています。

イタリアのコムーネ(自治体)

イタリアの納税者番号(codice fiscale)の計算ツールは、イタリアのコムーネ(現存するものと、1861年以降に廃止されたもの)の地籍コード(codice catastale、Belfiore コード)と外国の国コードを、イタリア国立統計研究所(ISTAT、istat.it)の「Elenco comuni italiani」と SITUAS の過去の登録データから引いています。これらはクリエイティブ・コモンズ 表示 4.0(creativecommons.org/licenses/by/4.0)のもとで公開されています。出典を記した当サイトのコンパクトな写しは、text.nouplo.com の /data/comuni/ で公開しています。