0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

雀魂のNGワード

Last updated at Posted at 2022-08-21

雀魂の牌譜を 国士無双 という名前でブックマークしようとして、伏字になった経験はありませんか?しらみつぶしに原因を探ると、 がNGワードに設定されていることがわかります。次に、こちらのツイートをご覧ください。

ブラウザ版の雀魂では、 を同時に含む文章は伏字になると突き止められたようです。ただ、原因となる文字をしらみつぶしに特定することは、骨が折れる作業だと想像できます。そこで、開発者ツールを使って、原因を特定する方法を紹介します。

NGワードの判定

NGワードの判定を行っているのは、app.Taboo.test という関数です。例えば、平和 がNGワードかどうかは、次のコードを実行すると判断できます。
(コードの実行は、自己責任でお願いします。)

app.Taboo.test("平和");
実行結果
null

null という結果が返ってきました。NGワードは含まれていないという意味です。続いて、国士無双 の場合を見てみましょう。

app.Taboo.test("国士無双");
実行結果
{s: '', id: 20784}

実行結果から、 がNGワードであると分かります。このように、何が引っ掛かるのかを教えてもらえます。次は、平_今 とした場合です。

app.Taboo.test("平_今");
実行結果
{s: '平进', id: 20729}

上記のツイートの通り、平_今 は伏字になります。そして、実行結果から察するに、シン という字と同一視しているようです。また、関係のない文字は無視されており、単純なNG避けができないことがわかります。

似ている漢字

実は、同一視される漢字の一覧を見ることができます。異体字であったり、発音や字体が似ている漢字が対象です。一例として、 に対応する漢字を見てみましょう。

var near = app.Taboo.near_char_father;
[near[""], near[""], near[""]];
実行結果
['', '', '']

と、 と、 と同一視されることが分かります。
(つまり、國士無双 は伏字になります。圀士無双匤士無双 であればセーフです。)

NGワードの例

このことから、平_今 が伏字になるのは、 と見なされる漢字が同時に含まれるためだと分かりました。ちなみに、そういった漢字は他に50文字以上存在します。

 平
品 貧 頻 顰 牝 瓶 凭 憑 評 鮃 坪 屏 塀 聘
 进
今 巾 斤 近 金 筋 緊 禁 襟 錦 謹 僅 饉 矜 境 競 鏡 驚 径 経 京 景 憬 鯨 敬 警 茎 痙 頸 脛 津 浸 晋 進 尽 儘 晶 浄 静 精 靖 井 丼

そのため、伏字になる原因を掴めないときは、これらの漢字が関係しているかもしれません。例を挙げると、論、東京品川、走 は伏字になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?