[글꼴] 3. 도깨비나 이야기의 글꼴바꾸기[글꼴] 3. 도깨비나 이야기의 글꼴바꾸기

Posted at 2008. 10. 1. 22:01 | Posted in 한글 관련 자료

3. 도깨비나 이야기의 글꼴바꾸기

글꼴은 글틀과 전자출판 분야에서만 사용하는 것이 아니다. 그보다 더 많이 사용되는 것은 한글돌리개(한글구동프로그램)이고, 지금 나오는 대부분의 프로그램들 역시 글꼴파일 없이는 한글을 구현할 수 없다. 예전과는 달리 사용자들은 이러한 프로그램에서 자신이 원하는 다양한 형태의 글꼴을 사용하고 싶어하기 때문에 다양한 글꼴파일을 지원하는 일은 이제 대부분의 프로그램이 지녀야할 당연한 기능의 하나가 되었다.
각 프로그램의 글꼴지원을 알아보기 전에 폰트와 타입이 어떻게 다른지부터 알아보도록 하자. <표.1>를 참고하기 바란다.

-->> 표.1. 글꼴과 관련된 낱말 비교



1. 활자, 타입(type)

인쇄를 하기 위해 금속이나 나무로 만든 글씨조각. 금속활자처럼 글씨가 새겨진 물건을 말한다.

2. 서체, 타입페이스(typeface)

글자의 모양. 바탕체나 돋움체가 하나의 서체다.

3. 글꼴, 폰트(font)

특정한 서체를 말한다. 10포인트 바탕체와 20포인트 명조체가 각각 하나의 글꼴이다.

4. 글자, 문자(character)

뜻이나 소리의 구별해주는 단위로서, 기호의 형태를 말한다. '가'하고 '나'는 각각 다른 글자다.

5. 글씨, 글립(glyph)

글자 하나하나의 모양을 가리킨다. 바탕체 '가'와 돋움꼴 '가'는 각각 다른 글씨다. 사람들이 쓴 글씨가 모두 다르다는 것을 생각하면 된다.



표를 통해 알 수 있는 것처럼 원래 글꼴이라는 말은 특정크기의 서체를 가리키는데 국내에서는 현재 '바탕꼴' '돋움꼴'과 같은 서체를 뜻하는 말로 사용하고 있다. 사실상 서체와 글꼴을 구별해서 쓰지 않고 있는 셈이니 이글에서도 글꼴이라고 하면 서체를 가리키는 말로 쓰겠다.
또 글꼴의 크기에 대해서도 많은 사람이 궁금해한다. 출판하는 사람들이 10급이니 12포인트니 하는 말을 쓰는데 도대체 어느 정도의 글씨크기를 말하는 것인지 모르겠다는 것이다. 반면에 프로그램을 하는 사람은 점 단위로 글씨크기를 이야기한다. 그러나 16x16 크기라고 말하면 다 같은 크기로 인식하고 쓰지만, 화면의 글씨크기하고 프린터에서 쓰는 글씨크기는 다르다. 또한 화면도 보는틀의 크기에 따라 글씨크기가 다르고 해상도별로 다르며, 프린터 역시 회사별로 프린터 종류별로 글씨크기가 다르기 때문에 절대적인 단위가 될 수 없다. 글꼴의 크기를 정하는 단위로는 <표.2>에 적은 단위들을 사용한다.

-->> 표.2. 글꼴(또는 글씨) 크기를 나타내는 단위.

1. 점(dot)

글씨를 구성하는 요소인 점을 가리키며, 글씨크기를 계산할 때 쓰는데 상대적인 크기만 나타낼 수 있다. 레이저프린터에서 사용하는 dpi라는 수치는 dot per inch로 일 인치의 길이에 몇 개의 점을 찍을 수 있는가를 뜻한다. 300dpi라면 일인치에 300개의 점이 들어간다는 이야기니 가로세로 1인치 안에는 300*300=9,0000개의 점이 들어가는 셈이다.

2. 포인트(point)

72.27분의 1인치. 컴퓨터에서는 보통 72분의 1인치로 정의해서 쓰는데 약 0.35mm다.

3. 치,톱니,급

일본과 한국에서 많이 쓰는 단위로 0.25mm다. 수동사식기에서 유래된 말이다.

4. 파이커(pica)

6분의 1인치. 1파이커는 12포인트다.



보통 일반 책에서 사용하는 글꼴의 크기는 10포인트 글씨인데 급수로는 약 14급 정도고 점단위로 따지면 300dpi레이저프린터에서 40x40 정도의 크기가 되고, 12분의 10파이커 정도 된다.
또한 글꼴의 두께는 영문자의 경우 exter light - light - medium, normal - demibold - bold - extra bold - ultra bold 순으로 굵어진다. 한글의 경우는 가는바탕꼴 - 바탕꼴 - 중간바탕꼴 - 굵은바탕꼴과 같은 단계로 두께가 두꺼워진다.

<글꼴을 구현하는 원리>
---------------------------------------------------------

글꼴에 대해서 가장 중요하게 여기는 분야는 글틀이나 전자출판 분야지만 다른 분야 역시 글꼴은 매우 중요하다. 글자모양이 화면에 뜨지 않는다면 컴퓨터를 통해서 우리가 할 수 있는 일은 아무 것도 없기 때문이다. 처음 컴퓨터를 켰을 때부터 나오는 영문자나 한글돌리개를 띄우고 쓰는 한글 역시 글꼴에 대한 정보가 어딘가에 존재하지 않는다면 나올리가 없는 일이다.
보통 컴퓨터를 켰을 때 나오는 글씨상태(Text Mode)에서는 영문자만 사용가능하다. 글씨상태에서 나오는 글씨들은 글꼴정보를 롬바이오스(ROM BIOS)라는 컴퓨터의 부품에서 빼내서 이를 그림판(Graphic Card)의 비디오램을 이용해 화면에 보여주는 방식인데 미국에서 만든 부품에 한글글꼴에 대한 정보가 들어갈리 없으니 글씨상태에서는 한글을 사용할 수 있는 길이 없다고 할 수 있다.
글씨상태에서는 한글의 구현이 불가능하다는 생각은 텍스트상태에서 비디오램을 제어하는 부분을 가로채는 방식의 <다른안시>라는 한글돌리개 프로그램이 나오면서 깨졌으나, 지금은 영어나 한글이나 모두 그림상태를 지향하는 추세기 때문에 글씨상태에서 한글을 구현하고자 하는 노력 자체가 거의 없는 상태다.
글씨상태에서 글꼴을 어떻게 바꿀 수 있는가 궁금한 분들을 위하여 재미있는 프로그램을 <표.3>에 소개한다. 두 개의 프로그램이 재미있는 프로그램이기 때문에 C언어에 관심이 있는 분이라면 참고삼아서 한번 실행시켜보기 바란다. 하나는 화면의 글씨가 무너져내리는 재미있는 현상을 볼 수 있는 프로그램이고 또 다른 것은 텍스트상태에서 영문글꼴을 바꾸는 프로그램인데 도깨비용 영문글꼴파일을 사용한다. fall.c는 dongper님이 만드신 것이고 textfont.c는 임재환님이 만드신 것인데 약간의 손질를 더했다.

-->> 표.3.

/* 보기.1.텍스트상태의 글씨를 밑으로 떨어뜨리는 프로그램*/
/* 주의사항. 램에서 제거하려면 부팅을 다시 해야함 */
/* fall.c 만든이: dongper */
#include
#include

void interrupt newint();
static void interrupt (*oldint)();

void main(void)
{ int c;
c=peekb(0,254);
if (c==19)
{ disable();
printf("\nRemoved.Removed.Removed.Removed.Removed.\n\n");
enable();
pokeb(0,254,18);
exit(0);
}
if (c!=18)
{ disable();
*oldint=getvect(8);
setvect(8,newint);
enable();
}
printf("..HANGUL.HANGUL.HANGUL.HANGUL.HANGUL.HANGUL.HANGUL..\n");
pokeb(0,254,19);
keep(0,getpsp());
exit(0);
}

