Macで、PDFからWordにコピペすると、ひらがな・カタカナに付された濁点・半濁点が分離する問題がある*1。
たとえば、PDF文書から「ぞうきん」という言葉をコピーして、Wordにペーストする。
そして、「ぞ」の文字をバックスペースで消そうとすると、濁点のみが消されて、「そうきん」になる。この「ぞ」の文字数は2文字としてカウントされるので、文字数管理の際に厄介である。見た目は1文字の「ぞ」と区別できないが、Wordの検索・置換機能では区別される。
ここでは、このように、ひらがな・カタカナに付された濁点・半濁点が分離した文字を、1文字に結合する(正確には、対応する1文字のひらがな・カタカナに置換する)Wordマクロを紹介する*2。
修正したい文字列を選択して、このマクロを実行すれば、濁点・半濁点の分離の問題は解決するだろう。
Sub 濁点結合()
Dim before
Dim after
before = Array("か" & ChrW(12441), "き" & ChrW(12441), "く" & ChrW(12441), "け" & ChrW(12441), "こ" & ChrW(12441), "さ" & ChrW(12441), "し" & ChrW(12441), "す" & ChrW(12441), "せ" & ChrW(12441), "そ" & ChrW(12441), "た" & ChrW(12441), "ち" & ChrW(12441), "つ" & ChrW(12441), "て" & ChrW(12441), "と" & ChrW(12441), "は" & ChrW(12441), "ひ" & ChrW(12441), "ふ" & ChrW(12441), "へ" & ChrW(12441), "ほ" & ChrW(12441), "は" & ChrW(12442), "ひ" & ChrW(12442), "ふ" & ChrW(12442), "へ" & ChrW(12442), "ほ" & ChrW(12442), "カ" & ChrW(12441), "キ" & ChrW(12441), "ク" & ChrW(12441), "ケ" & ChrW(12441), "コ" & ChrW(12441), "サ" & ChrW(12441), "シ" & ChrW(12441), "ス" & ChrW(12441), "セ" & ChrW(12441), "ソ" & ChrW(12441), "タ" & ChrW(12441), "チ" & ChrW(12441), "ツ" & ChrW(12441), "テ" & ChrW(12441), "ト" & ChrW(12441), "ハ" & ChrW(12441), "ヒ" & ChrW(12441), "フ" & ChrW(12441), "ヘ" & ChrW(12441), "ホ" & ChrW(12441), "ハ" & ChrW(12442), "ヒ" & ChrW(12442), "フ" & ChrW(12442), "ヘ" & ChrW(12442), "ホ" & ChrW(12442))
after = Array("が", "ぎ", "ぐ", "げ", "ご", "ざ", "じ", "ず", "ぜ", "ぞ", "だ", "ぢ", "づ", "で", "ど", "ば", "び", "ぶ", "べ", "ぼ", "ぱ", "ぴ", "ぷ", "ぺ", "ぽ", "ガ", "ギ", "グ", "ゲ", "ゴ", "ザ", "ジ", "ズ", "ゼ", "ゾ", "ダ", "ヂ", "ヅ", "デ", "ド", "バ", "ビ", "ブ", "ベ", "ボ", "パ", "ピ", "プ", "ペ", "ポ")
For i = 0 To UBound(before)
With Selection.Find
.ClearFormatting
.MatchFuzzy = False
.Text = before(i)
With .Replacement
.ClearFormatting
.Text = after(i)
End With
.Wrap = wdFindStop
.Execute Replace:=wdReplaceAll
End With
Next i
End Sub