diff --git a/.gitignore b/.gitignore
index 71097f5..9cb2463 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,6 @@ _site
Gemfile.lock
.DS_Store
.idea
+env
+node_modules
+package-lock.json
diff --git a/.markdownlint.json b/.markdownlint.json
new file mode 100644
index 0000000..1ef9379
--- /dev/null
+++ b/.markdownlint.json
@@ -0,0 +1,17 @@
+{
+ "no-inline-html": {
+ "allowed_elements": [
+ "img"
+ ]
+ },
+ "blanks-around-headings": {
+ "lines_above": 2,
+ "lines_below": 1
+ },
+ "no-multiple-blanks": {
+ "maximum": 2
+ },
+ "single-title": false,
+ "line-length": false,
+ "commands-show-output": false
+}
diff --git a/.textlintrc b/.textlintrc
new file mode 100644
index 0000000..00869b0
--- /dev/null
+++ b/.textlintrc
@@ -0,0 +1,12 @@
+{
+ "rules": {
+ "preset-japanese": {
+ "sentence-length": false,
+ },
+ "prh": {
+ "rulePaths": [
+ "prh_rules/wiki.yml"
+ ]
+ }
+ }
+}
diff --git a/README.md b/README.md
index c58cc88..0935989 100644
--- a/README.md
+++ b/README.md
@@ -1,27 +1,4 @@
-# Minimal Mistakes remote theme starter
+# wiki.brainux.org
-Click [**Use this template**](https://github.com/mmistakes/mm-github-pages-starter/generate) button above for the quickest method of getting started with the [Minimal Mistakes Jekyll theme](https://github.com/mmistakes/minimal-mistakes).
+[How to edit](https://wiki.brainux.org/meta/meta-how-to-edit-wiki/)
-Contains basic configuration to get you a site with:
-
-- Sample posts.
-- Sample top navigation.
-- Sample author sidebar with social links.
-- Sample footer links.
-- Paginated home page.
-- Archive pages for posts grouped by year, category, and tag.
-- Sample about page.
-- Sample 404 page.
-- Site wide search.
-
-Replace sample content with your own and [configure as necessary](https://mmistakes.github.io/minimal-mistakes/docs/configuration/).
-
----
-
-## Troubleshooting
-
-If you have a question about using Jekyll, start a discussion on the [Jekyll Forum](https://talk.jekyllrb.com/) or [StackOverflow](https://stackoverflow.com/questions/tagged/jekyll). Other resources:
-
-- [Ruby 101](https://jekyllrb.com/docs/ruby-101/)
-- [Setting up a Jekyll site with GitHub Pages](https://jekyllrb.com/docs/github-pages/)
-- [Configuring GitHub Metadata](https://github.com/jekyll/github-metadata/blob/master/docs/configuration.md#configuration) to work properly when developing locally and avoid `No GitHub API authentication could be found. Some fields may be missing or have incorrect data.` warnings.
diff --git a/_config.yml b/_config.yml
index 3082930..2149cf2 100644
--- a/_config.yml
+++ b/_config.yml
@@ -42,6 +42,7 @@ exclude:
- Gemfile
- Gemfile.lock
- node_modules
+ - '*/node_modules'
- vendor/bundle/
- vendor/cache/
- vendor/gems/
diff --git a/_posts/2021-12-04-beginner-get-started.md b/_posts/2021-12-04-beginner-get-started.md
index 9e27b82..e923705 100644
--- a/_posts/2021-12-04-beginner-get-started.md
+++ b/_posts/2021-12-04-beginner-get-started.md
@@ -11,15 +11,16 @@ excerpt: ""
-# はじめに
-このページでは、SHARP Brain で Linux を動かす試みから生まれた Linux ディストリビューション **Brainux** を手軽に起動する方法をご紹介します。
+# 始めに
-Linux ディストリビューションは、2つの大きな要素としてカーネルとそれ以外のソフトウェアの組み合わせでできています。Brain の場合はカーネルを起動するブートローダーも SD カード上に必要なため、正確にはカーネル・ソフトウェア・ブートローダーのセットが必要になります。
+このページでは、SHARP Brain で Linux を動かす試みから生まれた Linux ディストリビューション **Brainux** を手軽に起動する方法を紹介します。
-リポジトリ [buildbrain](https://github.com/brain-hackers/buildbrain) では、Raspberry Pi と同様に SD カードに書き込むだけで起動可能にした SD イメージを公開しています。ちなみにカーネル・ソフトウェア・ブートローダーはどれも自力で準備することもできます。くわしくは本 Wiki の対応するページを参照してください。
+Linux ディストリビューションは、カーネルとそれ以外のソフトウェアの組み合わせです。Brain の場合はカーネルを起動するブートローダも SD カード上に必要なため、正確にはカーネル・ソフトウェア・ブートローダのセットが必要になります。
-質問がある場合や開発に参加したい場合は、まず [Brain Hackers の Discord](https://github.com/brain-hackers/README) に参加して頂き、「雑談」チャンネルでお気軽にご質問ください。
+リポジトリ [buildbrain](https://github.com/brain-hackers/buildbrain) では、Raspberry Pi と同様に SD カードに書き込むだけで起動可能にした SD イメージを公開しています。ちなみにカーネル・ソフトウェア・ブートローダはどれも自力で準備することもできます。詳しくは本 Wiki の対応するページを参照してください。
+
+質問がある場合や開発に参加したい場合は、まず [Brain Hackers の Discord](https://github.com/brain-hackers/README) に参加していただき、「雑談」チャンネルでお気軽にご質問ください。
# 対応している機種
@@ -48,7 +49,7 @@ Linux ディストリビューションは、2つの大きな要素としてカ
# SD カードに書き込む
-書き込むソフトは Windows / macOS / Linux のどれをお使いの場合でも利用可能な balenaEtcher がおすすめです。[公式サイト](https://www.balena.io/etcher/)にアクセスしてダウンロードしてください。
+書き込むソフトは Windows / macOS / Linux のどれをお使いの場合でも利用可能な balenaEtcher がお勧めです。[公式サイト](https://www.balena.io/etcher/)にアクセスしてダウンロードしてください。
macOS もしくは Linux をお使いの場合は、ZIP を展開して取り出した .img ファイルを `dd` コマンドでそのまま書くことも可能です。
@@ -61,38 +62,38 @@ macOS もしくは Linux をお使いの場合は、ZIP を展開して取り出
2. "Flash from file" をクリックし、ダウンロードした ZIP ファイルを選択します
- - 展開する必要はありません
+ - 展開する必要はありません
-
+
-
+
3. "Select target" をクリックして書き込み先を選択します
- - 正しい SD カードを選択しているか慎重に確認してください
- - 4GB 以上の SD カードであればなんでも使用可能です
- - SD カードの性能がシステムの使用感に直結するため高速な SD カードを使用することをおすすめします
- - 画像では 8GB の SD カードを選択しています
+ - 正しい SD カードを選択しているか慎重に確認してください
+ - 4GB 以上の SD カードであればなんでも使用可能です
+ - SD カードの性能がシステムの使用感に直結するため高速な SD カードを使用することをお勧めします
+ - 画像では 8GB の SD カードを選択しています
-
+
-
+
4. "Flash!" をクリックして書き込みます
- - 改めて正しい SD カードが選択されているか確認した上で書き込んでください
- - 書き込みには管理者権限が必要なため管理者パスワードを入力します
+ - あらためて正しい SD カードが選択されているか確認したうえで書き込んでください
+ - 書き込みには管理者権限が必要なため管理者パスワードを入力します
-
+
-
+
-
+
5. 完成!
-
+
## dd を使う場合
@@ -102,8 +103,8 @@ macOS もしくは Linux をお使いの場合は、`dd` コマンドでも書
### macOS の場合
- - macOS では `/dev/disk*` に書き込むと非常に遅いため `/dev/rdisk*` を使用します
- - どのディスクが SD カードかはディスクユーティリティを使用して確認します
+- macOS では `/dev/disk*` に書き込むと非常に遅いため `/dev/rdisk*` を使用します
+- どのディスクが SD カードかはディスクユーティリティを使用して確認します
以下に実行例を示します。バージョン番号は適宜読み替えてください。
@@ -129,22 +130,23 @@ sudo dd if=~/Downloads/sdimage-2021-02-21-162410.img of=/dev/sdc bs=10M
書き込み終わった SD カードを Brain に挿入し、リセットボタンを押します。Brain のロゴが表示されたあと U-Boot が起動し、すぐ後に Linux が起動します。
-本体の内蔵キーボードに対応している機種では、ログインシェルが表示されたらユーザー名とパスワードともに `root` でログインできます。非対応の機種では、電源供給が可能なタイプの OTG ケーブルを使用してキーボードを繋ぐと操作できます。
+本体の内蔵キーボードに対応している機種では、ログインシェルが表示されたらユーザー名とパスワードともに `root` でログインできます。非対応の機種では、電源供給が可能なタイプの OTG ケーブルを使用してキーボードをつなぐと操作できます。
# 内蔵ハードウェア
Brain における Linux の動作はまだ初期段階であり、一部のハードウェアしか利用できません。
+
## キーボード (Sx1, Sx2)
キーが非常に少ない Brain のキーボードで必要な記号を打つため、キーボードの使用方法は特殊になっています。キートップに記載されたキー以外の文字は、すべて「記号」キーと「シフト」キーを組み合わせて入力します。
Shift キー・Ctrl キー・Alt キーは現実のキーボードに近い配置として以下のように対応させています。
- - Shift → 「シフト」
- - Ctrl → ページアップキー(《 を横に倒した記号のキー)
- - Alt → 「文字切り替え」キー
+- Shift → 「シフト」
+- Ctrl → ページアップキー(《 を横に倒した記号のキー)
+- Alt → 「文字切り替え」キー
キーと入力される文字のマップを以下に示します。
diff --git a/_posts/2021-12-04-linux-build.md b/_posts/2021-12-04-linux-build.md
index b39b6b1..ea3763b 100644
--- a/_posts/2021-12-04-linux-build.md
+++ b/_posts/2021-12-04-linux-build.md
@@ -10,6 +10,7 @@ excerpt: ""
# 動作環境
+
- Debian 10 (Buster)
- Ubuntu 20.04 LTS
@@ -17,6 +18,7 @@ excerpt: ""
# 依存関係のインストール
+
以下のコマンドで依存関係をインストールします。
```sh
@@ -25,14 +27,16 @@ sudo apt install build-essential bison flex libncurses5-dev gcc-arm-linux-gnueab
# Gitリポジトリのクローン
+
以下のコマンドでGitリポジトリをクローンして、必要なファイルをダウンロードします。長い時間がかかるので、時間のあるときに行いましょう。
-```
+```sh
git clone --recursive https://github.com/brain-hackers/buildbrain.git
```
# Linuxのビルド
+
1. `cd buildbrain` で `buildbrain` ディレクトリに入ります。
2. `make ldefconfig` を実行して、 `.config` ファイルを作成します。
@@ -41,6 +45,7 @@ git clone --recursive https://github.com/brain-hackers/buildbrain.git
# Brainuxのビルド
+
Linuxのカーネルの準備ができたら、カーネルの上で動くアプリケーションを用意して、Linuxディストリビューションを完成させます。
1. バックグラウンドで `make aptcache` を実行します。
@@ -51,22 +56,23 @@ Linuxのカーネルの準備ができたら、カーネルの上で動くアプ
## パッケージの追加方法 (任意)
-追加で欲しいパッケージを `./tools/setup_debian.sh` の51行目あたりに追記します。
+
+追加でほしいパッケージを `./tools/setup_debian.sh` の51行目あたりに追記します。
実際に追記した例を以下に示します。
```diff
- 42 apt install -y dialog sudo \
- 43 libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev \
- 44 xserver-xorg xserver-xorg-video-fbdev xserver-xorg-dev xorg-dev x11-apps \
- 45 openbox obconf obmenu \
- 46 weston xwayland \
- 47 bash tmux vim htop \
- 48 midori pcmanfm lxterminal xterm gnome-terminal fonts-noto-cjk \
- 49 dbus udev build-essential flex bison pkg-config autotools-dev libtool autoconf automake \
- 50 python3 python3-dev python3-setuptools python3-wheel python3-pip python3-smbus \
- 51 resolvconf net-tools ssh openssh-client avahi-daemon
-+ 52 apt install -y fbterm uim-fep uim-mozc
+ 42 apt install -y dialog sudo \
+ 43 libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev \
+ 44 xserver-xorg xserver-xorg-video-fbdev xserver-xorg-dev xorg-dev x11-apps \
+ 45 openbox obconf obmenu \
+ 46 weston xwayland \
+ 47 bash tmux vim htop \
+ 48 midori pcmanfm lxterminal xterm gnome-terminal fonts-noto-cjk \
+ 49 dbus udev build-essential flex bison pkg-config autotools-dev libtool autoconf automake \
+ 50 python3 python3-dev python3-setuptools python3-wheel python3-pip python3-smbus \
+ 51 resolvconf net-tools ssh openssh-client avahi-daemon
++ 52 apt install -y fbterm uim-fep uim-mozc
```
[SD カードへのコピー](/linux/linux-copy-sd-card/)に続く…
diff --git a/_posts/2021-12-04-linux-copy-sd-card.md b/_posts/2021-12-04-linux-copy-sd-card.md
index f24b2ee..3a91d52 100644
--- a/_posts/2021-12-04-linux-copy-sd-card.md
+++ b/_posts/2021-12-04-linux-copy-sd-card.md
@@ -9,20 +9,24 @@ excerpt: ""
---
-# 注意!
+# 注意
+
***この手順を実行すると、SDカードの内容が消去されます。必ずバックアップをしてから実行しましょう。***
# 前提
+
- [U-Boot のビルド](/u-boot/u-boot-build/)にてU-Bootをビルドしていること
- [Linux のビルド](/linux/linux-build/)にてLinuxをビルドしていること
# パーティションを区切る
+
先頭に100MBくらいのFAT32のパーティションを作り、残りをext4のパーティションにします。
## GPartedのインストール
+
以下のコマンドで GParted をインストールします。
```sh
@@ -31,16 +35,19 @@ sudo apt install gparted
## パーティションを作成する
+
LinuxをインストールするSDカードをPCに挿入してGPartedを起動します。
### GPartedの起動
+
![GParted起動画面](/assets/images/Launch-GParted.png)
GPartedの右上のメニューからSDカードを選びます。容量で選ぶとわかりやすいです。
### パーティションの削除
+
![パーティションの削除](/assets/images/partition-delete.png)
***この手順を実行すると、SDカードの内容が消去されます。必ずバックアップをしてから実行しましょう。***
@@ -49,6 +56,7 @@ GPartedの右上のメニューからSDカードを選びます。容量で選
### パーティションの作成
+
まず、FAT32のパーティションを作成します。 "未割り当て" のパーティションを右クリックして "新規" をクリックします。
![新規パーティションの作成のダイアログ](/assets/images/create-partition-fat32.png)
@@ -69,12 +77,11 @@ GPartedの右上のメニューからSDカードを選びます。容量で選
# 必要なファイルをコピーする
-1. `buildbrain`ディレクトリの中からファイルをコピーします
-- `linux-brain/arch/arm/boot/zImage`
-- `linux-brain/arch/arm/boot/dts/imx28-[機種名].dts`
+1. `buildbrain`ディレクトリの中から以下ファイルをSDカードのFAT32パーティションへコピーします
-これらをSDカードのFAT32のパーティションへコピーします。
+ - `linux-brain/arch/arm/boot/zImage`
+ - `linux-brain/arch/arm/boot/dts/imx28-[機種名].dts`
2. ターミナルを起動して `cd buildbrain` で `buildbrain` ディレクトリに入ります
diff --git a/_posts/2021-12-04-linux-xorg.md b/_posts/2021-12-04-linux-xorg.md
index 403204b..e68c9c0 100644
--- a/_posts/2021-12-04-linux-xorg.md
+++ b/_posts/2021-12-04-linux-xorg.md
@@ -11,13 +11,14 @@ excerpt: Brain 特有の Xorg の設定について
# Brain 特有の Xorg の設定について
-PW-Sx7 までは SoC に GPU が載っておらず、framebuffer (fbdev) のみが利用可能です。つまり、お手元の Linux マシンで Xorg が GPU と通信するときに使う仕組み (DRM, DRI) は利用できません。設定ファイルに fbdev を使用するように明示的に書くことで Xorg が動かせます。
+PW-Sx7 までは SoC に GPU が載っておらず、framebuffer (fbdev) のみが利用可能です。つまり、お手元の Linux マシンで Xorg が GPU と通信するときに使うしくみ (DRM, DRI) は利用できません。設定ファイルに fbdev を使用するよう明示的に書くことで Xorg が動かせます。
# xorg.conf
設定ファイル xorg.conf の内容を以下に示します。vi か nano を使って以下の内容を `/etc/X11/xorg.conf` に書き込んでください。
+
```
Section "Device"
Identifier "device"
@@ -28,6 +29,7 @@ Section "Screen"
Device "device"
EndSection
```
+
# 起こし方
diff --git a/_posts/2021-12-04-meta-how-to-edit-wiki.md b/_posts/2021-12-04-meta-how-to-edit-wiki.md
index 596b76f..fe8dd1f 100644
--- a/_posts/2021-12-04-meta-how-to-edit-wiki.md
+++ b/_posts/2021-12-04-meta-how-to-edit-wiki.md
@@ -39,7 +39,7 @@ $ cd wiki.brainux.org
$ bundle install
```
-ビルドとプレビューができることを確認します。下記のように `bundle exec jekyll serve` を実行すると localhost:4000 でサーバーが
+ビルドとプレビューができることを確認します。下記のように `bundle exec jekyll serve` を実行すると localhost:4000 でサーバが
起動している旨のメッセージが出るので、メッセージが見え次第ブラウザで `localhost:4000` を開いてプレビューできます。
```sh
@@ -58,73 +58,123 @@ Configuration file: /Users/takumi/dev/brain/wiki.brainux.org/_config.yml
Server running... press ctrl-c to stop.
````
+次に、Textlintとmarkdownlintを使うためにNode.jsとパッケージをインストールします。
+
+```sh
+$ cd wiki.brainux.org
+$ npm install
+```
+
+Node.jsのインストール方法とバージョンは動けば何でも良いです。まずはパッケージマネージャーでインストールしたNode.jsを使ってみて、うまく行かなければnodeenv(nodenvではない!)を使う以下の方法を試してください。nodeenvでインストールした場合は、毎回envをactivateするのを忘れないでください。
+
+```sh
+$ pip install nodeenv
+$ nodeenv -n 16.13.2 env
+$ source ./env/bin/activate
+(env) $ npm install
+```
+
+Textlintを動かして、正常にlintされるか試します。`npm run textlint-fix`で発動する自動修正は、誤検知も意図せず修正してしまう可能性があるため事前によくチェックしてから実行してください。
+
+```sh
+$ npm run textlint
+$ npm run textlint-fix # お好みで
+```
+
+markdownlintを動かして、正常にlintされるか試します。
+
+```sh
+$ npm run mdlint
+```
+
# 各種操作
## 1. a. ページを追加・削除する
- - 新たにブランチを作成する
- - 後で Pull Request として提出するため、`master` ブランチには直接コミットしないでください
- - `_posts` ディレクトリにある他のファイルを参考にして md ファイルを追加します
- - 例: `2038-1-19-doomsday.md`
- - 記事内容を記述します
- - ひととおり追加と削除が終わったら `pull -r`, commit, push します
+- 新たにブランチを作成する
+ - 後で Pull Request として提出するため、`master` ブランチには直接コミットしないでください
+- `_posts` ディレクトリにあるほかのファイルを参考にして md ファイルを追加します
+ - 例: `2038-1-19-doomsday.md`
+- 記事内容を記述します
+- `npm textlint` と `npm mdlint` を実行し、エラーが出ないことを確認します
+ - もし誤検知があった場合はルールを修正するかレビュアーと相談してください
+ - エラー箇所をどうしても押し通したい場合はそこだけlintを無効化するよう記述してレビュアーに説明してください
+- 一通り追加と削除が終わったら `pull -r`, commit, push します
## 1. b. ページを編集する
- - 記事内容を記述します
- - ひととおり編集が終わったら `pull -r`, commit, push します
+- 記事内容を記述します
+- `npm textlint` と `npm mdlint` を実行し、エラーが出ないことを確認します
+ - もし誤検知があった場合はルールを修正するかレビュアーと相談してください
+ - エラー箇所をどうしても押し通したい場合はそこだけlintを無効化するよう記述してレビュアーに説明してください
+- 一通り編集が終わったら `pull -r`, commit, push します
## 2. 変更を提出する・レビューを受ける・マージしてもらう
-文章に対するどのような変更も、必ずドキュメント編集権限のあるメンバー最低1人にレビューを依頼します。
-このレビューに通ると変更がマージされ、公開されます。
+文章に対するどのような変更も、必ずPull Requestを提出してドキュメント編集権限のあるメンバー最低1人にレビューを依頼します。
+このレビューに通ると変更がマージされ、公開されます。PRのタイトルや文章は丁寧に記述しましょう。詳細はScrapboxの[超説明・開発フロー](https://scrapbox.io/brain-hackers/%E8%B6%85%E8%AA%AC%E6%98%8E%E3%83%BB%E9%96%8B%E7%99%BA%E3%83%95%E3%83%AD%E3%83%BC)を参照してください。
2021年12月現在、編集権限のあるメンバーは以下の通りです。
- - @puhitaku
- - @tka3320
+- @puhitaku
+- @tka3320
注意!GitHub の Brain Hackers organization のメンバーでない人はレビューを依頼できないので、
-Discord にてメンバー追加依頼をしてメンバになってから Pull Request を提出しましょう。
+Discord にてメンバー追加依頼をしてメンバーになってから Pull Request を提出しましょう。
# ファイル名のルール
Wiki のページを生成している Jekyll は、md ファイルの名前から記事の日付や URL を生成します。以下のすべての条件を満たすようにしましょう。
- - `YYYY-MM-DD-{英字とハイフンでできたタイトル}.md` の形式にする
- - URL が冗長になるので日本語は使わない
+- `YYYY-MM-DD-{英字とハイフンでできたタイトル}.md` の形式にする
+- URL が冗長になるので日本語は使わない
# 記述ルール
-Wiki の体裁について以下にルールを列挙します。コミットの前にこれらに従っているかチェックしてください。Textlint はまだありません。
+
+Wiki の体裁に関するルールを列挙します。コミットの前に従っているかチェックしてください。一部のルールはTextlintやmarkdownlintを使って機械的に調べたり修正できます。
## 文体
-基本的には、技術文書のルールと同一です。
+
+基本的には、技術文書のルールと同一です。助詞の使いすぎや表記ゆれはtextlintでチェックできますが、機械的に検知できる範囲は限られているためよく心得ておいてください。
### 「ですます」と「だ・である」は統一する
+
+Linterによるチェック: **なし**
+
Wiki 全体で「ですます」の形で統一します。
### 依頼する時はできるだけ「します」で締める
+
+Linterによるチェック: **なし**
+
「〇〇してください」は長いので、「します」で極力統一します。不自然に映る場合は「してください」や「しましょう」を使っても OK です。この文書でも実際にどちらも使用しています。
+
### 繰り返しや冗長な表現をなくす
+
+Linterによるチェック: textlint(部分的)
+
冗長な表現を組み込んでしまうことは多いので、極限まで削ります。
-「など」「いろいろ」「といった」「〇〇することができます」は使いがちですので特に気をつけましょう。
+「など」「いろいろ」「といった」「〇〇できます」は使いがちですので特に気を付けましょう。
:x: 悪い例: このコマンドを使えば、Linux を起動することなどが可能です。
:o: 良い例: このコマンドで、Linux を起動できます。
-### カッコは基本的に使わない
+### 括弧は基本的に使わない
+
+Linterによるチェック: **なし**
+
どうしても必要な場合は、名詞の別名や補足といった1〜2単語で済む体言を入れるだけにします。
:x: 悪い例: Linux マシン(Ubuntu か Debian が入っていることが望ましい)を用意します。
@@ -133,34 +183,47 @@ Wiki 全体で「ですます」の形で統一します。
### 箇条書きには句読点を入れない
+
+Linterによるチェック: **なし**
+
箇条書きは段落を表現する道具ではありません。よって、内容が極力短くなるようにしつつ、句読点を置かないようにします。
### 感情を排除する
+
+Linterによるチェック: **なし**
+
極力スムーズに読める文章になるには、感情的表現を取り除く事が必須です。
文章は技術文書(レポート)のような無味乾燥なものにし、感情は Discord で共有しましょう。
### コードブロックや画像と文章の関わりを示す
+
+Linterによるチェック: **なし**
+
「以下にコマンド例を示します」などのように、文章と以下に連なる要素を関連付けます。
## Markdown
+
Markdown はリッチなレンダリングがなくとも読めるシンタックスが特徴です。これを念頭に置いて、以下のルールに従ってください。
+一部はmarkdownlintによって違反を検知できます。ここにない細かなルールはmarkdownlintの指示に従ってください。
### 必ずプレビューして確認する
+
ブラウザで文書を編集すると、コミット前に文書を HTML にレンダーするプレビューが利用可能です。ミスがないか確認してからコミットしましょう。
ローカルのコンソールやエディタで書く場合も、Markdown をプレビューできる環境を用意して確認してからコミットしましょう。
### 改行コードは LF に統一する
-Windows で特に気をつけましょう。Git は[コミット時に改行コードを LF のみに強制](https://qiita.com/uggds/items/00a1974ec4f115616580)できます。
+
+Windows で特に気を付けましょう。Git は[コミット時に改行コードを LF のみに強制](https://qiita.com/uggds/items/00a1974ec4f115616580)できます。
`git config` で
-```
+```sh
git config --global core.autocrlf input
```
@@ -168,24 +231,30 @@ git config --global core.autocrlf input
### 適切な空行を入れる
+
+Linterによるチェック: あり
+
以下の箇所には1行空行を入れます。
- - 段落と段落の間
- - プレーンテキストとプレーンテキスト以外の要素の間
- - 節タイトル
- - 箇条書き
- - テーブル
- - 図
- - コードブロック
- - 引用
+- 段落と段落の間
+- プレーンテキストとプレーンテキスト以外の要素の間
+ - 節タイトル
+ - 箇条書き
+ - テーブル
+ - 図
+ - コードブロック
+ - 引用
以下の箇所には2行空行を入れます。
- - 節と節の間
+- 節と節の間
### 適切な空白を入れる
-プレーンテキスト以外の要素の前後に適切な空白がないと表示がおかしくなるケースがあります。この文書は GitHub での表示に限られるため空白がなくても大丈夫ですが、エディタでのシンタックスハイライトが上手くいかなくなることがありますので気をつけましょう。
+
+Linterによるチェック: **なし**
+
+プレーンテキスト以外の要素の前後には適切な空白を入れ、表示がおかしくなるリスクを減らしましょう。この文書はWikiでの表示に限られるため空白を欠いても大丈夫ですが、エディタでのシンタックスハイライトに失敗することがありますので気を付けましょう。
:x: 悪い例1: `1.あいうえお`
@@ -197,11 +266,14 @@ git config --global core.autocrlf input
### コードスパンとコードブロックを使い分ける
+
+Linterによるチェック: **なし**
+
コードスパンとは、`` `ident` ``のように行の中に等幅で文字を入れるスパン要素を指します。
コードブロックとは
-```
+```sh
echo foo
```
@@ -219,6 +291,9 @@ ls -l
### 明示的改行はバックスラッシュで行う
+
+Linterによるチェック: **なし**
+
この節でいう明示的改行とは Hard line breaks のことで、空行による段落区切りや単一の LF による Soft line break ではなく確実に改行を入れることを指します。必要でない限りは使わないことが望ましいです。
明示的な改行の入れ方には行末にスペース2つを入れる方法とバックスラッシュを入れる方法がありまず。前者は通常不可視な上に意味合いがわかりづらいため、バックスラッシュを使用します。
diff --git a/_posts/2021-12-04-roadmap.md b/_posts/2021-12-04-roadmap.md
index 0093e39..b3c19f4 100644
--- a/_posts/2021-12-04-roadmap.md
+++ b/_posts/2021-12-04-roadmap.md
@@ -25,58 +25,58 @@ excerpt: Brainux が自分の電子辞書にどれくらい対応しているか
|キーボードの世代|対応済|説明|
|:--|:-:|:--|
-|3桁世代||SoC が直接キーマトリクスを読む|
-|4桁世代, Sx1 〜 Sx2|:white_check_mark:|MPU がキーマトリクスを読み SoC に I²C で送信|
-|Sx3 〜 Sx7||SoC が直接キーマトリクスを読む|
+|3桁世代||SoC が直接キーマトリックスを読む|
+|4桁世代, Sx1 〜 Sx2|:white_check_mark:|MPU がキーマトリックスを読み SoC に I²C で送信|
+|Sx3 〜 Sx7||SoC が直接キーマトリックスを読む|
|x1|詳細不明||
# 画面開閉検知
- - 開閉イベントの伝達はキーイベントと同じ経路を辿る
- - キーボードの実装に依存する
+- 開閉イベントの伝達はキーイベントと同じ経路をたどる
+- キーボードの実装に依存する
|キーボードの世代|対応済|説明|
|:--|:-:|:--|
-|3桁世代||SoC が直接キーマトリクスを読む|
-|4桁世代, Sx1 〜 Sx2||MPU がキーマトリクスを読み SoC に I²C で送信|
-|Sx3 〜 Sx7||SoC が直接キーマトリクスを読む|
+|3桁世代||SoC が直接キーマトリックスを読む|
+|4桁世代, Sx1 〜 Sx2||MPU がキーマトリックスを読み SoC に I²C で送信|
+|Sx3 〜 Sx7||SoC が直接キーマトリックスを読む|
|x1||詳細不明||
# 音
- - Brain に内蔵されているスマートアンプには大きく分けて Yamaha 系と Rohm 系がある
- - 録音も再生も2021年2月23日現在解析中で非対応
+- Brain に内蔵されているスマートアンプには大きく分けて Yamaha 系と Rohm 系がある
+- 録音と再生は2021年2月23日現在解析中で非対応
# タッチパネル
- - 2021年2月23日現在反応はするが位置がおかしい
- - 世代によるハードウェアの差分は不明
+- 2021年2月23日現在反応はするが位置がおかしい
+- 世代によるハードウェアの差分は不明
-# 電源コントローラー
+# 電源コントローラ
- - 2021年2月23日現在未対応のため充電状態の表示などは一切不可
+- 2021年2月23日現在未対応のため充電状態の表示などは一切不可
# cpufreq
- - CPU のクロック制御は2021年2月23日現在なし
+- CPU のクロック制御は2021年2月23日現在なし
# eMMC への Linux インストール
- - 研究中
+- 研究中
# Wi-Fi
Wi-Fi の接続は複数の手法が提案されていて、現在検証中。
- - SDIO Wi-Fi チップ
- - USB ドングル
+- SDIO Wi-Fi チップ
+- USB ドングル
# LCD
diff --git a/_posts/2021-12-04-tips-otg.md b/_posts/2021-12-04-tips-otg.md
index e528be6..1981f08 100644
--- a/_posts/2021-12-04-tips-otg.md
+++ b/_posts/2021-12-04-tips-otg.md
@@ -11,14 +11,14 @@ excerpt: 動作可否が確認されたケーブルの一覧
# 使える USB OTG ケーブル一覧
-Brainux の初期状態では、USB コントローラーはホストとして動作するようになっています。OTG ケーブルを使用すると好きなデバイスを接続することができます。Brain 自身は VBUS (5V) を供給する能力はないので、電源が別途供給可能な OTG ケーブルを使用する必要があります。
+Brainux の初期状態では、USB コントローラはホストとして動作するようになっています。OTG ケーブルを使用すると好きなデバイスを接続できます。Brain 自身は VBUS (5V) を供給する能力はないので、電源が別途供給可能な OTG ケーブルを使用する必要があります。
- - [RouteR RUH-OTGU4](https://amz.run/4Kue)
- - [AINEX USB-120R](https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-5EHA)
- - [CY 90度左右角度付きMicro USB 2.0 OTGホストアダプター](https://amz.run/4LXg)
+- [RouteR RUH-OTGU4](https://amz.run/4Kue)
+- [AINEX USB-120R](https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-5EHA)
+- [CY 90度左右角度付きMicro USB 2.0 OTGホストアダプター](https://amz.run/4LXg)
# 使えない USB OTG ケーブル一覧
- - [Easi-Cable](https://amz.run/4KqD)
+- [Easi-Cable](https://amz.run/4KqD)
diff --git a/_posts/2021-12-04-tips-swap.md b/_posts/2021-12-04-tips-swap.md
index dff08d1..41df926 100644
--- a/_posts/2021-12-04-tips-swap.md
+++ b/_posts/2021-12-04-tips-swap.md
@@ -11,31 +11,31 @@ excerpt: ""
# スワップの作成を推奨します
-Brain の DRAM は 128MB しかないので、簡単にメモリが食いつぶされます。この時、スワップがないと OOM Killer により重要なプロセスが終了される危険性があるため、スワップを作成することをおすすめします。
+Brain の DRAM は 128MB しかないので、簡単にメモリが食いつぶされます。OOM Killer により重要なプロセスを終了される危険があるため、スワップを作成することをお勧めします。
-2021年2月23日現在のリリースではまだスワップ領域を標準で設定していません。Brain Hackers では将来のリリースで標準でスワップを設定することを検討しています。
+2021年2月23日現在のリリースではまだスワップ領域を標準で設定していません。Brain Hackers では将来のリリースで最初からスワップを設定することを検討しています。
# 作成方法
1. 以下のコマンドを実行して、スワップのための領域を確保します
- 今回の例では、256MB(これ以上を推奨)の領域を確保しています。他の容量にしたい場合は適宜 `bs` や `count` の値を変えてください。
+ 今回の例では、256MB(これ以上を推奨)の領域を確保しています。ほかの容量にしたい場合は適宜 `bs` や `count` の値を変えてください。
- ```
+ ```sh
dd if=/dev/zero of=/swapfile bs=1M count=256
chmod 0600 /swapfile
```
2. スワップ領域を初期化します
- ```
+ ```sh
mkswap /swapfile
```
3. スワップ領域を有効にします
- ```
+ ```sh
swapon /swapfile
```
diff --git a/_posts/2021-12-04-tips-touch-panel.md b/_posts/2021-12-04-tips-touch-panel.md
index 9da0f83..655bf2e 100644
--- a/_posts/2021-12-04-tips-touch-panel.md
+++ b/_posts/2021-12-04-tips-touch-panel.md
@@ -11,29 +11,35 @@ excerpt: タッチパネルのキャリブレーション(Brainux に同梱さ
---
-
# 事前に
+
Xorgの設定ファイル ( xorg.conf )を設定していない場合は、下記のWikiを参照して設定してください。
[Xorg](/linux/linux-xorg/)
+
# 必要なパッケージのインストール
-```
+
+```sh
apt install xserver-xorg-input-evdev xinput-calibrator
```
+
を実行して、必要なパッケージをインストールします。
+
# Xorgとopenboxの起動
-```
+
+```sh
Xorg &
-```
-```
openbox-session &
```
+
を実行して、Xorgとopenboxを起動します。
+
# タッチパネル補正ツールの起動
-```
+
+```sh
xinput_calibrator
```
@@ -41,10 +47,12 @@ xinput_calibrator
![xinput-calibratorの画面](/assets/images/xinput-calibrator.png)
+
# 補正する
+
画面上の 赤い十字 を**丁寧に** 4回タッチすると、補正用の設定項目が端末に出力されます。
-```
+```plaintext
Setting calibration data: 0, 4095, 0, 4095
Calibrating EVDEV driver for "mxs-lradc-ts" id=6
current calibration values (from XInput): min_x=0, max_x=4095 and min_y=0, max_y=4095
@@ -59,19 +67,21 @@ xinput_calibrator
Option "Calibration" "147 3618 3826 350"
Option "SwapAxes" "0"
EndSection
- ```
+```
+
# 設定ファイルを作成・保存する
+
`/etc/X11/xorg.conf.d`を作成します。
-```
+```sh
mkdir /etx/X11/xorg.conf/d
```
xinput_calibratorの出力に従って、`/etc/X11/xorg.conf.d/99-calibration.conf`に
`Section "InputClass"` から `EndSection`までの行を nano や vi を用いて書き出します。
-```
+```plaintext
Section "InputClass"
Identifier "calibration"
MatchProduct "mxs-lradc-ts"
@@ -80,17 +90,18 @@ xinput_calibratorの出力に従って、`/etc/X11/xorg.conf.d/99-calibration.co
EndSection
```
+
# Xorgの再起動
-```
+
+```sh
pkill Xorg
-```
-```
Xorg &
-```
-```
openbox-session &
```
+
でXorgを再起動します。
+
# 完成
+
![ちゃんとタッチした場所にカーソルが来ています](/assets/images/calibrator-done.gif)
diff --git a/_posts/2021-12-04-tips-usb-ethernet-gadget.md b/_posts/2021-12-04-tips-usb-ethernet-gadget.md
index 63c288c..d9ac9f8 100644
--- a/_posts/2021-12-04-tips-usb-ethernet-gadget.md
+++ b/_posts/2021-12-04-tips-usb-ethernet-gadget.md
@@ -11,56 +11,46 @@ excerpt: PC と USB ケーブル1本で接続できる便利な仕組みとそ
---
-
# USB Gadget とは?
-コンピューターがあたかも USB デバイスであるかのように振る舞う仕組みです。
+コンピュータがあたかも USB デバイスであるかのように振る舞うしくみです。
# Why USB Gadget?
-インターネットに接続可能なパソコンに USB で Brain を接続するだけで Brain からインターネットに出たり、パソコンと Brain で双方向に SSH したりできるようになります。電池切れの心配もありません。
+インターネットに接続可能なPCと Brain を接続するだけで Brain からインターネットに出たり、PCと Brain で双方向に SSH したりできます。電池切れの心配もありません。
-# USB コントローラーの動作モードを変更する
+# USB コントローラの動作モードを変更する
-初期状態では Brain の USB コントローラーはホストとして動作するため、このままではデバイスになることができません。
-2022年1月8日現在ではまだありませんが、コントローラーの動作モードを簡単に切り替えるスクリプトを用意する予定です。
+初期状態では Brain の USB コントローラはホストとして動作するため、このままではデバイスになることができません。
+2022年1月8日現在ではまだありませんが、コントローラの動作モードを簡単に切り替えるスクリプトを用意する予定です。
手動で変更するには、以下の手順に従ってください。
1. SDカードの第1パーティションを`/boot`にマウントします
- ```
+ ```sh
sudo mount /dev/mmcblk1p1 /boot
```
2. 元のdtsをバックアップします
{機種名の数字}は適宜置き換えてください。(例:PW-SH5→imx28-pwsh5.dtb)
- ```
+
+ ```sh
sudo cp /boot/imx28-pwsh{機種名の数字}.dtb /boot/imx28-pwsh{機種名の数字}.dtb.orig
```
3. dtbファイルをテキスト形式に変換します
- ```
+ ```sh
dtc -I dtb -O dts /boot/imx28-pwsh{機種名の数字}.dtb > dts 2> /dev/null
```
-## コピペ用
-
-1〜3の手順をまとめると以下のようになります。
-
-```
-sudo mount /dev/mmcblk1p1 /boot
-sudo cp /boot/imx28-pwsh{機種名の数字}.dtb /boot/imx28-pwsh{機種名の数字}.dtb.orig
-dtc -I dtb -O dts /boot/imx28-pwsh{機種名の数字}.dtb > dts 2> /dev/null
-```
-
4. 設定を書き換えます
- ```
+ ```sh
nano dts
```
@@ -70,98 +60,108 @@ dtc -I dtb -O dts /boot/imx28-pwsh{機種名の数字}.dtb > dts 2> /dev/null
```diff
ahb@80080000 {
- usb0: usb@80080000 {
- pinctrl-names = "default";
- pinctrl-0 = <&usb0_id_pins_a>;
- vbus-supply = <®_usb0_vbus>;
- - dr_mode = "host";
- + dr_mode = "peripheral";
- status = "okay";
- };
+ usb0: usb@80080000 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb0_id_pins_a>;
+ vbus-supply = <®_usb0_vbus>;
+ - dr_mode = "host";
+ + dr_mode = "peripheral";
+ status = "okay";
+ };
};
-
```
+
書き換えられたら保存してエディタを終了します。`Ctrl+O`の次に`Enter`を押して保存して、`Ctrl+X`で終了します。
5. 編集したものをバイナリ形式に変換します
- ```
+ ```sh
dtc -I dts -O dtb dts > dtb 2> /dev/null
```
- ```
+ ```sh
sudo mv dtb /boot/imx28-pwsh{機種名の数字}.dtb
```
6. SDカードの第1パーティションアンマウントします
- ```
+ ```sh
sudo umount /boot
```
7. 再起動します
- ```
+ ```sh
sudo reboot
```
+
## コピペ用
+1〜3の手順をまとめると以下のようになります。
+
+```sh
+sudo mount /dev/mmcblk1p1 /boot
+sudo cp /boot/imx28-pwsh{機種名の数字}.dtb /boot/imx28-pwsh{機種名の数字}.dtb.orig
+dtc -I dtb -O dts /boot/imx28-pwsh{機種名の数字}.dtb > dts 2> /dev/null
+```
+
5〜7の手順をまとめると以下のようになります。
-```
+```sh
dtc -I dts -O dtb dts > dtb 2> /dev/null
sudo mv dtb /boot/imx28-pwsh{機種名の数字}.dtb
sudo umount /boot
sudo reboot
```
+
# Brain に Ethernet Gadget を喋らせる
1. 以下のスクリプトを vi や nano でホームディレクトリに保存します
- ```
+ ```sh
#!/bin/sh
- g=/sys/kernel/config/usb_gadget/eth
+ g=/sys/kernel/config/usb_gadget/eth
- mkdir ${g}
+ mkdir ${g}
- mkdir ${g}/functions/rndis.rn0
- echo "8a:15:8b:44:3a:02" > ${g}/functions/rndis.rn0/dev_addr
- echo "8a:15:8b:44:3a:01" > ${g}/functions/rndis.rn0/host_addr
+ mkdir ${g}/functions/rndis.rn0
+ echo "8a:15:8b:44:3a:02" > ${g}/functions/rndis.rn0/dev_addr
+ echo "8a:15:8b:44:3a:01" > ${g}/functions/rndis.rn0/host_addr
- mkdir ${g}/configs/c.1
- ln -s ${g}/functions/rndis.rn0 ${g}/configs/c.1/
+ mkdir ${g}/configs/c.1
+ ln -s ${g}/functions/rndis.rn0 ${g}/configs/c.1/
- echo "ci_hdrc.0" > ${g}/UDC
+ echo "ci_hdrc.0" > ${g}/UDC
- sleep 1
- ifconfig usb0 up
sleep 1
- dhclient
- ```
+ ifconfig usb0 up
+ sleep 1
+ dhclient
+ ```
2. スクリプトに実行属性を付けます
ここではスクリプト名を `gadget.sh` としています。1. で保存した名前に置き換えてください。
- ```
- $ chmod +x gadget.sh
+ ```sh
+ chmod +x gadget.sh
```
3. 実行します
次回起動時からはこのスクリプトを都度実行します。
- ```
- $ ./gadget.sh
+ ```sh
+ ./gadget.sh
```
-# パソコン側の対応作業
+# PC側の対応作業
Windows / Mac / Linux すべてで利用可能です。(注: 2021年2月23日現在、上記スクリプトでは Windows と macOS で認識しないことを確認しており、修正予定です)
-パソコンを通してインターネットに出るために、ネットワーク接続の共有設定が必要になります。OS ごとに設定方法は異なりますので、別途設定してください。
+PCを通してインターネットへ出るために、ネットワーク接続の共有設定が必要になります。OS ごとに設定方法は異なりますので、別途設定してください。
diff --git a/_posts/2021-12-04-tips-web-browser.md b/_posts/2021-12-04-tips-web-browser.md
index ee7191e..f4e938c 100644
--- a/_posts/2021-12-04-tips-web-browser.md
+++ b/_posts/2021-12-04-tips-web-browser.md
@@ -10,19 +10,19 @@ excerpt: Brainux で利用可能な Web ブラウザについて
---
-
# グラフィカルブラウザ
-**グラフィカルブラウザを使うのは困難です!** PW-Sx7 までの Brain が搭載している SoC は初代 Raspberry Pi のクロック周波数の約半分の速度で動作し、メモリ容量も半分以下の 128MB しかありません。つまり、インターネットブラウジングは現実的ではありません。例えば、[極めて高速に表示されることで有名な著名人のサイト](http://abehiroshi.la.coocan.jp/)の表示に実測15秒ほどかかります。また、Twitter は表示不可能です。
+**グラフィカルブラウザを使うのは困難です!** PW-Sx7 までの Brain が搭載している SoC は初代 Raspberry Pi のクロック周波数の約半分の速度で動作し、メモリ容量も半分以下の 128MB しかありません。つまり、インターネットブラウジングは非現実的です。たとえば、[極めて高速に表示されることで有名な著名人のサイト](http://abehiroshi.la.coocan.jp/)の表示に実測15秒ほどかかります。また、Twitter は表示不可能です。
## Midori
代表的な軽量なブラウザの選択肢に Midori があります。Brainux にはプリインストールされています。Xorg が起動している状態で、以下のコマンドを実行すると Midori が起動します。
- ```
- $ DISPLAY=:0 midori
- ```
+```sh
+DISPLAY=:0 midori
+```
+
## Surf
@@ -31,5 +31,5 @@ excerpt: Brainux で利用可能な Web ブラウザについて
# テキストブラウザ
-Lynx や w3m は非常にスムーズに動作します。現実的なスピードで Web サイトを閲覧するにはこれらをおすすめします。
+Lynx や w3m はスムーズに動作します。現実的なスピードで Web サイトを閲覧するにはこれらをお勧めします。
diff --git a/_posts/2021-12-04-u-boot-build.md b/_posts/2021-12-04-u-boot-build.md
index 220c9a5..baffbfc 100644
--- a/_posts/2021-12-04-u-boot-build.md
+++ b/_posts/2021-12-04-u-boot-build.md
@@ -10,6 +10,7 @@ excerpt: ""
# 動作環境
+
- Debian 10 (Buster)
- Ubuntu 20.04 LTS
@@ -17,10 +18,12 @@ excerpt: ""
# 環境の構築
-[Linux のビルド](/linux/linux-build/)の頁で既に構築している場合は飛ばします。
+
+[Linux のビルド](/linux/linux-build/)の頁ですでに構築している場合は飛ばします。
## 依存関係のインストール
+
以下のコマンドで依存関係をインストールしてください。
```sh
@@ -29,20 +32,22 @@ sudo apt install build-essential bison flex libncurses5-dev gcc-arm-linux-gnueab
## Gitリポジトリのクローン
+
Gitリポジトリをクローンして、必要なファイルをダウンロードします。長い時間がかかるので、時間のある時に実いましょう。
-```
+```sh
git clone --recursive https://github.com/brain-hackers/buildbrain.git
```
# U-Bootのビルドとnk.binの作成
+
1. `cd buildbrain` で `buildbrain` ディレクトリに入ります
2. `make udefconfig-sh*` を実行して、 `.config` ファイルを作成します
- - PW-Sx1のとき: `make udefconfig-sh1`
- - PW-Sx5のとき: `make udefconfig-sh5`
+ - PW-Sx1のとき: `make udefconfig-sh1`
+ - PW-Sx5のとき: `make udefconfig-sh5`
3. `make ubuild` を実行して `u-boot.sb` を生成します
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..bd4c2fe
--- /dev/null
+++ b/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "wiki-brainux-org",
+ "devDependencies": {
+ "markdownlint": "^0.25.0",
+ "markdownlint-cli": "^0.30.0",
+ "textlint": "^11.9.0",
+ "textlint-rule-preset-japanese": "^6.0.1",
+ "textlint-rule-prh": "^5.3.0"
+ },
+ "scripts": {
+ "textlint": "textlint '_posts/*'",
+ "textlint-fix": "textlint --fix '_posts/*'",
+ "mdlint": "./node_modules/markdownlint-cli/markdownlint.js _posts"
+ }
+}
diff --git a/prh_rules/wiki.yml b/prh_rules/wiki.yml
new file mode 100644
index 0000000..9a2da72
--- /dev/null
+++ b/prh_rules/wiki.yml
@@ -0,0 +1,3020 @@
+# Rules for Brain Hackers Wiki
+# Based on WEB+DB PRESS prh rules
+meta:
+ reviewer:
+ - puhitaku
+ related: https://wiki.brainux.org
+ rules: https://github.com/brain-hackers/wiki.brainux.org
+
+version: 1
+
+# 他のファイルとpattern expectedの順序が逆なのに注意
+# 株式会社 のあたりから正常に戻ってるので更に注意
+# 新規ルールは末尾に追加
+
+rules:
+ - pattern: /つく([らりるれろっ])/
+ expected: 作$1
+ - pattern:
+ - 結びつ
+ - むすびつ
+ expected: 結び付
+ - pattern:
+ - 受けつ
+ - うけつ
+ expected: 受け付
+ - pattern:
+ - 受けと
+ - うけと
+ expected: 受け取
+ - pattern: 日付け
+ expected: 日付
+ - pattern: つきあ
+ expected: 付き合
+ - pattern:
+ - つけ加
+ - つけくわ
+ expected: 付け加
+ - pattern: つけた
+ expected: 付け足
+ - pattern: 関連づけ
+ expected: 関連付け
+ - pattern: 受付
+ expected: 受け付け
+ - pattern: 位置づけ
+ expected: 位置付け
+ - pattern: 意味づけ
+ expected: 意味付け
+ - pattern: 気をつ
+ expected: 気を付
+ - pattern: 気づ
+ expected: 気付
+ - pattern: 近づ
+ expected: 近付
+ - pattern:
+ - 検討がつ
+ - 検討がつ
+ expected: 見当が付
+ - pattern: 思いつく
+ expected: 思い付く
+ - pattern:
+ - 1つ1つ
+ - 一つひとつ
+ - ひとつひとつ
+ expected: 一つ一つ
+ - pattern:
+ - 一人ひとり
+ - ひとりひとり
+ - 1人1人
+ expected: 一人一人
+ - pattern:
+ - 一つめ
+ - ひとつめ
+ - 一つ目
+ - ひとつ目
+ expected: 1つ目
+ - pattern:
+ - 二つめ
+ - ふたつめ
+ - 二つ目
+ - ふたつ目
+ expected: 2つ目
+ - pattern:
+ - 三つめ
+ - みっつめ
+ - 三つ目
+ - みっつ目
+ expected: 3つ目
+ - pattern:
+ - 四つめ
+ - よっつめ
+ - 四つ目
+ - よっつ目
+ expected: 4つ目
+ - pattern:
+ - 五つめ
+ - いつつめ
+ - 五つ目
+ - いつつ目
+ expected: 5つ目
+ - pattern:
+ - 六つめ
+ - むっつめ
+ - 六つ目
+ - むっつ目
+ expected: 6つ目
+ - pattern:
+ - 七つめ
+ - ななつめ
+ - 七つ目
+ - ななつ目
+ expected: 7つ目
+ - pattern:
+ - 八つめ
+ - やっつめ
+ - 八つ目
+ - やっつ目
+ expected: 8つ目
+ - pattern:
+ - 九つめ
+ - ここのつめ
+ - 九つ目
+ - ここのつ目
+ expected: 9つ目
+ - pattern:
+ - 一番目
+ - 一番め
+ expected: 1番目
+ - pattern:
+ - 二番目
+ - 二番め
+ expected: 2番目
+ - pattern:
+ - 三番目
+ - 三番め
+ expected: 3番目
+ - pattern:
+ - 四番目
+ - 四番め
+ expected: 4番目
+ - pattern:
+ - 五番目
+ - 五番め
+ expected: 5番目
+ - pattern:
+ - 六番目
+ - 六番め
+ expected: 6番目
+ - pattern:
+ - 七番目
+ - 七番め
+ expected: 7番目
+ - pattern:
+ - 八番目
+ - 八番め
+ expected: 8番目
+ - pattern:
+ - 九番目
+ - 九番め
+ expected: 9番目
+ - pattern:
+ - 十番目
+ - 十番め
+ expected: 10番目
+ - pattern:
+ - ふたつ
+ - 二つ
+ expected: 2つ
+ - pattern:
+ - みっつ
+ - 三つ
+ expected: 3つ
+ - pattern:
+ - よっつ
+ - 四つ
+ expected: 4つ
+ - pattern:
+ - いつつ
+ - 五つ
+ expected: 5つ
+ - pattern:
+ - むっつ
+ - 六つ
+ expected: 6つ
+ - pattern:
+ - ななつ
+ - 七つ
+ expected: 7つ
+ - pattern:
+ - やっつ
+ - 八つ
+ expected: 8つ
+ - pattern:
+ - ここのつ
+ - 九つ
+ expected: 9つ
+ - pattern: /([\d]+)つめ
+ expected: $1つ目
+ - pattern: /([\d]+)番め/
+ expected: $1番目
+ - pattern: /いちばん([^め目])|1番([^め目])/
+ expected: 一番$1
+ - pattern:
+ - ただ1つ
+ - 唯1つ
+ - 唯一つ
+ expected: ただ一つ
+ - pattern: もう1度
+ expected: もう一度
+ - pattern: もう1つ
+ expected: もう一つ
+ - pattern: 1つは
+ expected: 一つは
+ - pattern: 一目了然
+ expected: 一目瞭然
+ - pattern: いちがいに
+ expected: 一概に
+ - pattern: 一種類
+ expected: 1種類
+ - pattern: 1種
+ expected: 一種
+ - pattern: いっしょ
+ expected: 一緒
+ - pattern:
+ - ひととおり
+ - ひと通り
+ - 一とおり
+ expected: 一通り
+ - pattern: 1度
+ expected: 一度
+ - pattern: 1部
+ expected: 一部
+ - pattern: 1文
+ expected: 一文
+ - pattern: 1例
+ expected: 一例
+ - pattern: 2重
+ expected: 二重
+ - pattern: 3重
+ expected: 三重
+ - pattern: /([何数\\d一二三四五六七八九十0-9])箇所/
+ expected: $1ヵ所
+ - pattern: /([何数\\d一二三四五六七八九十0-9])個所/
+ expected: $1ヵ所
+ - pattern: ヶ
+ expected: ヵ
+ - pattern:
+ - 箇月
+ - か月
+ - 個月
+ - ケ月
+ - カ月
+ expected: ヵ月
+ - pattern:
+ - 箇国
+ - か国
+ - 個国
+ - ケ国
+ - カ国
+ expected: ヵ国
+ - pattern:
+ - か所
+ - ケ所
+ - カ所
+ expected: ヵ所
+ - pattern: 個所
+ expected: 箇所
+ - pattern:
+ - いちから
+ - 1から
+ - 一から
+ - イチから
+ - 0から
+ expected: ゼロから
+ - pattern: 曖昧
+ expected: あいまい
+ - pattern: 敢えて
+ expected: あえて
+ - pattern: /煽([らりるれろっ])/
+ expected: あお$1
+ - pattern: 飽くまで
+ expected: あくまで
+ - pattern: 憧れ
+ expected: あこがれ
+ - pattern: 辺り
+ expected: あたり
+ - pattern: 後々
+ expected: あとあと
+ - pattern:
+ - 貴方
+ - 貴女
+ expected: あなた
+ - pattern: 予め
+ expected: あらかじめ
+ - pattern: 改めて
+ expected: あらためて
+ - pattern:
+ - 有り難
+ - 有難
+ expected: ありがた
+ - pattern: 有りま
+ expected: ありま
+ - pattern: 或いは
+ expected: あるいは
+ - pattern:
+ - 有る
+ - 在る
+ expected: ある
+ - pattern: /一体([^に化感])/
+ expected: いったい$1
+ - pattern: 一向に
+ expected: いっこうに
+ - pattern: 一旦
+ expected: いったん
+ - pattern: 如何
+ expected: いかが
+ - pattern: 如何に
+ expected: いかに
+ - pattern:
+ - ゆきま
+ - 行きま
+ expected: いきま
+ - pattern: 幾つ
+ expected: いくつ
+ - pattern: 幾ら
+ expected: いくら
+ - pattern: 幾分
+ expected: いくぶん
+ - pattern: 些か
+ expected: いささか
+ - pattern:
+ - 何れ
+ - いづれ
+ expected: いずれ
+ - pattern: /頂([いかきくけこ])|戴([いかきくけこ])/
+ expected: いただ$1
+ - pattern: 至って
+ expected: いたって
+ - pattern: 一々
+ expected: いちいち
+ - pattern: /何時([^間])/
+ expected: いつ$1
+ - pattern: 一杯
+ expected: いっぱい
+ - pattern: /厭([わいうえおっ])/
+ expected: いと$1
+ - pattern: おります
+ expected: います
+ - pattern: 今や
+ expected: いまや
+ - pattern: 色々
+ expected: いろいろ
+ - pattern: 色んな
+ expected: いろんな
+ - pattern: 所謂
+ expected: いわゆる
+ - pattern: ゆう
+ expected: いう
+ - pattern: /云([いうわっ])/
+ expected: い$1
+ - pattern: /要([らりるれろっ])/
+ expected: い$1
+ - pattern: /居([るた])/
+ expected: い$1
+ - pattern: /穿([たちつてとっ])/
+ expected: うが$1
+ - pattern:
+ - 憂っとおし
+ - 憂っとうし
+ - うっとおし
+ - 鬱陶し
+ expected: うっとうし
+ - pattern:
+ - うなづ
+ - 頷
+ expected: うなず
+ - pattern: /上手([いく])|美味([いく])|ウマ([いく])/
+ expected: うま$1
+ - pattern: 嬉し
+ expected: うれし
+ - pattern: 美味し
+ expected: おいし
+ - pattern: 於いて
+ expected: おいて
+ - pattern: 大掛かり
+ expected: おおがかり
+ - pattern: 概ね
+ expected: おおむね
+ - pattern:
+ - お陰
+ - 御陰
+ expected: おかげ
+ - pattern:
+ - 押し並べて
+ - 押しなべて
+ expected: おしなべて
+ - pattern: 自ずと
+ expected: おのずと
+ - pattern: 恐らく
+ expected: おそらく
+ - pattern: お疲れ様
+ expected: お疲れさま
+ - pattern: 面白
+ expected: おもしろ
+ - pattern: 却って
+ expected: かえって
+ - pattern: 片仮名
+ expected: カタカナ
+ - pattern: 且つ
+ expected: かつ
+ - pattern: /叶([わいうえおっ])/
+ expected: かな$1
+ - pattern: 仮名
+ expected: かな
+ - pattern: /構([いうわっ])/
+ expected: かま$1
+ - pattern: /痒([いかくさみ])/
+ expected: かゆ$1
+ - pattern:
+ - 綺麗
+ - 奇麗
+ expected: きれい
+ - pattern: /括([らりるれろっ])/
+ expected: くく$1
+ - pattern: 下さい
+ expected: ください
+ - pattern: /([^解])決して|([^解])けして/
+ expected: $1けっして
+ - pattern: /拘([らりるれろっ])/
+ expected: こだわ$1
+ - pattern: 諺
+ expected: ことわざ
+ - pattern: 零れ
+ expected: こぼれ
+ - pattern: この章
+ expected: 本章
+ - pattern: /この様([なに])/
+ expected: このよう$1
+ - pattern: 年頃
+ expected: 年ごろ
+ - pattern: 歳頃
+ expected: 歳ごろ
+ - pattern: 日頃
+ expected: 日ごろ
+ - pattern: 頃
+ expected: ころ
+ - pattern: /遡([らりるれろっ])/
+ expected: さかのぼ$1
+ - pattern: さしづめ
+ expected: さしずめ
+ - pattern: 流石
+ expected: さすが
+ - pattern: 早速
+ expected: さっそく
+ - pattern: /捌([いかきくけこ])/
+ expected: さば$1
+ - pattern: 様々
+ expected: さまざま
+ - pattern: /晒([さしすせそ])/
+ expected: さら$1
+ - pattern: 仕掛け
+ expected: しかけ
+ - pattern: 仕方
+ expected: しかた
+ - pattern: /([^正率垂安素愚])直に/
+ expected: $1じかに
+ - pattern: /仕組([^み])/
+ expected: しくみ$1
+ - pattern: 仕組み
+ expected: しくみ
+ - pattern: しし
+ expected: し
+ - pattern: しだい
+ expected: 次第
+ - pattern:
+ - 暫く
+ - 暫らく
+ expected: しばらく
+ - pattern: いたします
+ expected: します
+ - pattern: 所詮
+ expected: しょせん
+ - pattern:
+ - しようがない
+ - 仕様がない
+ expected: しょうがない
+ - pattern: 知れない
+ expected: しれない
+ - pattern: 知れません
+ expected: しれません
+ - pattern: 随分
+ expected: ずいぶん
+ - pattern: 直ぐ
+ expected: すぐ
+ - pattern: づくめ
+ expected: ずくめ
+ - pattern: /凄([いかくけ])/
+ expected: すご$1
+ - pattern: づつ
+ expected: ずつ
+ - pattern: 既に
+ expected: すでに
+ - pattern:
+ - すなはち
+ - 即ち
+ expected: すなわち
+ - pattern:
+ - 素晴らし
+ - 素晴し
+ expected: すばらし
+ - pattern: 素早
+ expected: すばや
+ - pattern: 須らく
+ expected: すべからく
+ - pattern: 折角
+ expected: せっかく
+ - pattern: 是非
+ expected: ぜひ
+ - pattern: そうゆう
+ expected: そういう
+ - pattern: 其々
+ expected: それぞれ
+ - pattern: 其れ
+ expected: それ
+ - pattern: /揃([わいうえおっ])/
+ expected: そろ$1
+ - pattern: 大体
+ expected: だいたい
+ - pattern: 大抵
+ expected: たいてい
+ - pattern: 大変
+ expected: たいへん
+ - pattern: 沢山
+ expected: たくさん
+ - pattern:
+ - 高々
+ - 高高
+ - 高だか
+ expected: たかだか
+ - pattern: /叩([かきくけこ])/
+ expected: たた$1
+ - pattern: 但し
+ expected: ただし
+ - pattern: 直ち
+ expected: ただち
+ - pattern: 著者|私
+ expected: 筆者
+ - pattern: /辿([らりるれろっ])/
+ expected: たど$1
+ - pattern: 例えば
+ expected: たとえば
+ - pattern:
+ - 譬え
+ - 喩え
+ - 例え
+ expected: たとえ
+ - pattern: たのし
+ expected: 楽し
+ - pattern: 度々
+ expected: たびたび
+ - pattern: /溜ま([らりるれろっ])/
+ expected: たま$1
+ - pattern: 因みに
+ expected: ちなみに
+ - pattern: 丁度
+ expected: ちょうど
+ - pattern: 遂に
+ expected: ついに
+ - pattern: /掴([まみむめもん])/
+ expected: つか$1
+ - pattern: /繋([らりるれろっ])/
+ expected: つなが$1
+ - pattern: /繋([いがぎぐげご])/
+ expected: つな$1
+ - pattern: つねに
+ expected: 常に
+ - pattern: /つまづ([いかきくけこ])|躓([いかきくけこ])/
+ expected: つまず$1
+ - pattern: /辛([いかくけ])/
+ expected: つら$1
+ - pattern: /ずら([いかくけ])/
+ expected: づら$1
+ - pattern: んで([たなるろよ])
+ expected: んでい$1
+ - pattern: /ってな(?!く)/
+ expected: っていな
+ specs:
+ - from: わかってない
+ to: わかっていない
+ - from: 言ってない
+ to: 言っていない
+ - from: 走ってない
+ to: 走っていない
+ - from: 持てない
+ to: 持てない
+ - from: 消えてなくなる
+ to: 消えてなくなる
+ - pattern: /([^捨当立])てる/
+ expected: $1ている
+ - pattern: /出来([かがのをは過す損ずなまるたれてそ])/
+ expected: でき$1
+ - pattern:
+ - 出来上
+ - 出来あ
+ - でき上
+ expected: できあ
+ - pattern:
+ - することが可能です
+ - することが可能になります
+ expected: できます
+ - pattern:
+ - することができ
+ - することが可能で
+ expected: でき
+ - pattern: するようになります
+ expected: します
+ - pattern: るようになります
+ expected: ます
+ - pattern: て欲し
+ expected: てほし
+ - pattern: で欲し
+ expected: でほし
+ - pattern: とうり
+ expected: とおり
+ - pattern: ときより
+ expected: ときおり
+ - pattern: 時々
+ expected: ときどき
+ - pattern: とくに
+ expected: 特に
+ - pattern:
+ - 何処
+ - 何所
+ expected: どこ
+ - pattern: 途端
+ expected: とたん
+ - pattern: /(ピン)?留([まめ])/
+ regexpMustEmpty: $1
+ expected: とど$2
+ specs:
+ - from: ピン留め
+ to: ピン留め
+ - from: 踏み留まる
+ to: 踏みとどまる
+ - pattern: /とは言え([^なまる])/
+ expected: とはいえ$1
+ - pattern: 共に
+ expected: ともに
+ - pattern: /捉え([ずなにぬまよらたてるろっ方中])/
+ expected: とらえ$1
+ - pattern: 囚わ
+ expected: とらわ
+ - pattern:
+ - 取りあえず
+ - 取り合えず
+ - 取り敢えず
+ expected: とりあえず
+ - pattern: /([^有])無([かくいけし])/
+ expected: $1な$2
+ - pattern: /尚([^早徳])/
+ expected: なお$1
+ - pattern:
+ - 名残
+ - 名残り
+ expected: なごり
+ - pattern: 何故
+ expected: なぜ
+ - pattern:
+ - 何某か
+ - 某か
+ expected: なにがしか
+ - pattern: /成り?済ま?([さしすせそ])|成り?すま([さしすせそ])/
+ expected: なりすま$1
+ - pattern: なので、
+ expected: ですので、
+ - pattern: 何となく
+ expected: なんとなく
+ - pattern: /に当た([っらりるれろ])/
+ expected: にあた$1
+ - pattern: /難([いく])/
+ expected: にく$1
+ - pattern: /の様([なにだで])/
+ expected: のよう$1
+ - pattern: /育([まみむめもん])/
+ expected: はぐく$1
+ - pattern: /([^手])筈/
+ expected: $1はず
+ - pattern: 甚だ
+ expected: はなはだ
+ - pattern: /孕([まみむめもんっ])/
+ expected: はら$1
+ - pattern:
+ - 遥か
+ - 遙か
+ expected: はるか
+ - pattern: 贔屓
+ expected: ひいき
+ - pattern: しいては
+ expected: ひいては
+ - pattern:
+ - 独り善がり
+ - 独りよがり
+ expected: ひとりよがり
+ - pattern: 一塊
+ expected: ひとかたまり
+ - pattern:
+ - 雛型
+ - 雛形
+ - ひな形
+ - ひながた
+ expected: ひな型
+ - pattern: /閃([かきくけこい])/
+ expected: ひらめ$1
+ - pattern: ふだん
+ expected: 普段
+ - pattern: 相応し
+ expected: ふさわし
+ - pattern:
+ - 付箋
+ - 付せん
+ expected: ふせん
+ - pattern: 殆ど
+ expected: ほとんど
+ - pattern: 正に
+ expected: まさに
+ - pattern:
+ - 益々
+ - 増々
+ expected: ますます
+ - pattern: 先ず
+ expected: まず
+ - pattern: /瞬([いかきくけこ])/
+ expected: またた$1
+ - pattern: 又は
+ expected: または
+ - pattern:
+ - 真っ新
+ - 真っさら
+ expected: まっさら
+ - pattern: 迄
+ expected: まで
+ - pattern: 纏ま
+ expected: まとま
+ - pattern: 纏め
+ expected: まとめ
+ - pattern: 稀
+ expected: まれ
+ - pattern: /剥([いかきくけこ])/
+ expected: む$1
+ - pattern: 寧ろ
+ expected: むしろ
+ - pattern: 滅多
+ expected: めった
+ - pattern:
+ - めんどくさ
+ - めんどうくさ
+ - 面倒臭
+ - めんど臭
+ - めんどう臭
+ expected: 面倒くさ
+ - pattern: めんどう
+ expected: 面倒
+ - pattern: 目論見
+ expected: もくろみ
+ - pattern: 勿論
+ expected: もちろん
+ - pattern: 勿体な
+ expected: もったいな
+ - pattern: もっとも
+ expected: 最も
+ - pattern: 尤も
+ expected: もっとも
+ - pattern: /貰([わいうえおっ])/
+ expected: もら$1
+ - pattern: 易し
+ expected: やさし
+ - pattern: 易々
+ expected: やすやす
+ - pattern: 厄介
+ expected: やっかい
+ - pattern: やっぱり
+ expected: やはり
+ - pattern: 闇雲
+ expected: やみくも
+ - pattern: 止め
+ expected: やめ
+ - pattern: やり取り
+ expected: やりとり
+ - pattern: 他所
+ expected: よそ
+ - pattern: /因([らりるれろっ])|依([らりるれろっ])/
+ expected: よ$1
+ - pattern: 僅か
+ expected: わずか
+ - pattern: いい
+ expected: よい
+ - pattern: 心地よ
+ expected: 心地良
+ - pattern: /判([らりるれろっ])/
+ expected: わか$1
+ - pattern: /解([らりるれろっ])/
+ expected: わか$1
+ - pattern: /の分([^散割類解野離析岐])/
+ expected: のぶん$1
+ - pattern:
+ - 気をつか
+ - 気を使
+ expected: 気を遣
+ - pattern: 小さ目
+ expected: 小さめ
+ - pattern: 大き目
+ expected: 大きめ
+ - pattern: 少な目
+ expected: 少なめ
+ - pattern: /多目([^的])/
+ expected: 多め$1
+ - pattern: 低目
+ expected: 低め
+ - pattern: 高目
+ expected: 高め
+ - pattern: /([のる])かわり/
+ expected: $1代わり
+ - pattern: /代([らりるれろっ])/
+ expected: 代わ$1
+ - pattern: 全て
+ expected: すべて
+ - pattern: 全く
+ expected: まったく
+ - pattern: /([にも])関わらず|([にも])関らず|([にも])拘わらず|([にも])拘らず/
+ expected: $1かかわらず
+ - pattern: /埋めこ([まむめもん])|うめこ([まむめもん])/
+ expected: 埋め込$1
+ - pattern: /置き変([わえ])|置き代([わえ])|置き替([わえ])|置きか([わえ])/
+ expected: 置き換$1
+ - pattern: /書きこ([まみむめもん])|かきこ([まみむめもん])/
+ expected: 書き込$1
+ - pattern: /書き替([えわ])|書きか([えわ])|かきか([えわ])|書換([えわ])|書き変([えわ])/
+ expected: 書き換$1
+ - pattern: /読みこ([まみむめもん])|よみこ([まみむめもん])|読込([まみむめもん])/
+ expected: 読み込$1
+ - pattern: /読みか([えわ])|よみか([えわ])|読替([えわ])|読換([えわ])|読み換([えわ])/
+ expected: 読み替$1
+ - pattern: /きりか([えわ])|切り換([えわ])|切換([えわ])|切替([えわ])/
+ expected: 切り替$1
+ - pattern: /くみこ([まむめもん])|組込([まむめもん])|組みこ([まむめもん])/
+ expected: 組み込$1
+ - pattern: /くみこみ([^ま])|組み込み([^ま])|組みこみ([^ま])/
+ expected: 組込み$1
+ - pattern: /組合([わいうえおっ])|くみあ([わいうえおっ])/
+ expected: 組み合$1
+ - pattern: /組合([さしすせそっ])|くみあわ([さしすせそっ])/
+ expected: 組み合わ$1
+ - pattern: /くみか([わいうえおっ])|組替([わいうえおっ])/
+ expected: 組み替$1
+ - pattern: /ことな([りるれっ])/
+ expected: 異な$1
+ - pattern: /立ち合([わいうえおっ])|立ち遭([わいうえおっ])|立ち逢([わいうえおっ])/
+ expected: 立ち会$1
+ - pattern: /取りく([まみむめもん])|とりく([まみむめもん])|とり組([まみむめもん])/
+ expected: 取り組$1
+ - pattern: /取り変([わえ])|取り代([わえ])|取り換([わえ])|取りか([わえ])/
+ expected: 取り替$1
+ - pattern: /話し会([わいうえおっ])|話し遭([わいうえおっ])|話し逢([わいうえおっ])|話しあ([わいうえおっ])/
+ expected: 話し合$1
+ - pattern: /ひきつ([がぎぐげご])|引きつ([がぎぐげご])/
+ expected: 引き継$1
+ - pattern: /引き替([えわ])|引きか([えわ])|ひきか([えわ])|引換([えわ])|引き変([えわ])/
+ expected: 引き換$1
+ - pattern: /目が会([わいうえおっ])|目が遭([わいうえおっ])|目が逢([わいうえおっ])|目があ([わいうえおっ])/
+ expected: 目が合$1
+ - pattern:
+ - よびだ
+ - 呼びだ
+ - 呼出
+ expected: 呼び出
+ - pattern: 作りだ
+ expected: 作り出
+ - pattern: 読みだ
+ expected: 読み出
+ - pattern: 貼りだ
+ expected: 貼り出
+ - pattern: 取りだ
+ expected: 取り出
+ - pattern:
+ - とりあげ
+ - 取りあげ
+ expected: 取り上げ
+ - pattern: /とりこ([まみむめもん])|取りこ([まみむめもん])|とり込([まみむめもん])/
+ expected: 取り込$1
+ - pattern: 作りあ
+ expected: 作り上
+ - pattern:
+ - からみあ
+ - からみ合
+ - 絡みあ
+ expected: 絡み合
+ - pattern: からっぽ
+ expected: 空っぽ
+ - pattern: 売上げ
+ expected: 売り上げ
+ - pattern:
+ - 巡り会
+ - 巡り遭
+ - 巡り逢
+ expected: 巡り合
+ - pattern: 割込み
+ expected: 割り込み
+ - pattern: 割当
+ expected: 割り当て
+ - pattern: 割切り
+ expected: 割り切り
+ - pattern:
+ - しめくく
+ - 締め括
+ expected: 締めくく
+ - pattern: 使いなれ
+ expected: 使い慣れ
+ - pattern:
+ - 使いわけ
+ - つかいわけ
+ expected: 使い分け
+ - pattern: 落としこ
+ expected: 落とし込
+ - pattern: 切りわけ
+ expected: 切り分け
+ - pattern:
+ - 間に会
+ - 間に遭
+ - 間に逢
+ expected: 間に合
+ - pattern:
+ - 災難に合
+ - 災難に会
+ - 災難に逢
+ expected: 災難に遭
+ - pattern:
+ - 事故に合
+ - 事故に会
+ - 事故に逢
+ expected: 事故に遭
+ - pattern:
+ - 気が会
+ - 気が遭
+ - 気が逢
+ expected: 気が合$1
+ - pattern:
+ - 落ち会
+ - 落ち遭
+ - 落ち逢
+ expected: 落ち合
+ - pattern: /ふるま([わいうえおっ])|振舞([わいうえおっ])|振るま([わいうえおっ])/
+ expected: 振る舞$1
+ - pattern: /みはから([いうえっ])/
+ expected: 見計ら$1
+ - pattern: みえ
+ expected: 見え
+ - pattern: みあた
+ expected: 見当た
+ - pattern:
+ - いいわけ
+ - 言訳
+ - 言いわけ
+ expected: 言い訳
+ - pattern: いえない
+ expected: 言えない
+ - pattern: いえなく
+ expected: 言えなく
+ - pattern: いえる
+ expected: 言える
+ - pattern: いわれる
+ expected: 言われる
+ - pattern:
+ - 未だ
+ - 今だ
+ expected: いまだ
+ - pattern:
+ - 今ひとつ
+ - 今一つ
+ - いま一つ
+ expected: いまひとつ
+ - pattern:
+ - 今更
+ - 今さら
+ expected: いまさら
+ - pattern: 今頃
+ expected: 今ごろ
+ - pattern: /([^な])いままで/
+ expected: $1今まで
+ - pattern: 今時
+ expected: 今どき
+ - pattern: 今更
+ expected: 今さら
+ - pattern: 尚更
+ expected: なおさら
+ - pattern: 更なる
+ expected: さらなる
+ - pattern: /([^変])更に/
+ expected: $1さらに
+ - pattern: やむをえ|止むを得
+ expected: やむを得
+ - pattern: すこし
+ expected: 少し
+ - pattern: /すくな(?!り|る)/
+ expected: 少な
+ specs:
+ - from: すくなく
+ to: 少なく
+ - from: わかりやすくなり
+ to: わかりやすくなり
+ - pattern: 少い
+ expected: 少ない
+ - pattern: おこし
+ expected: 起こし
+ - pattern: おこす
+ expected: 起こす
+ - pattern: 何げな
+ expected: 何気な
+ - pattern: なにか
+ expected: 何か
+ - pattern: なにしろ
+ expected: 何しろ
+ - pattern:
+ - なにとそ
+ - なにとぞ
+ - 何卒
+ expected: 何とぞ
+ - pattern: なんど
+ expected: 何度
+ - pattern: なんら
+ expected: 何ら
+ - pattern: なんの
+ expected: 何の
+ - pattern: 生れ
+ expected: 生まれ
+ - pattern: それ故
+ expected: それゆえ
+ - pattern: /([^事])故に/
+ expected: $1ゆえに
+ - pattern: 程々
+ expected: ほどほど
+ - pattern: これ程
+ expected: これほど
+ - pattern: それ程
+ expected: それほど
+ - pattern: あれ程
+ expected: あれほど
+ - pattern: どれ程
+ expected: どれほど
+ - pattern: なる程
+ expected: なるほど
+ - pattern: さきほど|先程
+ expected: 先ほど
+ - pattern: 本紙
+ expected: 本誌
+ - pattern: /基([いかきくけこ])|基ず([いかきくけこ])|もとず([いかきくけこ])|もとづ([いかきくけこ])/
+ expected: 基づ$1
+ - pattern:
+ - 元々
+ - 本々
+ expected: もともと
+ - pattern: /基([^数準盤板底礎本])/
+ expected: もと$1
+ - pattern: /([^追])及び/
+ expected: $1および
+ - pattern: した上
+ expected: したうえ
+ - pattern: その上
+ expected: そのうえ
+ - pattern: 始めとする
+ expected: はじめとする
+ - pattern: 始めとした
+ expected: はじめとした
+ - pattern: はじめて
+ expected: 初めて
+ - pattern: はじめた
+ expected: 始めた
+ - pattern: はじま
+ expected: 始ま
+ - pattern: はじめ
+ expected: 始め
+ - pattern: かたまり
+ expected: 塊
+ - pattern: やりかた
+ expected: やり方
+ - pattern: ありかた
+ expected: あり方
+ - pattern: かたち
+ expected: 形
+ - pattern: かた
+ expected: 方
+ - pattern: 済まな
+ expected: すまな
+ - pattern: 済みません
+ expected: すみません
+ - pattern: あたりまえ
+ expected: 当たり前
+ - pattern: /汚な([かくいけ])/
+ expected: 汚$1
+ - pattern: /果([さしすせそ])/
+ expected: 果た$1
+ - pattern: /([^排人])他([^ァ-ヶ社者人方])/
+ expected: $1ほか$2
+ - pattern: 後ほど
+ expected: のちほど
+ - pattern: うしろ
+ expected: 後ろ
+ - pattern: 同士
+ expected: どうし
+ - pattern:
+ - 頭が堅
+ - 頭が硬
+ expected: 頭が固
+ - pattern: あつめ
+ expected: 集め
+ - pattern: /あては([まめ])/
+ expected: 当ては$1
+ - pattern: 意志決定
+ expected: 意思決定
+ - pattern: 威大
+ expected: 偉大
+ - pattern: いっそう
+ expected: 一層
+ - pattern: おおまか
+ expected: 大まか
+ - pattern: あふれ
+ expected: 溢れ
+ - pattern: 窺え
+ expected: うかがえ
+ - pattern:
+ - 窺い知
+ - 伺い知
+ expected: うかがい知
+ - pattern: /失な([わいうえおっ])/
+ expected: 失$1
+ - pattern: /おお([かいくけこ])/
+ expected: 多$1
+ - pattern: そって
+ expected: 沿って
+ - pattern: /押え([なたまれる])/
+ expected: 押さえ$1
+ - pattern: 押し進め
+ expected: 推し進め
+ - pattern: /折返([さしすせそ])/
+ expected: 折り返$1
+ - pattern: /加([らりるれろっ])/
+ expected: 加わ$1
+ - pattern: 静的型付け言語
+ expected: 静的型付き言語
+ - pattern: 動的型付け言語
+ expected: 動的型付き言語
+ - pattern: 変わり映え
+ expected: 代わり映え
+ - pattern: 狗肉の策
+ expected: 苦肉の策
+ - pattern: /こわれ([たちつてとらりるれろっ])/
+ expected: 壊れ$1
+ - pattern: 混み入っ
+ expected: 込み入っ
+ - pattern: /怪([いまみむめも])/
+ expected: 怪し$1
+ - pattern: おのおの
+ expected: 各々
+ - pattern: 最新の注意
+ expected: 細心の注意
+ - pattern: 列志向
+ expected: 列指向
+ - pattern: 行志向
+ expected: 行指向
+ - pattern: オブジェクト志向
+ expected: オブジェクト指向
+ - pattern: ドキュメント志向
+ expected: ドキュメント指向
+ - pattern: アスペクト志向
+ expected: アスペクト指向
+ - pattern: 粗結合
+ expected: 疎結合
+ - pattern: 確かに
+ expected: たしかに
+ - pattern: /たしか([^に])/
+ expected: 確か
+ - pattern: /確め([たなまれる])/
+ expected: 確かめ$1
+ - pattern: /かっこ([^良悪いイ])|カッコ([^良悪いイ])/
+ expected: 括弧$1
+ - pattern: かんたん
+ expected: 簡単
+ - pattern: 業社
+ expected: 業者
+ - pattern: /陥([たなま])/
+ expected: 陥れ$1
+ - pattern: 危い
+ expected: 危ない
+ - pattern: /喜し([かくいけ])/
+ expected: 喜ばし$1
+ - pattern: /起([さしすせそらりるれろっ])/
+ expected: 起こ$1
+ - pattern: /輝し([かくいけ])/
+ expected: 輝かし$1
+ - pattern: /恐し([かくいけ])/
+ expected: 恐ろし$1
+ - pattern: 近頃
+ expected: 近ごろ
+ - pattern: /隣合([わいうえおっ])/
+ expected: 隣り合$1
+ - pattern:
+ - 決っ
+ - きまっ
+ expected: 決まっ
+ - pattern:
+ - 現われ
+ - あらわれ
+ expected: 現れ
+ - pattern: /かぎ([らりるれろっ])/
+ expected: 限$1
+ - pattern: /語([わいうえお])/
+ expected: 語ら$1
+ - pattern: /交([らりるれろっ])/
+ expected: 交わ$1
+ - pattern: /行な([わいうえおっ])|おこな([わいうえおっ])/
+ expected: 行$1
+ - pattern: あわて
+ expected: 慌
+ - pattern: あわ
+ expected: 合わ
+ - pattern: /混([らりるれろっ])/
+ expected: 混ざ$1
+ - pattern: おも([いうわ])
+ expected: 思$1
+ - pattern: 差違
+ expected: 差異
+ - pattern:
+ - プレフィックス
+ - プレフィクス
+ - プリフィックス
+ expected: 接頭辞
+ - pattern:
+ - サフィックス
+ - サフィックス
+ - サフィクス
+ expected: 接尾辞
+ - pattern: 事前準備
+ expected: 下準備
+ - pattern: 前準備
+ expected: 下準備
+ - pattern: 誌幅
+ expected: 紙幅
+ - pattern: 紙面
+ expected: 誌面
+ - pattern: /賜わ([らりるれろっ])/
+ expected: 賜$1
+ - pattern: しだいに
+ expected: 次第に
+ - pattern: /すて([たちつてとらりるれろっ])/
+ expected: 捨て$1
+ - pattern: 成功を納め
+ expected: 成功を収め
+ - pattern: /おわ([らりるれろっ][^か])/
+ expected: 終わ$1
+ - pattern: /終([らりるれろっ])/
+ expected: 終わ$1
+ - pattern: /集([らりるれろっ])/
+ expected: 集ま$1
+ - pattern: 充分
+ expected: 十分
+ - pattern: したがう
+ expected: 従う
+ - pattern: とりま
+ expected: 取り巻
+ - pattern: とうてい
+ expected: 到底
+ - pattern: /柔か([だない])/
+ expected: 柔らか$1
+ - pattern: /重([ずじ])/
+ expected: 重ん$1
+ - pattern: /畳込([まみむめも])/
+ expected: 畳み込$1
+ - pattern: 定形的
+ expected: 定型的
+ - pattern:
+ - 出合
+ - 出遭
+ - 出逢
+ expected: 出会
+ - pattern:
+ - できごと
+ - でき事
+ - 出来ごと
+ expected: 出来事
+ - pattern: 適正
+ expected: 適性
+ - pattern: /助([たなまれる])/
+ expected: 助け$1
+ - pattern:
+ - 問合せ
+ - 問い合せ
+ - 問合わせ
+ - 問いあわせ
+ - といあわせ
+ expected: 問い合わせ
+ - pattern: /承わ([らりるれろっ])/
+ expected: 承$1
+ - pattern: ご紹介
+ expected: 紹介
+ - pattern: 晴やか
+ expected: 晴れやか
+ - pattern: /清か([だな])/
+ expected: 清らか$1
+ - pattern: おいたち
+ expected: 生い立ち
+ - pattern: /積([らりるれろっ])/
+ expected: 積も$1
+ - pattern: ご説明
+ expected: 説明
+ - pattern: 憎しい
+ expected: 憎らしい
+ - pattern: /つづ([^つ])/
+ expected: 続$1
+ - pattern:
+ - 取って変
+ - 取って換
+ - 取って替
+ expected: 取って代
+ - pattern:
+ - 存知
+ - ぞんじ
+ expected: 存じ
+ - pattern: だれ
+ expected: 誰
+ - pattern: /断わ([らりるれろっ])/
+ expected: 断$1
+ - pattern: 内臓
+ expected: 内蔵
+ - pattern: /なか([かでに])/
+ expected: 中$1
+ - pattern: /なら(ば(?!、)|[びぶべぼん])/
+ expected: 並$1
+ specs:
+ - from: ならびに
+ to: 並びに
+ - from: ならば、
+ to: ならば、
+ - pattern: /著わ([さしすせそ])/
+ expected: 著$1
+ - pattern: 著い
+ expected: 著しい
+ - pattern:
+ - 手に追えな
+ - てに追えな
+ - てに負えな
+ - てにおえな
+ - 手におえな
+ expected: 手に負えな
+ - pattern: /定([らりるれろっ])/
+ expected: 定ま$1
+ - pattern: /当([らりるれろっ])/
+ expected: 当た$1
+ - pattern:
+ - 踏え
+ - ふまえ
+ expected: 踏まえ
+ - pattern: /おなじ([^み])/
+ expected: 同じ$1
+ - pattern: なじみ
+ expected: 馴染み
+ - pattern:
+ - 引きづ
+ - ひきづ
+ expected: 引きず
+ - pattern: むずかしい
+ expected: 難しい
+ - pattern: /まか([さしすせそ])/
+ expected: 任$1
+ - pattern: /([^っ])伴な|([^っ])ともな/
+ expected: $1伴
+ - pattern: /悲([まみむめも])/
+ expected: 悲し$1
+ - pattern:
+ - 較べ
+ - くらべ
+ expected: 比べ
+ - pattern:
+ - かならず
+ - 必らず
+ expected: 必ず
+ - pattern: /表わ([さしすせそ])|あらわ([さしすせそ])/
+ expected: 表$1
+ - pattern: /浮([ばびぶべぼん])/
+ expected: 浮か$1
+ - pattern: /わかれ([^ば])/
+ expected: 分かれ$1
+ - pattern: /わけ([らるれろてよ、])/
+ expected: 分け$1
+ - pattern: /聞え([なたまれる])/
+ expected: 聞こえ$1
+ - pattern: /変([らりるれろっ])/
+ expected: 変わ$1
+ - pattern: /捕え([なたまれる])/
+ expected: 捕らえ$1
+ - pattern: /暮([さしすせそ])/
+ expected: 暮ら$1
+ - pattern: /([^鮮])明か/
+ expected: $1明らか
+ - pattern: もどって
+ expected: 戻って
+ - pattern:
+ - 返り値
+ - 返値
+ expected: 戻り値
+ - pattern: /勇し([かくい])/
+ expected: 勇まし$1
+ - pattern: /揺([がぎぐげご])/
+ expected: 揺ら$1
+ - pattern: /頼し([かくい])/
+ expected: 頼もし$1
+ - pattern: /冷([さしすせそ])/
+ expected: 冷や$1
+ - pattern: /連([らりるれろっ])|つらな([らりるれろっ])/
+ expected: 連な$1
+ - pattern: はさまざま
+ expected: はさまざま
+ - pattern: /はさ([まみむめもん])/
+ expected: 挟$1
+ - pattern: おそれ
+ expected: 恐れ
+ - pattern: /([^っ])さきに/
+ expected: $1先に
+ - pattern: 自分自信
+ expected: 自分自身
+ - pattern: /満([さしすせそっ])|みた([さしすせそっ])/
+ expected: 満た$1
+ - pattern: /([をがに])生か/
+ expected: $1活か
+ - pattern: /いとな([まみむめも])/
+ expected: 営$1
+ - pattern: /かかげ([たてらる])/
+ expected: 掲げ$1
+ - pattern: /がた([ちつっ])/
+ expected: が経$1
+ - pattern: /うめ([たつて])/
+ expected: 埋め$1
+ - pattern:
+ - おすすめ
+ - お薦め
+ - お奨め
+ - オススメ
+ expected: お勧め
+ - pattern:
+ - てがけ
+ - 手掛け
+ expected: 手がけ
+ - pattern: みずから
+ expected: 自ら
+ - pattern: /いた([るれろ])/
+ expected: 至$1
+ - pattern: そなえ
+ expected: 備え
+ - pattern: /まね([いかきくけこ])/
+ expected: 招$1
+ - pattern: 子供
+ expected: 子ども
+ - pattern: 塔載
+ expected: 搭載
+ - pattern: 一番最初
+ expected: 一番初め
+ - pattern: 貼付け
+ expected: 貼り付け
+ - pattern: 必用
+ expected: 必要
+ - pattern: /あたえ([たつてらりるれろっ])/
+ expected: 与え$1
+ - pattern: /すす([まみむめもん])/
+ expected: 進$1
+ - pattern: 焦点をあて
+ expected: 焦点を当て
+ - pattern: /おも([いうえおわっ])/
+ expected: 思$1
+ - pattern: /おも([なにとだで])/
+ expected: 主$1
+ - pattern: 高値の花
+ expected: 高嶺の花
+ - pattern: たいする
+ expected: 対する
+ - pattern: たいし
+ expected: 対し
+ - pattern:
+ - たずさわ
+ - たづさわ
+ expected: 携わ
+ - pattern: 訪ず
+ expected: 訪
+ - pattern: 短か
+ expected: 短
+ - pattern: わたし
+ expected: 私
+ - pattern: /くわし([いく])/
+ expected: 詳し$1
+ - pattern: 陽の目
+ expected: 日の目
+ - pattern: 保障
+ expected: 保証
+ - pattern: 移譲
+ expected: 委譲
+ - pattern: 稼動
+ expected: 稼働
+ - pattern: 芋蔓
+ expected: 芋づる
+ - pattern: あいだ
+ expected: 間
+ - pattern: /しめ([さしすせそ])/
+ expected: 示$1
+ - pattern: /のべ([^たてなるまよ、])/
+ expected: 延べ$1
+ - pattern: /あつま([らりるれろ])/
+ expected: 集ま$1
+ - pattern: /あきらめ([たてなるまよ、])/
+ expected: 諦め$1
+ - pattern: 成立ち
+ expected: 成り立ち
+ - pattern:
+ - たどりつ
+ - 辿り着
+ - 辿りつ
+ expected: たどり着
+ - pattern: 安定板
+ expected: 安定版
+ - pattern: /かえ([さしすせそっ])/
+ expected: 返$1
+ - pattern: /さが([さしすせそっ])/
+ expected: 探$1
+ - pattern: 見様見真似
+ expected: 見よう見まね
+ - pattern: 買物
+ expected: 買い物
+ - pattern: /ほどこ([さしすせそ])/
+ expected: 施$1
+ - pattern: /使いき([らりるれろっ])/
+ expected: 使い切$1
+ - pattern: /逃が([さしすせそれ])/
+ expected: 逃$1
+ - pattern: /濡れ手[でに][泡粟]/
+ expected: 濡れ手で粟
+ - pattern: /もど([^ち])/
+ expected: 戻$1
+ - pattern: 携帯キャリア
+ expected: 携帯電話キャリア
+ - pattern:
+ - 代金引き換え
+ - 代引
+ - 代引き
+ expected: 代金引換
+ - pattern: /割引(?:き)?/
+ expected: 割り引き
+ - pattern:
+ - ひとめ
+ - ひと目
+ expected: 一目
+ - pattern: 復号化
+ expected: 復号
+ - pattern: 手間取
+ expected: 手間ど
+ - pattern: 中味
+ expected: 中身
+ - pattern: /則([らりるれろっ])/
+ expected: のっと$1
+ - pattern: 洗錬
+ expected: 洗練
+ - pattern: 基板
+ expected: 基盤
+ - pattern: ふれ
+ expected: 触れ
+ - pattern: /あお([がぎぐげごっ])/
+ expected: 仰$1
+ - pattern:
+ - 独り事
+ - ひとり事
+ - ひとりごと
+ expected: 独り言
+ - pattern: 本校
+ expected: 本稿
+ - pattern: /つぎ([にの])/
+ expected: 次$1
+ - pattern: 見きれ
+ expected: 見切れ
+ - pattern: /見做([さしすせそ])/
+ expected: みな$1
+ - pattern: 無駄使い
+ expected: 無駄遣い
+ - pattern: 肩をなでおろ
+ expected: 胸をなでおろ
+ - pattern: /陥い([らりるれろっ])|おちい([らりるれろっ])/
+ expected: 陥$1
+ - pattern: /かさ([なね])/
+ expected: 重$1
+ - pattern: 情報原
+ expected: 情報源
+ - pattern: 過度期
+ expected: 過渡期
+ - pattern: 流れを組
+ expected: 流れをく
+ - pattern:
+ - 無駄使い
+ - ムダ遣い
+ - ムダ使い
+ - 無駄づかい
+ - 無駄ずかいい
+ - ムダづかい
+ - ムダずかい
+ expected: 無駄遣い
+ - pattern: 発火
+ expected: 発行
+ - pattern:
+ - 至難のわざ
+ - 至難の技
+ expected: 至難の業
+ - pattern: /こわ([さしすせそれ])/
+ expected: 壊$1
+ - pattern: /かか([え])/
+ expected: 抱$1
+ - pattern: まわり
+ expected: 周り
+ - pattern: こころ
+ expected: 心
+ - pattern: じゃま
+ expected: 邪魔
+ - pattern: ひんぱん
+ expected: 頻繁
+ - expected: (株)
+ pattern: /株式会社/
+ - expected: (有)
+ pattern: /有限会社/
+ - expected: (社)
+ pattern: /社団法人/
+ - expected: (合)
+ pattern: /合名会社/
+ - expected: (特)
+ pattern: /特殊法人/
+ - expected: (財)
+ pattern: /財団法人/
+ - expected: (学)
+ pattern: /学校法人/
+ - expected: (監)
+ pattern: /監査法人/
+ - expected: (資)
+ pattern: /合資会社/
+ - expected: (協)
+ pattern: /協力会社/
+ - expected: (同)
+ pattern: /合同会社/
+ - expected: (独)
+ pattern: /独立行政法人/
+ - expected: (医)
+ pattern: /医療法人/
+ - expected: (宗)
+ pattern: /宗教法人/
+ - expected: オーバー$1
+ pattern: /オーバ([^ー])/
+ specs:
+ - from: オーバ気味
+ to: オーバー気味
+ - expected: スーパー$1
+ pattern: /スーパ([^ー])/
+ - expected: ハイパー$1
+ pattern: /ハイパ([^ーフ])/
+ specs:
+ - from: ハイパバイザ
+ to: ハイパーバイザ
+ - from: ハイパフォーマンス
+ to: ハイパフォーマンス
+ - expected: Cookie
+ pattern: クッキー
+ - expected: Cookie
+ - expected: WebSocket
+ pattern: /\bWeb Socket\b/
+ - expected: $1Web$2
+ pattern: /(?:([^/])ウェブ)|(?:ウェブ([^/\+]))/
+ - expected: $1Web$2
+ pattern: /(?:([^/])ウェッブ)|(?:ウェッブ([^/\+]))/
+ - expected: O/Rマッ
+ pattern: /ORマッ|O-Rマッ/
+ - expected: O/Rマッパ
+ pattern: /O\/Rマッパー|\bORM\b/
+ - expected: アイデア
+ pattern: /アィディア|アイディア|アィディア|アィデア/
+ - expected: アクワイアラ
+ pattern: /アクワイアラー/
+ - expected: アスタリスク
+ pattern: /アステリスク/
+ - expected: アーキテクチャ
+ pattern: /アーキテクチャー|アーキティクチャ/
+ - expected: アクティビティ
+ pattern: /\bActivity\b|アクティビティー/
+ - expected: アダプタ
+ pattern: /アダプター/
+ - expected: アドバイス
+ pattern: /アドヴァイス/
+ - expected: アノテーション
+ pattern: /アノーテーション/
+ - expected: アプレット
+ pattern: /\bApplet\b/
+ - expected: アプリケーション
+ pattern: /アプリ(?!ケ)/
+ specs:
+ - from: アプリケーション
+ to: アプリケーション
+ - from: アプリ
+ to: アプリケーション
+ - expected: アンダースコア
+ pattern: /アンダーバー/
+ - expected: イシュア
+ pattern: /イシュアー/
+ - expected: イディオム
+ pattern: /イデオム/
+ - expected: インジケータ
+ pattern: /インジケーター|インジゲーター|インジゲータ/
+ - expected: インスタンス
+ pattern: /インスンタンス/
+ - expected: インストーラ
+ pattern: /インストーラー/
+ - expected: インスパイア
+ pattern: /インスパイヤ/
+ - expected: インスペクタ
+ pattern: /インスペクター/
+ - expected: インタフェース
+ pattern: /インタフェイス|インターフェイス|インターフェース|インターフェィス/
+ - expected: インタプリタ
+ pattern: /インタープリタ|インタプリター|インタープリター/
+ - expected: インデックス
+ pattern: /インデクス/
+ - expected: インテント
+ pattern: /\bIntent\b/
+ - expected: ウィジェット
+ pattern: /\bWidget\b|\bwidget\b/
+ - expected: ウィルス
+ pattern: /ウイルス/
+ - expected: ウィンドウ
+ pattern: /ウインドウ/
+ - expected: ウェア
+ pattern: ウエア
+ spec:
+ - from: ハードウエア
+ to: ハードウェア
+ - expected: エディタ
+ pattern: /エディター/
+ - expected: エミッタ
+ pattern: /エミッター/
+ - expected: エンコーダ
+ pattern: /エンコーダー/
+ - expected: デコーダ
+ pattern: /デコーダー/
+ - expected: エミュレータ
+ pattern: /エミュレーター/
+ - expected: エンティティ
+ pattern:
+ - Entity
+ - entity
+ - エンティティー
+ - expected: エントリ
+ pattern: /エントリー/
+ - expected: オブザーバ
+ pattern: /オブザーバー|オブサーバー|オブサーバ/
+ - expected: オプション
+ pattern: /オブション/
+ - expected: オン/オフ
+ pattern: /ON\/OFF|ON/OFF|オン・オフ|オン\/オフ/
+ - expected: カウンタ
+ pattern: /カウンター/
+ - expected: カバレッジ
+ pattern: /カバリッジ|カバレージ/
+ - expected: ガベージ
+ pattern: /ガベージ・|ガーベジ|ガーベジ・|ガーベージ|ガーベージ・|ガーベッジ|ガーベッジ・|ガベッジ/
+ - expected: カテゴリ
+ pattern: /カテゴリー/
+ - expected: カラムナ
+ pattern: /カラムナー/
+ - expected: カンマ
+ pattern: /コンマ/
+ - expected: キャラクタ
+ pattern: /キャラクター/
+ - expected: キャッシュ
+ pattern:
+ - /cache(?![^a-zA-Z\-])/
+ - /Cache(?![^a-zA-Z\-])/
+ - expected: クエリ文字列
+ pattern:
+ - QueryString
+ - Query String
+ - クエリストリング
+ - クエリーストリング
+ - expected: クエリ
+ pattern: /クエリー/
+ - expected: クオート
+ pattern: /クォート|クオーテーション|クォーテーション/
+ - expected: クオリティ
+ pattern: /クオリティー|クォリティ|クォリティー/
+ - expected: クライアント/サーバ
+ pattern:
+ - クライアント/サーバー
+ - クライアント/サーバ
+ - クライアント・サーバー
+ - クライアント・サーバ
+ - クライアントサーバー
+ - クライアントサーバ
+ specs:
+ - from: クライアント/サーバー
+ to: クライアント/サーバ
+ - expected: クラスタ
+ pattern: /クラスター/
+ - expected: グラウンド
+ pattern: /グランド/
+ - expected: グリッド
+ pattern: /\bGrid\b/
+ - expected: クロージャ
+ pattern: /クロージャー/
+ - expected: クローラ
+ pattern: /クローラー/
+ - expected: ゲッタ
+ pattern: /ゲッター/
+ - expected: コピー&ペースト
+ pattern:
+ - コピー&ペースト
+ - コピーアンドペースト
+ - コピーペースト
+ - expected: コミュニ
+ pattern: /コミニュ/
+ - expected: アンコメント
+ pattern: /コメントイン/
+ - expected: コンストラクタ
+ pattern: /コンストラクター/
+ - expected: コンテキスト
+ pattern: /コンテクスト/
+ - expected: コンテントプロバイダ
+ pattern: /\bContent provider\b/
+ - expected: コンテナ
+ pattern: /コンテナー/
+ - expected: コンピュータ
+ pattern: /コンピューター/
+ - expected: コンポーネント
+ pattern: /コンポネント/
+ - expected: コントローラ
+ pattern: /コントローラー/
+ - expected: サーバ
+ pattern: /サーバー/
+ - expected: サーブレット
+ pattern:
+ - Servlet
+ - SERVLET
+ - expected: サーブレット/JSP
+ pattern:
+ - サーブレット/JSP
+ - サーブレット&JSP
+ - サーブレット&JSP
+ - expected: サンフランシスコ
+ pattern: /\bSan Francisco\b/
+ - expected: シェア
+ pattern: /シェア率/
+ - expected: ジェスチャ
+ pattern: /ジェスチャー/
+ - expected: ジェネレータ
+ pattern: /ジェネレーター/
+ - expected: ジェネレーティブ
+ pattern: /ジェネレイティブ/
+ - expected: ジョブズ
+ pattern: /ジョブス/
+ - expected: ジオタグ
+ pattern: /\bGeotag\b|\bgeotag\b/
+ - expected: シグネチャ
+ pattern: /シグネチャー/
+ - expected: シミュレー
+ pattern: /シュミレー/
+ - expected: シンクロナイザ
+ pattern: /シンクロナイザー/
+ - expected: スカラ
+ pattern: /スカラー/
+ - expected: スクラム
+ pattern: /\bScrum\b/
+ - expected: スタンドアローン
+ pattern: /スタンドアロン/
+ - expected: ストアド
+ pattern: /ストアード/
+ - expected: ストレージ
+ pattern: /ストレッジ|ストレジ/
+ - expected: スマートフォン
+ pattern: /スマフォ|スマホ/
+ - expected: スムーズ
+ pattern: /スムース/
+ - expected: セキュリティ
+ pattern: /セキュリティー/
+ - expected: セッション
+ pattern: /\bsession\b|\bSession\b/
+ - expected: セッタ
+ pattern: /セッター/
+ - expected: セレクタ
+ pattern: /セレクター/
+ - expected: センサ
+ pattern: /センサー/
+ - expected: ソフトウェア
+ pattern: /(日経)?ソフトウエア/
+ regexpMustEmpty: $1
+ specs:
+ - from: 広義のソフトウエア
+ to: 広義のソフトウェア
+ - from: 日経ソフトウエア
+ to: 日経ソフトウエア
+ - expected: ソフトバンク
+ pattern: /\bSoftBank\b/
+ - expected: ダイアグラム
+ pattern: /ダイヤグラム/
+ - expected: タイムスタンプ
+ pattern:
+ - timestamp
+ - Timestamp
+ - expected: ツイート
+ pattern:
+ - tweet
+ - Tweet
+ - ツィート
+ - expected: ツリーオブジェクト
+ pattern: /ツリー・オブジェクト/
+ - expected: ツリーエントリ
+ pattern: /ツリー・エントリ/
+ - expected: データサービス
+ pattern: /\bData Services\b/
+ - expected: データ
+ pattern: /データー/
+ - expected: データセンター$1
+ pattern: /データセンタ([^ー])/
+ - expected: データ同期
+ pattern: /\bData Sync\b/
+ - expected: チェイン
+ pattern: /チェーン/
+ - expected: ディザスタリカバリ
+ pattern: /ディザスタ・リカバリ/
+ - expected: ディスク
+ pattern: /\bDisk\b/
+ - expected: ディスパッチャ
+ pattern: /ディスパッチャー/
+ - expected: ディスプレイ
+ pattern: /ディスプレー/
+ - expected: ディレクトリ
+ pattern: /ディレクトリー/
+ - expected: テクノロジ
+ pattern: /テクノロジー/
+ - expected: デジタルカメラ
+ pattern: /デジカメ/
+ - expected: デバッグ
+ pattern: /デバック/
+ - expected: デバッガ
+ pattern: /デバッガー/
+ - expected: デフォルト
+ pattern: /既定|ディフォルト|デフォールト/
+ - expected: デプロイ
+ pattern: /デプロイメント/
+ - expected: デリバリ
+ pattern: /デリバリー/
+ - expected: ドキュメント
+ pattern: /ドキュメンテーション/
+ - expected: ドコモ
+ pattern: /\bdocomo\b|\bDocomo\b|\bDoCoMo\b/
+ - expected: ドライバ
+ pattern: /ドライバー/
+ - expected: ドラッグ&ドロップ
+ pattern: /ドラッグ・アンド・ドロップ|ドラッグアンドドロップ|ドラッグ&ドロップ|ドラッグ & ドロップ/
+ - expected: トリガ
+ pattern: /トリガー/
+ - expected: ニューヨーク
+ pattern: /\bNew York\b/
+ - expected: バイナリ
+ pattern: /バイナリー/
+ - expected: ハイパーリンク
+ pattern: /ハイパー・リンク/
+ - expected: ハイパーバイザ
+ pattern: /ハイパーバイザー/
+ - expected: パーサ
+ pattern: /パーサー|パーザー|パーザ/
+ - expected: パーマリンク
+ pattern: /\bPermalink\b|\bpermalink\b|\bpermanent link\b|パーマネントリンク/
+ - expected: バッファ
+ pattern: /バッファー/
+ - expected: パス
+ pattern: /\bpath\b|\bPath\b/
+ - expected: パターン
+ pattern: /パタン/
+ - expected: ハッシュ
+ pattern: /\bhash\b|\bHash\b/
+ - expected: バラ
+ pattern: /薔薇/
+ - expected: バラエティ
+ pattern: /バラエティー/
+ - expected: パラメータ
+ pattern: /パラメタ|パラメーター/
+ - expected: バランサ
+ pattern: /バランサー/
+ - expected: ハンドラ
+ pattern: /ハンドラー/
+ - expected: ビューア
+ pattern: /ビューアー|ビューワー|ビューワ/
+ - expected: ビルダ
+ pattern: /ビルダー/
+ - expected: ビルトイン
+ pattern: /ビルドイン/
+ - expected: ヒット率
+ pattern: /hit率/
+ - expected: ファイラ
+ pattern: /ファイラー/
+ - expected: ファクトリ
+ pattern: /ファクトリー/
+ - expected: フィーチャーフォン
+ pattern: /フィーチャフォン/
+ - expected: ブラウザ
+ pattern:
+ - /Webブラウザー?/
+ - /WEBブラウザー?/
+ - ブラウザ
+ - expected: プライマリ
+ pattern: /プライマリー/
+ - expected: プラットフォーム
+ pattern: /プラットホーム/
+ - expected: ブレーク
+ pattern: /ブレイク/
+ - expected: プレーン
+ pattern: プレイン(?!グ)
+ specs:
+ - from: プレイング
+ to: プレイング
+ - expected: ブローカ$1
+ pattern: /ブローカー([^ー])/
+ - expected: プロパティ
+ pattern: /プロパティー/
+ - expected: ヘビー
+ pattern: /ヘヴィ/
+ - expected: ファイアウォール
+ pattern: /ファイアーウォール|ファイヤーウォール|ファイヤウォール|ファイヤーウオール/
+ - expected: ファイバチャネル
+ pattern: /ファイバチャンネル|ファイバチャネル|ファイバーチャンネル/
+ - expected: フィルタ
+ pattern: /フィルター/
+ - expected: フィクスチャ
+ pattern: /フィクスチャー/
+ - expected: フェイルオーバー
+ pattern: /フェイルオーバ(?!ー)|フェールオーバー|フェールオーバ(?!ー)/
+ - expected: フェーズ
+ pattern: /フェイズ/
+ - expected: フッタ
+ pattern: /フッター|フッダ/
+ - expected: プロキシ
+ pattern: /プロクシ|プロクシー|プロキシー|\bProxy\b|\bproxy\b/
+ - expected: ブログ
+ pattern: /(?![^/])(?:blog|Blog)(?![^/])/
+ specs:
+ - from: http://blog.example.com/
+ to: http://blog.example.com/
+ - from: http://example.com/foo-blog/
+ to: http://example.com/foo-blog/
+ - expected: プロシージャ
+ pattern: /プロシージャー/
+ - expected: ブロードキャストレシーバ
+ pattern: /\bBroadcast receiver\b/
+ - expected: プロバイダ
+ pattern: /プロバイダー/
+ - expected: ペアプログラミング$1
+ pattern: /ペアプロ([^グ])/
+ - expected: ベンダー
+ pattern: /ベンダ(?!ー)/
+ - expected: ヘッダ
+ pattern: /ヘッダー|ヘッタ|ヘッター/
+ - expected: ベクタ
+ pattern: /ベクター/
+ - expected: ページャ
+ pattern: /ページャー/
+ - expected: ポインタ
+ pattern: /ポインター/
+ - expected: ポッドキャスト
+ pattern: /\bPodCast\b|\bpodcast\b|\bPodcast\b/
+ - expected: ポリモフィズム
+ pattern: /ポリモルフィズム|ポリモーフィズム|ポルモルフィズム/
+ - expected: $1マイクロ秒
+ pattern: /([0-9])μs/
+ - expected: $1ミリ秒
+ pattern: /([0-9])\bms\b/
+ - expected: マイナビ
+ pattern: /毎日コミュニケーションズ/
+ - expected: マトリックス
+ pattern: /マトリクス/
+ - expected: マッパ
+ pattern: /マッピングツール|マッパー/
+ - expected: マネジメント
+ pattern: /マネージメント/
+ - expected: メーカー
+ pattern: /メーカ(?!ー)/
+ - expected: メーリングリスト
+ pattern: /\bML\b(?!系)/
+ specs:
+ - from: SML#
+ to: SML#
+ - from: ML系言語
+ to: ML系言語
+ - from: MLなど
+ to: メーリングリストなど
+ - expected: メタファ
+ pattern: /メタファー/
+ - expected: メモリ
+ pattern: /メモリー/
+ - expected: メンテナンス
+ pattern: /メインテナンス/
+ - expected: メンテナンス$1
+ pattern: /メンテ([^ナ])/
+ - expected: モジュール
+ pattern: /\bmodule\b|\bModule\b/
+ - expected: モータ$1
+ pattern: /モーター([^ー])/
+ - expected: レジューム
+ pattern: /リジューム/
+ - expected: レスポンシブWebデザイン
+ pattern: /\bResponsive Web Design\b/
+ - expected: ユーティリティ
+ pattern: /ユーティリティー/
+ - expected: ユニットテスト
+ pattern:
+ - Unitテスト
+ # 単体テストはケースバイケース
+ - 単体テスト
+ - expected: ライブラリ
+ pattern: /ライブラリー/
+ - expected: ラスタ
+ pattern: /ラスター/
+ - expected: ラッパ
+ pattern: /ラッパー/
+ - expected: リガチャ
+ pattern: /リガチャー/
+ - expected: リグレッション
+ pattern:
+ - デグレード
+ # デグレは英語圏では使わない by Jenkins川口さん
+ - デグレ
+ - expected: リスナ
+ pattern: /リスナー/
+ - expected: リバースプロキシ
+ pattern: /\bReverse Proxy\b/
+ - expected: リファラ
+ pattern: /リファラー/
+ - expected: リポジトリ
+ pattern: /リポジトリー|レポジトリ|レポジトリー/
+ - expected: ルータ
+ pattern: /ルーター/
+ - expected: レイヤ
+ pattern: /(プ)?レイヤー/
+ regexpMustEmpty: $1
+ specs:
+ - from: レイヤー
+ to: レイヤ
+ - from: プレイヤー
+ to: プレイヤー
+ - expected: レジスタ
+ pattern: /レジスター/
+ - expected: レジストリ
+ pattern: /レジストリー/
+ - expected: レイテンシ
+ pattern: /レイテンシー/
+ - expected: レコメンド
+ pattern: /リコメンド/
+ - expected: ロータ$1
+ pattern: /ローター([^ー])/
+ - expected: ローダ
+ pattern: /ローダー/
+ - expected: ロングテール
+ pattern: /ロングテイル/
+ - expected: ワーカ
+ pattern: /ワーカー|\bworker\b/
+ - expected: ワンタイムURL
+ pattern: /\bOnetime URL\b/
+ - expected: クアッドコアCPU
+ pattern: /\bQuad Core CPU\b/
+ - expected: クアッドコア
+ pattern: /クァッドコア|\bQuad Core\b|クァッドCore|Quadコア/
+ - expected: デュアルコアCPU
+ pattern: /\bDual Core CPU\b/
+ - expected: デュアルコア
+ pattern: /\bDual Core\b|デュアルCore|Dualコア/
+ - expected: マスタ/スレーブ
+ pattern: /マスタ・スレーブ|マスタスレーブ/
+ - expected: バックアップ$1
+ pattern: /\bBackup\b([^.])/
+ - expected: スレーブ$1
+ pattern: /スレイブ([^.])|\bSlave\b([^.])/
+ - expected: 記述子
+ pattern: /ディスクリプタ/
+ - expected: 属性
+ pattern: /アトリビュート/
+ - expected: 要素
+ pattern: /エレメント/
+ - expected: アニメーター
+ pattern: /アニメータ(?!ー)/
+ - expected: キャラクタ$1
+ pattern: /キャラクター([^ー])/
+ - expected: コミッター$1
+ pattern: /コミッタ([^ー])/
+ - expected: ユーザー$1
+ pattern: /ユーザ([^ー])/
+ - expected: ユーザビリティ
+ pattern: /ユーザービリティ/
+ - expected: ディレクター
+ pattern: /ディレクタ(?!ー)/
+ specs:
+ - from: ディレクター
+ to: ディレクター
+ - expected: デザイナー$1
+ pattern: /デザイナ([^ー])/
+ - expected: デベロッパー$1
+ pattern: /デベロッパ([^ー])|ディベロッパー([^ー])|ディベロッパ([^ー])|ディヴェロッパ([^ー])/
+ - expected: ファシリテーター$1
+ pattern: /ファシリテータ([^ー])/
+ - expected: プレイヤー
+ pattern: /プレーヤ/
+ - expected: プレーヤ
+ pattern: /プレーヤー/
+ - expected: プログラマー$1
+ pattern: /プログラマ([^ー])/
+ - expected: プログラマブル
+ pattern: /プログラマーブル/
+ - expected: プロデューサー$1
+ pattern: /プロデューサ([^ー])/
+ - expected: プランナー$1
+ pattern: /プランナ([^ー])/
+ - expected: $1マスタ$2
+ pattern: /(?:([^ム])マスター)|(?:マスター([^.]))/
+ - expected: $1マスタ$2
+ pattern: /(?:([^ム])\bMaster)|(?:Master\b([^.]))/
+ - expected: $1マスタ$2
+ pattern: /(?:([^ム])\bmaster)|(?:master\b([^.]))/
+ - expected: マネージャー$1
+ pattern: /マネージャ([^ー])/
+ - expected: メンテナー$1
+ pattern: /メンテナ(?!ンス)([^ー]|)/
+ - expected: メンバー
+ # 人間の意味では「メンバー」、変数などは「メンバ」
+ pattern: /メンバ(?!ー)/
+ - expected: リーダー
+ # 人間の意味では「リーダー」、readerの意味では「リーダ」
+ pattern: /リーダ(?!ー)/
+ - expected: レビュアー$1
+ pattern: /レビュア([^ー])|レビュワー([^ー])|レビュワ([^ー])|レビューアー([^ー])|レビューア([^ー])|レビューワー([^ー])|レビューワ([^ー])/
+ - expected: Action Cable
+ pattern: /\bActionCable\b/
+ - expected: Action Controller
+ pattern: /\bActionController\b/
+ - expected: Action Mailer
+ pattern: /\bActionMailer\b/
+ - expected: Action Pack
+ pattern: /\bActionPack\b/
+ - expected: ActionScript
+ pattern: /\bAction Script\b|アクションスクリプト/
+ - expected: ActionScript $1
+ pattern: /ActionScript([0-9])/
+ - expected: ActionScript Virtual Machine
+ pattern: /\bActionScriptVirtualMachine\b|\bActionScript VirtualMachine\b/
+ - expected: Action View
+ pattern: /\bActionView\b/
+ - expected: Active Job
+ pattern: /\bActiveJob\b/
+ - expected: Active Model
+ pattern: /\bActiveModel\b/
+ - expected: Active Record
+ pattern: /\bActiveRecord\b/
+ - expected: Active Resource
+ pattern: /\bActiveResource\b/
+ - expected: Active Support
+ pattern: /\bActiveSupport\b/
+ - expected: ApplicationRecord Application Record
+ pattern: /,,RE,/
+ - expected: ApplicationController
+ pattern: /\bApplication Controller\b/
+ - expected: ApplicationRecord
+ pattern: /\bApplication Record\b/
+ - expected: ApplicationJob
+ pattern: /\bApplication Job\b/
+ - expected: Adobe AIR
+ pattern: /\bAdobe AIR\b/i
+ - expected: Akamai
+ pattern: /\bAkamai\b/i
+ - expected: Alias
+ pattern: /\bAilias\b/
+ - expected: Amazon Web Services$1
+ pattern: /\bAmazon Web Service\b([^s])/
+ - expected: American Express(Amex)
+ pattern: /アメリカン・エキスプレス|アメックス|アメリカンエクスプレス/
+ - expected: Android
+ pattern: /アンドロイド|\bandroid\b/
+ - expected: Ant
+ pattern: /\bAnt\b/i
+ - expected: Apache
+ pattern: /\bapache\b|\bApatch\b|\bapatch\b/
+ - expected: Apache $1$2
+ pattern: /Apache([0-9])|Apatch([0-9])/
+ - expected: ApiGen
+ pattern: /\bApiGen\b/i
+ - expected: APNs
+ pattern: /\bAPNs\b/i
+ - expected: App Store
+ pattern: /\bAppStore\b/
+ - expected: Apple Watch
+ pattern: /\bApple Watch\b/i
+ - expected: Apple
+ pattern: /アップル/
+ - expected: Apple
+ pattern: /\bApple\b/i
+ - expected: APT
+ pattern: /\bAPT\b/i
+ - expected: ASP.NET
+ pattern: /ASP \.NET/
+ - expected: Backbone.js
+ pattern: /\bBackbone.js\b/i
+ - expected: Babel
+ pattern: /\bBabel\b/i
+ - expected: bash
+ pattern: /\bBash\b/
+ - expected: Bean
+ pattern: /ビーン/
+ - expected: Bigtable
+ pattern: /\bBigTable\b|\bBig Table\b|\bBig table\b/
+ - expected: Bitbucket
+ pattern: /\bBitbucket\b/i
+ - expected: Bitcoin
+ pattern: /\bBitcoin\b/i
+ - expected: BlackBerry
+ pattern: /\bBlackBerry\b/i
+ - expected: Blu-ray
+ pattern: /\bBlu-ray\b/i
+ - expected: Bonnie++
+ pattern: /\bBonnie\+\+\b/i
+ - expected: $1bot
+ pattern: /([^ロ])ボット/
+ - expected: bstract
+ pattern: /\bbsctract\b|\bbscract\b/
+ - expected: Bundler
+ pattern: /\bBundler\b/i
+ - expected: CakePHP
+ pattern: /\bCakePHP\b/i
+ - expected: CakePHP $1
+ pattern: /CakePHP([0-9])/
+ - expected: Capistrano
+ pattern: /\bCapistorano\b|\bcapistrano\b/
+ - expected: Capybara
+ pattern: /\bCapybara\b/i
+ - expected: CarrierWave
+ pattern: /\bCarrierWave\b/i
+ - expected: CentOS
+ pattern: /\bCent OS\b/
+ - expected: Chef
+ pattern: /\bChef\b/i
+ - expected: Chrome Web Store
+ pattern: /Chromeウェブストア|Chrome Webストア/
+ - expected: Chromium
+ pattern: /\bChronium\b/
+ - expected: CloudFlare
+ pattern: /\bCloudFlare\b/i
+ - expected: Cloudinary
+ pattern: /\bCloudinary\b/i
+ - expected: Cygwin
+ pattern: /\bCygwin\b/i
+ - expected: Cobbler
+ pattern: /\bCobbler\b/i
+ - expected: CocoaPods
+ pattern: /\bCocoaPods\b/i
+ - expected: Coca-Cola
+ pattern: /\bCoca Cola\b/
+ - expected: Composer
+ pattern: /\bComposer\b/i
+ - expected: Coveralls
+ pattern: /\bCoveralls\b/i
+ - expected: CSSスプライト
+ pattern: /CSS-Sprite|\bCSS Sprite\b/
+ - expected: DBFlute
+ pattern: /\bDBFlute\b/i
+ - expected: $1DeNA$2
+ pattern: /(?:([^/.])ディー・エヌ・エー)|(?:ディー・エヌ・エー([^/.]))/
+ - expected: $1DeNA$2
+ pattern: /(?:([^/.])ディーエヌエー)|(?:ディーエヌエー([^/.]))/
+ - expected: $1DeNA$2
+ pattern: /(?:([^/.])\bDENA)|(?:DENA\b([^/.]))/
+ - expected: Diners Club
+ pattern: /ダイナースクラブ|ダイナース/
+ - expected: Docker Hub
+ pattern: /\bDockerHub\b/
+ - expected: Dreamweaver
+ pattern: /\bDreamWeaver\b/
+ - expected: easy_install
+ pattern: /\beasy_install\b/i
+ - expected: Eclipse
+ pattern: /\bEclipse\b/i
+ - expected: ECMAScript
+ pattern: /\bECMA Script\b/
+ - expected: EJB-JARファイル
+ pattern: /\bEJB-JARファイル\b/i
+ - expected: Elisp
+ pattern: /\bElisp\b/i
+ - expected: Lisp
+ pattern: /\bLisp\b/i
+ - expected: Elixir
+ pattern: /\bElixr\b|\belixr\b/
+ - expected: Emacs
+ pattern: /\bEmacs\b/i
+ - expected: Emacs $1
+ pattern: /Emacs([0-9])/
+ - expected: Emacs Lisp
+ pattern: /\bEmacs Lisp\b/i
+ - expected: ERB
+ pattern: /\bERB\b/i
+ - expected: Ethernet
+ pattern: /イーサネット/
+ - expected: EventMachine
+ pattern: /\bEventMachine\b/i
+ - expected: Excel
+ pattern: /エクセル/
+ - expected: Express
+ pattern: /\bexpress\b/
+ - expected: Fabric
+ pattern: /\bFablic\b/
+ - expected: $1Facebook$2
+ pattern: /(?:([^/.])\bfacebook)|(?:facebook\b([^/.]))/
+ - expected: Firebug
+ pattern: /\bFirebug\b/i
+ - expected: Firefox
+ pattern: /\bFireFox\b|\bFire Fox\b|ファイアーフォックス|ファイヤーフォックス/
+ - expected: Fitbit
+ pattern: /\bFitbit\b/i
+ - expected: Flash
+ pattern: /フラッシュ/
+ - expected: Flash Lite
+ pattern: /\bFlashLite\b/
+ - expected: Flash Player
+ pattern: /Flashプレイヤー|Flash プレイヤー|Flashプレーヤ|Flash プレーヤ|Flashプレーヤー|Flash プレーヤー|\bFlashPlayer\b/
+ - expected: Flashプラットフォーム
+ pattern: /\bFlash Platform\b/
+ - expected: Flex Builder
+ pattern: /\bFlexBuilder\b/
+ - expected: Fluentd
+ pattern: /\bFluentd\b/i
+ - expected: FORTRAN
+ pattern: /\bFORTRAN\b/i
+ - expected: Gears
+ pattern: /\bGoogleGears\b|\bGoogle Gears\b/
+ - expected: Gemnasium
+ pattern: /\bGemnasium\b/i
+ - expected: GHCi
+ pattern: /\bGHCi\b/i
+ - expected: GitHub Pages
+ pattern: /\bGitHub Pages\b/i
+ - expected: GitHub Enterprise
+ pattern: /GH:E|\bGHE\b|GitHub:E/
+ - expected: $1GitHub$2
+ pattern: /(?:([^/.])\bgithub)|(?:github\b([^/.]))/
+ - expected: $1GitHub$2
+ pattern: /(?:([^/.])\bGithub)|(?:Github\b([^/.]))/
+ - expected: Git
+ pattern: /\bGit\b/i
+ - expected: Gmail
+ pattern: /\bGmail\b/i
+ - expected: Google Gadget
+ pattern: /Googleガジェット/
+ - expected: Google Maps
+ pattern: /\bGoogle Map\b|\bGoogleMaps\b|\bGoogleMap\b|Googleマップ/
+ - expected: Gradle Wrapper
+ pattern: /\bGradleWrapper\b/
+ - expected: Greasemonkey
+ pattern: /\bGreaseMonkey\b|\bGrease monkey\b|\bGrease Monkey\b/
+ - expected: Grunt
+ pattern: /\bGrunt\b/i
+ - expected: gulp
+ pattern: /\bgulp\b/i
+ - expected: gzip
+ pattern: /\bgzip\b/i
+ - expected: hdparm
+ pattern: /\bhdparm\b/i
+ - expected: HDD
+ pattern: /ハードディスク/
+ - expected: Heartbeat
+ pattern: /\bHeartbeat\b/i
+ - expected: Heroku
+ pattern: /\bHeroku\b/i
+ - expected: Homebrew
+ pattern: /\bHomebrew\b/i
+ - expected: HTML5
+ pattern: /HTML 5/
+ - expected: HTML $1
+ pattern: /HTML([0-4])/
+ - expected: HTTP/$1
+ pattern: /HTTP([0-9])/
+ - expected: HTTP/$1
+ pattern: /HTTP ([0-9])/
+ - expected: Hubot
+ pattern: /\bHubot\b/i
+ - expected: I/O
+ pattern: /\bIO\b/
+ - expected: ImageMagick
+ pattern: /\bImageMagick\b/i
+ - expected: ImageProcessing
+ pattern: /\bImageProcessing\b/i
+ - expected: Internet Explorer $1$2
+ pattern: /Internet Explorer([0-9])|IE([0-9])/
+ - expected: Internet Explorer
+ pattern: /\bIE\b/
+ - expected: inode
+ pattern: /iノード/
+ - expected: iOS SDK
+ pattern: /\biOS SDK\b/i
+ - expected: iOS $1
+ pattern: /iOS([0-9])/
+ - expected: Iperf
+ pattern: /\bIperf\b/i
+ - expected: iPhone
+ pattern: /アイフォン|\biphone\b|\bIPHONE\b/
+ - expected: iPhone 5s
+ pattern: /\biPhone 5s\b/i
+ - expected: iPhone 4S
+ pattern: /\biPhone 4S\b/i
+ - expected: IRKit
+ pattern: /\bIRKit\b/i
+ - expected: ISO
+ pattern: /ISO-/
+ - expected: ISO $1
+ pattern: /ISO([0-9])/
+ - expected: iTunes Card
+ pattern: /\biTunes Card\b/i
+ - expected: iPad
+ pattern: /\biPad\b/i
+ - expected: iPhone
+ pattern: /\biPhone\b/i
+ - expected: Jade
+ pattern: /\bJade\b/i
+ - expected: JARファイル
+ pattern: /\bJARファイル\b/i
+ - expected: Java $1
+ pattern: /Java([0-9])/
+ - expected: Java 3D
+ pattern: /Java3D/
+ - expected: Java EE
+ pattern: /\bJavaEE\b/
+ - expected: Java EE $1
+ pattern: /JavaEE([0-9])/
+ - expected: Java EE $1
+ pattern: /Java EE([0-9])/
+ - expected: Java SE
+ pattern: /\bJavaSE\b/
+ - expected: Java SE $1
+ pattern: /JavaSE([0-9])/
+ - expected: Java SE $1
+ pattern: /Java SE([0-9])/
+ - expected: JavaBeans
+ pattern: /\bJavaBean\b|\bJava Bean\b|\bJava Beans\b/
+ - expected: Javadoc
+ pattern: /\bJavadoc\b/i
+ - expected: JavaScript
+ pattern: /\bJava Script\b|\bJavascript\b|\bjavascript\b/
+ - expected: JavaScript $1
+ pattern: /JavaScript([0-9])/
+ - expected: JavaServer Faces
+ pattern: /\bJava Server Faces\b/
+ - expected: JavaServer Pages
+ pattern: /\bJava Server Pages\b/
+ - expected: Jenkins
+ pattern: /\bJenkins\b/i
+ - expected: JDBC-Redis
+ pattern: /\bJDBC-Redis\b/i
+ - expected: JDK $1
+ pattern: /JDK([0-9])/
+ - expected: Jedis
+ pattern: /\bJedis\b/i
+ - expected: JPEG
+ pattern: /\bJPEG\b/i
+ - expected: JSF $1
+ pattern: /JSF([0-9])/
+ - expected: JSP $1
+ pattern: /JSP([0-9])/
+ - expected: JVM
+ pattern: /\bJava VM\b|\bJavaVM\b/
+ - expected: Keepalived
+ pattern: /\bKeepalived\b/i
+ - expected: key-value
+ pattern: /Key-Value|Key\/Value|キーバリュー|キー・バリュー|キー/バリュー/
+ - expected: Kickstarter
+ pattern: /\bKickstarter\b/i
+ - expected: Kickstart
+ pattern: /\bKickstart\b/i
+ - expected: KitchenSink
+ pattern: /\bKitchenSink\b/i
+ - expected: knockout.js
+ pattern: /\bknockout.js\b/i
+ - expected: Kotlin $1
+ pattern: /Kotlin([0-9])/
+ - expected: Kotlin
+ pattern: /\bKoltin\b/
+ - expected: Kyoto Cabinet
+ pattern: /\bKyotoCabinet\b/
+ - expected: Kyoto Tycoon
+ pattern: /\bKyotoTycoon\b|Tokyo *Tycoon/
+ - expected: LESS
+ pattern: /\bLESS\b/i
+ - expected: LinkedIn
+ pattern: /\bLinked In\b/
+ - expected: LL
+ pattern: /LL言語/
+ - expected: macOS
+ pattern: /\bMacOS\b|\bMac OS\b|\bmac OS\b|\bOS X\b|\bOSX\b|\bMac OS X\b|\bMacOSX\b/
+ - expected: OSS
+ pattern: /オープンソースソフトウェア/
+ - expected: MacBook
+ pattern: /\bMac Book\b/
+ - expected: MacPorts
+ pattern: /\bMacPorts\b/i
+ - expected: Maglica
+ pattern: /\bMaglica\b/i
+ - expected: Markdown
+ pattern: /\bMarkdown\b/i
+ - expected: MasterCard
+ pattern: /マスターカード/
+ - expected: Maven
+ pattern: /\bMaven\b/i
+ - expected: MeCab
+ pattern: /\bMeCab\b/i
+ - expected: Mechanize
+ pattern: /\bMechanize\b/i
+ - expected: memcached
+ pattern: /\bmemcached\b/i
+ - expected: $1Microsoft$2
+ pattern: /(?:([^/.])マイクロソフト)|(?:マイクロソフト([^/.]))/
+ - expected: $1Microsoft$2
+ pattern: /(?:([^/.])\bmicrosoft)|(?:microsoft\b([^/.]))/
+ - expected: Migemo
+ pattern: /\bMigemo\b/i
+ - expected: MiniMagick
+ pattern: /\bMiniMagick\b/i
+ - expected: mixi
+ pattern: /\bmixi\b/i
+ - expected: MongoDB
+ pattern: /\bMongo DB\b/
+ - expected: msysGit
+ pattern: /\bmsysGit\b/i
+ - expected: Munin
+ pattern: /\bMunin\b/i
+ - expected: MySQL
+ pattern: /\bMySQL\b/i
+ - expected: Nagios $1
+ pattern: /Nagios([0-9])/
+ - expected: Nagios
+ pattern: /\bNagios\b/i
+ - expected: Nokia
+ pattern: /\bNokia\b/i
+ - expected: nginx
+ pattern: /\bnginx\b/i
+ - expected: NGINX Plus
+ pattern: /\bNGINX Plus\b/i
+ - expected: Node.js
+ pattern: /\bNode.js\b/i
+ - expected: NVMe
+ pattern: /\bNVMe\b/i
+ - expected: OAuth
+ pattern: /\bOAuth\b/i
+ - expected: OmniAuth
+ pattern: /\bOmniAuth\b/i
+ - expected: OpenGL
+ pattern: /\bOpen GL\b/
+ - expected: Opscode
+ pattern: /\bOpscode\b/i
+ - expected: OS
+ pattern: /オペレーティングシステム/
+ - expected: Packagist
+ pattern: /\bPackagist\b/i
+ - expected: Paperclip
+ pattern: /\bPaperclip\b/i
+ - expected: PayPal
+ pattern: /\bPayPal\b/i
+ - expected: parallel
+ pattern: /\bpararllel\b/
+ - expected: PC
+ pattern: /パソコン/
+ - expected: PECL
+ pattern: /\bPECL\b/i
+ - expected: Pentium 4
+ pattern: /\bPentium IV\b/
+ - expected: Pentium II
+ pattern: /Pentium 2|Pentium2/
+ - expected: Pentium III
+ pattern: /Pentium 3|Pentium3/
+ - expected: Perl $1
+ pattern: /Perl([0-9])/
+ - expected: Perl
+ pattern: /\bPerl\b/i
+ - expected: Phan
+ pattern: /\bPhan\b/i
+ - expected: PhantomJS
+ pattern: /\bPhantomJS\b/i
+ - expected: Photoshop
+ pattern: /\bPhotoShop\b|\bphotoshop\b|フォトショップ/
+ - expected: PHP $1
+ pattern: /PHP([0-9])/
+ - expected: PHPBrew
+ pattern: /\bPHPBrew\b/i
+ - expected: PHPDoc
+ pattern: /\bPHPDoc\b/i
+ - expected: PhpMetrics
+ pattern: /\bPhpMetrics\b/i
+ - expected: PhpStorm
+ pattern: /\bPhpStorm\b/i
+ - expected: PHPUnit
+ pattern: /\bPHPUnit\b/i
+ - expected: ping
+ pattern: /\bping\b/i
+ - expected: pip
+ pattern: /\bpip\b/i
+ - expected: pixiv
+ pattern: /\bpixiv\b/i
+ - expected: Playground
+ pattern: /\bPlaygroud\b/
+ - expected: Polyfill
+ pattern: /ポリフィル/
+ - expected: POPFile
+ pattern: /\bPOPFile\b/i
+ - expected: PostScript
+ pattern: /\bPostScript\b/i
+ - expected: PostgreSQL $1
+ pattern: /PostgreSQL([0-9])/
+ - expected: PowerPoint
+ pattern: /\bPower Point\b/
+ - expected: Pull Request
+ pattern: /プルリクエスト|\bpull request\b|\bPull request\b/
+ - expected: Python
+ pattern: /\bPython\b/i
+ - expected: Qiita:Team
+ pattern: "/Qiita Team|Qiita: Team/"
+ specs:
+ - from: "Qiita Team"
+ to: "Qiita:Team"
+ - from: "Qiita: Team"
+ to: "Qiita:Team"
+ - expected: Rack
+ pattern: /\bRack\b/i
+ - expected: RADIUS
+ pattern: /\bRADIUS\b/i
+ - expected: Rails $1
+ pattern: /Rails([0-9])/
+ - expected: Rake
+ pattern: /\bRake\b/i
+ - expected: Raspberry Pi
+ pattern: /\bRasbpberry Pi\b|\bRaspiberry Pi\b|\bRaspberryPi\b/
+ - expected: Redmine
+ pattern: /\bRedmine\b/i
+ - expected: Red Hat
+ pattern: /\bRedHat\b|\bRedhat\b|\bredhat\b|\bRedHad\b|\bRedhad\b|\bredhad\b|レッドハット/
+ - expected: Red Hat Enterprise Linux
+ pattern: /\bRHEL\b/
+ - expected: Red Hat Linux
+ pattern: /\bRedHatLinux\b|\bRedHat Linux\b/
+ - expected: Red Hat Linux $1
+ pattern: /Red Hat Linux([0-9])|RedHatLinux([0-9])|RedHat Linux([0-9])/
+ - expected: Redis
+ pattern: /\bRedis\b/i
+ - expected: Redshift
+ pattern: /\bRedshift\b/i
+ - expected: Refile
+ pattern: /\bRefile\b/i
+ - expected: RELAX NG
+ pattern: /\bRELAX NG\b/i
+ - expected: RFC $1
+ pattern: /RFC([0-9])/
+ - expected: Roda
+ pattern: /\bRoda\b/i
+ - expected: RPCサービス
+ pattern: /\bRPC Services\b/
+ - expected: RRDtool
+ pattern: /\bRRDtool\b/i
+ - expected: RSpec
+ pattern: /\bRSpec\b/i
+ - expected: Ruby
+ pattern: /\bRuby\b/i
+ - expected: Ruby $1
+ pattern: /Ruby([0-9])/
+ - expected: Ruby on Rails
+ pattern: /\bRuby On Rails\b|\bRoR\b/
+ - expected: RubyGems
+ pattern: /\bRubyGems\b/i
+ - expected: RubyGems
+ pattern: /\bRuby Gems\b/
+ - expected: SAML $1
+ pattern: /SAML([0-9])/
+ - expected: satis
+ pattern: /\bsatis\b/i
+ - expected: SBクリエイティブ
+ pattern: /ソフトバンク クリエイティブ|ソフトバンククリエイティブ/
+ - expected: Scheme
+ pattern: /\bScheme\b/i
+ - expected: Selenium WebDriver
+ pattern: /\bSelenium WebDriver\b/i
+ - expected: Selenium
+ pattern: /\bSelenium\b/i
+ - expected: Sequel
+ pattern: /\bSequel\b/i
+ - expected: Serverspec
+ pattern: /\bServerspec\b/i
+ - expected: Serverspec
+ pattern: /\bserver spec\b/
+ - expected: Servlet $1
+ pattern: /Servlet([0-9])/
+ - expected: Shift_JIS
+ pattern: /Shift-JIS|SHIFT-JIS|SHIFT_JIS|\bShift JIS\b|Shift_JIS|シフトJIS/
+ - expected: Shrine
+ pattern: /\bShrine\b/i
+ - expected: Shrpx
+ pattern: /\bShrpx\b/i
+ - expected: shebang
+ pattern: /シバン|シェバン|\bShebang\b/
+ - expected: Silverlight
+ pattern: /\bSilverLight\b|\bSilver Light\b/
+ - expected: SimpleTest
+ pattern: /\bSimpleTest\b/i
+ - expected: Sinatra
+ pattern: /\bSinatra\b/i
+ - expected: SkeedCast
+ pattern: /\bSkeedCast\b/i
+ - expected: $1Smalltalk$2
+ pattern: /(?:([^/.])スモールトーク)|(?:スモールトーク([^/.]))/
+ - expected: Smalltalk
+ pattern: /\bSmalltalk\b/i
+ - expected: Socket.IO
+ pattern: /\bSocket.IO\b/i
+ - expected: $1SourceForge
+ pattern: /([^/.])\bsourceforge\b/
+ - expected: Sorryサーバ
+ pattern: /ソーリーサーバ/
+ - expected: SPDY indicator
+ pattern: /\bSPDY indicator\b/i
+ - expected: Spdycat
+ pattern: /\bSpdycat\b/i
+ - expected: Spdyd
+ pattern: /\bSpdyd\b/i
+ - expected: Spdylay
+ pattern: /\bSpdylay\b/i
+ - expected: StudioPress
+ pattern: /\bStudioPress\b/i
+ - expected: SPDY/$1
+ pattern: /SPDY([0-9])/
+ - expected: SPDY/$1
+ pattern: /SPDY ([0-9])/
+ - expected: SpiderMonkey
+ pattern: /\bSpiderMonkey\b/i
+ - expected: SQL $1
+ pattern: /SQL([0-9])/
+ - expected: SQLite
+ pattern: /\bSQLite\b/i
+ - expected: Squid
+ pattern: /\bSquid\b/i
+ - expected: StaticMock
+ pattern: /\bStaticMock\b/i
+ - expected: $1Subversion$2
+ pattern: /(?:([^/.])\bSubVersion)|(?:SubVersion\b([^/.]))/
+ - expected: $1Subversion$2
+ pattern: /(?:([^/.])\bsubversion)|(?:subversion\b([^/.]))/
+ - expected: Sun
+ pattern: /\bSun\b/i
+ - expected: SunRPC
+ pattern: /\bSun RPC\b/
+ - expected: SUSE
+ pattern: /\bSUSE\b/i
+ - expected: SWFファイル
+ pattern: /\bSWFファイル\b/i
+ - expected: Swift
+ pattern: /\bSwift\b/i
+ - expected: Swift
+ pattern: /\bSwfit\b/
+ - expected: Symfony
+ pattern: /\bSymphony\b|\bsymphony\b|\bSynphony\b|\bsynphony\b|\bsynfony\b|\bSynfony\b|\bsymfony\b/
+ - expected: Symfony2
+ pattern: /Symfony 2/
+ - expected: tDiary
+ pattern: /\btDiary\b/i
+ - expected: test-unit
+ pattern: /\btest-unit\b/i
+ - expected: Tips
+ pattern: /\bTips\b/i
+ - expected: Tomcat $1
+ pattern: /Tomcat([0-9])/
+ - expected: Twitter
+ pattern: /\bTwitter\b/i
+ - expected: Twitter
+ pattern: /ツイッター/
+ - expected: ToDo
+ pattern: /\bToDo\b/i
+ - expected: Tokyo Cabinet
+ pattern: /\bTokyoCabinet\b/
+ - expected: Tokyo Dystopia
+ pattern: /\bTokyoDystopia\b|Kyoto *Dystopia/
+ - expected: Tokyo Promenade
+ pattern: /\bTokyoPromenade\b|Kyoto *Promenade/
+ - expected: Tokyo Tyrant
+ pattern: /\bTokyoTyrant\b|Kyoto *Tyrant/
+ - expected: Travis CI
+ pattern: /\bTravisCI\b|Travis-CI/
+ - expected: Treasure Data
+ pattern: /\bTreasure Data\b/i
+ - expected: Triglav
+ pattern: /\bTriglav\b/i
+ - expected: Tritonn
+ pattern: /\bTriton\b|\btriton\b|\btritonn\b/
+ - expected: TypeScript
+ pattern: /\bTypeScript\b/i
+ - expected: Ubuntu
+ pattern: /\bubuntu\b|\bUbuntsu\b|\bubuntsu\b|\bUbuntu Linux\b/
+ - expected: Unicode
+ pattern: /\bunicode\b|ユニコード/
+ - expected: UnixBench
+ pattern: /\bUnixBench\b/i
+ - expected: UTF-8
+ pattern: /UTF8|UTF 8|utf8/
+ - expected: Veritrans
+ pattern: /ベリトランス/
+ - expected: VirtualBox
+ pattern: /\bVirtual Box\b/
+ - expected: Vim $1
+ pattern: /vim([0-9])/
+ - expected: Vimスクリプト
+ pattern: /\bvim script\b/
+ - expected: Visual Basic
+ pattern: /\bVisualBasic\b|\bVB\b/
+ - expected: Visual Studio .NET
+ pattern: /Visual Studio\.NET/
+ - expected: VMware
+ pattern: /\bVMware\b/i
+ - expected: WARファイル
+ pattern: /\bWARファイル\b/i
+ - expected: Web
+ - expected: Web
+ pattern:
+ - ウェブ
+ - ウェッブ
+ - expected: Web API
+ pattern: /\bWebAPI\b|\bWEBAPI\b|\bWEB API\b/
+ - expected: Web UI
+ pattern: /\bWebUI\b/
+ - expected: Webhook
+ pattern: /Webフック|\bWebHook\b/
+ - expected: WebLogic
+ pattern: /\bWeb Logic\b/
+ - expected: webpack
+ pattern: /\bwebpack\b/i
+ specs:
+ - from: Webpack
+ to: webpack
+ - expected: WebSphere
+ pattern: /\bWeb Sphere\b/
+ - expected: Wi-Fi
+ pattern: /\bWiFi\b|Wi-fi|wi-fi/
+ - expected: Windows 2000
+ pattern: /Windows2000/
+ - expected: Windows 2000 Server
+ pattern: /Windows Server 2000/
+ - expected: Windows 3.
+ pattern: /Windows3\./
+ - expected: Windows 7
+ pattern: /Windows7/
+ - expected: Windows 95
+ pattern: /Windows95/
+ - expected: Windows 98
+ pattern: /Windows98/
+ - expected: Windows Me
+ pattern: /\bWindowsMe\b|\bWindowsME\b/
+ - expected: Windows NT
+ pattern: /\bWindowsNT\b/
+ - expected: Windows Server 2003
+ pattern: /Windows 2003 Server/
+ - expected: Windows Server 2008
+ pattern: /Windows 2008 Server/
+ - expected: Windows Vista
+ pattern: /\bWindowsVista\b/
+ - expected: Windows XP
+ pattern: /\bWindowsXP\b/
+ - expected: WordPress
+ pattern: /\bWordPress\b/i
+ - expected: $1Word
+ pattern: /([^ースォ])ワード/
+ - expected: xAuth
+ pattern: /\bxAuth\b/i
+ - expected: Xcode
+ pattern: /\bXcode\b/i
+ - expected: Xdebug
+ pattern: /\bXdebug\b/i
+ - expected: XML Schema
+ pattern: /\bXML Schema\b/i
+ - expected: Yahoo!$1
+ pattern: /YAHOO!([^!.])|\bYahoo\b([^!.])|\bYAHOO\b([^!.])|ヤフー([^!.])/
+ - expected: Yahoo!ウィジェット
+ pattern: /\bYahooWidget\b|Yahoo!Widget|Yahoo! Widget|\bYahooGadget\b|Yahoo!Gadget|Yahoo! Gadget/
+ - expected: YouTube
+ pattern: /\bYoutube\b|\byoutube\b/
+ - expected: YSlow
+ pattern: /\bYSlow\b/i
+ - expected: ZIPファイル
+ pattern: /\bZIPファイル\b/i
+ - expected: オライリー・ジャパン$1
+ pattern: /オライリージャパン([^・])|オライリー([^・])/
+ - expected: ピアソン・エデュケーション$1
+ pattern: /ピアソンエデュケーション([^・])/
+ - expected: を
+ pattern: /をを/
+ - expected: に
+ pattern: /にに/
+ - expected: が
+ pattern: /がが/
+ - expected: する
+ pattern: /するする/
+ - expected: て
+ pattern: /(当)?てて/
+ regexpMustEmpty: $1
+ - expected: で
+ pattern: /でで/
+ - expected: $1の
+ pattern: /([^も])のの/
+ - expected: は
+ pattern: /はは/
+ - expected: "WEB+DB PRESS"
+ pattern: /WEB\+DB PRESS/i
+ - expected: "SHARP Brain"
+ pattern: /SHARP Brain/i