void interrupt newint()
{ if (peekb(0,254)!=18)
{ int i,m;
for (i=3840;i>=0;i=i-2)
{ if (peekb(0xb800,i)!=32)
{ if (peekb(0xb800,i+160)==32)
{ m=peekb(0xb800,i+161);
pokeb(0xb800,i+160,peekb(0xb800,i));
pokeb(0xb800,i+161,peekb(0xb800,i+1));
pokeb(0xb800,i,32);
pokeb(0xb800,i+1,m);
}
}
}
}
(*oldint)();
}

/*글씨상태에서 영문글꼴을 바꾸는 프로그램. */
/* 사용하는 영문글꼴은 4096바이트의 크기의 8*16크기 점글꼴임 */
/* textfont.c 만든이 : automan7 */
#include
#include
#include
#define TRUE 1;
#define FALSE 0;

void SetUserDefinedFont(unsigned char *FontBuffer)
{ _ES=FP_SEG(FontBuffer);
_BP=FP_OFF(FontBuffer);
_AX=0x1110;
_BX=0x1000; /* Number of bytes per character pattern , Block to load in map2. */
_CX=0xff;/* Count of patterns to store. */
_DX=0; /* Character offset into map 2 block. */
geninterrupt(0x10);
}

int main(int argc, char *argv[])
{ FILE *fontfp;
unsigned char *fontbuffer;

if(argcɚ) {
cprintf("\r\n Usage : TEXTFONT [Ascii Font File] ");
cprintf("\r\n The Ascii font is consisted of 8*16.\r\n");
return FALSE; }
fontfp = fopen(argv[1], "rb");
if(!fontfp) {
cprintf("\r\n Can't open \"%s\" Character font.\r\n", argv[1]);
return FALSE; }

fontbuffer = (unsigned char *)malloc(4096);
fread(fontbuffer, 256, 16, fontfp);
fclose(fontfp);
SetUserDefinedFont(fontbuffer);
free(fontbuffer);
return TRUE;
}
---------------------------------------------------------

글씨상태에서 한글구현이 불가능하기 때문에 한글은 늘 그림상태(Graphic Mode)에서만 사용하는 어려움이 있다. 한글을 그림과 같이 취급하는 이 방법은 처음에는 속도가 느리다는 단점과 각종 프로그램과의 충돌로 인하여 많은 문제를 안고 있었다. 그러나 컴퓨터가 발달한 지금에 와서는 오히려 글씨를 확대할 수 있다든지 다양한 글씨를 사용할 수 있다는 장점을 살리는 방향으로 바뀌고 있다.
그림상태에서 한글을 구현하는 원리는 다음과 같다. 먼저 그림상태로 화면을 바꾼 후에 출력해야할 한글이 있다면 코드를 분석해서 무슨 글자인지 알아낸다. 코드가 분석되면 글자 출력에 필요한 자모음이 어떤 것인지 계산하고 필요한 글씨를 글꼴파일에서 가져온다. 가져온 글씨를 조합해서 출력한다. 물론 이때 조합된 글씨모양은 일종의 배열로 되어있다. 즉 글씨를 구성하는 점을 0과 1로 표현한다. 0이 흰색이라면 1은 까만색이다. 화면에 위치를 정하고 배열에서 읽은 0과 1의 조합에 의해서 화면에 점을 찍으면 글씨 한자가 써지는 것이다.
이처럼 한글코드와 글꼴파일을 이용해서 화면에 한글을 입출력하는 방법이나 기술을 한글오토마타라고 하는데 위에서 말한 기본적인 순서만 같을 뿐 구체적인 방법은 프로그램하는 사람에 따라 달라질 수 있다. 글꼴파일의 구조가 다르다면 글꼴파일에서 자모음을 빼내서 화면에 뿌리는 방법이 달라질 수밖에 없기 때문이다. 지금은 문서에서 한글을 읽거나 쓰는 것은 한글코드로 이루어진다. 현재 가장 보편적인 한글입출력 방법은 읽어들인 코드를 분석해서 글꼴파일에서 자모음 글씨를 가져와 글자 하나를 조합한 후에 배열로 바꾸어 화면에 점 단위로 뿌려주는 방법이다.
이 방법으로 한글을 구현하기 전까지 그동안 컴퓨터 한글글꼴의 발달과 관련된 중요한 프로그램을 몇가지 들자면 다음과 같은 것을 들 수 있다.

(1) 청계천 7비트 한글: IBM PC에서 한글을 쓸 수 있다는 점에서 당시로서는 획기적인 한글카드였으나 1350자 밖에 되지 않은 글씨와 보기흉한 글꼴이 문제점이었다. 영문프로그램과의 충돌은 거의 없었으나 소문자에 붙어서 대문자가 나오는 특별한 경우를 만나면 영문자 대신 한글이 출력되는 문제가 있다. 한글카드를 장착하고 hgkey나 hskey같은 프로그램을 띄운 후에 카드에 붙은 스위치를 올려줘야 한글을 사용할 수 있었는데 IBM PC에서 한글을 구현해 보급하는데 큰 기여를 했다.

(2) 삼보한글 : 삼보한글은 크게 THP와 NKP 계열로 나눌 수 있다. THP한글은 한글카드를 이용할 때 쓰는 것이고 NKP는 순수하게 프로그램만으로 구현했는데, 화면입출력 가로채기(10)를 이용하여 글자를 그래픽화면에 그려주는 형태로 구현했다. 대부분의 프로그램이 도스펑션콜을 사용하지 않고 바로 비디오램으로 문자를 출력하고 읽어들이기 때문에 이런류의 한글은 프로그램과 호환이 잘 안되었다. 따라서 NKP를 사용할 수 있는 프로그램은 그리 많지 않았으나 청게천한글이 지닌 글자수의 부족을 해결했기 때문에 NKP한글은 보석글을 통해서 꾸준하게 보급되었다. NKP 외에도 한글도스(주로 완성형)와 같은 프로그램이 이런 방법으로 한글을 구현했다. NKP류 한글의 특징을 꼽으라면 프로그램만으로 한글을 구현했다는 점, 그래픽상태에서 한글을 구현했다는 점으로 그림상태에서 구현하기 때문에 글꼴파일을 변경하여 글꼴모양을 바꿀 수가 있었다. 청계천한글과는 달리 여러 종류의 NKP글꼴이 만들어져 다양한 글꼴제작의 출발점이 되었다는 점에 큰 의미가 있다.

(3) 도깨비한글: 마이크로소프트웨어 잡지에 기자로 근무하던 최철룡씨가 1989년 4월에 발표한 한글돌리개인 도깨비는 그후에 양왕성씨와 몇몇 사람들에 의해서 계속 개선되었다. NKP한글이 충돌하는 것을 방지하기 위해서 허클리스카드에서 사용하지 않는 고해상도(640*400의 1페이지)를 이용하고 몇가지 기법을 쓴 이 프로그램은 글꼴파일의 구조를 공개함으로써 점글꼴파일의 표준이 되었다는 점에서 큰 의의를 찾을 수 있다. 또한 원하는 글꼴파일로 손쉽게 바꿀 수 있는 첫번째 프로그램이 되었다. 현재 사용자들이 사용하는 프로그램은 양왕성씨가 1990년 3월에 공개한 dkby인데 함께 제공되는 dsetup.exe는 자신이 원하는 글꼴파일을 dkby.com에 심을 수 있는 프로그램이다. 프로그램을 컴파일하지 않고도 글꼴을 바꾸어 실행파일내에 삽입할 수 있다는 점에서 매우 획기적인 글꼴관리라고 할 수 있다.

