雑なNFD⇒NFC変換
濁点と半濁点に対応しただけだけど…。
Public Function 濁点半濁点統合(buf As String) As String Dim buf2 As String '返り値格納 buf2 = "" '返り値の初期化 For i = 1 To Len(buf) If AscW(Mid(buf, i, 1)) = 12441 Then '濁点 buf2 = Left(buf2, Len(buf2) - 1) & ChrW(AscW(Mid(buf, i - 1, 1)) + 1) ElseIf AscW(Mid(buf, i, 1)) = 12442 Then '半濁点 buf2 = Left(buf2, Len(buf2) - 1) & ChrW(AscW(Mid(buf, i - 1, 1)) + 2) Else buf2 = buf2 & Mid(buf, i, 1) End If Next i 濁点半濁点統合 = buf2 End Function