KR101344457B1 - 글리프를 이용해 폰트를 생성하는 폰트 생성 장치 및 방법 - Google Patents

글리프를 이용해 폰트를 생성하는 폰트 생성 장치 및 방법 Download PDF

Info

Publication number
KR101344457B1
KR101344457B1 KR1020120066984A KR20120066984A KR101344457B1 KR 101344457 B1 KR101344457 B1 KR 101344457B1 KR 1020120066984 A KR1020120066984 A KR 1020120066984A KR 20120066984 A KR20120066984 A KR 20120066984A KR 101344457 B1 KR101344457 B1 KR 101344457B1
Authority
KR
South Korea
Prior art keywords
basic
glyph
glyphs
font
generating
Prior art date
Application number
KR1020120066984A
Other languages
English (en)
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 KR1020120066984A priority Critical patent/KR101344457B1/ko
Priority to CN201380003927.4A priority patent/CN103959280B/zh
Priority to JP2014550036A priority patent/JP5893755B2/ja
Priority to PCT/KR2013/005435 priority patent/WO2013191482A1/ko
Priority to US14/350,721 priority patent/US20140285495A1/en
Application granted granted Critical
Publication of KR101344457B1 publication Critical patent/KR101344457B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F40/129Handling non-Latin characters, e.g. kana-to-kanji conversion

Abstract

글리프를 이용해 폰트를 생성하는 폰트 생성 장치 및 방법이 개시된다. 본 발명의 일 실시예에 따른 폰트 생성 방법은, 글자 또는 자소의 기본형으로서 제1 기본 글리프를 생성하는 단계와, 상기 기본형의 가로 확대 및 세로 확대 중 적어도 하나가 적용된 제2 내지 제a 기본 글리프를 생성하는 단계(단, a는 2 이상의 정수)와, 상기 제1 내지 제a 기본 글리프들 중 적어도 두 개를 이용하여 보간 동작을 수행함으로써 상기 기본 글리프들과는 다른 모양의 보간 글리프를 생성하는 단계 및 상기 기본 글리프 및 보간 글리프를 이용하여 폰트를 생성하는 단계를 구비하는 것을 특징으로 한다.

Description