(4) 아래아한글: 도깨비가 발표되기 전부터 글꼴에 대한 글을 연재하던 이찬진씨 등이 만든 아래아한글은 카드나 별도의 한글돌리개를 띄우지 않고도 한글을 프로그램내에서 사용할 수 있는 자체한글이라는 개념을 일반인들에게 보급시켰다. 물론 자체한글은 아래아한글 발표 이전부터 텔레비디오를 비롯한 몇몇 프로그램에서 이미 사용되었지만 실질적으로 자체한글의 개념을 일반인들에게 보여준 프로그램은 <아래아한글>이라고 할 수 있다. 아래아한글이 나온 이후로는 많은 프로그램들이 자체한글을 내장하면서 나오기 시작했다는 점에서 자체한글 구현의 출발점이 되었다고 할 수 있다. 특히 아래아한글에서 함께 제공한 fed.exe라는 글꼴꾸미개는 다양한 글꼴의 출현에 절대적인 공헌을 했다. 아래아한글 이후로 비로소 글꼴이 다양화되었다고 할 수 있다.

<도깨비(dkby.com)을 원하는 글꼴로 바꾸는 방법>
----------------------------------------------------------

현재까지 사람들이 가장 많이 사용하는 한글돌리개는 도깨비(dkby.com)다. 이 프로그램은 지금도 대부분의 한빛보는틀 사용자들이 사용하는 훌륭한 한글돌리개 프로그램인데, 특히 이 프로그램에서 사용하는 글꼴이 한글점글꼴의 표준이 되었다는 점에서 큰 의미를 가지는 프로그램이다. 먼저 도깨비에서 사용하는 한글네모꼴 글꼴파일부터 살펴보자. 도깨비용 글꼴은 다음과 같은 구조를 지니고 있다.

* 벌수 = 16벌 : 닿자 8벌 + 홀자 4벌 + 받자 4벌
* 글자수=360자 : 닿자(19+1)*8벌 + 홀자(21+1)*4벌 + 받자(27+1)*4벌 -->> 여기서 각 벌에 하나씩 더해진 것은 빈칸이다.
* 파일크기 = 1,1520 바이트
* 머리글(header) = 없음.
* 글꼴크기 = 16*16 개로 이루어짐

파일크기가 1,1520바이트인 글꼴파일이라면 도깨비용 글꼴로 보면 틀림 없다. 도깨비용 글꼴은 점글꼴이기 때문에 아래아한글에서 제공하는 fed.exe로 새로 만들거나 고쳐서 사용할 수 있다. 불러오기(Alt+O)로 이미 만들 글꼴파일을 불러올 때는 4가지 사항을 물어보는데 처음으로 묻는 것은 파일이름이다. 파일이름을 적어주면 x축의 크기와 y축의 크기를 묻는데 이것은 글꼴크기를 묻는 것이다. 따라서 x축을 물을 때 16, y축의 크기를 물을 때도 16이라고 적어주면 된다. 다음으로 Skip byte라는 것을 묻는데 이것은 머리글이 있을 경우 그것을 건너띄어야 글꼴을 읽어올 수 있기 때문에 머리글의 길이를 묻는 것이다. 도깨비 글꼴은 머리글이 없으므로 0이라고 적어주면 된다.

-> 그림1. 글꼴꾸미개(font editor)에서 글꼴을 불러오는 화면

도깨비용 글꼴을 불러와서 원하는 모양으로 수정을 한 후에는 저장을 하는데 <자형저장=Alt+s>로 저장하면 아래아한글꼴파일로 저장되므로 이를 이용하면 안되고 <새이름으로 저장=Alt+V>를 택해 저장해야한다. 이때 'hearder 도 함께 저장할까요?' 하고 묻는데 물론 여기서는 'N'을 쳐주어야한다.
글꼴파일을 만들었으면 이 글꼴파일을 도깨비에 심어야하는데 이때 사용하는 프로그램은 dsetup.exe라는 프로그램이다. 이 프로그램은 dkby에 글꼴을 심어주는 프로그램으로 실행하기 전에 dkby.com을 띄워야 한다.
차림표에서 한글치기를 택하면 세벌자판과 두벌자판을 고를 수 있고, 한글조합상황을 바꿀수 있다. 그리고 <글짜꼴 심기> 차림이 도깨비의 글꼴을 심는 기능인데, 글꼴은 한글네모꼴, 한글빨래꼴, 영문자꼴, 그림글자꼴을 심을 수 있다. 4가지 글꼴파일에 자신이 원하는 글꼴파일 이름을 적어주면 된다.

글꼴파일을 바꾼 후에 다음과 같이 쳐보면 dkby를 실행시킬 때는 <표.4>와 같은 덧붙임(option)을 줄 수 있는데 dkby라고 치고 한 칸 띄운 다음에 써주면 된다. 아무 것도 안주고 'dkby'라고 실행시키면 'dkby /3='하고 친 것과 같다.

--> 표.4. dkby프로그램의 선택사양
---------------------------------------------------------
: 보통밝기한글: 밝은한글 : 굴림글꼴 : 램상주크기
---------------------------------------------------------
/30 : 네모꼴 : 네모꼴 굵게 : : 26 K byte
/3= : 네모꼴 : 빨래꼴 : : 26 K byte
/33 : 빨래꼴 : 빨래꼴 굵게 : : 16 K byte
/3o : 빨래꼴 : 빨래꼴 굵게 : 쓸 수 없음 : 12 K byte
-> 글판에 대한 덧붙임
/K2 - 2벌식 한글글판을 쓸때
/K3 - 3벌식 한글글판을 쓸때.

도깨비에서 사용하는 한글빨래꼴은 3벌로 된 72글자로 구성되었으며 파일크기는 2304바이트다. 또한 영문은 1벌로 된 256글자로 구성되었으며 파일크기는 4096바이트다. 빨래꼴은 앞서 이야기한 16벌의 네모꼴을 불러올 때와 같고 영문자는 x축의 크기만 8로 바꾸어주면 fed.exe로 불러올 수 있다.
도깨비용 글꼴은 화면용 점글꼴의 표준으로 대부분의 프로그램에서 수정 없이 그대로 사용되거나 간단한 수정을 해서 이용하고 있다. 그중에서 대표적인 프로그램을 살펴보도록 하자.

<이야기 6.0에서 원하는 글꼴파일을 만들어 등록하는 방법>
---------------------------------------------------------

도깨비하고 아래아한글만큼이나 사람들에게 널리 알려지고 많이 쓰이는 프로그램은 통신프로그램인 <이야기>인데 사람들은 이 프로그램에서도 자신이 원하는 글꼴을 등록해서 사용할 수 있기를 기대하고 있다. 이때문에 큰사람측에서는 <이야기 6.0>판부터 글꼴을 만들어 등록할 수 있도록 해놓았다. <이야기 5.3>판까지는 글꼴파일을 압축해서 제공했기 때문에 일반인들이 글꼴을 등록하기란 어려운 일이었고, 그나마 이미 등록된 이름으로만 가능했으나 6.0판부터는 자신이 원하는 글꼴은 몇개라도 상관 없이 등록이 가능해졌다. <이야기 6.0>에서 글꼴을 등록하려면 먼저 이야기에 맞는 글꼴파일을 만드는 것이 선결과제다. 이를 위해서 이야기 6.0판의 글꼴파일 구조를 알아보자.
이야기 6.0판의 글꼴 구조는 도깨비에서 사용되는 글꼴구조가 약간 변형된 상태다. 8x4x4벌로 된 구조로 머리글(header)는 없는 상태고 글꼴크기는 16x16이고, 글씨의 수는 400개로 전체 크기는 1,2800 바이트다. 도깨비용 글꼴이 각 벌이 앞머리에 빈칸을 하나씩 가지고 있는 것과 달리 이야기 글꼴파일은 처음시작은 닿자의 기역으로 시작하며 닿자 8벌 뒤에는 빈칸이 4칸씩, 홀자 4벌 뒤에는 빈칸이 2개씩, 받자 4벌 뒤에 빈칸이 4칸씩 덧붙여졌다. 이렇게 해서 400개의 글씨로 이루어졌다.

