Q&A

  • 수동으로 WordWrap을 하려고 합니다.
안녕하세요.



저는 손의성이라고 합니다.



Canvas에 '문장'을 그리려고 합니다. (Grid의 cell내)



문장을 그리는데 있어서는 별로 어려움이 없이 DrawRect를 사용하는데



문제는 [Grid의 cell높이를 직접 계산] 해 줘야 하는 것입니다.



( 해본 방법으로 DrawRect내의 옵션인 DT_calcrect, DT_wordbreak

를 사용하는 것인데 너무 느려서 사용하지 못합니다. )



그래서 제가 써본 방법중 그냥 단순히



( 셀의 폭 Div 문장의 길이 + 1 )



로 하면 비슷하게 WordWrap이 되긴 하는데



DrawRect와의 그리는 방식이 약간 다르다 보니 끝부분의 글자가



짤리는 경우가 있습니다.



예를 들어,



< 제가 계산하는 방식 >

+ +

what are you doi -> 길이에 따라 짜르므로 이렇게 된다.

ng now

+ +



< Draw rect 가 그리는 방식 >

+ +

what are you -> 'doing'을 미리 밑으로 보낸다

doing now

+ +



이처럼 되는 것이죠..



그리고 한글도 사용 가능해야 합니다.



그래서 제가 드리는 질문의 핵심은,



" 한자, 한자 검색해서 원하는 길이에서 짜를 수 있는 효율적인 루틴 "



" 한글인지 아닌지 구분해서 짜를 수 있는 방법 "



답변이나 조언을 부탁드립니다.



( DrawRect함수의 소스를 알 수 있는 방법도 있나요?

있다면 그 중에 이부분을 처리하는 부분을 좀 가르쳐 주세요 )



그럼, 부탁드립니다.



0  COMMENTS