글리프를 이용해 폰트를 생성하는 폰트 생성 장치 및 방법{Font Generation Device and Method for generating font by using glyph}
본 발명은 폰트 생성 장치 및 방법에 관한 것으로서, 자세하게는 글자 표시에 필요한 글리프를 효율적으로 생성하는 폰트 생성 장치 및 방법에 관한 것이다.
폰트를 이용하여 글자를 표현하기 위해서는 글자의 모양을 가리키는 글리프(Glyph)가 필요하다. 글리프는 글자의 구체적인 모양, 디자인, 표현 등을 가리키며, 또한 특정한 폰트, 자소 등의 언어의 요소에서의 특정한 그래픽 표현을 가리킨다.
일예로서, 한글 등의 문자를 표시하기 위한 폰트의 경우 많은 수의 글리프들을 필요로 한다. 자소 조합에 의한 방법으로 폰트를 만드는 경우, 각각의 자소가 하나의 글자 내에서 어떠케 결합되느냐에 따라 그 모양이 달라지게 되며, 이를 각각 표현하기 위한 다수의 글리프들이 필요하게 된다. 예컨대, 전체 조합 가능한 글자 11,172자에 초성, 중성 및 종성을 반영한 세 가지의 경우를 곱하여 전체 33,615 개의 자소 글리프들을 만들 필요가 있다. 이러한 자소 글리프들의 개수를 줄이기 위한 방법으로서 상기 자소 글리프들을 다수 개의 그룹으로 구분하고, 각 그룹을 대표하는 2000-4000 개의 글리프만을 만듬으로써 그 개수를 줄이는 시도가 제시되고 있다.
그러나, 이러한 경우도 많은 수의 비슷한 자소들의 글리프들을 만들 필요가 존재하며, 이에 따라 글리프를 만드는데 시간이 많이 소요되며 또한 만들어진 자소 글리프들 사이의 일관성도 떨어지는 문제가 발생한다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 효율적인 글리프 생성이 가능토록 함으로써 자소 글리프들 사이의 일관성 향상 및 글리프 생성의 효율을 도모할 수 있는 폰트 생성 장치 및 방법을 제공하는 것을 목적으로 한다.
상기와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 폰트 생성 방법은, 글자 또는 자소의 기본형으로서 제1 기본 글리프를 생성하는 단계와, 상기 기본형의 가로 확대 및 세로 확대 중 적어도 하나가 적용된 제2 내지 제a 기본 글리프를 생성하는 단계(단, a는 2 이상의 정수)와, 상기 제1 내지 제a 기본 글리프들 중 적어도 두 개를 이용하여 보간 동작을 수행함으로써 상기 기본 글리프들과는 다른 모양의 보간 글리프를 생성하는 단계 및 상기 기본 글리프 및 보간 글리프를 이용하여 폰트를 생성하는 단계를 구비하는 것을 특징으로 한다.
바람직하게는, 상기 폰트 생성 방법은 상기 폰트를 구현할 글자들의 정보를 분석하는 단계를 더 구비하고, 상기 정보 분석 결과에 따라 상기 제1 내지 제a 기본 글리프들 중 적어도 두 개를 선택하여 보간 동작을 수행함으로써 상기 보간 글리프를 생성하는 것을 특징으로 한다.
또한 바람직하게는, 상기 제2 내지 제a 기본 글리프는 제2 기본 글리프 내지 제4 기본 글리프를 포함하고, 상기 제2 기본 글리프는 상기 기본형의 가로 확대형 글리프이고, 상기 제3 기본 글리프는 상기 기본형의 세로 확대형 글리프이고, 상기 제4 기본 글리프는 상기 기본형의 가로 및 세로 확대형 글리프인 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 폰트 생성 장치는, 다수의 글리프를 이용하여 폰트를 생성하는 폰트 생성부 및 상기 폰트의 구현을 위한 다수의 기본 글리프들을 기 생성하며, 상기 다수의 기본 글리프들 중 선택된 적어도 두 개의 기본 글리프들에 대한 보간 동작을 수행함에 의하여 상기 기본 글리프들과는 다른 모양의 보간 글리프들을 생성하는 글리프 생성부를 구비하고, 상기 폰트 생성부는, 상기 기 생성된 기본 글리프들 및 상기 보간 동작에 의해 수행된 보간 글리프들 중 적어도 하나를 이용함에 의하여 상기 폰트를 생성하는 것을 특징으로 한다.
상기한 바와 같은 본 발명에 따르면, 적은 수의 글리프만으로 다양한 형태의 글리프들을 생성할 수 있으며, 이에 따라 폰트에 포함되는 글리프들의 개수를 줄여 폰트를 저장하기 위한 저장 공간을 감소하고 폰트를 전송하는 데 그 용량을 줄일 수 있으며, 또한 글리프를 만드는데 시간을 감소할 수 있는 효과가 있다.
도 1은 자소에 대한 일반적인 글리프 세트의 일예를 나타내는 블록도이다.
도 2는 자소에 대한 본 발명의 실시예에 따른 글리프 세트의 일예를 나타내는 블록도이다.
도 3은 다양한 형태의 글리프를 생성하기 위한 본 발명의 일 실시예에 따른 보간 동작을 나타내는 도면이다.
도 4는 다양한 형태의 글리프를 생성하기 위한 본 발명의 다른 실시예에 따른 보간 동작을 나타내는 도면이다.
도 5a,b는 본 발명의 일실시예에 따른 폰트 생성 장치를 나타내는 블록도이다.
도 6은 본 발명의 일실시예에 따른 폰트 생성 장치의 동작방법을 나타내는 블록도이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 자소에 대한 일반적인 글리프 세트의 일예를 나타내는 블록도이다. 도 1에 도시된 바와 같이, 하나의 폰트에 의해 구현 가능한 글자들은 다양한 모양을 가질 수 있으며, 일예로서 한글과 같이 글자가 하나 이상의 자소의 조합에 의해 구현되는 경우에는 각 자소 별로 초성, 중성, 종성 각각에 대한 글리프들이 필요하며, 또한 어느 하나의 초성에 대하여도 그 초성이 어떠한 중성 및 종성과 결합하느냐에 따라 다양한 형태의 글리프들을 필요로 한다.
일예로서, 도 1은 자소 "ㅎ"에 대응하여 생성되는 다수의 글리프들의 예를 나타내며, 도시된 바와 같이 유사한 글리프들이 다수 생성되어 폰트 생성 장치에 포함되며, 폰트에 의해 표현되는 각각의 글자에 대하여 기 저장된 다수 개의 글리프들 중 어느 하나를 선택함에 의하여 해당 글자에 대한 폰트를 생성한다. 그러나, 이와 같은 방법에 따르면 유사한 글리프들을 생성하는 데 그 한계가 발생하게 되며, 이에 따라 전술한 글리프들이 적용된 폰트가 생성되더라도, 해당 폰트에 따라 글자 표현시 섬세한 글자의 표시가 어렵게 된다.
도 2는 자소에 대한 본 발명의 실시예에 따른 글리프 세트의 일예를 나타내는 블록도이다.
도 2에 도시된 바와 같이, 본 발명의 실시예에 따르면 하나의 자소 당 일정 개수의 기본 글리프가 적용된다. 도 2의 글리프 세트(100)는 한글의 하나의 자소로서 "ㅎ"에 대응하는 다수의 글리프들을 포함한다. 도 2에 도시된 글리프 세트(100)들 중 네 개의 기본 글리프들(110, 120, 130, 140)이 생성되어 폰트 생성 장치에 저장된다.
한글의 경우를 예로 들면, 자음 자소의 경우 "ㄱ, ㅋ, ㄲ" 의 경우는 가로 모임 글자용, 세로 모임 글자용 및 받침용의 3 가지, 그리고 나머지 초성 자소들의 경우는 가로 모임 글자용, 세로 모임 글자용의 2 가지, 그리고 기타 "ㅁ" 등 하나의 디자인만 만들 수 있다. 또한, 모음 자소에 있어서는, 받침이 있는 경우의 2 가지, 그리고 받침이 없는 경우의 두 가지의 디자인만 만들 수 있다. 이 경우, 대략 합계 21*2 + 19*2 개(대략 80개)의 기본 글리프들만 디자인할 수 있다. 또한, 상기 기본 글리프들을 가로로 확대한 가로 확대형의 80 개의 기본 글리프, 세로로 확대한 세로 확대형의 80 개의 기본 글리프, 그리고 가로/세로 확대형의 80 개의 기본 글리프를 포함하여 전체 320개의 기본 글리프를 디자인할 수 있다. 상기와 같이 디자인된 기본 글리프들을 이용함에 의하여, 현재 한글 11,172 자에 사용할 모든 모양의 글리프들을 생성할 수 있다. 상기 모든 모양의 글리프들은, 후술할 320 개의 기본 글리프들을 이용한 보간(Interpolation) 동작에 의해 생성될 수 있다.
도 2를 다시 참조하면, 자소 "ㅎ"에 대응하여 4 개의 기본 글리프들(110~140)이 생성된다. 이들 기본 글리프들(110~140) 중 제1 기본 글리프(110)는 기본형의 글리프에 해당하며, 제2 기본 글리프(120)는 제1 기본 글리프(110)의 가로 확대형, 제3 기본 글리프(130)는 제1 기본 글리프(110)의 세로 확대형, 제4 기본 글리프(140)는 제1 기본 글리프(110)의 가로/세로 확대형의 글리프이다.
기본 글리프들(110~140) 각각은 해당 글리프의 모양을 갖도록 실제 글자가 표시되기 위한 좌표 정보를 가질 수 있다. 이에 따라, 제2 기본 글리프(120)는 제1 기본 글리프(110)에 비하여 글자의 두께는 동일하나 전체적으로 가로 방향으로 확대되어 글자가 표시되도록 하기 위한 좌표 정보를 가질 수 있다. 이와 유사하게, 제3 기본 글리프(130)는 세로 방향으로 확대되어 글자가 표시되도록 하기 위한 좌표 정보, 제4 기본 글리프(140)는 가로 및 세로 방향으로 확대되어 글자가 표시되도록 하기 위한 좌표 정보를 가질 수 있다.
도 2의 글리프 세트에서, 제1 내지 제4 기본 글리프들(110~140)만이 기 생성되어 폰트 생성 장치에 저장될 수 있으며, 나머지 글리프들은 제1 내지 제4 기본 글리프들(110~140) 중 적어도 하나를 이용하여 생성될 수 있다. 예컨대, (a)에 도시된 글리프는 제1 기본 글리프(110)를 가로 방향으로 확대한 형태의 글리프로서, 이는 제1 기본 글리프(110)와 제2 기본 글리프(120)의 보간 동작에 의해 생성될 수 있다. 즉, 각각의 글자나 자소를 표시하기 위한 폰트를 생성함에 있어서 각 자소를 표현하기 위한 글리프는 변동될 수 있으며, (a)의 글리프에 따라 자소 "ㅎ"가 표현되야 할 경우, 제1 기본 글리프(110)와 제2 기본 글리프(120)를 보간함에 의하여 (a)의 글리프를 생성한다. (a)의 글리프는 제1 기본 글리프(110)와 제2 기본 글리프(120)의 보간에 의해 생성되므로, 제1 기본 글리프(110)의 좌표 정보와 제2 기본 글리프(120)의 좌표 정보를 연산한 결과에 따른 좌표 정보를 가질 수 있다.
이와 유사하게, (b)의 글리프에 따라 자소 "ㅎ"가 표현되야 할 경우, 제1 기본 글리프(110)와 제3 기본 글리프(130)를 보간함에 의하여 (b)의 글리프를 생성한다. (b)의 글리프 또한 "ㅎ"의 기본형 기본 글리프와 "ㅎ"의 세로 확대형 기본 글리프의 사이의 형태를 갖는 글리프로서, 제1 기본 글리프(110)의 좌표 정보와 제3 기본 글리프(130)의 좌표 정보를 연산함에 의하여 (b)의 글리프를 표시하기 위한 좌표 정보가 산출될 수 있다. 또한, (c)의 글리프에 따라 자소 "ㅎ"가 표현되야 할 경우, 제1 기본 글리프(110)와 제4 기본 글리프(140)를 보간함에 의하여 (c)의 글리프를 생성한다.
한편, (d)의 글리프에 따라 자소 "ㅎ"가 표현되야 할 경우, 제1 내지 제3 기본 글리프(110~130)를 보간함에 의하여 (d)의 글리프를 생성한다. 이를 위하여, 먼저 제1 기본 글리프(110)와 제2 기본 글리프(120)를 보간함에 의하여 적절히 가로 확대된 글리프를 중간 생성하고, 중간 생성된 글리프를 제3 기본 글리프(130)를 보간함에 의하여 (d)의 글리프를 생성할 수 있다. 즉, 제1 내지 제3 기본 글리프(110~130)의 좌표 정보들이 서로 연산되고, 그 연산 결과로서 (d)의 글리프를 표현하기 위한 좌표 정보가 생성될 수 있다.
이에 따르면, 폰트 생성 장치 내에 일부의 기본 글리프들만을 기 저장하고, 해당 폰트에 의해 표시되는 글자들에 대해 기본 글리프들 사이의 보간 동작에 의하여 다양한 글리프들이 생성되므로, 막대한 전체 글리프의 생성 및 저장 없이 다양한 형태로 글자가 표시될 수 있는 폰트 구현이 가능하다. 또한, 폰트 개발시 전술한 바와 같은 글리프 생성 방식에 따르면 폰트 제작에 소요되는 시간을 대폭 절감할 수 있으며, 양질의 폰트를 다량 제작하는 것이 가능하다.
전술한 실시예에서는 어느 하나의 폰트에 포함되는 글리프들만이 설명되었으나, 본 발명의 실시예는 이에 국한될 필요는 없다. 예컨대, 폰트 생성 장치는 다수의 폰트들을 생성할 수 있으며, 본 발명의 실시예에 따른 글리프 생성 방식은 다수의 폰트들 각각에 대해 적용될 수 있다.
도 3은 다양한 형태의 글리프를 생성하기 위한 본 발명의 일 실시예에 따른 보간 동작을 나타내는 도면이다. 도 3에 도시된 바와 같이, 어느 하나의 자소에 대응하여 4 개의 기본 글리프들이 제공되며, 제1 기본 글리프(110)는 기본형 글리프, 제2 기본 글리프(120)는 기본형 글리프의 가로 확대형, 제3 기본 글리프(130)는 기본형 글리프의 세로 확대형, 제4 기본 글리프(140)는 기본형 글리프의 가로/세로 확대형 글리프이다. 상기 4 개의 기본 글리프들을 이용한 보간 동작에 의하여 (m+1)*(n+1) 개의 글리프들을 생성할 수 있다.
이 때, 제1 기본 글리프(110)의 위치를 (0,0), 제2 기본 글리프(120)의 위치를 (m,0), 제3 기본 글리프(130)의 위치를 (0,n), 제4 기본 글리프(140)의 위치를 (m,n)으로 정의할 수 있다. 각각의 기본 글리프들은 해당 모양에 따라 글자를 표시하기 위한 좌표 정보를 포함할 수 있다.
폰트를 구현하기 위하여, 각각의 자소의 글자 내에서의 조합 형태 등을 분석하여 상기 자소를 표현하기 위한 글리프를 선택할 수 있다. 예컨대, 자소가 상기 기본 글리프들 중 어느 하나에 의해 표현된다면, 별도의 보간 동작 없이 해당 기본 글리프를 이용하여 해당 자소의 폰트를 구현할 수 있다. 반면에, 상기 기본 글리프들 이외에 다른 글리프에 따라 해당 자소를 표현할 필요가 있는 경우, 기본 글리프들을 이용한 보간 동작에 의해 필요한 글리프가 생성되고 이를 이용하여 해당 자소의 폰트를 구현할 수 있다.
필요한 글리프를 생성함에 있어서, 가로 확대를 위한 필요 글리프의 위치가 선택될 수 있으며, 이는 제1 기본 글리프(110)의 위치로서 (0,0)과 제2 기본 글리프(120)의 위치로서 (m,0) 사이의 위치가 선택될 수 있다. 해당 위치가 선택되면 제1 기본 글리프(110)와 제2 기본 글리프(120)를 이용한 보간 동작에 의하여 해당 선택된 위치에 해당하는 가로 확대된 글리프가 생성될 수 있다.
이와 유사하게, 세로 확대를 위한 필요 글리프의 위치 선택시, 제1 기본 글리프(110)의 위치로서 (0,0)과 제3 기본 글리프(130)의 위치로서 (0, n) 사이의 위치가 선택될 수 있다. 또한, 제1 기본 글리프(110)와 제3 기본 글리프(130)를 이용한 보간 동작에 의하여 해당 선택된 위치에 해당하는 세로 확대된 글리프가 생성될 수 있다. 이와 유사하게, 제1 기본 글리프(110)의 위치로서 (0,0)과 제4 기본 글리프(120)의 위치로서 (m,n) 사이의 위치에 해당하는 가로/세로 확대된 글리프가 생성될 수 있다.
도 4는 다양한 형태의 글리프를 생성하기 위한 본 발명의 다른 실시예에 따른 보간 동작을 나타내는 도면이다. 도 4의 실시예에서는 어느 하나의 자소에 대응하여 기본형, 가로 확대형 및 세로 확대형의 기본 글리프들만을 이용하여 전체 글리프들을 생성하는 예가 도시된다.
도 4에 도시된 바와 같이, 일예로서 자소 "ㅎ" 에 대응하여 3 개의 기본 글리프들이 제공되며, 제1 기본 글리프(110)는 기본형 글리프, 제2 기본 글리프(120)는 기본형 글리프의 가로 확대형, 제3 기본 글리프(130)는 기본형 글리프의 세로 확대형 글리프이다. 상기 3 개의 기본 글리프들을 이용한 보간 동작에 의하여 (m+1)*(n+1) 개의 글리프들을 생성할 수 있다.
3 개의 기본 글리프들을 이용하여 필요한 글리프를 생성함에 있어서, 제1 기본 글리프(110)의 가로로 확대된 글리프는 제1 기본 글리프(110) 및 제2 기본 글리프(120)를 보간함에 의하여 생성될 수 있으며, 또한 제1 기본 글리프(110)의 세로로 확대된 글리프는 제1 기본 글리프(110) 및 제3 기본 글리프(130)를 보간함에 의하여 생성될 수 있다. 또한, 제1 기본 글리프(110)의 가로/세로로 확대된 글리프는 제1 기본 글리프(110), 제2 기본 글리프(120) 및 제3 기본 글리프(130)를 모두 보간함에 의하여 생성될 수 있다. 만약, 제1 기본 글리프(110)의 가로 및 세로로 최대 확대된 글리프는 전술한 실시예에서 제4 기본 글리프에 해당할 수 있으며, 도 4에서 제4 기본 글리프와 동일한 형태의 글리프를 생성하기 위해서는 제2 기본 글리프(120)와 제3 기본 글리프(130) 만을 보간하여도 무방하다.
도 5a,b는 본 발명의 일실시예에 따른 폰트 생성 장치를 나타내는 블록도이다. 도 5a,b의 블록도는 본 발명의 일 실시예에 따른 폰트 생성 장치에서의 글리프 생성을 수행하기 위한 각종 기능을 블록화한 것으로서, 도 5a,b의 각종 기능들은 장치적으로 또는 소프트웨어적으로 구현되어도 무방하다.
도 5a에 도시된 바와 같이, 본 발명의 실시예에 따른 폰트 생성 장치(1000)는 제어부(1100), 폰트 생성부(1200), 글리프 생성부(1300), 폰트 전송부(1400) 및 데이터베이스부(1500)를 포함할 수 있다. 또한 데이터베이스부(1500)는 폰트 저장부(1510) 및 기본 글리프 저장부(1520)를 포함할 수 있다.
제어부(1100)는 폰트 생성 장치(1000)의 시스템 전반을 제어하는 제어 동작을 수행한다. 예컨대, 도 5a에 도시된 다른 각종 기능블록들의 동작 여부를 제어하거나, 각 기능블록들 사이의 정보 전송 제어, 그리고, 본 발명의 실시예에 따른 기본 글리프 생성, 그리고 기본 글리프들의 보간 동작에 의한 글리프 생성 및 이를 이용한 폰트 생성 등을 제어하기 위한 동작을 수행할 수 있다.
폰트 생성부(1200)는 각종 언어를 표시하기 위한 하나 이상의 폰트를 생성하며, 또한, 각각의 폰트를 생성함에 있어서 복수의 글리프들을 이용하여 폰트를 생성할 수 있다. 전술한 바와 같이, 자소 조합에 따라 글자가 표시되는 경우 각각의 자소 별로 글리프를 이용하여 폰트를 생성할 수 있으며, 또한 글자 내에서의 자소가 조합되는 형태에 따라 다수의 글리프들이 존재하며, 이에 따라 어느 하나의 자소는 다수의 글리프들이 각각 달리 적용되어 폰트가 생성될 수 있다.
글리프 생성부(1300)는 전술한 본 발명의 실시예에 따라 기본 글리프들 및 보간 글리프들을 생성할 수 있다. 예컨대, 어느 하나의 자소에 대응하여 복수의 기본 글리프들이 기 생성될 수 있으며, 이후 폰트 생성시 기본 글리프들을 이용한 보간 동작에 기반하여 상기 기본 글리프들과는 다른 모양을 갖는 글리프들(보간 글리프들)을 생성할 수 있다. 상기 기 생성되는 기본 글리프들은 어느 하나의 자소의 기본형을 갖는 제1 기본 글리프와, 상기 기본형의 가로 확대형의 제2 기본 글리프, 상기 기본형의 세로 확대형의 제3 기본 글리프, 그리고 상기 기본형의 가로/세로 확대형의 제4 기본 글리프들을 포함할 수 있다. 또는, 다른 실시예로서 전술한 바와 같이 각각의 자소에 대응하여 제1 내지 제3 기본 글리프들만이 생성될 수 있으며, 또는 다른 개수의 기본 글리프들(예컨대, 더 많은 수의 기본 글리프들)이 생성될 수 있다.
글리프 생성부(1300)는 전술한 다수 개의 기본 글리프들 중 적어도 두 개에 대한 보간 동작을 수행하여 도 2에 도시된 각종 형태의 글리프들을 생성할 수 있다. 글리프 생성부(1300)에 의해 생성된 기본 글리프들은 기본 글리프 저장부(1520)에 저장될 수 있으며, 글리프 생성부(1300)는 기본 글리프 저장부(1520)에 저장된 기본 글리프들을 이용하여 보간 동작을 수행할 수 있다. 폰트 생성부(1200)는 기본 글리프 저장부(1520)에 저장된 기본 글리프들이나 글리프 생성부(1300)에서 생성된 보간 글리프들을 이용하여 폰트를 생성할 수 있다. 폰트 생성부(1200)에서 생성된 폰트는 폰트 저장부(1510)에 저장될 수 있다.
폰트 전송부(1400)는 외부 인터페이스(예컨대, 인터넷 등의 네트워크 망)를 통해 폰트 표시 장치(미도시)에 폰트를 전송할 수 있다. 웹 기반을 통해 폰트가 전송되는 경우, 상기 폰트 생성 장치(1000)는 웹 폰트 서버일 수 있으며, 웹 망을 통해 폰트를 수신하는 폰트 표시 장치는 웹 클라이언트일 수 있다. 폰트 생성 장치(1000)는 웹 클라이언트로 기 생성된 폰트를 전송할 수 있으며, 또는 웹 클라이언트로부터 폰트 요청이 수신되는 경우 해당 폰트를 실시간으로 생성하여 이를 전송할 수 있다.
본 발명의 실시예에 따른 폰트 생성 장치(1000)는 매우 적은 개수의 글리프들만을 이용하여 다양한 형태의 글리프들을 생성하므로 폰트 제작에 소요되는 시간을 감소할 수 있다. 이에 따라, 기 저장되는 폰트를 생성함에 있어서도 적은 개수의 글리프들만을 이용하여 효율적으로 생성할 수 있으며, 또한 실시간으로 폰트의 제작 및 전송이 요청되는 경우에도 큰 딜레이 없이 폰트를 생성하여 웹 클라이언트로 제공할 수 있다.
도 5b는 도 5의 글리프 생성부(1300)의 일 구현예를 나타내는 블록도이다. 도 5b에 도시된 바와 같이, 글리프 생성부(1300)는 기본 글리프 생성부(1310), 글자정보 분석부(1320), 보간 처리부(1330) 및 보간 글리프 출력부(1340)를 포함할 수 있다.
기본 글리프 생성부(1310)는 전술한 바와 같이 각각의 글자 또는 자소에 대응하는 다수 개의 기본 글리프들을 생성하며, 예컨대 어느 하나의 기본형, 그리고 이를 가로 및/또는 세로 확대한 기본 글리프들을 생성할 수 있다. 글자정보 분석부(1320)는 폰트 구현시 해당 폰트에 의해 구현될 글자들 및 각 글자에 포함되는 자소들의 정보를 분석하여 해당 글자나 자소에 적용될 글리프들을 선택한다.
보간 처리부(1330)는 분석된 글자 정보에 근거하여 해당 글자나 자소를 표현하기 위한 글리프를 생성하기 위하여 보간 동작을 수행한다. 상기 보간 동작은 기 생성된 다수의 기본 글리프들 중 적어도 두 개를 이용한 보간 동작에 기반할 수 있다. 이와 같이 보간 처리된 글리프는 보간 글리프 출력부(1340)에 의해 폰트 생성부(1200)로 제공되며, 폰트 생성부(1200)는 각종 글리프들을 이용하여 폰트를 생성한다.
도 6은 본 발명의 일실시예에 따른 폰트 생성 장치의 동작방법을 나타내는 블록도이다. 도 6에서는 자소의 조합에 따라 글자가 표시되고, 각 자소에 대응하여 생성된 글리프를 이용하여 폰트가 구현되는 예가 도시된다.
도 6에 도시된 바와 같이 각 자소의 제1 기본 글리프를 생성한다(S11). 상기 제1 기본 글리프는 해당 자소의 기본형의 글리프에 해당한다. 또한, 제1 기본 글리프와 관련된 제2 내지 제a 기본 글리프를 생성한다(S12). 생성되는 기본 글리프의 개수는 3 개, 4 개 또는 그 이상일 수 있으며, 일예로서 제1 기본 글리프와 관련된 제2 내지 제4 기본 글리프가 생성될 수 있다. 이들 중, 제2 기본 글리프는 제1 기본 글리프의 가로 확대형, 제3 기본 글리프는 제1 기본 글리프의 세로 확대형, 그리고 제4 기본 글리프는 제1 기본 글리프의 가로/세로 확대형의 글리프일 수 있다.
이후, 폰트 제작시 각각의 글자 정보가 분석된다(S13). 상기 글자 정보의 분석 동작은, 해당 글자가 포함하는 자소, 그리고 각 자소의 해당 글자 내에서의 적용 위치 등을 분석하는 동작을 수행할 수 있다. 이에 따라, 해당 글자에 포함되는 각 자소들의 글리프들이 선택될 수 있으며, 상기 선택될 글리프들은 제1 내지 제4 기본 글리프에 포함되는 글리프이거나, 또는 제1 내지 제4 기본 글리프를 변형한 글리프일 수 있다.
상기와 같은 분석 동작에 기반하여 기본 글리프를 이용한 보간 처리 동작을 수행한다(S14). 보간 처리 동작은 도 2에서의 실시예에 근거하여 수행됨으로써, 다양한 형태의 글리프들이 기본 글리프들을 이용하여 생성될 수 있다. 이와 같이 보간 글리프들이 생성되면, 기본 글리프와 보간 글리프를 이용한 폰트 생성 동작이 수행 및 완료된다(S15).
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.

