가령 " 가나다라마바사아자차카타파하"
란 문장이 있습니다.
두줄로 나누어 찍으려고 하는데요
자른 후의 문장 글자가 깨지지 않게
" 가나다라마바사"
"아자차카타파하"
이렇게 되게할려면요
어떤걸 참조해서 자르면 될까요?
무턱대고 잘라보니 두번째 문장의 경우
한바이트를 잘못 건드리면 바로 이후 글자가 깨지네요.
한글에 대한 이해가 부족한 관계로...
아시는분께서 답변좀.... 부탁드립니다.
[질문] 한글로된 문장에서 중간에 문장을 두줄로 나누기
Moderator: 류광
-
- Posts: 3805
- Joined: 2001-07-25 09:00
- Location: GPGstudy
- Contact:
-
- Posts: 244
- Joined: 2002-05-09 09:00
GetTextExtentExPoint() API를 쓰시면 되요~~ ^^;
문자열이 찍힐 DC값과 자를 길이를 던져주면 문자열에서 끊어야 할 부분을
알려주는 함수 입죠. 물론 이 DC에는 원하는 폰트가 셋팅되어 있어야 합니다.
이렇게 얻어낸 다음에 잘라진 위치에 해당하는 캐릭터를 IsDBCSLeadByte로
검사해서 2바이트 문자열의 앞부분이라면 한 칸 더 앞에서 잘라주면 되겠죠~ ^^;;
제 경우는 그냥 유니코드로 변환해서 끝에 'W'가 붙은 GetTextExtentExPointW()
API를 사용합니다. 훨씬 속 편하더군요~~
알려주는 함수 입죠. 물론 이 DC에는 원하는 폰트가 셋팅되어 있어야 합니다.
이렇게 얻어낸 다음에 잘라진 위치에 해당하는 캐릭터를 IsDBCSLeadByte로
검사해서 2바이트 문자열의 앞부분이라면 한 칸 더 앞에서 잘라주면 되겠죠~ ^^;;
제 경우는 그냥 유니코드로 변환해서 끝에 'W'가 붙은 GetTextExtentExPointW()
API를 사용합니다. 훨씬 속 편하더군요~~