KR100539056B1 - 폰트의 손실 압축 및 저장 방법 - Google Patents

폰트의 손실 압축 및 저장 방법 Download PDF

Info

Publication number
KR100539056B1
KR100539056B1 KR10-2001-0042171A KR20010042171A KR100539056B1 KR 100539056 B1 KR100539056 B1 KR 100539056B1 KR 20010042171 A KR20010042171 A KR 20010042171A KR 100539056 B1 KR100539056 B1 KR 100539056B1
Authority
KR
South Korea
Prior art keywords
font
glyph
similarity
glyphs
contours
Prior art date
Application number
KR10-2001-0042171A
Other languages
English (en)
Other versions
KR20030006443A (ko
Inventor
이영표
정근호
최재영
Original Assignee
(주)네오퍼스
최재영
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)네오퍼스, 최재영 filed Critical (주)네오퍼스
Priority to KR10-2001-0042171A priority Critical patent/KR100539056B1/ko
Priority to US09/969,725 priority patent/US20030043151A1/en
Priority to TW090124758A priority patent/TW530486B/zh
Priority to JP2001319115A priority patent/JP2003044035A/ja
Priority to CN02108413A priority patent/CN1397912A/zh
Publication of KR20030006443A publication Critical patent/KR20030006443A/ko
Application granted granted Critical
Publication of KR100539056B1 publication Critical patent/KR100539056B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/153Digital output to display device ; Cooperation and interconnection of the display device with other functional units using cathode-ray tubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

본 발명은 폰트의 손실 압축 및 저장 방법에 관한 것이다.
한글 트루타입 폰트 파일에서 폰트의 중복성을 최소화하는 손실 압축 방법에 있어서, 한글 트루타입 폰트의 테이블을 읽는 단계, 읽어들인 트루타입 폰트의 글립을 윤곽선 단위로 나누는 단계, 나눈 윤곽선간의 유사성을 비교하는 유사성 비교 리스트를 만드는 단계, 유사성 비교 리스트가 유사하게 나타나는 윤곽선끼리 병합하는 단계, 화면에 표시될 대표 윤곽선을 선택하는 단계, 선택한 대표 윤곽선을 트루타입 래스터라이저를 이용해 출력장치에 나타내는 단계를 포함하는 한글 트루타입 폰트의 손실 압축 방법과 한글 트루타입 폰트 파일에서 폰트의 저장 공간을 줄이기 위한 저장 방법에 있어서, 유사성 리스트를 이용하여 불필요한 글립 테이블을 제거하는 단계, 새로운 글립 테이블을 생성하는 단계를 포함하는 한글 트루타입 폰트의 저장 방법을 포함하는 것을 특징으로 한다.
본 발명의 한글 폰트 손실 압축 및 저장 방법에 따르면, PDA, CRT 또는 LCD와 같은 저해상도의 출력장치에서 완성형 폰트의 품질을 본래의 폰트와 같은 수준에서 유지하면서도 저장 공간을 완성형에 비해 10분의 1 이하로 획기적으로 줄일 수 있게 된다.

Description

