delhi09の勉強日記

技術トピック専用のブログです。自分用のメモ書きの投稿が多いです。あくまで「勉強日記」なので記事の内容は鵜呑みにしないでください。

Macでペアワイズ法サポートツールのPICTを使う

Macでペアワイズ法サポートツールのPICTを使ってみます。 github.com

PICTはWindows環境用のツールであり、Macで実行できるようにするのは面倒そうという先入観がありました。

が、今日ではbrewで提供されているので簡単にインストールできました。

formulae.brew.sh

brew install pict

文字コード問題

以下のようなインプット用のファイルを作成します。

input.txt

インド料理: バターチキン, サンバル, マサラドーサ
ネパール料理: チョエラ, スクティ, モモ
スリランカ料理: パリップ, ポルサンボル, ワタラッパン

使い方的にはこれでpict input.txtを実行すればいいはずなのですが、生成結果が意図しないものになってしまいました。

調べたところ、「日本語が含まれる際は文字コードEUCにしないと化ける」という情報がありました。

techblog.kayac.com

従って、以下のようにUTF-8EUC-JPに変換して渡すことで解決しました。ChatGPTに教えてもらったのですが、「プロセス置換」という方法でワンライナーで書けるようです。

pict <(iconv -f UTF-8 -t EUC-JP input.txt)

文字コード問題は2台のMacの内の片方でしか発生せず、発生条件が謎なままです。(もう一台はUTF-8のまま問題なく読み込めた)

結果

以下のようにパターンを生成できました!

インド料理  ネパール料理  スリランカ料理
マサラドーサ  スクティ    ポルサンボル
サンバル    スクティ    パリップ
マサラドーサ  モモ  ワタラッパン
サンバル    チョエラ    ワタラッパン
サンバル    モモ  ポルサンボル
バターチキン  スクティ    ワタラッパン
マサラドーサ  チョエラ    パリップ
バターチキン  チョエラ    ポルサンボル
バターチキン  モモ  パリップ