Myfix

There are some problems in fill() and crop(). These functions may divide multibyte characters into separate  parts, because the length of str is the count of bytes in it, not real characters in it. So I transform them into unicode which treats multibyte character as a single one and the problem is solved.