ATOKの辞書をmacOS標準の日本語入力のユーザ辞書にインポートする方法

普段Macの日本語入力にはATOKを使っています。
macOS標準の日本語入力に比べて、機能も豊富でかなり細かい設定ができたり、変換の気の利きようも比べものになりません。
そんなATOKに、どんどん単語登録をしていってるのですが、iPhoneやiPadなどのMac以外の文字入力になると、その登録した単語が使えません。
iPhoneとの連携を考えると、macOS標準のユーザ辞書にATOKの辞書をインポートするのが1番てっ取り早いと思い、試してみました。
ATOKの辞書をエクスポート
まずは辞書をエクスポートするところからです。
ATOKの[辞書ユーティリティ]を起動して、メニューの[ツール]→[単語・用例の一覧出力…]を選択して、「単語出力」をします。
このとき、「Unicodeで出力する」にチェックが入っていることを確認するのと、人によっては「対象品詞」を「普通名詞」など一部にしておきましょう。

設定と、ファイルの出力先を決めたら「出力」をクリックしてエクスポートします。
macOS標準の辞書形式に編集
出力したファイルは.txt形式ですが、それをmacOS標準の辞書形式の.plistに編集する必要があります。
かなりがっつり編集するので、使うテキストエディタはJedit Ωがオススメです。
まずは.txtファイルの1番上にある!!部分を削除します。

そのあとは最終的に下記の形式にする必要がるので、Jedit Ωの検索・置換機能を使って近づけていきます。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>phrase</key>
<string>へんかん</string>
<key>shortcut</key>
<string>変換</string>
</dict>
<dict>
<key>phrase</key>
<string>きーわーど</string>
<key>shortcut</key>
<string>キーワード</string>
</dict>
</array>
</plist>行を<dict>で囲む
Jedit Ωの[検索]→[検索…(command + F)]で検索パネルを開きます。
あとは「検索:」と「置換:」に下記の正規表現を追加するのと、下の「正規表現」にチェックを入れて「すべてを置換」します。
\n\n</dict>\n<dict>\n
これで行が<dict>で囲まれます。
名詞の削除
次に1番右の列にある「名詞」は不要なので、下記の正規表現で名詞を削除します。
\t名詞* 「置換:」の方は空にしておくことで、単に削除できます。
名詞をいろいろ追加している人はこの作業が少し面倒になります。
変換前のキーワードを編集
次にタブ前(1番左の列)に<key>phrase</key>を追加するのと、<string>で囲みます。
(.*)(?=\t)<key>shortcut</key>\n<string>$1</string>自分の正規表現の書き方が悪いのか、なぜか2個追加されてしまうので2個目の方は削除しておきます。
<key>shortcut</key>\n<string></string> 変換後の単語を編集
タブ後(左から2列目)に<key>shortcut</key>を追加するのと、<string>で囲みます。
(?<=\t)(.*)<key>phrase</key>\n<string>$1</string>余計なタブを削除
最後に余計なタブを消して、改行にしておきます。
\t\n.plistに変更
あとは最初に紹介した下記のテンプレートの<array>の中身に編集したリストを追加して.plist形式で保存します。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>phrase</key>
<string>へんかん</string>
<key>shortcut</key>
<string>変換</string>
</dict>
<dict>
<key>phrase</key>
<string>きーわーど</string>
<key>shortcut</key>
<string>キーワード</string>
</dict>
</array>
</plist>macOS標準の辞書形式にインポート
あとは[システム環境設定]の[キーボード]→[ユーザ辞書]に.plistファイルをドラッグアンドドロップするとインポートできます。

1行でも形式が崩れているとインポートしてくれないので、ちゃんとインポートされない場合は.plistファイル内を見ておかしなところがないか確認しましょう。
また、数千行を超えたファイルをインポートする場合は少し時間がかかります。




Dashの時間と日付のフォーマット設定方法
Illustratorをスクリプトで操作する時の基本
Client Folder Makerでファイルの中身まで一括で作成する方法
Alfredで現在開いているフォルダ内の画像をImageOptimで圧縮するWorkflowの作り方
anyenvを使ってプログラミング言語のバージョンをラクに管理する
Macのアプリケーションやウインドウの切り替えまとめ
DeepL翻訳をAlfred上で完結させるAlfred Workflow「DeepL-Translate」
Macでダブルクォーテーションを入力すると自動で変換されてしまうのを無効にする
Alfred 4のファイル検索時にプレビュー表示ができるPreviewsの設定項目まとめ
ATOKで言葉の意味を確かめる「電子辞典検索」タブの設定項目
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
高機能なスクリーンショットアプリ「CleanShot X」
macOSの効率化に関するDiscordコミュニティ「CMD-F」を立ち上げました
1Passwordの開発者向け機能(SSH Agent / Environments / 1Password CLI / Developer Watchtower)
Default Folder Xで保存ダイアログ内のファイルリストにフォーカスする方法
Obsidianで整理した知識をAnkiで定着させる方法
Figma × Keyboard Maestroでどこまで効率化できる?
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集
AppCleanerでMacアプリを関連ファイルごと完全に削除する
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」