커뮤니티 | 큐티/임베디드/큐토피아 | PODO | SDL | 마이크로윈도우 | 리눅스프로그래밍 | 기타 | 포인트순위 | 최근게시물최근게시물 RSS  
korone.net에 다루었으면 하는것은요?
 
 
 
 
 
971
1,317
3,878
3,584,031
  현재접속자 : 56 (회원 0)






배너 신청 문의

 
작성일 : 05-12-28 17:33
왕초보를 위한 Nano-X 4편 (한글 기본 폰트)
 글쓴이 : 냐옹이
조회 : 23,649  
아래에 있는 장진혁님 예제를 기본으로 약간 살만 덧붙이겠습니다.
http://www.korone.net/bbs/board.php?bo_table=mw_lecture&wr_id=7

ftp://microwindows.censoft.com/pub/microwindows/microwindows-fonts-0.90.tar.gz
여기서 제공하는 폰트를 설치하면 KSC5601코드의 기본 폰트를 쓸 수 있습니다.
이 폰트는 한글을 출력할 수는 있지만 다른 변경은 불가능 합니다. (예를 들면 글자 크기 변경)
이미 폰트가 정해진 bitmap으로 만들어지기 때문에 그냥 한글 출력 테스트 용으로나 적당합니다.

config 파일에 'HAVE_KSC5601_SUPPORT = Y'를 추가 또는 수정하면 사용하실 수 있습니다.
nano-X 컴파일 시 에러가 발생하는 데 demo 예제가 오타가 있어서 그런 것이니 아래와 같이 수정해 주시면 됩니다.
MWTF_DBCS_KSC => MWTF_DBCS_EUCKR
이렇게하면 데모 컴파일도 문제 없이 됩니다.

한글 출력시 사용하는 함수가 GrText()인데, freetype 폰트도 역시 이 함수로 출력하게 됩니다.
void GrText(GR_DRAW_ID id, GR_GC_ID gc, GR_COORD x, GR_COORD y, void *str, GR_COUNT count, GR_TEXTFLAGS flags)
id : 출력할 윈도우의 id
gc : 출력할 때 사용할 정보(색깔 등)
x, y : 출력 좌표
str : 출력할 내용
count : 출력할 내용의 길이. 일반적으로 unicode가 아닌 경우 -1을 넣어주면 알아서 계산합니다.
flags : 출력 옵션. 텍스트의 encoding 방식에 따라 다른 옵션을 사용해야 합니다.

사용 예)
GrText(w, gc, 10, 30, "헬로우 월드~", -1, MWTF_DBCS_EUCKR);


참고 사항

  • flags 종류
1) encoding 방식에 따라
#define MWTF_ASCII               0x00000000L   
#define MWTF_UTF8                0x00000001L   
#define MWTF_UC16               0x00000002L   
#define MWTF_UC32               0x00000004L   
#define MWTF_XCHAR2B         0x00000008L   
#define MWTF_PACKMASK       0x0000000FL

2) 2bytes encoding
#define MWTF_DBCS_BIG5     0x00000100L   
#define MWTF_DBCS_EUCCN  0x00000200L   
#define MWTF_DBCS_EUCKR  0x00000300L   
#define MWTF_DBCS_EUCJP   0x00000400L   
#define MWTF_DBCS_JIS        0x00000500L   
#define MWTF_DBCSMASK      0x00000700L

3) 출력 기준 위치에 따라
#define MWTF_TOP                 0x01000000L   
#define MWTF_BASELINE        0x02000000L   
#define MWTF_BOTTOM          0x04000000L



 
 

Total 17
번호 제   목 글쓴이 날짜 조회
17 timer 사용하는 방법 입니다.. 토마토 08-28 17953
16 마이크로윈도우 nano-X api 간단 [tip] 토마토 09-01 20243
15 nano-x에서의 이벤트 처리 (1) 조규봉 01-24 22825
14 왕초보를 위한 Nano-X 5편 (freetype font) 냐옹이 01-02 20839
13 왕초보를 위한 Nano-X 4편 (한글 기본 폰트) 냐옹이 12-28 23650
12 왕초보를 위한 Nano-X 3편 (window 생성) 냐옹이 08-24 18969
11 왕초보를 위한 Nano-X 2편 (이미지 관련 함수 분… 냐옹이 08-11 15248
10 왕초보를 위한 Nano-X 1편 (helloworld.c 분석하기) 냐옹이 08-08 14786
9 microwindows 한글 TrueType fonts 출력하기 최고관… 06-16 13913
8 Cygwin 에서 Microwindows 컴파일 하기 (2) 채영훈 04-07 20207
7 메뉴구성 및 글자색 변경 참고 소스 (8) 장진혁 12-17 20494
6 한글 출력 방법 및 예제 소스 (2) 장진혁 12-13 14174
5 Keyboard Event 입력 처리 소스 장진혁 12-13 15690
4 이미지 출력 소스 장진혁 12-13 13733
3 Hello World 소스 장진혁 12-13 13039
2 Microwindows 0.90 설치 (1) 장진혁 12-13 17012
1 microwindows 한글 TrueType fonts 출력하기 (5) 김용오 12-16 14926


About korone.net | Copyright 2003 korone.net. All rights reserved.