Public Function m_len(ByVal str, ByVal mW, ByVal md) As Double Dim i As Integer Dim m As Integer ' str:文字列 mw:jwis全角文字幅 md:jw文字間隔 curScale:書き込みレイヤスケール Dim test = System.Text.Encoding.Default For i = 1 To Len(str) m = Len(StrConv(Mid(str, i, 1), VbStrConv.Narrow)) If m = 1 Then '半角の場合 m_len = m_len + mW / 2 '半角文字の幅を加えて If i <> Len(str) Then m_len = m_len + md / 2 '文字間隔の半分を加える End If If m = 2 Then '全角の場合 m_len = m_len + mW 'is全角文字の幅を加えて If i <> Len(str) Then m_len = m_len + md '文字間隔を加える End If Next i m_len = m_len * curScale End Function