

Microsoft Wordで文書内の文字をUnicode NFC正規化する簡単な方法はないでしょうか。Emacsでいうと `ucs-normalize-
NFC-region` のような機能をイメージしています。

macOS上で作られたテキストやWord形式などの文書の内容では、かなの濁点や半濁点の扱いとして、結合文字列と合成済み文字が混在していることがしばしばあります。おそらくアプリケーション間でコピー＆ペーストしたときの挙動の違いによるものではないかと想像しています。このままだと検索などで不都合があるので、NFC正規化をしたいというのがやりたいことです。

なお、Word文書の書式を維持するというのは必須条件です。また、ここで言っているのは文書の内容のことであり、ファイル名のことではありません。


CC BY-SA 3.0
2017-07-29T05:33:09.747
36762
2017-07-29T08:06:42.853
4010
question
unicode ms-word
Wordで文書内の文字をUnicode NFC正規化する方法


Wordの`.docx`形式はXMLをZIP圧縮した上で拡張子を変更したファイル形式です。文書内の文字もXML要素として記述されていますので、NFC正規化も特に困難はないと思います。

  1. 拡張子を`.zip`に変更する
  2. ZIP解凍する
  3. XMLファイルをお手持ちのツールでNFC正規化する
  4. ZIP圧縮する
  5. 拡張子を`.docx`に戻す

なお、ドキュメントが暗号化されている場合はもちろん文書内の文字も暗号化されているため、事前に暗号化解除が必要です。


CC BY-SA 3.0
2017-07-29T08:06:42.853
36766
2017-07-29T08:06:42.853
4236
36762
answer