Alfred の workflow の引数の文字列は濁点・半濁点が分解されているので iconv で合成することにした

最近 Remember The Milk でタスクを検索した際に検索結果に出ないタスクがあっておかしいなと思っていたのですが、ようやく原因がわかりました。 Alfred から workflow でrumember を使ってタスク登録していたものの一部が検索できないようなので調べたところ、濁点・半濁点が分解された UTF-8 文字列で Remember The Milk に送られていたのです。 Remember The Milk の Web 版で入力や検索では濁点・半濁点が分解されていない文字が使われるため検索でマッチしていないのでした。 合成されている Unicode 正規化形式C (NFC) で統一したいのですが Alfred では選択する方法がありません。Keyword to Script テンプレートで作った Alfred workflow だと Run Script (/bin/bash) の雛形が query="{query}" となるのですが、ここをいったん query=`echo "{query}" | iconv -f UTF-8-MAC -t UTF-8` のようにして変換することにしました。 Remember The Milk への登録以外にもテキストファイルに追記する workflow や Slack に投稿する workflow も同様にして NFC で処理するように変更です。 すでに Remember The Milk に投稿したものは仕方ないので手動で検索してちまちま修正。テキストファイルに書いたものもわかる範囲で検索して書き換えました。ふう。Google Chrome や Ulysses はきちんと合成して表示してくれるので今まで気がつきませんでしたよ。 補足 ちなみに uconv -f utf-8 -t utf-8 -x nfc だと合成できていない文字があってうまくいきませんでした。