/library/component 안의 문자열을 다루는 UTF8 클래스를 보면, (1.7이면 Eolin.PHP.Core일듯) 1바이트에서 4바이트까지 유니코드 영역의 문자 길이를 다르게 취급하고 있습니다.
lessenAsByte는 길이 기준이 아니라 바이트 기준으로 자릅니다. UTF-8 영역 기준에 따라 영문자는 1바이트, 한글은 3바이트로 자르기 때문에 일반적인 경우 출력이 1,2글자 단위로 보이는 것과 달라서 위와 같은 문제가 생길겁니다. 그런데 lessenAsEm의 경우에는 영문자를 제외하면 다 2바이트로 자르도록 되어 있을텐데, 동작이 이상하게 돌아가나 봅니다. 한 번 테스트 해 보고 고민해 보도록 하겠습니다. :)