KR100871825B1 - 아웃라인 폰트 정보에 의거한 문자 처리 방법 및 그방법을 컴퓨터 시스템에 실행시키기 위한 컴퓨터소프트 웨어 프로그램 제품 - Google Patents

아웃라인 폰트 정보에 의거한 문자 처리 방법 및 그방법을 컴퓨터 시스템에 실행시키기 위한 컴퓨터소프트 웨어 프로그램 제품 Download PDF

Info

Publication number
KR100871825B1
KR100871825B1 KR1020027015213A KR20027015213A KR100871825B1 KR 100871825 B1 KR100871825 B1 KR 100871825B1 KR 1020027015213 A KR1020027015213 A KR 1020027015213A KR 20027015213 A KR20027015213 A KR 20027015213A KR 100871825 B1 KR100871825 B1 KR 100871825B1
Authority
KR
South Korea
Prior art keywords
path
line segment
outline
character
line segments
Prior art date
Application number
KR1020027015213A
Other languages
English (en)
Other versions
KR20020095262A (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 KR1020027015213A priority Critical patent/KR100871825B1/ko
Publication of KR20020095262A publication Critical patent/KR20020095262A/ko
Application granted granted Critical
Publication of KR100871825B1 publication Critical patent/KR100871825B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

아웃라인 폰트의 윤곽 정보에 의거하여 폰트를 적절하게 세선화할 수 있고 또한 이에 대하여 여러 가지의 장식 처리를 할 수 있는 방법 등을 제공한다. 아웃라인 폰트의 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소가 다른 그래픽 패스를 구성하는 구성요소와 교차하는 가를 판단하고, 교차하는 경우에는 교차부분에 교점을 추가하고, 이 교점에서 패스를 교환하는 패스 교환부18과, 하나의 다각형 모양의 그래픽 패스 내에 완전하게 포함되고 또한 동일한 순회 방향의 다른 다각형 모양의 그래픽 패스를 소거하는 패스 소거부19와, 상기 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소의 문자폭을 제거하여 아웃라인 폰트의 세선화를 하는 세선화 처리부20을 구비한다.

Description

아웃라인 폰트 정보에 의거한 문자 처리 방법 및 그 방법을 컴퓨터 시스템에 실행시키기 위한 컴퓨터 소프트 웨어 프로그램 제품{CHARACTER PROCESSING METHOD BASED ON OUTLINE FONT INFORMATION, AND COMPUTER SOFT-WARE PROGRAM PRODUCT FOR ALLOWING COMPUTER SYSTEM TO EXECUTE THE METHOD}
본 발명은, 다각형(多角形)으로 구성되는 문자 데이터에 있어서, 문자의 골격에 의거한 가공(加工) 및 장식(裝飾)을 하기 위한 아웃라인 폰트(outline font) 처리방법에 관한 것이다.
워드 프로세서(word processor)나 퍼스널 컴퓨터(personal computer)에서 이용되는 폰트(font)에는, 크게 나누어 비트맵 폰트(bit-map font)와 아웃라인 폰트가 있다. 이 중에서 아웃라인 폰트는 윤곽선(輪郭線)을 형성하여 상기 윤곽선으로 둘러 싸이는 영역을 전부 그림으로써 묘화(描畵)되기 때문에 문자의 크기를 변경시키거나 회전시키더라도 흐트러짐이 적은 고품질의 문자를 표시 혹은 인자(印字)시킬 수 있는 특징이 있다.
아웃라인 폰트를 나타내는 데이터(data)는 하드 디스크(hard disc)나 ROM에 아웃라인 폰트 사전(outline font dictionary)으로서 기억되어 있다. 그리고 하나의 문자를 묘화할 경우, 그 문자에 대응하는 아웃라인 폰트 데이터가 아웃라인 폰트 사전으로부터 판독(判讀)되어 소정의 처리가 이루어지고 난 후에 표시장치나 인자장치에 의하여 묘화된다.
그런데 이 아웃라인 폰트는 문자를 윤곽선으로 둘러싸서 표현하는 것이다. 이 때문에 아웃라인 폰트로 표현된 문자에 문자폭(文字幅)을 변경하거나 입체화하는 장식을 하는 것은 곤란하다는 문제가 있다.
즉 이 장식은 통상 골격 구조로 표현된 문자에 대하여 이루어진다. 도1(a)는 일본어 문자 「히라가나(hiragana)」의 발음기호 「a」에 상당하는 문자의 골격 구조를 나타내는 도면이다. 이러한 골격 구조에 대하여는 여러가지의 장식(裝飾)을 하는 것이 용이하다.
이에 대하여 이 문자의 아웃라인 폰트는 도1(b)에 나타나 있는 바와 같은 것으로서, 이 폰트는 예를 들면 도1(c)에 나타나 있는 바와 같이 복수의 다각형 모양의 순회 그래픽 패스(cyclic graphic path)1a∼1f로 구성되어 있다. 각 그래픽 패스는 복수의 연속하는 윤곽선(선분)으로 구성된다.
이러한 아웃라인 폰트에 장식을 할 경우, 각 다각형을 그 중심 방향으로 축소(縮小)하여 세선화(細線化)를 하는 방법이 있지만 이러한 방법으로 세선화를 하면 도1(d)에 나타나 있는 바와 같이 되어 도1(a)와 비교하면 알 수 있는 바와 같이 문자의 모양이 흐트러진다.
또한 비트맵 데이터(bit-map data)로 치환(置換)하여 세선화하는 방법도 있지만 이렇게 하면 비트맵화(bit-map化)를 실행할 때에 문자의 윤곽 정보가 변형되는 경우가 있고, 최종적으로 세선화를 하였을 경우에 양호한 결과가 얻어지지 않는 경우가 많이 있다.
본 발명은 이러한 사정을 고려하여 이루어진 것으로서, 아웃라인 폰트의 윤곽 정보에 의거하여 폰트를 적절하게 세선화할 수 있는 방법 및 컴퓨터 소프트 웨어 프로그램 제품을 제공하는 것에 있다.
또한 본 발명은 아웃라인 폰트에 여러가지의 장식 처리를 할 수 있는 방법 및 컴퓨터 소프트 웨어 프로그램 제품을 제공하는 것에 있다.
본 발명의 제1의 주요한 관점에 의하면, (a) 복수의 섹션(section)으로 분할되는 아웃라인 폰트의 윤곽선(輪郭線)의 데이터(data)를 저장하는 아웃라인 폰트 사전(outline font dictionary)으로부터 폰트 데이터(font data)를 판독(判讀)하는 스텝과, (b) 아웃라인 폰트의 윤곽선을 묘화(描畵)시키는 데이터에 의하여 구성되는 복수의 구성요소(element structure)를 판독된 상기 폰트 데이터에 의거하여 작성하고, 각 구성요소를 순차적으로 접속함으로써 다각형(多角形) 모양의 순회 그래픽 패스(cyclic graphic path)를 구축하는 스텝과, (c) 상기 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소가 다른 그래픽 패스를 구성하는 구성요소와 교차하는 가를 판단하고, 교차하는 경우에는 교차부분에 교점(交點)을 추가하고, 각 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소 상호간이 교차하지 않도록 이 교점에서 패스(path)를 교환하는 스텝과, (d) 하나의 다각형 모양의 그래픽 패스 내에, 이에 완전하게 포함되고 또한 동일한 순회 방향의 다른 다각형 모양의 그래픽 패스가 존재하는 가를 판단하고, 존재하는 경우에 당해 이외의 다각형 모양의 그래픽 패스를 소거(消去)하는 스텝과, (e) 상기 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소를 이 아웃라인 폰트의 문자폭(文字幅)에 의거하여 소정의 거리만큼 문자폭 방향으로 이동시키고, 이에 따라 상기 아웃라인 폰트의 문자폭을 제거하여 이루어지는 복수의 선분을 출력하는 스텝을 구비하는 아웃라인 폰트의 처리방법을 제공한다.
이러한 구성에 의하면 종래 다각형 골격에 관계되는 형상 변환(形狀 變換) 등 장식을 하는 것이 곤란하였던 아웃라인 폰트에 장식 처리를 하는 것이 가능하게 된다. 즉 본 발명에서는 우선, 복수의 다각형 순회 그래픽 패스 상호간의 교차와 겹치는 것을 제거한다. 여기에서 트루 타입 폰트(True Type Font) 등의 아웃라인 폰트는 몇 개의 다각형 순회 그래픽 패스로 둘러싸이는 다각형(polygon)으로 구성되어 있다. 다만 시계 방향과 반시계 방향의 2개의 다각형이 겹치는 영역은 묘화되지 않는 법칙을 가지고 있다. 본 발명에서는 이후의 세선화 처리 및 장식 처리를 용이하게 하기 위하여 다각형이 교차하는 부분을 제거하는 처리를 한다. 또한 아웃라인 폰트를 최소한의 요소로 표현하기 위하여 동일한 순회 방향을 가지는 다각형에서 다른 다각형의 내측에 있는 것을 제거한다.
계속하여 이렇게 처리된 아웃라인 폰트에 세선화 처리를 한다. 이 세선화 처리는, 본 발명의 하나의 실시태양에 의하면, 상기 다각형 모양의 그래픽 패스에 의거하여 아웃라인 폰트의 문자폭을 구하는 스텝과, 연속하는 각 선분을 상기 문자폭 방향으로 그 문자폭의 반 정도의 거리만큼 이동시키고, 그 경우의 각 선분의 교점을 상기 다각형 모양의 순회 그래픽 패스를 구성하는 새로운 점으로 하는 스텝과, 문자폭 방향으로 근접하는 2점의 좌표를 그 2점의 중점(中點)의 좌표로 치환(置換)함으로써 근접하는 2개 또는 그 이상의 선분을 1개의 선분으로 합성하는 스텝으로 이루어진다.
여기에서 아웃라인 폰트의 문자폭 산출 방법으로서는, 예를 들면 상기 문자폭을 구성하는 한 쌍의 선분에 대하여 일방(一方)의 선분으로부터 타방(他方)의 선분까지의 거리와 당해 일방의 선분의 길이의 값을 곱한 값을 모든 선분에 대하여 더하고, 모든 선분의 평균 길이로 나눔으로써 이루어진다.
이러한 처리에 의하여 아웃라인의 세선화가 이루어지면 연결되는 선분의 일람표(一覽表)를 구하기 위하여 복수의 다각형을 선분마다 분할하고, 겹치지 않은 선분의 일람표를 작성한다. 그리고 그 선분의 접속점에서 가장 경사의 차이가 적은 2개의 선분으로부터 순차적으로 열을 이어서 선분을 연결시킨다. 이렇게 함으로써 세선화된 선분 상호간이 매끄러운 모양으로 접속되고, 그 결과 문자의 쓰기 순서에 의거하는 골격 데이터를 얻을 수 있다.
그리고 이렇게 얻은 골격 데이터를 구성하는 선분의 열에 대하여, 예를 들면 선의 방향과 수직인 방향으로 3차원 구조를 정의함으로써 이 문자에 장식 처리를 할 수 있다.
또한 본 발명의 제2의 주요한 관점에 의하면, 컴퓨터 처리 시스템에 아웃라인 폰트를 처리하기 위한 컴퓨터 소프트 웨어 프로그램 제품으로서, 기억매체(記憶媒體)와, 상기 기억매체에 저장되고, 상기 컴퓨터 시스템에 복수의 섹션으로 분할되는 아웃라인 폰트의 윤곽선 데이터를 저장하는 아웃라인 폰트 사전으로부터 폰트 데이터를 판독하는 처리를 하는 폰트 데이터 판독명령과, 상기 기억매체에 저장되고, 상기 컴퓨터 시스템에 아웃라인 폰트의 윤곽선을 묘화시키는 데이터에 의하여 구성되는 복수의 구성요소를 판독된 상기 폰트 데이터에 의거하여 작성하고, 각 구성요소를 순차적으로 접속함으로써 다각형 모양의 순회 그래픽 패스를 구축하는 처리를 하는 패스 구축명령과, 상기 기억매체에 저장되고, 상기 컴퓨터 시스템에 상기 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소가 다른 그래픽 패스를 구성하는 구성요소와 교차하는 가를 판단하고, 교차하는 경우에는 교차부분에 교점을 추가하고, 각 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소 상호간이 교차하지 않도록 이 교점에서 패스를 교환하는 처리를 하는 패스 교환명령과, 상기 기억매체에 저장되고, 상기 컴퓨터 시스템에 하나의 다각형 모양의 그래픽 패스에 완전하게 포함되는 동일한 순회 방향의 다른 다각형 모양의 그래픽 패스가 존재하는 가를 판단하고, 존재하는 경우에 당해 이 외의 다각형 모양의 그래픽 패스를 소거하는 처리를 하는 다각형 모양의 순회 그래픽 패스 소거명령과, 상기 기억매체에 저장되고, 상기 컴퓨터 시스템에 상기 다각형 모양의 순회 그래픽 패스로 구성되는 문자에 있어서, 그 문자폭에 의거하여 문자폭 방향과 대향(對向)하는 선분을 서로 근접시키는 처리를 함으로써 상기 문자를 문자폭을 제거한 복수의 선분으로서 출력하는 처리를 하는 세선화 처리명령을 구비하는 컴퓨터 소프트 웨어 프로그램 제품이 제공된다.
이러한 구성에 의하면 상기에서 상세하게 설명한 아웃라인 처리를 컴퓨터 시스템으로 실행시킬 수 있다.
또 본 발명의 그 이외의 특징과 그 작용 및 효과는 다음의 발명의 실시예 및 첨부한 도면을 참조함으로써 당업자라면 명확하게 이해할 수 있다.
도1의 (a)∼(d)는 일반적인 아웃라인 폰트의 예를 나타내는 도면이다.
도2는 본 발명의 하나의 실시예로 취급하는 아웃라인 폰트의 예를 나타내는 도면이다.
도3은 본 발명의 하나의 실시예의 시스템(system) 구성을 나타내는 도면이다.
도4는 아웃라인 폰트의 윤곽 처리를 하는 공정을 나타내는 플로우 챠 트(flow chart)이다.
도5는 아웃라인 폰트의 윤곽 처리를 하는 공정을 설명하기 위한 도면이다.
도6은 그래픽 패스 사이의 패스의 교환을 설명하기 위한 도면이다.
도7은 윤곽 처리된 후의 아웃라인 폰트의 그래픽 데이터를 나타내는 도면이다.
도8은 아웃라인 폰트의 문자폭(文字幅)의 취득 공정을 나타내는 플로우 챠트이다.
도9는 문자폭 측정의 예를 나타내는 도면이다.
도10은 취득한 문자폭의 예를 나타내는 도면이다.
도11은 아웃라인 폰트의 윤곽선으로 둘러 싸인 영역을 축소시켜 세선화 처리를 하는 공정을 나타내는 플로우 챠트이다.
도12는 영역이 축소될 경우의 선분 접속에 관한 플로우 챠트이다.
도13은 영역이 축소된 후의 아웃라인 폰트의 도면이다.
도14는 세선화 처리를 한 후의 아웃라인 폰트의 도면이다.
도15는 세선화 처리를 한 후에 선분 상호간을 접속시키기 위한 공정을 설명하기 위한 플로우 챠트이다.
도16은 선분 상호간을 접속시키기 위한 공정을 설명하는 도면이다.
도17은 선분 상호간의 접속 결과를 나타내는 모식도이다.
도18은 장식 처리의 예를 나타내는 도면이다.
도19는 다른 언어의 아웃라인 폰트에 동일한 처리를 한 결과의 예를 나타내는 도면이다.
이하, 실시예를 이용하여 본 발명의 실시예를 도면에 의거하여 설명한다.
도2는 일본어 문자의 「히라가나(hiragana)」 중에서 발음기호 「a」에 상당하는 발음문자(發音文字)의 아웃라인 폰트(outline font)를 나타내는 도면이다. 이 아웃라인 폰트는 부호1a∼1f로 참조되는 6개의 다각형(多角形) 모양의 순회 그래픽 패스(cyclic graphic path)로 구성되어 있다. 이하, 이 순회 그래픽 패스를 설명의 간략화를 위하여 간단하게 「다각형」이라고 한다.
상기 다각형1a∼1f 중에서 1a∼1e는 폰트(font)의 묘화 영역(描畵 領域)을 나타내고, 다각형1f는 그 묘화 영역을 반전(反轉)시키는 제거 영역(除去 領域)을 나타낸다. 각 다각형1a∼1f는, 다각형1b를 예로 들어 나타나 있는 바와 같이 시점(始點) 및 종점(終點)을 구비하는 선분(구성요소(element structure))으로 구성되는 윤곽선(輪郭線)2a∼2d가 소정의 영역을 둘러 싸도록 일정한 순회 방향을 따라 연결되어 구성되어 있다. 여기에서 각 윤곽선(선분)2a∼2d에 붙여져 있는 화살표는 그 순회 방향(巡廻 方向)(시계 방향 또는 반시계 방향)을 나타내고 있다. 또한 묘화 영역과 제거 영역의 차이는, 상기 다각형을 구성하는 구성요소의 순회 방향이 시계 방향인가 반시계 방향으로 구성되어 있는 가에 의하여 판별된다.
도3은 상기한 아웃라인 폰트에 장식 처리(裝飾 處理)를 하기 위한 시스템(system)4를 나타내는 개략적인 구성도이다.
이 시스템4는, CPU5, RAM6, 출력 디바이스(output device)7 및 입력 디바이스(input device)8이 접속되는 버스(bus)9에 프로그램 저장부(program storage unit)10 및 데이터 저장부(data storage unit)11이 접속되어 이루어진다.
데이터 저장부11에는, 본 발명에 관계된 것만을 설명하면 아웃라인 폰트 사전(outline font dictionary)12 및 문자 장식용 데이터(character special effect data)13이 저장되어 있다.
프로그램 저장부10에는, OS/메인 프로그램15 이외에 폰트 데이터 판독부(font data read unit)16, 패스 구축부(path constructing unit)17, 패스 교환부(path exchanging unit)18, 다각형 포함 패스 소거부(inclusion polygonal path erasing unit)19, 세선화 처리부(細線化 處理部 : thinning unit)20, 선분 연속성 판단부21, 선분 연결부22 및 문자 장식 출력부23이 저장되어 있다.
이들 각 구성요소12∼23은, 실제로는 컴퓨터 시스템 및 이 컴퓨터 시스템에 설치되는 하드 디스크(hard disc)나 반도체 메모리(semiconductor memory) 등의 기억매체(記憶媒體)에 확보된 일정 영역 및 그 영역에 인스톨(install)된 컴퓨터 소프트 웨어 프로그램으로 구성되어 있다. 그리고 이들은 상기 CPU5에 의하여 상기 RAM6 상에 적절하게 호출되어 실행됨으로써 본 발명의 기능을 발휘하도록 되어 있다.
이하, 상기 각 구성요소12∼23의 상세한 기능에 관하여 그 동작과 함께 설명한다.
우선, 주로 도4의 플로우 챠트(flow chart)를 참조하여 상기 폰트 데이터 판독부16, 패스 구축부17, 패스 교환부18 및 내포 다각형 패스 소거부19에 의한 윤곽선 처리 기능에 관하여 설명한다.
상기 폰트 데이터 판독부16은 상기 아웃라인 폰트 사전12로부터 원하는 아웃라인 폰트 데이터를 판독(判讀)하는 기능을 구비한다. 이 아웃라인 폰트 사전12는 아웃라인 폰트의 윤곽선을 선분이나 곡선으로 이루어지는 복수의 섹션(section)으로 분할하여 각 섹션의 윤곽선을 아웃라인 폰트 사전에 미리 설정된 사전 좌표계(辭典 座標系) 상에 순차적으로 묘화(描畵)하여 윤곽선을 형성하는 것을 상정하여 작성된 것이다.
상기 패스 구축부17은 처리대상으로서 지정된 문자에 대한 아웃라인 폰트 데이터를 호출하도록 상기 폰트 데이터 판독부16에 명령을 한다. 그리고 이 패스 구축부17은 판독된 데이터에 의거하여 각 윤곽선(구성요소)을 RAM 영역 상에 구축하고(도4의 스텝A1), 이들 윤곽선을 순차적으로 접속하여 다각형(다각형 모양의 순회 그래픽 패스)을 구축한다(스텝A2). 이렇게 함으로써 RAM 영역에는, 도2에 나타나 있는 바와 같은 그래픽 데이터(graphic data)가 구축된다.
이 도2에 나타나 있는 그래픽 데이터에서는, 예를 들면 이 도면에 원25로 표시되어 있는 바와 같이 각 다각형을 구성하는 윤곽선 상호간이 서로 교차(交差)하고 있다. 상기 패스 교환부18은 도3의 그래픽 데이터로부터 이러한 교차를 제거하도록 도4의 스텝A3 이하에서 그래픽 패스의 교환처리를 한다.
우선, 상기 패스 교환부18은 교차부분을 찾아내기 위하여 다각형으로부터 선분을 판독하는 처리(스텝A3)를 한다. 계속하여 판독한 선분이 다른 선분과 교차하는 가를 판단하고(스텝A4), 혹시 교차하는 경우에는 그 교차부분에 교점(交點)을 추가하여 경로(經路)를 교환하는 처리(스텝A5)를 한다. 이러한 처리에 관하여 도5(a)∼5(d) 및 도6을 참조하여 설명한다.
우선, 도5(a)에 나타나 있는 바와 같은 각 선분으로 구성되는 그래픽 패스가 있는 경우, 처음에 각 선분의 교점을 찾아내고, 도5(b)에 나타나 있는 바와 같이 상기 각 그래픽 패스 상의 각 교점의 위치에 새로운 점을 삽입한다. 이 상태에서는, 선분의 연속 방향은 도면에 파선의 화살표로 나타나 있는 바와 같이 서로 교차하고 있다.
이어서 패스 교환부18은 선분의 연속 방향이 서로 교차하지 않도록 상기 새롭게 삽입한 점에서 그래픽 패스 사이의 패스를 교환한다. 이렇게 함으로써 도5(c)에 나타나 있는 바와 같이 선분 상호간이 교차하는 것을 제거할 수 있다. 이 순서에 관하여 도6(a) 및 도6(b)을 참조하여 간단하게 설명한다.
도6(a)는 패스를 교환하기 전의 상태, 도6(b)는 패스를 교환한 후의 상태를 각각 나타내는 도면이다. 상기 교차부분에 추가된 점을 각각 점B, 점E라고 하면 패스를 교환하기 전은, 각 패스는 점A→점B→점C, 점D→점E→점F의 순서로 연속하고, 점B 및 점E에서 교차한다. 이에 대하여 상기 패스 교환부18은 이들 점B 및 점E에서 패스를 교환하여 도6(b)에 나타나 있는 바와 같이 점A→점B→점F, 점D→점E→점C의 순서로 연속시켜 패스의 교차를 제거한다.
계속하여 상기 패스 교환부18은, 상기한 처리가 모든 요소에 대하여 이루어졌는 가를 판단하고(스텝A6), 이루어지지 않았을 경우에는 다른 선분을 판독하여 스텝A4로 되돌아 가서 처리를 계속한다(스텝A7).
계속하여 내포 다각형 패스 소거부19가 하나의 다각형의 내측에 포함되어 있는 불필요한 다각형을 소거(消去)하는 처리를 한다. 구체적으로는 우선, 상기 각 다각형의 순회 방향을 알아낸다(스텝A8). 이어서 순회 방향이 동일한 2개의 다각형에 대하여, 그 일방(一方)이 타방(他方)의 내측에 완전하게 포함되는 가를 판단한다(스텝A9). 도5(c)의 예에서는, 이러한 다각형이 존재한다. 이 경우에는, 도5(d)에 나타나 있는 바와 같이 이 내측에 있는 다각형을 삭제한다(스텝A10). 이러한 처리를 모든 요소에 대하여 하였는 가를 판단하고(스텝A11), 다른 다각형을 판독하여 스텝A8로 되돌아 가서 처리를 계속한다(스텝A12). 이렇게 불필요한 다각형이 제거된 영역의 예를 도7에 나타내었다. 도2(a)와 비교하면 윤곽선 부분만이 그려져 있다는 것을 알 수 있다.
다음에 상기 세선화 처리부20에 의한 세선화 처리에 관하여 설명한다. 상기 세선화 처리부20은, 도3에 나타나 있는 바와 같이 아웃라인 폰트의 문자폭(文字幅)을 산출하는 문자폭 산출부(文字幅 算出部)27과, 산출한 문자폭에 의거하여 선분을 이동시키는 선분 이동부28과, 이동시킨 선분을 하나의 선분으로 합성하는 선분 합성부29를 구비한다. 우선, 상기 문자폭 산출부27에 의한 문자폭을 산출하는 동작에 관하여 주로 도8의 플로우 챠트를 참조하여 설명한다.
이 실시예에서는, 윤곽선의 수직 방향으로 측정하였을 경우에 가장 빈도(頻度)가 높은 길이를 문자의 폭으로 한다. 즉 문자폭을 구하는 것에 있어서는 우선, 도9에 나타나 있는 바와 같이 선분에 대하여 수직 이등분선이 영역의 내부를 통과하여 영역을 빠져 나갈 때까지의 길이를 구한다. 문자의 폭에는 지나치게 큰 값이 들어 가는 경우가 있기 때문에 구하는 길이의 상한치(上限値)를 정하고, 그 이상의 값은 계산의 대상에 포함시키지 않는다. 측정 위치에 따라 측정한 폭이 불균일하기 때문에 이를 방지하기 위하여 폭의 평균을 구할 때에 선분의 길이를 곱하는 가중평균(加重平均)을 계산 상의 문자의 폭으로 한다. 이러한 가중평균을 구하기 위하여 선분의 변수L과 승수(乘數)의 변수M을 준비하는 것이 바람직하다.
구체적으로는, 상기 문자폭 산출부27은 도7에 나타나 있는 그래픽 패스 데이터를 판독한다(도8의 스텝B1). 이 그래픽 패스를 구성하는 각 선분에 대하여, 도9에 나타나 있는 바와 같이 이 선분의 수직 이등분선을 생 각하고, 영역의 내부를 통과하여 교차점(交叉點)까지의 길이를 계산한다(스텝B2). 이 길이가 역치(??値 : threshold)보다 긴 경우에는 스텝B4와 스텝B5를 무시하고(스텝B3), 역치 안에 들어가는 경우에는 선분의 길이를 선분의 변수L에 더하고(스텝B4), 수직선의 길이와 선분의 길이를 곱한 값을 승수의 변수M에 더한다(스텝B5). 이 처리를 모든 요소에서 하였는 가를 판단하고(스텝B6), 다른 선을 판독하여 스텝B2로 되돌아 가서 처리를 계속한다(스텝B7). 모든 계산이 끝난 후에 승수의 변수를 선분의 변수로 나누면 가중 평균(加重 平均)을 구할 수 있고(스텝B8), 계산식으로서는 M÷L = ((선분의 길이×수직선의 길이)의 합계치)÷(선분의 길이의 합계치) = 문자의 가중 평균폭(加重 平均幅)이 된다.
이 계산에 의한 구체적인 예를 도10에 나타내었다. 이 문자의 폭은 다각형마다 다르기 때문에 다각형마다 문자의 폭을 기록한다. 다만, 제거 영역(영역B, C)은 그 주위의 묘화 영역과 같은 값을 갖는 것으로 하여 계산을 생략하였다.
계속하여 상기 선분 이동부28에 의한 선분의 이동에 관하여 주로 도11의 플로우 챠트를 참조하여 설명한다. 우선, 이 처리에서는 상기에서 구축한 윤곽선의 정보를 가공하여 변경하기 때문에 상기 윤곽선을 구성하는 선분의 정보를 메모리(memory)의 소정의 영역에 복사한다(스텝C1). 이어서 다각형마다 문자폭 취득 처리에 의한 문자폭을 판독한다(스텝C2). 그리고 이 문자폭을 구성하는 서로 대향(對向)하는 선분 및 점을 특정(特定)한다.
다음에 상기 선분 이동부28은 판독한 문자폭의 반 정도의 크기만 영역의 내측으로 상기 각 선분을 이동시킨다(스텝C3). 이렇게 함으로써 도12에 나타나 있는 바와 같이 이웃하는 선분 사이에는 새로운 교점K가 발생하므로 이 교점K의 좌표를 계산하고(스텝C4), 이 교점K를 원래의 시점 또는 종점에 대입한다(스텝C6). 이렇게 함으로써 이웃하는 선분은 이 교점에서 연속하는 그래픽 패스를 구성하게 된다.
이상의 처리를 모든 점에 한 후, 다른 다각형에 관하여도 동일한 처리를 한다(스텝C6, C7). 이렇게 함으로써 도13에 나타나 있는 바와 같이 모든 다각형이 균일하게 수축(收縮)되어 이루어지는 그래픽 데이터를 얻을 수 있다.
이 상태에서 대략 세선화(細線化)에 가까운 결과를 얻을 수 있지만 상기 선분 합성부29가 더 근접하는 점 및 선분을 합성하여 도14에 나타나 있는 세선화 데이터를 얻는다. 이 합성처리는, 예를 들면 근접하는 2개의 점을 그 중간의 좌표로 이동시키는 처리에 의하여 실행된다.
이렇게 하여 얻은 세선화 데이터에서는, 선분의 연속성을 나타내는 데이터가 문자의 쓰기 순서를 따르고 있다고는 할 수 없다. 이 때문에 이 실시예에서는 선분 연속성 판단부21 및 선분 연결부22가 선분의 연속성을 나타내는 데이터를 문자의 쓰기 순서에 따르도록 갱신(更新)한다.
이 때문에 우선, 상기 선분 연속성 판단부21은 다각형으로 구성되어 있는 선분을 각각 분할하고, 선분의 일람표(一覽表)를 작성한다(도15의 스 텝Dl). 그리고 서로 겹치는 선분이 있는 가를 판단하고(스텝D3), 겹치는 선분이 있는 경우에는 그 중 일방의 선분을 삭제한다(스텝D4). 이 처리가 모든 요소에 대하여 실행되었는 가를 판단하고(스텝D5), 실행되지 않은 경우에는 스텝D3으로 되돌아 가서(스텝D6) 동일한 처리를 한다.
다음에 겹치는 것을 제거한 선분의 일람표로부터 2개 이상의 점이 겹치는 좌표를 찾는다(스텝D7). 이 좌표가 접속점(接續點)이고, 이 좌표에 연결되는 선분을 찾는다(스텝D8). 이어서 각 접속점에 연결되는 선분 중에서 가장 경사(傾斜) 차이가 적게 접속하는 2개의 선분을 특정하여 연속하도록 연결한다(스텝D9). 도16에 원으로 표시한 부분과 같이 3개 이상의 선분이 접속하는 점에 있어서는, 이 처리에 의하여 쓰기 순서에 따른 선분 상호간이 연결된다. 그리고 모든 접속점 및 모든 선분에 대하여 상기한 처리를 하면(스텝D11), 도17에 나타나 있는 바와 같이 쓰기 순서에 의거한 연결 처리가 완료된다(스텝D12). 이렇게 함으로써 장식 처리(裝飾 處理)를 하는 것이 가능한 문자의 골격 구조를 얻을 수 있다.
다음에 문자 장식 출력부23이 상기에서 얻은 골격 구조에 의거하여 장식 처리를 한다. 이 경우에 구한 선분의 열(列)에 상기 문자 장식 데이터13(도3)에 저장된 소정의 형식으로 장식을 한다. 도18(a)는 원기둥 모양의 외관을 부여한 상태를 나타내는 도면이다. 이 이외에 선분의 열의 종점이나 선분의 열의 연결에 대한 각도 등의 조건을 부가함으로써 여러 가지의 입체 표현을 할 수 있다. 이렇게 하여 외형을 구성한 입체에 대 하여 도18(b)에 나타나 있는 바와 같이 텍스처(texture) 처리를 함에 따라 문자의 골격에 의거한 장식이 이루어진다.
상기 문자 장식 데이터13으로서는 문자 장식에 필요한 여러가지 패턴(pattern)이 저장되어 있는 것이 바람직하다. 예를 들면 선분의 열의 종점이나 선분의 열의 연결 각도의 변형에 관한 조건, 투영(投影) 조건, 원기둥이나 각기둥 등의 3차원 형식, 텍스처나 화상(畵像) 등이 미리 패턴화되고 정의되어 저장되어 있다.
도19(a), 19(b) 및 19(c)는 각각 영어, 아라비아어 및 한국어의 아웃라인 폰트에 동일한 처리를 한 예이다. 본 발명은 이와 같이 언어를 막론하고, 쓰기 순서에 의거한 문자 골격을 얻을 수 있고, 이에 대하여 적당한 장식 처리를 할 수 있다.
상기 문자장식 출력부23은 이와 같이 하여 문자 장식을 한 데이터를 구조 데이터로서 출력할 뿐만 아니라 비트맵 데이터(bit map data)로 변환하여 출력하는 것이 바람직하다. 이렇게 함으로써 그대로 화상 데이터로서 방송에서의 텔롭(telop) 등 여러가지 장면에서 이용하는 것이 가능하다.
또 본 발명은 상기 하나의 실시예에 한정되나 것이 아니라 발명의 요지를 변경하지 않는 범위에서 여러 가지로 변형할 수 있다.
예를 들면 상기 하나의 실시예에서는 세선화를 도모하기 위하여 문자폭을 구하였지만 세선화를 도모하는 방법은 이에 한정되지는 않는다. 예를 들면 문자폭을 구하지 않고 이 문자폭을 규정하는 한 쌍의 선분을 서로 일정한 거리마다 서로 가까이 하는 방향으로 이동시키는 방법이더라도 좋다.

Claims (12)

  1. 아웃라인 폰트(outline font)의 처리방법으로서,
    (a) 복수의 섹션(section)으로 분할되는 아웃라인 폰트의 윤곽선(輪郭線)의 데이터(data)를 저장하는 아웃라인 폰트 사전(outline font dictionary)으로부터 폰트 데이터(font data)를 판독(判讀)하는 스텝과,
    (b) 아웃라인 폰트의 윤곽선을 묘화(描畵)시키는 데이터에 의하여 구성되는 복수의 구성요소(element structure)를 판독된 상기 폰트 데이터에 의거하여 작성하고, 각 구성요소를 순차적으로 접속함으로써 다각형(多角形) 모양의 순회 그래픽 패스(cyclic graphic path)를 구축하는 스텝과,
    (c) 상기 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소가 다른 그래픽 패스를 구성하는 구성요소와 교차하는 가를 판단하고, 교차하는 경우에는 교차부분에 교점(交點)을 추가하고, 각 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소 상호간이 교차하지 않도록 이 교점에서 패스(path)를 교환하는 스텝과,
    (d) 하나의 다각형 모양의 그래픽 패스 내에, 이에 완전하게 포함되고 또한 동일한 순회 방향의 다른 다각형 모양의 그래픽 패스가 존재하는 가를 판단하고, 존재하는 경우에 당해 이외의 다각형 모양의 그래픽 패스를 소거(消去)하는 스텝과,
    (e) 상기 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소를 이 아웃라인 폰트의 문자폭(文字幅)에 의거하여 소정의 거리만큼 문자폭 방향으로 이동시키고, 이에 따라 상기 아웃라인 폰트의 문자폭을 제거하여 이루어지는 복수의 선분을 출력하는 스텝
    을 구비하는 것을 특징으로 하는 아웃라인 폰트의 처리방법.
  2. 제1항에 있어서,
    상기 (e) 스텝은,
    (e-1) 상기 다각형 모양의 그래픽 패스에 의거하여 아웃라인 폰트의 문자폭을 구하는 스텝과,
    (e-2) 연속하는 각 선분을 상기 문자폭 방향으로 그 문자폭의 반 정도의 거리만큼 이동시키고, 그 경우의 각 선분의 교점을 상기 다각형 모양의 순회 그래픽 패스를 구성하는 새로운 점으로 하는 스텝과,
    (e-3) 문자폭 방향으로 근접하는 2점의 좌표를 그 2점의 중점(中點)의 좌표로 치환(置換)함으로써 근접하는 2개 또는 그 이상의 선분을 1개의 선분으로 합성하는 스텝
    을 구비하는 것을 특징으로 하는 아웃라인 폰트의 처리방법.
  3. 제2항에 있어서,
    상기 (e-1) 스텝은,
    상기 문자폭을 구성하는 한 쌍의 선분에 대하여 일방(一方)의 선분으로부터 타방(他方)의 선분까지의 거리와 당해 일방의 선분의 길이의 값을 곱한 값을 모든 선분에 대하여 더하고, 모든 선분의 평균 길이로 나눔으로써 당해 문자의 평균 문자폭을 산출하는 것을 특징으로 하는 아웃라인 폰트의 처리방법.
  4. 제2항에 있어서,
    (f) 상기 세선화(細線化) 처리 스텝에서 출력되는 각 선분이 서로 연속하는 가를 찾아내는 스텝을 더 구비하는 것을 특징으로 하는 아웃라인 폰트의 처리방법.
  5. 제4항에 있어서,
    상기 (f) 스텝은, 상기 다각형 모양의 순회 그래픽 패스를 선분마다 분할하고,
    그 선분의 접속점에서 가장 경사(傾斜)의 차이가 적은 2개의 선분으로부터 순차적으로 열(列)을 이어서 선분을 연결시키는 스텝을 구비하는 것을 특징으로 하는 아웃라인 폰트의 처리방법.
  6. 제1항에 있어서,
    (g) 상기 세선화 처리된 선분을 구비하는 문자에 장식 처리(裝飾 處理)를 하는 스텝을 더 구비하는 것을 특징으로 하는 아웃라인 폰트의 처리방법.
  7. 컴퓨터 처리 시스템에 아웃라인 폰트를 처리하기 위하여 컴퓨터로 읽을 수 있는 기록매체로서,
    상기 컴퓨터 시스템에 복수의 섹션으로 분할되는 아웃라인 폰트의 윤곽선 데이터를 저장하는 아웃라인 폰트 사전으로부터 폰트 데이터를 판독하는 처리를 하는 폰트 데이터 판독명령과,
    상기 컴퓨터 시스템에 아웃라인 폰트의 윤곽선을 묘화시키는 데이터에 의하여 구성되는 복수의 구성요소를 판독된 상기 폰트 데이터에 의거하여 작성하고, 각 구성요소를 순차적으로 접속함으로써 다각형 모양의 순회 그래픽 패스를 구축하는 처리를 하는 패스 구축명령과,
    상기 컴퓨터 시스템에 상기 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소가 다른 그래픽 패스를 구성하는 구성요소와 교차하는가를 판단하고, 교차하는 경우에는 교차부분에 교점을 추가하고, 각 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소 상호간이 교차하지 않도록 이 교점에서 패스를 교환하는 처리를 하는 패스 교환명령과,
    상기 컴퓨터 시스템에 하나의 다각형 모양의 그래픽 패스에 완전하게 포함되는 동일한 순회 방향의 다른 다각형 모양의 그래픽 패스가 존재하는가를 판단하고, 존재하는 경우에 당해 이외의 다각형 모양의 그래픽 패스를 소거하는 처리를 하는 다각형 모양의 순회 그래픽 패스 소거명령과,
    상기 컴퓨터 시스템에 상기 다각형 모양의 순회 그래픽 패스로 구성되는 문자에 있어서, 그 문자폭에 의거하여 문자폭 방향과 대향(對向)하는 선분을 서로 근접시키는 처리를 함으로써 상기 문자를 문자폭을 제거한 복수의 선분으로서 출력하는 처리를 하는 세선화 처리명령
    을 기록한 컴퓨터로 읽을 수 있는 기록매체(記錄媒體).
  8. 제7항에 있어서,
    상기 세선화 처리명령은,
    상기 다각형 모양의 그래픽 패스에 의거하여 아웃라인 폰트의 문자폭을 구하기 위한 문자폭 산출명령과,
    연속하는 각 선분을 상기 문자폭 방향으로 그 문자폭의 반 정도의 거리만큼 이동시키고, 그 경우의 각 선분의 교점을 상기 다각형 모양의 순회 그래픽 패스를 구성하는 새로운 점으로 하기 위한 선분 이동명령과,
    문자폭 방향에 근접하는 2점의 좌표를 그 2점의 중점의 좌표로 치환함으로써 근접하는 2개 또는 그 이상의 선분을 1개의 선분으로 합성하기 위한 선분 합성명령
    을 구비하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  9. 제8항에 있어서,
    문자폭 산출명령은,
    상기 문자폭을 구성하는 한 쌍의 선분에 대하여 일방의 선분으로부터 타방의 선분까지의 거리와 당해 일방의 선분의 길이의 값을 곱한 값을 모든 선분에 대하여 더하고, 모든 선분의 평균 길이로 나눔으로써 당해 문자의 평균 문자폭을 산출하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  10. 제8항에 있어서,
    세선화 처리 스텝에서 출력되는 각 선분이 서로 연속하는가를 찾아내기 위한 선분 연속성 판단명령을 더 기록한 컴퓨터로 읽을 수 있는 기록매체.
  11. 제10항에 있어서,
    상기 선분 연속성 판단명령은, 상기 다각형 모양의 순회 그래픽 패스를 선분마다 분할하고, 겹치지 않은 선분을 추출(抽出)하고, 그 선분의 접속점(接續點)에서 가장 경사의 차이가 적은 2개의 선분으로부터 순차적으로 열을 이어서 선분을 연결시키기 위한 선분 연결명령을 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
  12. 제7항에 있어서,
    상기 컴퓨터 시스템에 세선화 처리된 선분을 구비하는 문자에 장식 처리를 하는 장식 처리명령을 더 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020027015213A 2001-03-23 2002-03-22 아웃라인 폰트 정보에 의거한 문자 처리 방법 및 그방법을 컴퓨터 시스템에 실행시키기 위한 컴퓨터소프트 웨어 프로그램 제품 KR100871825B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020027015213A KR100871825B1 (ko) 2001-03-23 2002-03-22 아웃라인 폰트 정보에 의거한 문자 처리 방법 및 그방법을 컴퓨터 시스템에 실행시키기 위한 컴퓨터소프트 웨어 프로그램 제품

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2001-00130346 2001-03-23
JPJP-P-2001-00364188 2001-11-29
KR1020027015213A KR100871825B1 (ko) 2001-03-23 2002-03-22 아웃라인 폰트 정보에 의거한 문자 처리 방법 및 그방법을 컴퓨터 시스템에 실행시키기 위한 컴퓨터소프트 웨어 프로그램 제품

Publications (2)

Publication Number Publication Date
KR20020095262A KR20020095262A (ko) 2002-12-20
KR100871825B1 true KR100871825B1 (ko) 2008-12-03

Family

ID=39004517

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027015213A KR100871825B1 (ko) 2001-03-23 2002-03-22 아웃라인 폰트 정보에 의거한 문자 처리 방법 및 그방법을 컴퓨터 시스템에 실행시키기 위한 컴퓨터소프트 웨어 프로그램 제품

Country Status (1)

Country Link
KR (1) KR100871825B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100569670B1 (ko) * 2004-11-02 2006-04-10 (주)사나이시스템 중첩 점, 중첩 선분을 갖는 다각형의 데이터 처리 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02244390A (ja) * 1989-03-17 1990-09-28 Toppan Printing Co Ltd ストローク抽出装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02244390A (ja) * 1989-03-17 1990-09-28 Toppan Printing Co Ltd ストローク抽出装置

Also Published As

Publication number Publication date
KR20020095262A (ko) 2002-12-20

Similar Documents

Publication Publication Date Title
JP3400151B2 (ja) 文字列領域抽出装置および方法
US6661417B1 (en) System and method for converting an outline font into a glyph-based font
JP2608571B2 (ja) 入力走査画像データのベクトル化のための装置及び方法
JPH05127654A (ja) 文字図形変形処理装置
JPH05174140A (ja) 画像処理方法及び装置
JPH07282276A (ja) グラフィックデータ生成装置とその方法
US7239318B2 (en) Method and computer software program product for processing characters based on outline font
JP3316758B2 (ja) モルフィング処理装置、記憶媒体、および動画作成装置
US5920324A (en) Character pattern producing apparatus capable of producing character pattern having connected character elements
KR100871825B1 (ko) 아웃라인 폰트 정보에 의거한 문자 처리 방법 및 그방법을 컴퓨터 시스템에 실행시키기 위한 컴퓨터소프트 웨어 프로그램 제품
KR910001525B1 (ko) 곡선 근사방법
JP3490703B2 (ja) アウトラインフォント情報に基づく文字処理方法及びその方法をコンピュータシステムに実行させるためのコンピュータプログラムを記録したコンピュータ読取り可能な記録媒体
EP0464794A2 (en) Painting pattern generation system and pattern painting method using the system
JPH0277889A (ja) 図形塗りつぶし方式
JP3034140B2 (ja) 文字生成方法及びその装置
JP2009122998A (ja) ソリッド/サーフェースモデルから外形線を抽出する方法及びコンピュータソフトウエアプログラム
JPH1049688A (ja) 画像データの部分消去および部分検出方法
JP4325812B2 (ja) ベクター画像描画回路およびベクター画像描画方法
JP2003099770A (ja) データ変換装置およびその方法、並びに当該方法を用いたプログラム
JP3657725B2 (ja) 線図形画像処理方法
JP2538631B2 (ja) ベクトル文字の処理方法
JPH0736433A (ja) 文字データベース作成装置
JPH07262385A (ja) アウトラインデータ生成装置
TWI231443B (en) Method and computer software program product for processing characters based on outline font
JPS62211691A (ja) 文字合成方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee