nDiki

2017年12月22日 (金)

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

最近 Remember The Milk でタスクを検索した際に検索結果に出ないタスクがあっておかしいなと思っていたのですが、ようやく原因がわかりました。 Alfred から workflow でrumember を使ってタスク登録していたものの一部が検索できないようなので調べたところ、濁点・半濁点が分解された UTF-8 文字列で Remember The Milk に送られていたのです。 Remember The MilkWeb 版で入力や検索では濁点・半濁点が分解されていない文字が使われるため検索でマッチしていないのでした。

合成されている 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 ChromeUlysses はきちんと合成して表示してくれるので今まで気がつきませんでしたよ。

補足

ちなみに uconv -f utf-8 -t utf-8 -x nfc だと合成できていない文字があってうまくいきませんでした。

スポンサード リンク
[ 12月22日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.147832s / load averages: 0.34, 0.45, 0.52
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker