터보씨 2.0 용 한글 라이브러리 '미니 한글 라이브러리' 입니다.
작지만 꼭 필요한 기능만을 제공한 한글 라이브러리 입니다.
안녕하십니까.
새로 만들어 본 한글 라이브러리인 [미니한글라이브] 에 대한 설명입니다.
얼마 전에도 올렸었는데 작은 에러가 하나 있어서 다시 올렸습니다. 이젠
기능은 전혀 풍부하지 않지만 절대로 안정되고 확실한 프로그램입니다.
최고로 간편하고 쉽고 부담없는 [미니한글 라이브] 를 써보십시오.
또 소스가 전부다 완벽한 설명과 함께 깨끗하게 들어 있으므로 누군가가
쉽게 고쳐 쓸 수도 있을 것입니다.
여러분들이 만드시는 게임에 간단하게 한글을 넣어보셔요. 가장 큰 만족을
얻을 수 있을 것입니다.
1.사양
이것은 TC 2.0 으로 만들어졌습니다.
VGA 에서만 되고, 두벌식으로 되어 있고,
내부적으로 내장형의 조합형 한글에 이야기 폰트를 사용합니다.
1.특징
이것은 크기는 작게 만들어졌지만 기능은 실로 막강합니다. 다른
방대한 한글 라이브러리와는 달리 단지 5 개의 함수만 있습니다.
즉 한글과 영문을 각각 쓰고 입력받는 것과, 텍스트편집함수
입니다. 하지만 한글 라이브러리를 사용하는 목적은 이것만으로도
충분히 충족 될 수 있고, 여기 있는 함수들은 속도도 어셈블리를
사용해서 아주 빠르고 또 사용이 매우 간편합니다. 특히 중점을
둔 텍스트 편집 함수는 여러 문장으로 편집하게 되는 메모장이나
일기장, 등등에 사용될 경우 별다른 프로그래밍이 필요없이
프로그램을 완성시킬 수있도록 제작되어 있읍니다.
기존의 한글 라이브러리를 사용하려며는 참 알아야 할 사항도 많으나
여기서는 함수 5 개만 알면 자유롭게 한글을 쓸 수가 있습니다.
또 이것 저것 복잡하게 정해줄 필요가 없고, 이쁜 이야기체 폰트를
내장시켰기에 완성된 프로그램에서도 단 하나의 화일만으로 된 실행
화일을 만들게 됩니다.
비교적 단순하지만 그런 대로 쓸모가 있을 것입니다.
2. 들어있는 화일 설명.
readme.doc 본 설명화일
demo.exe 미니한글 라이브의 데모 실행 화일
han.lib 한글 라이브러리 화일
han.h 한글 라이브러리 헤더화일
source.lzh 한글 라이브러리의 소스가 압축되어 있음
auto.c 한글 오토메타
inout.c 한글과 영문을 입력받고 출력하는 함수 정의
edit.c 텍스트 편집함수 정의
font.c 내장형 이야기체한글과 영문 폰트
quickgr.c 직접적으로 화면에 폰트를 찍고 스크롤하는 함수
quickgr.obj 위 화일을 컴파일 한 것
demo.lzh 몇개의 데모 프로그램 소스와 TC 2.0 의 프로젝트 화일들
demo.c 종합 데모 프로그램 소스
demo.prj 종합 데모 프로젝트 화일
demo(1-4).c 함수별 데모 프로그램 소스
demo(1-4).prj 함수별 데모 프로젝트 화일
3. 사용법
물론 다들 아시겠지만 TC 2.0 에서는 라이브러리(han.lib) 와
헤더화일 (han.h) 를 씨 언어에 복사해 넣어두고, 각각의 프로그램을
만들 때마다 해당하는 프로젝트 화일을 만들어서 그것을 등록하여
컴파일을 하면 됩니다. 프로젝트 화일은 다 아시겠지만 TC 2.0 에서는
텍스트 화일 형태로, 예를 들어 여기 있는 데모 프로그램을 컴파일
하려며는 demo.prj 이라는 이름에
demo
han.lib
이렇게 두 줄만 적으면 됩니다. 이것을 TC 의 환경에서 prj 로 등록해서
컴파일-런 하면 됩니다. 물론 프로그램 안에 #include <han.h> 를 해야
합니다. 같이 있는 demo.c 와 demo.prj 를 가지고 하면 쉽게 알 수 있을
것입니다.
중요한 것은 반드시 라지 모델로 컴파일 해야 한다는 것입니다.
안그러면 문제가 발생할 지 모릅니다.
그리고 그래픽 모드에서 되는 것이므로 EGAVGA.BGI 가 같은 디렉도리 안에
있어야 하고 아니면 그것도 내장 방식으로 만들어도 됩니다.
소스가 모두 있으므로, 필요한 부분을 고치거나 딴데 갔다 써도
될것입니다.
4. 함수 사용법
우선 한글을 쓰기 전에는, 그래픽 모드에서 되므로 그래픽을 초기화
시켜야 됩니다. 즉 씨언어의 initgraph() 를 반드시 한 다음에만
다음의 함수를 쓸 수가 있습니다. 라이브러리에 있는 init_graph() 를
쓰면 됩니다. 같이 있는 데모를 보시면 있습니다. 여기에는 다른 것처럼
init_han() 같은 것은 없습니다. 역시 소스에 같이 들어있는 함수 예제
프로그램을 보시면 잘 알 수 있을 것입니다.
1) 한글 출력 함수
void print_han(int fx,int fy,unsigned char *st,int color1,int color2);
fx,fy 는 출력될 위치의 텍스트 좌표( fx 는 0-79, fy 는 0-30 )
st 는 출력될 문자열
color1, color2 는 각각 글자의 전경색과 배경색
예1) init_graph();
print_han(10,10,"가나다라",1,7);
예2) init_graph();
strcpy(st,"가나다라");
print_han(1,1,st,15,0);
2) 영문 출력 함수
void print_eng(int fx,int fy,unsigned char *st,int color1,int color2);
fx,fy 는 출력될 위치의 텍스트 좌표( fx 는 0-79, fy 는 0-30 )
st 는 출력될 문자열
color1, color2 는 각각 글자의 전경색과 배경색
예1) init_graph();
print_eng(10,10,"This is English",1,7);
예2) init_graph()
strcpy(st,"testing...");
print_eng(1,1,st,15,0);
3) 한글 입력 함수
void read_han(int fx,int fy,int max,unsigned char *st,
int *selected,int color1,int color2);
fx,fy 는 입력받을 위치의 텍스트 좌표( fx 는 0-79, fy 는 0-30 )
max 는 커서가 움직이는 범위
st 는 받아서 입력을 받고 돌려주는 문자열. 반드시 초기화가 필요.
enter 로 끝났으면 selected=1, esc 로 끝났으면 selected=0 이 된다.
color1, color2 는 각각 글자의 전경색과 배경색
각종 화살표를 사용하고, F2 또는 Shift-Space 로 한-영 전환한다.
예1) ungigned char string[100]="지금은 비오는 중";
int selected;
init_graph();
read_han(10,10,30,string,&selected,7,1);
예2) ungigned char string[50];
int selected;
init_graph()
strcpy(string,"");
read_han(10,10,30,string,&selected,7,1);
4) 영문 입력 함수
void read_eng(int fx,int fy,int max,unsigned char *st,
int *selected,int color1,int color2);
fx,fy 는 입력받을 위치의 텍스트 좌표( fx 는 0-79, fy 는 0-30 )
max 는 커서가 움직이는 범위
st 는 받아서 입력을 받고 돌려주는 문자열. 반드시 초기화가 필요.
enter 로 끝났으면 selected=1, esc 로 끝났으면 selected=0 이 된다.
color1, color2 는 각각 글자의 전경색과 배경색
예) unsigned char string[100]="";
int selected;
init_graph();
read_eng(10,10,30,string,&selected,7,1);
5) 텍스트 편집함수 (상 하 스크롤이 됩니다)
void edit_han_text(int fx,int fy,int wx,int wy,int maxline,
unsigned char *text, int color1,int color2)
fx,fy 는 편집창의 왼쪽 위의 텍스트 좌표
wx,wy 는 편집창의 가로, 세로크기
maxline 은 몇 라인이나 편집을 할 수 있게 하는지 정하는 것.
메모리가 허용하는 한 최대로 할 수 있음.
text 는 실제로 편집되는 문자열을 전달해주고 전달받는 것.
이 함수를 실행하기에 앞서서 반드시 초기화되야 하며,
그 크기도 충분해야 한다.
예) unsigned char text[10000]="123\n12\n1";
color1, color2 는 각각 글자의 전경색과 배경색
빠져나가는 것은 Esc 로 되어 있으나 고칠 수 도 있습니다.
예1) unsigned char text[1000]="1\n12\n123\n1234\n12345";
init_graph();
edit_han_line(1,1,10,10,100,text,7,0);
예2) unsigned char text[10000]="가나다라\r\n마바사아";
init_graph();
edit_han_line(1,1,10,10,100,text,7,0);
예3) ungigned char text[1000];
init_graph();
strcpy(text,"");
edit_han_line(10,10,60,20,20,text,15,1);
디스크에서 읽은 내용을 편집하거나, 편집을 끝낸 텍스트의 내용을
저장할 때 text 를 간편하게 이용할 수 있습니다. text 에는 디스크에
저장되는 그대로 사용되기 때문에 그대로 읽어서 사용하다가 그대로
쓰면 됩니다.
5. 끝으로
이건 정말로 사용하기 참 부담없는 한글입니다.
저도 한라프로나, 한, 허르미를 가지고 있지만 저는 제일 간편하고
간단해고 쉽게 되어 있고, 맘대로 고칠수도 있기에 이것만을 씁니다
이것을 사용하는 사람들에게 행복과 기쁨이 있기를 바랍니다.
그럼 이만.
문의 할 사항이 있으시면 언제든지 연락 해주시기 바랍니다.
아는 것은 없어도 항상 정성과 사랑으로 살펴드립니다.
94, 1. 조 성 용 드림. (Creative in Hitel)
'소프트웨어 > 개발툴' 카테고리의 다른 글
Turbo C 2.01 (0) | 2016.06.28 |
---|---|
한글 라이브러리 1.0 (0) | 2016.06.27 |
클리퍼 강좌 예제 (0) | 2016.06.25 |
물 1.10 (0) | 2016.06.25 |
허르미 한글 라이브러리 2.0 (0) | 2016.06.25 |