따라서 이야기 6.0판의 글꼴을 만들기는 무척 쉬운 편이다. 일단 마음에 드는 도깨비용 글꼴을 구한 뒤에 글꼴꾸미개(font editor)로 빈칸을 지우거나 삽입하면 된다. 점글꼴제작도구로 가장 많이 쓰는 것은 FED와 VFED라는 프로그램이다. 윤곽선글꼴을 제작할 때 쓰는 도구는 아직 특별한 것이 없는데 글꼴제작회사들은 주로 독자적으로 개발한 프로그램을 사용하고 있다. 독자적인 프로그램이 없을 경우에는 매킨토시에서는 폰토그래퍼(Fonto Grapher), 폰트스튜디오(Font Studio), 타이프 디자이너(Type Desinger)를 주로 사용하고, IBM에서는 윈도우즈용 폰토그래퍼나 오토캐드(Auto CAD)를 많이 쓴다. 워크스테이션에서는 이카루스(Ikarus)라는 프로그램을 사용한다. 대부분 가격이 비싸고 전문적이라서 일반 개인이 사용하기에는 어려우나 폰토그래퍼는 매킨토시나 IBM 기종 사용자들도 쉽게 구해 사용할 수 있는 프로그램이다. 아직까지는 IBM의 경우 점글꼴을 만드는 것이 위주이므로 fed를 잘 사용하는 것이 좋겠다.
fed를 이용해서 이야기용 글꼴을 만든다면 다음과 같은 과정을 거치면 된다.

1. fed로 들어가서 원하는 도깨비 글꼴을 불러온다. 이때 X축의 크기는 16, Y축의 크기도 16, Skip byte는 0으로 준다.
2. 맨 처음 글씨가 빈칸인데 여기서 를 눌러서 글씨를 지운다.
3. 닿자 한 벌이 끝나는 히읗(ㅎ) 뒤에 가서 를 세 번씩 눌러서 빈칸을 세 개씩 삽입한다.
4. 홀자 한 벌이 끝난 '이(ㅣ)'자 뒤의 빈칸에 가서 를 한 번씩 눌러서 빈칸을 삽입한다.
5. 받자 한 벌이 끝나는 히읗(ㅎ)자 뒤에 가서 를 세 번씩 눌러서 빈칸을 삽입한다.
6. 새이름으로 저장하기(Alt+V)를 눌러서 새이름을 주고 저장한다. 이때 머리글(header)은 저장하지 않으며, 파일이름은 ih로 시작해야 한다. 늘림씨는 fnt다.

이렇게 하면 이야기용 글꼴파일이 만들어진 것인데 400자가 맞는지 확인해본다. 이상의 과정을 제대로 수행했다면 1,2800 바이트 짜리 글꼴파일이 하나 만들어졌을 것이다. 이 파일을 <이야기 6.0>의 글꼴파일을 모아둔 방으로 복사해넣으면 모든 작업은 끝난다.
그러면 여러분은 이야기 6.0에서 F8을 눌러서 글꼴을 바꿀 때 자신이 만든 글꼴파일이 나와서 선택을 기다리는 것을 볼 수 있을 것이다. 만약 이렇게 해서 ihtest.fnt 라는 글꼴을 만들어서 등록했다면 이야기의 원래 글꼴파일이름과 함께 ihtest.fnt라는 글꼴이름이 나오는 것을 볼 수 있다.