Claims (8)

  1. 글자 또는 자소의 기본형으로서 제1 기본 글리프를 생성하는 단계;
    상기 기본형의 가로 확대 및 세로 확대 중 적어도 하나가 적용된 제2 내지 제a 기본 글리프를 생성하는 단계(단, a는 2 이상, 4이하의 정수);
    상기 제1 내지 제a 기본 글리프들 중 적어도 두 개를 이용하여 보간 동작을 수행함으로써 상기 기본 글리프들과는 다른 모양의 보간 글리프를 생성하는 단계; 및
    상기 기본 글리프 및 보간 글리프를 이용하여 폰트를 생성하는 단계를 구비하고,
    상기 제2 내지 제a 기본 글리프는 제2 기본 글리프 내지 제4 기본 글리프를 포함하고,
    상기 제2 기본 글리프는 상기 기본형의 가로 확대형 글리프이고,
    상기 제3 기본 글리프는 상기 기본형의 세로 확대형 글리프이고,
    상기 제4 기본 글리프는 상기 기본형의 가로 및 세로 확대형 글리프인 것을 특징으로 하는 폰트 생성 방법.
  2. 제1항에 있어서,
    상기 폰트를 구현할 글자들의 정보를 분석하는 단계를 더 구비하고,
    상기 정보 분석 결과에 따라 상기 제1 내지 제a 기본 글리프들 중 적어도 두 개를 선택하여 보간 동작을 수행함으로써 상기 보간 글리프를 생성하는 것을 특징으로 하는 폰트 생성 방법.
  3. 삭제
  4. 다수의 글리프를 이용하여 폰트를 생성하는 폰트 생성부; 및
    상기 폰트의 구현을 위한 다수의 기본 글리프들을 기 생성하며, 상기 다수의 기본 글리프들 중 선택된 적어도 두 개의 기본 글리프들에 대한 보간 동작을 수행함에 의하여 상기 기본 글리프들과는 다른 모양의 보간 글리프들을 생성하는 글리프 생성부를 구비하고,
    상기 폰트 생성부는, 상기 기 생성된 기본 글리프들 및 상기 보간 동작에 의해 수행된 보간 글리프들 중 적어도 하나를 이용함에 의하여 상기 폰트를 생성하고,
    상기 글리프 생성부는 제1 내지 제3 기본 글리프들을 생성하며,
    상기 제1 기본 글리프는 글자 또는 자소의 기본형에 해당하는 글리프이고,
    상기 제2 기본 글리프는 상기 기본형의 가로 확대형 글리프이고,
    상기 제3 기본 글리프는 상기 기본형의 세로 확대형 글리프인 것을 특징으로 하는 폰트 생성 장치.
  5. 삭제
  6. 제4항에 있어서, 상기 글리프 생성부는 ,
    상기 폰트를 구현할 글자들의 정보를 분석하는 글자정보 분석부; 및
    상기 분석 결과에 따라 적어도 두 개의 기본 글리프를 선택하여 상기 보간 동작을 수행하는 보간 처리부를 구비하는 것을 특징으로 하는 폰트 생성 장치.
  7. 삭제
  8. 제4항의 폰트 생성 장치를 구비하는 웹 폰트 서버.
KR1020120066984A 2012-06-21 2012-06-21 글리프를 이용해 폰트를 생성하는 폰트 생성 장치 및 방법 KR101344457B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020120066984A KR101344457B1 (ko) 2012-06-21 2012-06-21 글리프를 이용해 폰트를 생성하는 폰트 생성 장치 및 방법
CN201380003927.4A CN103959280B (zh) 2012-06-21 2013-06-20 用于使用图示符内插来产生字体的设备和方法
JP2014550036A JP5893755B2 (ja) 2012-06-21 2013-06-20 グリフ補間を利用したフォント生成装置、及びその方法
PCT/KR2013/005435 WO2013191482A1 (ko) 2012-06-21 2013-06-20 글리프 보간을 이용한 폰트 생성 장치 및 방법
US14/350,721 US20140285495A1 (en) 2012-06-21 2013-06-20 Apparatus and Method for Generating Font by Using Glyph Interpolation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120066984A KR101344457B1 (ko) 2012-06-21 2012-06-21 글리프를 이용해 폰트를 생성하는 폰트 생성 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101344457B1 true KR101344457B1 (ko) 2013-12-26

Family

ID=49769016

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120066984A KR101344457B1 (ko) 2012-06-21 2012-06-21 글리프를 이용해 폰트를 생성하는 폰트 생성 장치 및 방법

