kaz.dev

iTunesの曲名を正規化する

tag: applescript, itunes


はじめに

「iTunesで曲を管理、iPhoneに同期、車で聴く」をやってる
NFC/NFD問題で、車で曲名の表示がよろしくない
例)カ+゛





NFC, NFD とは

NFC: Normalization Form Canonical Compression
文字に何がくっついていようと、組み合わせて作られた文字であろうと、「一文字」は「一文字」じゃ。圧縮形式。Linux のファイルシステムや Windows の NTFS などが普通に使っている。

NFD: Normalization Form Canonical Decompression
濁点・半濁点を、あるいはウムラウト等のダイアクリティカルマークを、本体の文字とは分離してエンコードした形式。OS X の HFS+ が、これを採用してくれちゃっている。

引用元: https://qiita.com/knaka/items/48e1799b56d520af6a09





解決法

AppleScriptでjsで正規化するだけ

app = Application("iTunes");
tracks = app.playlists["ライブラリ"].tracks();
tracks.forEach(t => {
  t.name = t.name().normalize();
  t.artist = t.artist().normalize();
  t.album = t.album().normalize();
});

参考文献