영문자의 경우는 원래 256글자인 글꼴파일을 96자로 줄이고 순서를 바꾸었는데, 도깨비용 영문글꼴파일과 <이야기 6.0>의 영문글꼴파일을 비교해가면서 위와 같은 방법으로 글꼴꾸미개를 이용한다면 영문글꼴도 만들 수 있다.
이야기뿐만 아니라 각종 한글돌리개와 글틀, 프로그램에서도 이와 같은 방법을 통하여 자신이 원하는 글꼴로 바꾸어 사용할 수 있다. 글꼴파일의 구조만 정확하게 알아낸다면 어렵지 않은 일이다.
도깨비용 글꼴파일은 오늘날 자체한글을 내장하는 프로그램에서 대부분 사용하고 있는데 글꼴의 구조가 공개되었고 글꼴을 사용하는 방법이 널리 알려졌기 때문이다. 자체한글을 내장하기 위해서는 한글라이브러리를 이용해야하는데 현재 시중에는 터보씨용 한글라이브러리로 <한> <한라> <허르미>가 나와있고 클리퍼용 한글라이브러리로는 <아성>와 <학>와 같은 것이 있다. 이들 프로그램을 이용하면 자체한글을 구현하는데 큰 어려움을 겪지 않는데 이들이 사용하는 글꼴파일은 대부분 도깨비용 글꼴파일이다. 다시 말하면 도깨비용 글꼴파일만 많이 모아두면 자신이 원하는 글꼴로 프로그램을 짜기가 쉽다는 이야기다.
이들 중에서 서점에서 책과 함께 구할 수 있는 한글라이브러리를 기준으로 해서 라이브러리의 글꼴지원 문제를 살펴보자.
터보씨용 라이브러리인 <한> <한라> <허르미>는 모두 공개용이라서 통신상으로는 구하기 쉬운데 이중에서 <한>가 작년에 책과 라이브러리를 포함해서 출판되었다. 언어를 많이 배우지 못했지만 자체한글을 구현하고 싶어하는 분이 있다면, 기능면에서는 한라나 허르미에 떨어지지만 사용하기가 쉬운 <한>의 사용을 권한다. 이현호씨가 만든 <한>라이브러리에서는 도깨비용 글꼴을 아무런 수정없이 그래도 사용할 수 있다. <한>를 이용해서 구현할 수 있는 글꼴은 아래아한글 1.52판에서 제공한 글꼴모양은 전부 구현할 수 있다. 다시 말해서 가로세로 2배확대, 외곽선, 음영, 역상과 같은 효과를 구현할 수 있다는 것이다. 한화면 내에서 동시에 여러가지 모양의 글꼴을 표현하는 것도 가능하기 때문에 아래아한글과 똑 같은 프로그램을 짤 수도 있다. 그러나 도깨비용글꼴이 아닌 글꼴파일은 사용할 수 없다.

가장 기능이 뛰어나다고 인정하는 <한라프로 2.4>라이브러리는 얼마전에 역시 책으로 나왔다. 슈퍼VGA를 지원한다는 점이 큰 장점인데 글꼴에 관해서도 최대의 지원을 하고 있다. 따라서 보다 다양한 글꼴파일을 지원하고 싶은 사람이라면 한라라이브러리를 사용하는 것이 좋겠다. 한라라이브러리는 8x4x4벌의 도깨비용 글꼴파일도 지원하지만 10x4x4, 4x1x2, 2x1x3, 2x1x2, 1x1x3, 1x2x1 벌과 같은 글꼴파일도 지원한다. 또한 글꼴의 확대도 가로세로 2배로 그치는 것이 아니라 정수배로 확대가 가능하며 글꼴파일을 실행파일 안에 내장할 수도 있어 깔끔한 프로그램을 짤 때 좋다.
클리퍼에서 한글입출력을 하는 라이브러리인 <학 3.0>도 얼마전에 교육용판을 책으로 냈다. 학라이브러리는 5가지의 글꼴을 사용할 수가 있으며 한라이브러리처럼 다양한 효과를 구현할 수 있다. 그러나 글꼴이 라이브러리파일 안에 내장되어서 제공되기 때문에 자신이 원하는 글꼴파일로 바꾸어 사용할 수가 없다. 실행파일을 만들 때 라이브러리에서 뽑아 실해파일내에 집어넣는 방식을 쓰고 있다. 원하는 글꼴파일을 사용할 수 있도록 만들었다면 더 좋았으리는 아쉬움을 가진다.
각 라이브러리에서 지원하는 글꼴을 프로그램에서 사용하는 방법은 각 라이브러리에서 제공하는 맛보기(demo) 바탕글(source)과 실행파일을 참고하기 바란다. 글꼴을 만들 때 고려해야할 점에 대해서는 다음 글에서 이야기하도록 하겠다.


출처 :

http://www.dal.kr/col/pcline/pcline199311_font1.html
http://www.dal.kr/col/pcline/pcline199312_font2.html
http://www.dal.kr/col/pcline/pcline199401_font3.html
http://www.dal.kr/col/pcline/pcline199402_font4.html



//