Country Status (5)

Country Link
US (1) US20140285495A1 (ko)
JP (1) JP5893755B2 (ko)
KR (1) KR101344457B1 (ko)
CN (1) CN103959280B (ko)
WO (1) WO2013191482A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101513009B1 (ko) * 2014-05-20 2015-04-17 (주)한양정보통신 폰트 자동 생성 시스템 및 방법
KR101641282B1 (ko) * 2015-03-02 2016-07-29 (주)한양정보통신 다중 마스터 글리프 생성 시스템 및 방법
KR101720897B1 (ko) * 2016-03-04 2017-04-10 주식회사 윤디자인그룹 글자 사이의 간격 적분을 통한 폰트 생성 방법 및 이를 수행하는 컴퓨터 프로그램

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10324537B2 (en) * 2017-05-31 2019-06-18 John Park Multi-language keyboard system
US10984173B2 (en) * 2019-02-26 2021-04-20 Adobe Inc. Vector-based glyph style transfer
US11501477B2 (en) * 2021-03-22 2022-11-15 Adobe Inc. Customizing font bounding boxes for variable fonts

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0732649A (ja) * 1993-07-16 1995-02-03 Fujitsu Ltd 文字の合成方法及びその装置
JPH0764533A (ja) * 1993-08-31 1995-03-10 Fujitsu Ltd 文字フォント生成処理システム
US6952210B1 (en) * 1997-12-05 2005-10-04 Adobe Systems Incorporated Method of generating multiple master typefaces containing kanji characters
US6678410B1 (en) * 1999-02-17 2004-01-13 Adobe Systems Incorporated Generating a glyph
US6661417B1 (en) * 2000-08-28 2003-12-09 Dynalab Inc. System and method for converting an outline font into a glyph-based font
KR100539056B1 (ko) * 2001-07-12 2005-12-27 (주)네오퍼스 폰트의 손실 압축 및 저장 방법
WO2004034278A1 (ja) * 2002-09-27 2004-04-22 Brother Kogyo Kabushiki Kaisha テキスト編集装置及びプログラム
US7228501B2 (en) * 2002-11-01 2007-06-05 Microsoft Corporation Method for selecting a font
US7583267B2 (en) * 2005-12-19 2009-09-01 Microsoft Corporation Stroke contrast in font hinting
US9477400B2 (en) * 2009-06-11 2016-10-25 Alpine Electronics, Inc. Method and apparatus for navigation system for selecting icons and application area by hand drawing on map image
US20130311310A1 (en) * 2012-05-15 2013-11-21 Gene Zell Restaurant communication system and method utilizing digital menus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101513009B1 (ko) * 2014-05-20 2015-04-17 (주)한양정보통신 폰트 자동 생성 시스템 및 방법
KR101641282B1 (ko) * 2015-03-02 2016-07-29 (주)한양정보통신 다중 마스터 글리프 생성 시스템 및 방법
US9569870B2 (en) 2015-03-02 2017-02-14 Hanyang Information & Communications Co., Ltd. System and method for generating multiple master glyph
KR101720897B1 (ko) * 2016-03-04 2017-04-10 주식회사 윤디자인그룹 글자 사이의 간격 적분을 통한 폰트 생성 방법 및 이를 수행하는 컴퓨터 프로그램

