import east_asian_width width_dict = { 'F': 2, # Fullwidth 'H': 1, # Halfwidth 'W': 2, # Wide 'Na': 1, # Narrow 'A': 2, # Ambiguous 'N': 1 # Neutral } string = 'Ꚋんは天使でアル ' chars = [char for char in string] #=> ['Ꚋ', 'ん', 'は', '天', '使', 'で', 'ア', 'ル', ' ', ''] east_asian_width_list = [east_asian_width(char) for char in chars] #=> ['N', 'W', 'W', 'W', 'W', 'W', 'H', 'H', 'Na', 'W'] width_list = [width_dict[east_asian_width] for east_asian_width in east_asian_width_list] #=> [1, 2, 2, 2, 2, 2, 1, 1, 1, 2] sum(width_list) #=> 16