FileNic - macOSでの韓国語ファイル名の文字分解問題を解決した話
(github.com/0126kjw)macOSユーザーなら一度は経験したことがあるであろう、Windowsとの韓国語ファイル名の互換性問題を解決するツールを作りました。
問題の状況
macOSで作成した韓国語ファイル名が、Windowsで文字分解されて崩れてしまう現象が発生します。
従来はこれを解決するために、convmvを使ったAutomator活用などの方法がありましたが、初期設定が難しいなど不便な点が多くありました。
解決方法
- メニューバー常駐アプリとして実装し、必要なときにすぐ使える
- ファイルをアイコンにドラッグ&ドロップすると自動で変換完了
- 別途設定やターミナル作業は不要
技術スタック
- SwiftUIベースのメニューバーアプリ
- 純粋なSwift実装による軽量な実行環境
- 外部依存性なし
プライバシー保護
- すべてのファイル名変換はユーザーのローカルコンピュータ上でのみ処理されます
- 外部サーバーとの通信が一切ないため、ファイル情報が外部に流出するリスクはありません
- ファイルの内容やメタデータは一切変更されず、純粋にファイル名だけを変換します
[リンク]
GitHub: https://github.com/0126kjw/FileNic
こんにちは。普段は見るだけでしたが、皆さんに共有したくて初めて登録して投稿してみました。
仕事でメールを通じてファイルをやり取りするとき、ファイル名が文字化けして見えるというフィードバックを何度も受けました。
これをできるだけ手軽な方法で解決しようと思い、個人的に作って使っていたものを共有します。
皆さんのご意見やフィードバックをお願いします!
17件のコメント
こんにちは!うれしいお知らせがあり、コメントします(笑)
これでApp Storeからダウンロードしていただけます!
https://apple.co/3E7rWid
ありがとうございます(笑)
1月15日付でアプリの署名および認証手続きが完了し、これからはセキュリティ上の問題なくアプリを実行できるようになりました! 🎉
また、v1.0.5ではフォルダ変換機能が追加される予定です。フォルダ内の下位ファイルまでまとめて変換できるよう、機能と設定を追加し、細かなバグも修正しましたので、ぜひご期待ください🙏
さらに、HomeBrew および AppStore を通じた配布も、今後対応できるよう努めてまいります。
フィードバックをくださった多くの皆さま、本当にありがとうございます 😊
なぜ文字が分解されるのでしょうか。そして、なぜAppleはこの問題を解決しないのでしょうか。気になります。
また、Unicode正規化方式の違いは、さまざまな言語のユーザーにも影響を与えています。特に発音区別符号(diacritics)を使うドイツ語、フランス語、スペイン語などのユーザーも、同様の問題を抱えていると認識しています。
AppleとMicrosoftがそれぞれ異なる正規化方式を維持しているのは、おそらく既存システムとの互換性や後方互換性など、さまざまな技術的制約によるものだと考えられます。この問題を体系的に解決するには、両OSの根本的な変更が必要ですが、それは既存システムに大きな影響を及ぼす可能性があるため、解決は難しいように思われます。
この問題は、macOSとWindowsが採用しているUnicode正規化方式の違いによって発生します。
Unicodeでは、ハングルを保存する主な方式として次の2つが提供されています。
WindowsはNFC方式を使用し、「アンニョン」を1つの完成文字として保存する一方、macOSはNFD方式を使用して、各字母を分離して保存します。この保存方式の違いにより、macOSで作成したファイルをWindowsで開くと、字母が分離して見える現象が発生します。
FileNicはこの違いをユーザーが簡単に変換できる方法を提供し、どちらのOSでも正しく表示されるようにします。
他のプラットフォームと共有することが多い方には必要そうですね。
ところで、開発者登録はされていますか? 配布する際に Xcode でアーカイブし、そのアーカイブを Direct Distribution 形式で export すると、Apple 開発者ポータルを通じて notarizing してくれます。そうすると App Store 配布のように権限を認証してくれるので、そのまま実行できます。このドキュメントを参考にすると、アプリの配布と実行がスムーズになりそうです https://developer.apple.com/documentation/Security/…
こんにちは!有益な情報をありがとうございます。円滑な配布のために署名および認証手続きが完了しており、現在は実行エラーやセキュリティ上の問題なく安心してご利用いただけるよう対応されています。ありがとうございます。
2020年10月に同じ機能のものを作ったことがあるので、共有します。
初回実行時は、control を押しながら「開く」をクリックしてください。
私もコンタクトをとてもよく利用していました!コメントありがとうございます(笑)
Contactをよく使っています(笑)。今も私のメニューバーにあります。
クラウドストレージのかなり初期に、Dropboxがこうした問題をほぼ完璧に解決していて、印象的だった記憶があります :)
ありがとうございます!おっしゃるとおり、Dropbox にはそうした先例があったのですね。そのおかげで良いインサイトを得られました。ハングル利用者のために、OS レベルで NFC Unicode 正規化がデフォルトでサポートされるといいなと思います。こうしたツールが不要になるくらいに。 :)
実行すると、「未確認の開発元…」ではなく、起動時から「アプリケーションを開けません」と表示され、セキュリティセクションでも確認できません。 (Mac 15.2(24C101))
アプリの署名および認証手続きが完了し、これで実行エラーやセキュリティ上の問題なく安心してご利用いただけるよう対応しました。改めてフィードバックをお寄せいただき、ありがとうございます。
問題を共有していただきありがとうございます! 確認してみたところ、デプロイターゲットが15.1に設定されている問題を見つけました。一人で使っていたものだったので、そこまで気が回っていませんでした……。macOS 13.0以上をすべてサポートできるように変更したうえで、releaseファイルも修正しておきます! フィードバックありがとうございます
App Storeにアクセスしても何も表示されないのですが、正常なリンクでしょうか?!
App Store内で「お探しのページはありません」と表示されます!