def GetLineWidth(line):
 if isinstance(line, unicode):
  width = 0
  for uc in unicodedata.normalize('NFC', line):
   if (unicodedata.east_asian_width(uc) in ('W', 'F')):
    width += 2
   elif (not unicodedata.combining(uc)):
    width += 1
  return width
 else:
  return len(line)

def GetLineWidth ( line ) : if isinstance ( line , unicode ) : width = 0 for uc in unicodedata . normalize ( 'NFC' , line ) : if ( unicodedata . east_asian_width ( uc ) in ( 'W' , 'F' ) ) : width += 2 elif ( not unicodedata . combining ( uc ) ) : width += 1 return width else : return len ( line )
determines the width of the line in column positions .