GLAN의 버전2에 대한 논의

OpenGL 한글 (입)출력 라이브러리 "glan"에 대한 포럼입니다.

Moderator: 류광

eoh
Posts: 135
Joined: 2001-07-20 09:00
Location: REAL:DREAM
Contact:

GLAN의 버전2에 대한 논의

Post by eoh »

이번에 새로 만들게 될 버전에 필요한부분이나 추가되었으면 하는 기능들에 대해서, 그리고 어떤것이 추가될 예정인지를 알릴 수 있는 글이 되었으면 합니다.

일단 현재 생각하고 있는것들에 대해서 말해보자면, 영어, 한글, 그리고 한자, 특수문자 (추가로 일본어의 히라가나 카타카나) 들의 지원에 대한 것입니다.
그에 따른 내부적인 가장큰 변화는 많은 자료들을 처리해야 하기 때문에, 소모되는 텍스쳐량을 줄이기 위해서, 전에 류광님이 언급하셨던 glyph의 단위의 도입을 생각하고 있습니다. 영어와 (필요하다면) 한글을 기본으로 저장하고 있는 상태에서 glyph는 사용시점에서 텍스쳐에 필요한 정보를 추가하는 형태로 만들어볼 생각입니다.

물론 그과정에 오래 사용되게 되면 무한정 늘어나기도 하기 때문에, 가끔 초기화를 한다거나, 빈도를 측정(..)하여 빈도가 적은 자료를 새 자료로 대체시키는 방법도 생각해 볼만하겠죠.. 그중에 전자가 구현이 쉽겠군요.;;;

입력의 문제입니다만, 입력 자체의 메세지 처리기를 만들어 볼 생각입니다. 그것을 윈도의 경우 메세지와 연결하여 사용하면 되겠죠. 입력방법은 아마도 외부의 자판데이터를 따로 이용하게 되거나, 내부에 포함시키게 될듯 합니다.

글꼴의 경우 예전과 같이 외부에서 생성하여 context형태로 사용시점에 인자로 집어넣는 방법을 생각하고 있습니다. 그것들은 내부에 glyph를 통해 그려내게 되겠네요.


음.. 실제로 버전2의 작업이 언제 들어갈 수 있을지 모르겠습니다만, 지금의 문제만 처리되면 시작할 수 있을것 같습니다..
그리고 트루타잎의 경우 더 미루어질것 같군요..;
eoh
Posts: 135
Joined: 2001-07-20 09:00
Location: REAL:DREAM
Contact:

Post by eoh »

아직도.. 작업은 하고 있습니다만,
지금 이야기 할 수 있는것은 STL쪽을 공부하게 되면서,
그쪽의 인터페이스같은것들이 많은 영향을 주게 되었다는것입니다..

그 과정에서, STL의 스트림 객체들속에 포함시켜 사용해볼까 생각해봤는데..
게임에서 사용하는 글자들의 특성상, 그다지 큰 의미가 없다고 생각되어서,
독자적인 객체를 사용하게 될것같습니다.

전에.. OpenType의 분석은 거의 끝나고, Bezier 곡선 관련 함수들을 손보다가,
수학관련의 함수들 전부를 손보게 되었네요.;
그러다가 다시 로깅과 출력부의 인터페이스부분의 작업이 끝났습니다..
이제부터 그래픽 관련 코드들이나 메모리 관련 코드들을 손보게 될듯하네요...;;
eoh
Posts: 135
Joined: 2001-07-20 09:00
Location: REAL:DREAM
Contact:

Post by eoh »

아.. 여담으로 VC.net 2003과 MinGW에서 만들고 있습니다..
MinGW에서는 STLport가 반드시 필요할듯..
그리고 입력부도 고려하고 있습니다.;
류광
Posts: 3805
Joined: 2001-07-25 09:00
Location: GPGstudy
Contact:

Post by 류광 »

crowy님 정말 오랜만입니다. 새해 복 많이 받으세요.

이미 저와 같은 생각이신 것 같지만 혹시 노파심에서 이야기하겠습니다... glan의 애초 의도는 GPG 1권 부록의 텍스트 유틸리티처럼 사용할만한 한글 출력 라이브러리를 만드는 것이었습니다. 간단히 말하면 프로그램 실행 속도나 메모리 사용에 거의 부담을 주지 않고 FPS 등의 통계 정보를 출력한다거나 간단한 사용법을 출력하는 등의 용도를 염두에 둔 것이었습니다. 그런 목적은 glancore로 이미 달성이 되었다고 생각합니다. 즉, 새 버전은 기존의 어떤 전제나 가정, 코드 기반에 얽매일 필요가 전혀 없습니다.

새 버전에 바라는 바는... 인터페이스 설계 시 FreeType을 확장할 수 있는 형태를 고려하면 어떨까 합니다. 즉.. FreeType을 지원하는 프로그램이라면 GLAN 2의 특정 헤더를 포함시키고, 코드 한 두줄을 수정하고(아마도 FreeType 글꼴 초기화 시에 Glan의 객체를 지정하는 등) GLAN 2 라이브러리를 함께 링크하는 것만으로도 GLAN이 제공하는 한글 출력 기능을 쓸 수 있게 하는 것입니다... 예를 들면 GLF나 FLTK 기반 프로그램에 순식간에 한글 지원을 추가할 수 있도록 하는 거죠.... 기술적으로 가능하리라고 봅니다.

물론 FreeType에서 한글 TrueType 글꼴을 자동으로 지원하는 것도 가능하다고 알고 있습니다만, GLAN 전통의 빠르고 가벼운 자모조합식을 FreeType에서 사용한다는 것은 또 다른 의미가 있을 것입니다.

FreeType은 (아마도)가장 널리 쓰이는 글꼴 처리 라이브러리일 것이고, GLAN이 FreeType을 지원한다면 파급 효과가 상당히 클 것입니다.
eoh
Posts: 135
Joined: 2001-07-20 09:00
Location: REAL:DREAM
Contact:

Post by eoh »

음.. 현재 작업 재개하였습니다..
뭐.. http://user.chollian.net/~ryuhoil 의 eoh 쪽에...
작업 스샷같은것이라거나 올리도록 하겠습니다.;

음. 기회가 되면 FreeType과의 연계도 다뤄봐야 겠군요.

(일단.. 유니코드를 지원하고 있습니다.. 코드보단 글꼴의 문제가 더 크지만요. ㅎ; )
eoh
Posts: 135
Joined: 2001-07-20 09:00
Location: REAL:DREAM
Contact:

스크린샷과..

Post by eoh »

음.. bicubic을 이용해 보간된 비트맵 글꼴을 다양한 크기로 그린 그림입니다..
아마도 확대에서는 이 방법만을 사용하게 될듯 합니다.
단, 원래의 크기, 16의 경우에는.. 원래의 크기를 사용할 예정이지요..
(더 확대되는경우는 63, 127 의 텍스쳐만 만들어서 그것을 확대,축소할 예정입니다..)

키보드 입력을 통해서 다양한 언어변환, 언어코드별 변환(특히 중국어나 한자), 그리고 글꼴제작,
글꼴 편집툴 작성, direct X 용의 구현, 유닉스에서의 구현...
등등에 대해서 도와주실분 연락주세요. >_<
(안도와주시면 3쯤에서나 추가 될 기능들이군요; )

여담으로 홈페이지나 아래의 그림이나.. 임의로 업데이트 될것입니다;
(거의 매일매일?; 틈나는대로 refresh!)

Image
Post Reply