폰트의 손실 압축 및 저장 방법 {Method for Lossy Optimization And Storage of Font}
본 발명은 한글 폰트(Font)의 손실 압축 및 저장 방법에 관한 것이다. 더욱 상세하게는, 휴대폰, IMT-2000 단말기, 고선명 TV(HDTV), 개인 정보 저장 장치 (PDA), 전자책(e-book) 등의 디지털 장비에서 사용되는 한글 디지털 폰트에서 각 글자의 구성 부분간의 유사성 정보를 이용하여 CRT나 LCD와 같은 저해상도의 출력 장치에서 폰트의 품질을 본래의 폰트와 같은 수준에서 유지하면서, 중복되거나 유사한 정보를 단일화하여 폰트를 압축, 저장하는 한글 폰트의 손실 압축 및 저장 방법에 관한 것이다.
일반적으로 디지털 장비에서 문자를 표시하기 위하여 사용하는 폰트는 표현 방법에 따라 비트맵 폰트와 윤곽선 폰트로 구분된다. 비트맵 폰트는 글자를 그림이나 화상으로 간주하여 정해진 크기의 점행렬상에 글자를 표현하는 것이다. 일정한 크기의 0으로 초기화된 점행렬에 원하는 모양의 글자를 한 점씩 1로 표시해서 제작하고, 그 결과인 연속된 점행렬을 저장하게 된다. 그 결과 비트맵 폰트는 글자 크기를 확대하면 계단 현상을 비롯한 폰트 품질의 저하가 생기고, 여러 크기의 비트맵 폰트를 저장할 때 저장 공간이 증가하는 등의 문제점이 있다.
한편, 윤곽선 폰트는 글자의 윤곽선을 기하학적 방식으로 표현하는 방법으로 주로 직선, 곡선, 원호 등의 수학적인 요소들로 글자의 위상을 표현한다. 제작 과정은 다소 복잡하지만, 한번 제작된 폰트를 사용할 때에 융통성이 많고 출력시의 폰트 품질도 상당히 좋다. 현재 사용되고 있는 많은 윤곽선 폰트 중 트루타입 폰트는 Windows 98과 Windows NT, Mac, Solaris(version 2.6이상)와 같은 운영체제에서 지원하며, 프린터 호환성과 문서 호환성이 뛰어나, 프린터와 스크린에서도 같은 글자꼴을 사용할 수 있는 장점으로 인하여 다른 윤곽선 폰트에 비해 트루타입 폰트가 많이 사용된다. 트루타입에 대해 상세히 설명하면, 트루타입은 트루타입 폰트와 트루타입 래스터라이저 (Rasterizer)로 구성되어 있는데, 트루타입 폰트 파일에는 저작권, 폰트 이름, 사용권 허가 여부(Licensing Permission), 문자에 대한 기술정보, 힌팅(Hinting) 명령어, 문자 집합과 매핑(Mapping) 등의 정보가 테이블 형식으로 저장되어 있다.
다음 표 1은 최대 24개의 테이블중 반드시 필요한 10개의 트루타입 폰트 테이블을 나타낸다.
Tag 역 할
Cmap 폰트정보를 해당하는 글자에 매핑(mapping)하는 테이블
Glyph 폰트 정보 테이블
Head 전반적인 정보
Hhea 글자 폭에 관한 정보
Hmtx 각 글자의 left side bearing과 width
Loca 각 glyph 정보의 위치
Maxp 필요로 하는 최대값에 대한 정보
Name 트루타입의 이름
Post 포스트스크립트 관련 정보
OS/2 윈도우와 OS/2를 위한 정보
폰트에서 글립(Glyph)이란 한 폰트 내 한 자 한 자에 대한 이미지(Image)로서 트루타입에서는 각 글립마다 고유한 인덱스를 부여한다. 글립 테이블은 실제로 문자 정보가 들어가는 테이블로 각 글립에 대한 윤곽선 개수, x, y축상의 좌하 끝단(lower left corner)과 우상 끝단(upper right corner)의 좌표값, 힌팅 프로그 램, 글립을 구성하는 좌표점들 그리고 각 좌표점들에 대한 플래그(Flag)들로 구성되어 있다. 따라서 글립 테이블은 모든 글립에 대한 실제 정보를 유지하고 있으므로 글립 테이블에 의해서 트루타입 폰트 저장 공간의 크기가 좌우된다.
트루타입 래스터라이저는 폰트 테이블에 기술되어 있는 폰트 정보를 읽고 비트맵을 생성하는 프로그램으로서 운영체제나 프린터 제어 소프트웨어의 한 부분이다. 래스터라이저는 문자 비트맵을 생성하기 위해서 먼저 트루타입 폰트 파일로부터 문자에 대한 윤곽선 기술 정보를 읽어서 요청된 크기와 디바이스 해상도에 맞게 문자의 윤곽선 기술 정보를 확장한다. 그리고 힌팅 정보를 사용해서 윤곽선을 조정하고 조절된 윤곽선을 화소(Pixel)로 채우는 일을 한다.
트루타입에서의 글립은 윤곽선(Contour)과 명령어들로 구성된 단순 글립 (Symple Glyph)과 자신이 참조하는 글립의 색인(Index)들과 명령어들로 구성된 합성 글립(Composite Glyph)이 있다. 단순 글립은 실제로 화면에 나타날 폰트들의 좌표값들로 구성되어 있고, 합성 글립은 실제 좌표값들이 아니라, 다른 글립들을 참조할 수 있도록 참조하는 글립의 색인과 그 글립의 위치를 지정하고, 스케일을 정할 수 있는 테이블로 구성되어 있다. 따라서 합성 글립은 상대적으로 폰트 테이터의 크기가 줄어들고, 원본 글립을 변화시키면 연결된 합성 글립의 모양도 따라서 변하게 되므로, 합성 글립 기능은 폰트 제작시 여러 번 거쳐야 하는 수작업을 피할 수 있게 해주며, 한글 조합형 서체를 만드는데 매우 유용하다.
도 1은 글립의 구조를 나타내는 예시도이다.
도 1에서 글립은 글자 '가' 자체의 이미지이다. 글립에서 윤곽선은 각각의 폐곡선을 의미하는데 도 1에서 보면 폐곡선 'ㄱ'과 폐곡선 'ㅏ'가 윤곽선에 해당한다. 그리고 포인트(Point)는 글자의 윤곽선을 대변하는 주요 좌표점을 의미한다.
도 2는 글립에 대한 정보를 저장하기 위한 테이블들을 나타내고 있다. 각각의 테이블들은 글립 번호를 바로 첨자로 넣어 사용할 수 있는 배열로 구성된다. 각각의 테이블은 단순 글립과 합성 글립의 공통 부분인 폰트 임계치를 xmin, xmax, ymin, ymax에 저장하고, 이 글립이 단순 글립인지 합성 글립인지에 대한 정보를 글립 타입(GlyfType)에 저장한다. 즉, 글립 타입이 0의 값을 가지면 단순 글립이고, 글립 타입이 1의 값을 가지면 합성 글립임을 의미한다. 각 글립에 해당하는 테이블의 인덱스를 idxglyf에 저장하고, 각 글립에 대해 다른 글립이 얼마나 참조하는지에 대한 정보는 nReferenced에 저장한다. 도 2에서 보면 'ㄱ'은 단순 글립으로 글립 번호가 $838이고 최소 및 최대 마진(Margin)은 (103, 39)-(552, 755)이다. 이 글립은 단순 글립이므로 글립 타입에 0이 저장되고 idxglyf에는 단순 글립 'ㄱ'에 대한 더 상세한 정보를 참조할 수 있는 번호 205가 있다. 205는 단순 글립 테이블에서 정보를 참조할 때 첨자로 쓰인다. 도 2에서 '가'의 경우는 합성 글립으로 글립 번호가 $FAF이고, 최소 및 최대 마진은 (103, -51)-(940, 785)이다. 합성 글립이므로 글립 타입에 1이 저장되고, idxglyf에는 합성 글립 '가'에 대한 더 상세한 정보를 참조할 수 있도록 합성 글립에서 첨자로 쓰일 번호 17을 가진다. 테이블 referenced와 arcRefereced는 합성 글립에 있는 테이블로 nReferenced를 설명한다. nReferenced는 그 글립 번호에 대해 얼마나 많은 다른 합성 글립을 참조하는지에 대한 개수를 나타내는데 Refereced, arcRefereced 테이블에서 보듯이 '가', '갸', '거' 세 개의 합성 글립이 'ㄱ'을 참조하고 있으므로, nReferenced는 3이다.
한편, 한글 폰트는 조합형과 완성형 폰트로 구분할 수 있다. 조합형 한글 폰트는 한글을 초성, 중성, 종성으로 구분하고 각 자소별로 폰트를 만든 다음, 이것을 조합하여 완성된 폰트를 만드는 것이다. 이에 비해 완성형 한글 폰트는 한글 각 글자마다 폰트를 완성된 형태로 따로 따로 만드는 방식이다. 조합형 폰트를 완성형 폰트와 비교해 보면, 조합형 폰트는 폰트를 만드는데 필요한 시간과 노력, 그리고 폰트 저장에 필요한 공간은 절약되지만 초성, 중성, 종성 각 글자 모양의 특성을 무시하고 점행렬 상에서 특정 부분만을 사용한다는 점에서 글자의 품질은 완성형보다 뒤떨어지는 문제점이 있다. 반면, 완성형 폰트는 글자의 품질은 우수하지만 폰트를 만드는 데 많은 시간과 노력이 소요될 뿐만 아니라, 많은 저장 공간을 필요로 한다. 비트맵 폰트의 경우 완성형은 한글이 2,350자, 한자가 4,880자로 구성되어 있다. 24행 24열의 점으로 표시되는 완성형 비트맵 폰트를 위해서는 520,560 바이트의 저장 공간이 필요하게 되며, 또한 유니코드는 11,172자의 한글과 20,902자의 한자로 되어 있어 이를 저장하기 위해서는 2,309,328 바이트의 매우 많은 저장 공간이 필요하게 되는 문제점이 있다. 특히 완성형 한글 폰트는 자소가 모여서 한 음절을 이루는 한글의 특성상 완성형 폰트 하나의 음절을 도안하고 저장하면서 불필요하게 동일한 자소를 다시 디자인하고 이를 중복하여 저장하게 되어 더 많은 저장 공간을 필요로 하는 단점이 있다. 따라서 이들 중복된 자소를 최소화하여 완성형 폰트를 구성할 수 있다면, 완성형 폰트의 품질을 최대한 유지하면서 조합형 폰트와 유사하게 폰트 생성에 필요한 시간과 노력 그리고 저장 공간을 모두 절약할 수 있다. 더우기, 휴대폰, IMT-2000 단말기, 고선명 TV, 개인 정보 저장 장치(PDA), 전자책 등 메모리 공간에 상당한 제약이 따르는 장치에는 저장 공간의 최소화가 필수적이고, 다른 한편으로는 아름다운 폰트에 대한 수요자들의 욕구도 꾸준히 증가되고 있는 실정이다.
이러한 문제점을 해결하기 위하여 본 발명은 완성형 한글 폰트 수준의 품질을 유지하면서 저장 공간과 처리 비용을 줄이기 위한 폰트의 손실 압축 및 저장 방법을 제시하는 것을 목적으로 한다.
이를 위하여 본 발명은 한글 트루타입 폰트 파일에서 폰트의 중복을 최소화및 저장 공간을 절약하기 위해 트루타입 폰트의 테이블을 읽는 단계, 읽어들인 트루타입 폰트의 글립(Glyph)을 윤곽선(Contour)단위로 나누는 단계, 나누어진 윤곽선간의 유사성을 비교하는 유사성 비교 리스트를 만드는 단계, 유사성 비교 리스트가 유사하게 나타나는 윤곽선끼리 병합하는 단계, 화면에 표시될 대표 윤곽선을 선택하는 단계, 선택된 대표 윤곽선을 트루타입 래스터라이저를 이용하여 출력 장치에 나타내는 단계, 상기의 유사성 리스트를 이용하여 불필요한 글립 테이블을 제거하는 단계, 새로운 글립 테이블을 생성하는 단계를 포함하는 것을 특징으로 하는 폰트의 손실 압축 및 저장 방법을 제공한다.
이하, 첨부된 도면을 참조하여 본 발명을 상세하게 설명한다.
도 2와 도 3 그리고 표 1을 동시에 참조하여 본 발명에 글자의 생성 과정을 상세히 설명하면 다음과 같다.
도 3은 한글 문자 '가'를 예로 들어 트루타입 폰트의 출력 흐름을 나타내는 흐름도이다. 트루타입 폰트 테이블에 의해 폰트를 출력하기 위해, 먼저 문자 코드(0xAC00)가 주어지면 Cmap 테이블에서 이에 해당하는 글립 인덱스(1026)를 얻고, Head 테이블에서 Loca 테이블이 어떤 포맷으로 저장되었는지에 대한 정보(xmin=103, xmax=940, ymin=-51, ymax=785, 글립 타입=1, nReferenced=3, idxglyf=17)와 Maxp 테이블에서 총 글립 개수를 얻어와 Loca 테이블을 참조하게 된다. 다음 단계로 Loca테이블은 글립 인덱스에 대해 글립 테이블에서 그 글립이 위치한 위치 정보(0x18ad)를 얻을 수 있다. 마지막 단계로 Loca테이블에서 얻은 글립 위치에서 실제 화면에 표시할 좌표값과 기타 정보를 얻어 화면에 표시('가')하게 된다.
단순 글립은 하나의 폐곡선을 단위로 하는 윤곽선에 대한 정보와 실제 윤곽선을 그리는 좌표들로 구성된다. 단순 글립에서는 윤곽선에 대한 정보와 윤곽선을 구성하는 좌표들이 분리되어 있지 않지만, 유사성을 비교할 때 글립을 구성하는 윤곽선들이 각각 구분되어 있으면, 훨씬 효율적으로 유사성을 비교할 수 있다. 따라서 하나의 글립을 각 윤곽선마다 해당되는 좌표로 분리해서 저장한다.
도 4는 나눈 윤곽선간의 유사성을 비교하는 예시도이다. 문자 '가'와 다른 문자 '갸'를 XOR 연산한 결과에 의해 두 글자의 공통 구성 요소라 할 수 있는 'ㄱ'에 대한 유사성을 나타내고 있다. 도 4의 (a) 및 (b)도에서, 글자 주변에 찍힌 점은 각 글자의 윤곽선을 대변하는 주요 좌표점을 나타낸다. 도 4의 (c)도에서 작은 원들은 각 윤곽선을 표현하는 주요 좌표에 대한 오차의 허용 범위를 나타내고 있다. 상기 오차 범위는 출력 장치의 해상도와 기준으로 사용되는 폰트의 크기에 의해 결정되는데, 상기 오차 범위 이내에 들어오면 동일한 좌표로 간주한다. 예를 들어, 도 4에서 'ㄱ' 부분과 'ㅏ'와 'ㅑ'에 포함되어 있는 'ㅣ'부분의 윤곽선을 표현하는 윤곽선 좌표는 모두 오차 범위 이내에 들어가므로 동일한 것으로 판단한다. 그러나 'ㅏ'와 'ㅑ'에 포함된 'ㅡ'와 '='의 윤곽선 좌표는 오차 범위를 벗어나므로 다른 것으로 판단한다. 또한, 상기 출력 장치의 해상도와 기준으로 사용되는 폰트의 크기를 조절함으로써, 폰트의 압축 비율을 조절할 수 있게 된다. 한편, 한 글자에서 나눈 윤곽선의 위치에 상관없이 유사한 모양의 윤곽선은 유사성을 비교하는 상대좌표계로 처리한다. 예를 들면 '밥'에서 초성의 'ㅂ'과 종성의 'ㅂ'은 위치는 다르지만 상대좌표계 관점에서 보면 유사성이 높아져 유사성 비교 대상이 된다. 만일 이를 절대 좌표계의 관점에서 보았다면, 초성의 'ㅂ'과 종성의 'ㅂ'은 위치가 다르므로 유사성이 전혀 없는 것이 된다. 한 글자에서 나눈 윤곽선의 유사성 비교 리스트를 만들어 유사성 비교 리스트가 유사하게 나타나는 윤곽선은 나중에 글립 테이블을 재구성할 때, 각각의 리스트마다 일반적으로 하나의 단순 글립이 추가적으로 필요하게 되는 바, 만약 불필요한 리스트가 많아지면 단순 글립 테이블의 추가로 저장 공간의 낭비를 초래하게 되므로 병합한다. 예를 들어 'ㅎ'에 포함되어 있는 윤곽선들은 4개 즉, '-', 'ㅡ', '○' 및 'o'이지만 이 4개가 분리되어 사용되는 적은 없고 항상 같이 다니므로 유사성 비교시 하나의 글립 'ㅎ'으로 병합한다. 다음 단계로 약간씩 모양이 틀리는 각각의 윤곽선들을 모두 수용할 수 있는 대표 윤곽선을 선택한 후, 트루타입 래스터라이저를 이용하여 윤곽선을 출력 장치에 나타낸다.
도 5는 글립 테이블 재구성 과정을 나타낸 도면이다. 나눈 윤곽선을 비교하여 유사성 리스트를 만든 후, 그 리스트를 이용해서 글립 테이블을 재구성한다. 우선 각 리스트에 유사 유형이 무엇인지 파악하고, 지울 수 있는 글립은 지워서 공간을 절약하고, 각 리스트마다 대표 글립을 만들어 그 리스트를 참조하는 다른 글립이 있으면 대처하게 한다.
도 6과 도 7을 동시에 참조하여 본 발명에 따른 유사 유형 1과 유사 유형 2의 구분 및 불필요한 글립 테이블 제거 방법에 대하여 상세히 설명하면 다음과 같다.
도 6은 유사 유형 1을 보여주는 예시도이다. 즉, 도 6과 같이 각각의 단순 글립이 하나의 윤곽선으로 구성되어 있을 경우 유사한 3개의 단순 글립은 하나의 유사성 리스트로 연관된다. 이 때, 필요한 부수적인 윤곽선이 없으므로 3개 중 하나만 남기고, 나머지는 삭제하게 된다. 즉 도 6에서 보면 각각의 단순 글립 'ㅏ'(글립 $0B08), 'ㅏ'(글립 $0B09), 'ㅏ'(글립 $0B0A)는 모두 하나의 윤곽선으로 구성되어 있으므로 세 단순 글립 중 단순 글립 'ㅏ'(글립 $0B08)만 남기고 나머지 2개의 글립은 삭제한다. 합성 글립 '가'와 합성 글립 '나'가 비교 대상이 되는 경우 합성 글립 '가'의 윤곽선 'ㅏ'와 합성 글립 '나'의 윤곽선 'ㅏ'가 유사성 비교 대상이 된다. 상기와 같이 유사성 비교 대상이 되는 단순 글립들이 하나의 윤곽선으로 구성되는 경우나 합성 글립이 비교 대상이 되는 경우를 유사 유형 1로 구분한다.
도 7은 유사 유형 2를 보여주는 예시도이다. 즉, 도 7과 같이 단순 글립 '가', '갸' 중 윤곽선 'ㄱ'만이 유사성 리스트로 연관되므로 단순 글립 'ㄱ'을 윤곽선 'ㄱ'의 유사성 리스트의 대표 글립으로 만들고, 나머지 부분을 별도로 단순 글립 'ㅏ', 'ㅑ'로 만든다. 원래 있던 단순 글립 '가'는 단순 글립 'ㄱ'과 'ㅏ'를 참조하는 합성 글립 '가'로 바뀐다. 또한 단순 글립 '갸'는 단순 글립 'ㄱ'과 'ㅑ'를 참조하는 합성 글립 '갸'로 바뀐다. 상기와 같이 비교 대상이 되는 단순 글립들이 두개 이상의 윤곽선으로 구성되어 이 윤곽선들 중 일부가 유사성 비교 대상으로 되는 경우를 유사 유형 2로 구분한다. 이와 같은 방법으로 윤곽선이 2개인 단순 글립 2개 즉, '가'와 '갸'는 윤곽선이 1개인 단순 글립 3개 즉, 'ㄱ', 'ㅏ', 'ㅑ'와 합성 글립 2개 즉, '가'와 '갸'로 바뀐다. 이 경우 글립 테이블은 총 2개에서 5개로 증가하게 되지만, 윤곽선의 개수는 4개 즉, 'ㄱ', 'ㅏ', 'ㄱ' 및 'ㅑ'에서 3개 즉, 'ㄱ', 'ㅏ' 및 'ㅑ'로 줄어들게 되어, 줄일 수 있는 포인트의 개수가 훨씬 많아지기 때문에 폰트 데이터의 저장 용량을 줄일 수 있게 된다.
상기의 방법으로 불필요한 글립 테이블을 제거한 후, 새로운 글립 테이블을 생성하게 되는데 이는 유사 유형별로 다르다.
유사 유형 1의 경우는 Cmap에서 참조하는 글립이 하나의 리스트에 몇개가 존재하는지를 확인한다. 즉 Cmap에서 참조하는 글립이 2개 이상인지, 한 개인지, 아니면 없는지에 따라서 다르게 처리한다. 유사 유형 2의 경우는 리스트를 대표하는 윤곽선을 단순 글립으로 만들어 대표 글립으로 하고, 리스트에 있는 각 윤곽선이 속한 단순 글립을 합성 글립으로 바꾼다. 바뀐 합성 글립은 단순 글립일 경우의 윤곽선이 속한 유사성 리스트의 대표 글립을 참조하고, 유사성 리스트를 가지고 있지 않은 윤곽선은 하나의 새 글립으로 만들어 참조한다.
먼저 도 5의 유사 유형 1에 대하여 설명한다.
첫번째로, Cmap에서 참조하는 글립이 2개 이상인 경우에는 2개 이상의 글립중 하나를 대표 글립으로 설정하고, 나머지 글립은 대표 글립을 참조하는 합성 글립으로 변환한다. 유사성 비교 리스트에 있는 각각의 글립들을 참조하는 다른 합성 글립이 존재하면 그 합성 글립의 참조를 대표 글립으로 전환하고, Cmap을 참조하지 않는 모든 글립들은 제거한다.
도 8내지 도 10은 Cmap에서 참조하는 글립이 2개 이상일 경우를 나타내는 예시도이다. 도 8에서 서로 다른 3개의 글립을 합성 글립 '가'와 '나' 그리고 Cmap 테이블에서 각각 참조하고 있다. 이 경우 Cmap에서 참조하는 글립 중 하나를 대표 글립으로 설정하고, 나머지 Cmap 테이블에서 참조로 하는 글립은 합성 글립으로 바꾼 후 대표 글립을 참조하게 하고, 합성 글립 '가'와 '나'는 대표 글립을 참조하도록 바꾼다. 그 후 더 이상 참조하지 않는 글립은 삭제한다. 도 8에서 보면 합성 글립 '가'는 글립 $0B08을, Cmap은 글립 $0B08과 글립 $0B09를, 합성 글립 '나'는 글립 $0B0A를 참조하고 있다. 이 때 Cmap에서 참조하는 글립 $0B08과 $0B09중 글립 $0B08을 대표 글립으로 설정하고, 글립 $0B09는 합성 글립으로 바꾼 후 대표 글립 $0B08을 참조한다. 그리고 합성 글립 '가'와 '나'도 대표 글립 $0B08을 참조하게 한 후, 더 이상 참조하지 않은 글립 $0B0A를 삭제한다.
도 9는 Cmap이 참조한 단순 글립중의 하나를 대표 글립으로 전환하는 것을 보여주는 예시도이다.
도 10은 대표 글립으로 전환한 후, '나'의 참조 글립 전환을 보여주는 예시도이다.
두번째로, Cmap에서 참조하는 글립이 1개일 경우에는 그 글립을 대표 글립으로 만들고, 다른 글립들을 참조했던 합성 글립들은 모두 대표 글립을 참조하게 만든다. 그 후에 대표 글립 외의 다른 글립들은 삭제한다.
도 11과 도 12는 Cmap에서 참조하는 글립이 1개일 경우를 나타내는 예시도이다. 도 11에서 보면, Cmap은 글립 $0B09 하나만을 참조하고 있다. 이 경우 글립 $0B09를 대표 글립으로 설정하고, 글립 $0B08을 참조하는 합성 글립 '가'와 글립 $0B0A를 참조하는 합성 글립 '나'는 도 12에서 보는 바와 같이 대표 글립 글립 $0B09를 참조하게 한 후, 나머지 글립 $0B08과 글립 $OBOA는 삭제한다.
도 12는 Cmap에서 참조하는 글립이 1개인 경우의 참조 변경을 보여주는 예시도이다.
세번째로, Cmap에서 참조하는 글립이 없는 경우에는 임의의 한 글립을 대표 글립으로 만들고, 나머지 글립을 참조하는 합성 글립들이 대표 글립을 참조하게 만든 후, 나머지 글립들을 삭제한다.
도 13내지 도 15는 Cmap에서 참조하는 글립이 없는 경우를 나타내는 예시도이다. 도 13에서 합성 글립 '가'는 글립 $0B08을 참조하고 있으며, 합성 글립 '나'는 글립 $0B0A를 참조하고 있다. 글립 $0B08을 대표 글립으로 하고, 도 14에서 보는 바와 같이 합성 글립 '나'를 대표 글립 $0B08을 참조하게 한 후, 도 15에서 보듯이 글립 $0B09, 글립 $0B0A을 삭제한다.
도 14는 Cmap에서 참조하는 글립이 없는 경우에 임의의 글립을 참조하도록 전환한 모습을 보여주는 예시도이다.
도 15는 Cmap에서 참조하는 글립이 없는 경우에 임의의 글립을 참조한 후, 나머지 글립을 삭제한 모습을 보여주는 예시도이다.
지금부터는 도 5의 유사 유형 2에 대하여 설명한다.
도 16은 유사 유형 2인 경우에 유사성 확인시 글립 테이블을 변경하기 전 단계를 나타내는 예시도이다. 도 16에서 보는 것과 같이 단순 글립 '가'는 $0FAF이며, 단순 글립 '갸'는 $0FE7이다.
도 17은 유사 유형 2인 경우에 유사성 확인시 글립 테이블을 변경한 후를 나타내는 예시도이다. 도 17에서 보인 것처럼 윤곽선 'ㄱ'의 유사성 리스트를 대표하는 단순 글립'ㄱ'을 $1000에 만들고, 단순 글립 $0FAF, $OFE7을 합성 글립으로 바꾸는데, 단순 글립 '가' $0FAF인 경우 단순 글립 'ㄱ' $1000과 나머지 윤곽선 'ㅏ'를 단순 글립으로 새로 만든 $1001을 참조하는 합성 글립으로 바꾸고, 단순 글립 '갸' $0FE7인 경우 단순 글립 'ㄱ' $1000과 나머지 윤곽선 'ㅑ'를 단순 글립으로 새로 만든 $1002를 참조하는 합성 글립으로 바꾼다. 이런 과정을 통해서 새로 만든 글립 테이블을 바탕으로 Loca 테이블과, Post 테이블도 바꾼다. Maxp에 기록되어진 각 최고치 값을 바꾸고, Head에 있는 Loca 테이블의 Format도 다시 정의한다. 최종적으로 나머지 모든 테이블들을 다시 붙여서 완벽한 트루타입 테이블을 생성한다.
본 발명의 실시예에 의하면 한글 트루타입 폰트 파일에서 글립을 윤곽선 단위로 나누어서 손실을 압축하고, 윤곽선간의 유사성을 이용하여 글립 테이블을 재구성한 후, 새로운 글립 테이블을 생성하여 한글 트루타입 폰트의 저장 공간을 절약할 수 있게 된다.
한편, 한자의 경우는 한글과 마찬가지로 한 글자내에 많은 윤곽선들을 가지고 있다. 특히, 한자는 많은 글자가 동일한 부수로 구성되어 있으므로 이 부수들을 각각 대표 글립으로 정하는 상기의 방법을 적용한다면 상기의 효과를 크게 기대할 수 있다. 예를 들어 보면, 어질 인('仁'), 대신할 대('代'), 붙일 부('付')의 경우에 부수인 윤곽선 'イ'의 유사성을 이용하여 상기의 방법으로 글립 테이블을 재구성하여 새로운 글립 테이블을 생성함으로써 폰트 테이터의 손실 압축과 저장 공간의 절약이 가능하다. 또한 독일어의 움라우트(Umlaut: ‥) 기호, 불어의 악상 떼귀(accent aigu: '), 악상 그라브(accent grave: ′), 악상 시르콩프렉스(accent circonflexe: ^), 트레마(trema: ˝) 등과 같은 기호들도 상기의 방법이 적용될 수 있고, 일본어의 경우에도 'ソ', 'ツ', 'ノ' 와 같이 유사한 윤곽선을 갖는 글자들에 대해 상기의 방법이 적용될 수 있다. 한편, 위에 열거한 독일어, 불어, 일본어 외에 베트남어, 인도어, 태국어, 아랍어, 영어, 스페인어 등의 언어에도 유사한 윤곽선을 가지는 글자들이 있다면 상기의 방법이 적용 될 수 있다.
또한, 상기 문자를 표현하는 폰트 파일에서 상기 단위 구성 요소가 완성형으로 저장되어 있는 것은 본 발명에 따른 유사성 비교, 대표 윤곽선 추출, 글립 테이블 재구성의 방법을 통해, 일정한 조합 규칙을 갖는 조합형으로 저장하여 한글 완성형 코드에서 누락되어 있는 문자를 자동 생성하여 저장하는 것이 가능하게 된다.
그리고, 본 발명은 상기한 트루타입 폰트의 실시예에 한정하지 않고 본 발명의 기술적 요지를 벗어나지 않는 범위내에서 다양하게 다른 한글 폰트에도 적용할 수 있다.
앞에서 설명한 바와 같이, 본 발명은 한글 폰트의 손실 압축을 통해 처리 프로그램의 변화없이 본래 폰트의 품질 수준을 유지하면서 IMT-2000 단말기, 개인 정보 저장 장치, 전자책, 고선명 TV등의 저장 공간에 제한을 받으며 CRT나 LCD 등의 저해상도 출력장치를 주로 사용하게 되는 디지털 장비에서 유니코드에서의 11,172자의 한글 글꼴을 10분의 1 이하의 저장 공간만으로 사용이 가능하게 할 수 있으며, 글립의 참조 정보를 기초로 글꼴을 저장하기 때문에 조합형 글꼴에서의 벌수 결정이나 벌수에 따른 프로그램의 변경이 필요없다. 또한 본 발명에서 사용하는 한글 폰트의 저장 방식에 기반한 새로운 한글 글꼴의 제작시에 제작 시간과 비용을 절감하면서도 우수한 품질의 글꼴을 개발할 수 있다.
도 1은 트루타입 폰트에서의 글립의 구조를 나타낸 예시도,
도 2는 글립에 대한 정보를 저장하기 위한 테이블을 나타낸 예시도,
도 3은 트루타입 폰트에서의 폰트를 출력하는 흐름도,
도 4는 트루타입 폰트에서 나눈 윤곽선간의 유사성을 비교하는 예시도,
도 5는 글립 테이블 재구성 과정을 나타낸 도면,
도 6은 도 5의 유사 유형 중 유사 유형 1을 나타낸 예시도,
도 7은 도 5의 유사 유형 중 유사 유형 2를 나타낸 예시도,
도 8은 유사 유형 1이며 Cmap에서 참조하는 글립이 2개 이상일 경우를 나타낸 예시도,
도 9는 유사 유형 1이며 Cmap이 참조한 단순 글립중의 하나를 대표 글립으로 전환하는 것을 나타낸 예시도,
도 10은 유사 유형 1이며 대표 글립으로 전환 후, '나'의 참조 글립 전환을 나타낸 예시도,
도 11은 유사 유형 1이며 Cmap에서 참조하는 글립이 한개일 경우를 나타낸 예시도,
도 12는 유사 유형 1이며 Cmap에서 참조하는 글립이 한개인 경우의 참조 변경을 나타낸 예시도,
도 13은 유사 유형 1이며 Cmap에서 참조하는 글립이 없는 경우를 나타낸 예시도,
도 14는 유사 유형 1이며 Cmap에서 참조하는 글립이 없는 경우에 임의의 글립을 참조하도록 전환한 모습을 나타낸 예시도,
도 15는 유사 유형 1이며 Cmap에서 참조하는 글립이 없는 경우에 임의의 글립을 참조한 후, 나머지 글립을 삭제한 모습을 보여주는 예시도
도 16은 유사 유형 2이며 유사성 확인시 글립 테이블을 변경하기 전 단계를 나타낸 예시도,
도 17은 유사 유형 2이며 유사성 확인시 글립 테이블을 변경한 후를 나타낸 예시도이다.

Claims (10)

  1. 문자를 표현하는 폰트에서 단위 구성 요소의 유사성을 이용하여 상기 폰트의 저장 공간을 최소화하는 손실 압축 저장 방법에 있어서,
    상기 폰트의 단위 구성 요소를 윤곽선 단위로 나누는 단계,
    분할 윤곽선간의 유사성을 비교하여 유사성 비교 리스트를 만드는 단계,
    상기 유사성 비교 리스트에서 오차 범위 이내의 유사성을 갖는 상기 분할 윤곽선끼리 병합하는 단계,
    병합 단계를 거친 상기 유사성 비교 리스트에 포함된 윤곽선들 중 화면에 표시될 대표 윤곽선을 선택하는 단계,
    상기 유사성 비교 리스트를 이용하여 불필요한 글립 테이블을 제거하는 단계,
    새로운 글립 테이블을 생성하는 단계를 포함하여 문자를 표현하거나 저장하는 것을 특징으로 하는 폰트의 손실 압축 저장 방법.
  2. 제 1항에 있어서,
    상기 단위 구성 요소는 글립(Glyph)이고, 상기 단위 구성 요소를 상기 윤곽선 단위로 나누는 단계는, 상기 단위 구성 요소를 이루는 하나 이상의 윤곽선에 대한 정보와 각각의 상기 윤곽선을 구성하는 좌표값별로 분리해서 저장하는 것을 특징으로 하는 폰트의 손실 압축 저장 방법.
  3. 제 1항에 있어서,
    상기 분할 윤곽선간의 유사성을 비교하여 상기 유사성 비교 리스트를 만드는 단계에서의 유사성 비교 방법은, 상기 분할 윤곽선의 절대 좌표값에 상관없이 유사한 모양의 윤곽선은 상대 좌표계를 이용하여 윤곽선간의 XOR 연산 결과에 따른 하나 이상의 좌표값들이 상기 오차 범위 이내에 포함되면, 동일한 윤곽선으로 간주하는 것을 특징으로 하는 폰트의 손실 압축 저장 방법.
  4. 제 3항에 있어서,
    상기 오차 범위는, 출력 장치의 해상도와 기준으로 사용되는 폰트의 크기에 의해 결정되는 것을 특징으로 하는 폰트의 손실 압축 저장 방법.
  5. 제 4항에 있어서,
    상기 손실 압축 저장 방법은 상기 출력 장치의 해상도와 기준으로 사용되는 폰트의 크기를 조절함으로써, 폰트의 압축 비율을 조절하는 것을 특징으로 하는 폰트의 손실 압축 저장 방법.
  6. 제 1항에 있어서,
    상기 유사성 비교 리스트가 유사하게 나타나는 윤곽선끼리 병합하는 단계에서, 상기 분할 윤곽선이 분리되어 사용되지 않고 항상 함께 사용되는 경우 상기 단위 구성 요소로 취급하는 것을 특징으로 하는 폰트의 손실 압축 저장 방법.
  7. 제 1항에 있어서,
    상기 비교 리스트의 윤곽선들 중 화면에 표시될 대표 윤곽선을 선택하고, 유사성 리스트를 이용하여 불필요한 글립 테이블을 제거하여 새로운 글립 테이블을 생성하는 단계에서, 유사 유형 1은 유사한 다수의 단순 글립 중 하나를 대표 글립으로 설정하고, 대표 글립만을 남긴 나머지 단순 글립은 삭제하고, 나머지 글립은 상기 대표 글립을 참조하는 합성 글립으로 변환한 후, 유사성 비교 리스트에 있는 각각의 글립들을 참조하는 다른 합성 글립이 존재하면 그 합성 글립의 참조를 상기 대표 글립으로 전환하고, 상기 폰트 정보를 해당하는 글자에 매핑하는 테이블을 참조하지 않는 글립들은 삭제하여 새로운 글립 테이블을 생성하는 것을 특징으로 하는 폰트의 손실 압축 저장 방법.
  8. 제 1항에 있어서,
    상기 비교 리스트의 윤곽선들 중 화면에 표시될 대표 윤곽선을 선택하고, 유사성 리스트를 이용하여 불필요한 글립 테이블을 제거하여 새로운 글립 테이블을 생성하는 단계에서, 유사 유형 2는 비교 대상이 되는 단순 글립의 윤곽선들 중 윤곽선의 모양이 유사하여 유사성 리스트로 연관되는 윤곽선들 중, 유사성 리스트를 대표하는 하나의 윤곽선을 단순 글립으로 만들어 대표 글립으로 하고, 상기 유사성 리스트에 있는 각 윤곽선이 속한 단순 글립은 유사성 리스트를 가지고 있지 않는 윤곽선을 새로운 단순 글립으로 만들어 상기 대표 글립과 상기 새로운 단순 글립을 참조하는 합성 글립으로 전환하고, 상기 유사성 리스트에서 상기 대표 글립 외의 나머지 글립들은 삭제하여 새로운 글립 테이블을 생성하는 것을 특징으로 하는 폰트의 손실 압축 저장 방법.
  9. 제 1항에 있어서,
    상기 문자를 표현하는 폰트는 한글, 한자, 일본어, 베트남어, 인도어, 태국어, 아랍어, 영어, 독일어, 불어, 스페인어 등 문자를 표현하는 폰트가 윤곽선으로 표현되고, 상기 단위 구성 요소로 분리될 수 있는 임의의 문자인 것을 특징으로 폰트의 손실 압축 저장 방법.
  10. 제 1항에 있어서,
    상기 문자를 표현하는 폰트 파일에서 상기 단위 구성 요소가 완성형으로 저장되어 있는 것을 유사성 비교, 대표 윤곽선 추출, 글립 테이블의 재구성의 방법을 통해, 일정한 조합 규칙을 갖는 조합형으로 저장하여, 완성형에서 누락된 문자를 조합형으로 자동 생성하여 저장하는 것을 특징으로 하는 폰트의 손실 압축 저장 방법.
KR10-2001-0042171A 2001-07-12 2001-07-12 폰트의 손실 압축 및 저장 방법 KR100539056B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR10-2001-0042171A KR100539056B1 (ko) 2001-07-12 2001-07-12 폰트의 손실 압축 및 저장 방법
US09/969,725 US20030043151A1 (en) 2001-07-12 2001-10-04 Method for lossy optimization and storage of font
TW090124758A TW530486B (en) 2001-07-12 2001-10-05 Method for lossy optimization and storage of font
JP2001319115A JP2003044035A (ja) 2001-07-12 2001-10-17 フォントの非可逆圧縮及び格納方法
CN02108413A CN1397912A (zh) 2001-07-12 2002-03-29 字体的非可逆压缩及容纳方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0042171A KR100539056B1 (ko) 2001-07-12 2001-07-12 폰트의 손실 압축 및 저장 방법

Publications (2)

Publication Number Publication Date
KR20030006443A KR20030006443A (ko) 2003-01-23
KR100539056B1 true KR100539056B1 (ko) 2005-12-27

Family

ID=19712122

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0042171A KR100539056B1 (ko) 2001-07-12 2001-07-12 폰트의 손실 압축 및 저장 방법

Country Status (5)

Country Link
US (1) US20030043151A1 (ko)
JP (1) JP2003044035A (ko)
KR (1) KR100539056B1 (ko)
CN (1) CN1397912A (ko)
TW (1) TW530486B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101218345B1 (ko) * 2010-12-31 2013-01-03 (주)한양정보통신 한글 자소 조합 기반의 힌팅 처리 장치 및 그 방법
KR20210009964A (ko) * 2019-07-18 2021-01-27 주식회사 윤디자인그룹 폰트 용량을 최소화하기 위한 방법 및 시스템

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7289123B2 (en) * 2004-09-30 2007-10-30 Microsoft Corporation Simplifying complex characters to maintain legibility
US20060238539A1 (en) * 2005-04-20 2006-10-26 Opstad David G Method and apparatus for glyph hinting by analysis of similar elements
US20070211062A1 (en) * 2006-03-13 2007-09-13 International Business Machines Corporation Methods and systems for rendering complex text using glyph identifiers in a presentation data stream
US7810026B1 (en) * 2006-09-29 2010-10-05 Amazon Technologies, Inc. Optimizing typographical content for transmission and display
TW201035782A (en) * 2009-03-24 2010-10-01 Arphic Technology Co Ltd Method of adjusting strokes of a character
TWI397825B (zh) * 2010-08-24 2013-06-01 Matsushita Electric Tw Co Ltd The coding / decoding processing system and method of dot matrix font
US8947438B2 (en) 2011-08-01 2015-02-03 Microsoft Corporation Reducing font instructions
US20130054836A1 (en) * 2011-08-24 2013-02-28 Raphael Linus Levien System and Method for Improved Compression with Arithmetic Encoding by Shared Initial
US9245361B2 (en) 2011-09-01 2016-01-26 Microsoft Technology Licensing, Llc Consolidating glyphs of a font
US9098938B2 (en) 2011-11-10 2015-08-04 The Directv Group, Inc. System and method for drawing anti-aliased lines in any direction
KR101344457B1 (ko) * 2012-06-21 2013-12-26 (주)한양정보통신 글리프를 이용해 폰트를 생성하는 폰트 생성 장치 및 방법
US9323726B1 (en) * 2012-06-27 2016-04-26 Amazon Technologies, Inc. Optimizing a glyph-based file
US20160147791A1 (en) * 2013-07-09 2016-05-26 Jung Ha RYU Method for Providing Sign Image Search Service and Sign Image Search Server Used for Same
US10275426B1 (en) * 2015-09-22 2019-04-30 Amazon Technologies, Inc. Dynamic kerning pair reduction for digital font rendering
KR101905300B1 (ko) * 2017-01-26 2018-10-05 숭실대학교산학협력단 외곽선 폰트를 이용하여 metafont에 의한 폰트를 생성하는 장치 및 방법
GB2582307A (en) * 2019-03-18 2020-09-23 Eaton Intelligent Power Ltd Switching device for fast disconnection of short-circuit currents

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60100176A (ja) * 1983-11-05 1985-06-04 株式会社リコー 文字フオント縮小方式
CA2025782A1 (en) * 1989-10-16 1991-04-17 Sampo Kaasila Method for determining the optimum angle for displaying a line on raster output devices
US5428728A (en) * 1991-09-30 1995-06-27 Destiny Technology Corporation Method and apparatus for outline font character generation in dot matrix devices
US5355449A (en) * 1991-09-30 1994-10-11 Destiny Technology Corporation Method and apparatus for outline font character generation in dot matrix devices
US5715473A (en) * 1992-12-29 1998-02-03 Apple Computer, Inc. Method and apparatus to vary control points of an outline font to provide a set of variations for the outline font
US5734388A (en) * 1994-05-16 1998-03-31 Agfa Division, Bayer Corporation Method and apparatus for data compression of digital data to produce a scaleable font database
US5754187A (en) * 1994-05-16 1998-05-19 Agfa Division, Bayer Corporation Method for data compression of digital data to produce a scaleable font database
US5790126A (en) * 1995-01-03 1998-08-04 Microsoft Corporation Method for rendering a spline for scan conversion of a glyph
US6426751B1 (en) * 1999-04-01 2002-07-30 Adobe Systems Incorporated Font feature file processing

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101218345B1 (ko) * 2010-12-31 2013-01-03 (주)한양정보통신 한글 자소 조합 기반의 힌팅 처리 장치 및 그 방법
KR20210009964A (ko) * 2019-07-18 2021-01-27 주식회사 윤디자인그룹 폰트 용량을 최소화하기 위한 방법 및 시스템
KR102231995B1 (ko) * 2019-07-18 2021-03-25 주식회사 윤디자인그룹 폰트 용량을 최소화하기 위한 방법 및 시스템

Also Published As

Publication number Publication date
KR20030006443A (ko) 2003-01-23
JP2003044035A (ja) 2003-02-14
US20030043151A1 (en) 2003-03-06
CN1397912A (zh) 2003-02-19
TW530486B (en) 2003-05-01

Similar Documents

Publication Publication Date Title
KR100539056B1 (ko) 폰트의 손실 압축 및 저장 방법
US5404436A (en) Computer method and apparatus for converting compressed characters for display in full size
EP0684583B1 (en) Method for construction of a scaleable font database
KR950011807B1 (ko) 문자처리방법 및 장치
EP0684582B1 (en) Method and apparatus for reconstruction of character outlines
US4675830A (en) Method for producing a scaleable typeface data
CA2221752C (en) Method and apparatus for reducing storage requirements for display data
CN103136769B (zh) 用户书写风格字体生成的方法和装置
US5295238A (en) System, method, and font for printing cursive character strings
JPS62123573A (ja) コンピユ−タ・グラフイツク装置およびその操作方法
US5579030A (en) Method and apparatus for display of text on screens
Karow Digital typefaces: description and formats
CN102262619A (zh) 文档的文字提取方法和装置
CN100401370C (zh) 一种确定象素成分的反锯齿强度的方法及装置
CN107562480B (zh) 一种pos机多国语言的实现方法及其系统
US6151032A (en) Stroke-based glyph-outline font generation in low/high resolution space
CN105474198A (zh) 具有动态调色板的分层z顺序和微调颜色字体
EP1093078B1 (en) Reducing apprearance differences between coded and noncoded units of text
CN103489268B (zh) 一种用于pos平台的阿拉伯语显示方法
US20080181531A1 (en) Emboldening glyphs without causing conglutination
CN101957837B (zh) 一种笔划矢量字库的存取方法
CN110164399A (zh) 8位深度字模存储优化方法
US8922803B2 (en) Bitmap rotation mechanism
JPH0496095A (ja) フォントフリーなラスタイメージ処理システム
KR100923572B1 (ko) 폰트 작성 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20040226

Effective date: 20050830

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee