시리얼 EEPROM 을 이용한 한글 LCD 구현[2] – 한글 구현 방식

한글 구현 방식

한글을 그래픽 LCD 에 표시하려면 먼저 한글코드(완성형 및 조합형) 에 대한 약간의 지식이 필요하다. 한글은 한 글자가 초성19자, 중성21자, 종성27 자 중 초성 한 개, 중성 한 개, 종성이 선택적으로 한 개가 조합되어 이루어지며 한글을 LCD 에 표시하기 위해선 이런 방식의 조합형 코드를 다뤄야 한다. 완성형 코드의 경우 초, 중, 종성의 구분이 없는 데이터며 이를 폰트로 구현하면 서로 1:1 대응된다. 당연히 각 코드에 폰트가 적용되어지므로 폰트의 개수가 커지므로 (KSC-5601 코드규격에서 한글 2350 자가 정의돼 있음) 폰트 데이터양도 많아지게 된다.
한글코드는 조합형 완성형 모두 2Byte로 구성되며 하위 첫 번째 비트가 1, 다음 5바이트씩 끊어서 각각 초, 중, 종성에 대한 데이터를 담고 있으며 이를 도식화 하면 아래와 같다.

+—————————————+
| 1 | 5Byte(초성) | 5Byte(중성) | 5Byte(종성) |
+—————————————+
LSB

한글 표시는 이 조합형 데이터를 갖고 각 초, 중, 종성에 맞는 폰트를 끄집어내 합쳐주면 되지만 글자모양의 미적인 부분을 감안하여 각 초, 중, 종성의 폰트는 이들 각각의 폰트 한 개씩이 아니라 여러 벌을 정의하여 사용한다.
(일례로 종성이 있을때 초성 글자의 크기와 종성이 없을때 초성의 글자크기가 같으면 글자의 맵시가 좋지 않으므로)

현재엔 윈도우에서의 한글폰트가 벡터방식이지만 새롬 데이타맨등에는 내장된 16*16 비트맵 방식의 폰트가 쓰이며 윈도우가 나오기 이전에도 PC 상에서 16*16 비트맵, 8*4*4 벌의 한글폰트가 많이 쓰여져 현재에도 쉽게 얻을 수 있으므로 이 문서에선 이 형식의 폰트를 다루게 될 것이다.

 

이 글을 공유하기:

Be the first to comment

Leave a Reply