본문 바로가기

NDS

한글 처리함수를 좀 더 구체화?

2008/07/28 - [NDS/NDS_Palib] - Palib 한글 구현 - Alpha blending



void PA_Print ( u8 screen, char * text, ...)
 

Output text on the DS screen. Works like a printf function

Parameters:
screen  Chose de screen (0 or 1)
text  String to output. The following commands are avaiblable : %s to output another string, %d to output a value, %fX to output a float with X digits, \n to go to the line. Here's an example : PA_OutputText(0, 0, 1, "My name is %s and I have only %d teeth", "Mollusk", 20);

현재 만들어 놓은 한글 구현은 한줄 글쓸때 한가지 색만 표현한다. 또한 변수는 처리하기 어렵다.

기본 텍스트 출력함수 방식처럼 바꾸면 어떨까... 기존출력은 한글자만 출력하게 바꾸고 기존 출력함수(PA_Print나 PA_OutputText)방식과 똑같이 만드는거다. 그대로 가져다 수정하기때문에 어려워 보이진 않는데...
1. 파라미터는 최소화한다. %cx - color, %s - char, %d - int 정도만
2. 좌표는 기존 한글출력에 있으니까 필요없다. (현재 쓰는방법이 고정 좌표에 계속 출력하고있어서 입력때 따로 좌표를 안받고있다.) 예제 자료로 만든다면 좌표는 넣는게 좋겠다.

문제 될만한점...?
1. 지금 쓰는곳에 중앙 정렬을 위해 "출력되는 글의 길이", 즉 %c %s같은 내용을 제외한 길이를 미리 알아야하는데 소스는 출력 체크하면서 길이를 구하고있는거같다. 미리 체크해서 걸러내고 구해도 되겠지만 2번 작업하는거같아서...
2. 한글 2바이트 처리가 어떻게 되는지 모르겠다. 한글 출력때 처리된거같긴한데 PA_Print 소스에서 처리 안할수도있다.


'NDS' 카테고리의 다른 글

SuChupDS - 그리는 메모장  (0) 2008.08.04
폰트형 한글 출력 함수 - setFont  (5) 2008.08.01
no$gba debugger?  (0) 2008.07.29
Palib 한글 구현 - Alpha blending  (4) 2008.07.28
Palib 한글구현 처리 진행상황...  (0) 2008.07.26