Also Published As

Publication number Publication date
WO2013191482A1 (ko) 2013-12-27
CN103959280B (zh) 2016-10-12
JP2015509233A (ja) 2015-03-26
US20140285495A1 (en) 2014-09-25
CN103959280A (zh) 2014-07-30
JP5893755B2 (ja) 2016-03-23

Similar Documents

Publication Publication Date Title
KR101344457B1 (ko) 글리프를 이용해 폰트를 생성하는 폰트 생성 장치 및 방법
US9405847B2 (en) Contextual grouping of a page
CN110383269A (zh) 基于多轴可变字体的动画字形
JPH031708B2 (ko)
JP6298422B2 (ja) マンマシンインターフェースのグラフィック表示用の文字列の処理技術
KR20180092732A (ko) 순환신경망을 이용한 문서요약시스템 및 방법
JP5028263B2 (ja) プレゼンテーション表示装置、コンピュータの制御方法及びプログラム
US20140267302A1 (en) Method and apparatus for personalized handwriting avatar
CN108763188A (zh) 一种文本显示方法、装置、设备及存储介质
KR20080055835A (ko) 폰트 문자의 확대
CN103294819A (zh) 采用html5技术对网页内容进行分页显示的方法
JP2008146637A (ja) ドメイン変換言語
King Visual storytelling with D3: an introduction to data visualization in JavaScript
KR100856775B1 (ko) 필기 데이터 기반 사용자 특화 필체 제공 시스템
CN114861595A (zh) 一种基于矢量线条变换的个性字体生成方法
KR20140071178A (ko) 한글­알파벳 결합서체 구현 방법 및 그 장치
TWI623841B (zh) 字型產生方法、字型產生裝置、電腦可讀儲存媒體以及網頁字型伺服器
US20140040719A1 (en) Browser-based text fitting
KR20050023584A (ko) 한자 입력 시스템 및 그 방법
JP2012173785A (ja) 翻訳結果表示方法、翻訳結果表示システム、翻訳結果生成装置および翻訳結果表示プログラム
US20230325677A1 (en) Learning system, learning method, and computer program
JP2009295122A (ja) 構造化文書処理システム、構造化文書処理方法および構造化文書処理プログラム
JP2008102657A (ja) 文字入力装置および文字入力方法
JP2001249656A (ja) 文字図形変形処理装置
JP2015075884A (ja) 描画装置、描画方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161216

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180116

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191216

Year of fee payment: 7

R401 Registration of restoration