KR100871825B1 - Character processing method based on outline font information, and computer software program product for allowing computer system to execute the method - Google Patents

Character processing method based on outline font information, and computer software program product for allowing computer system to execute the method 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
Korean (ko)
Other versions
KR20020095262A (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 KR1020027015213A priority Critical patent/KR100871825B1/en
Publication of KR20020095262A publication Critical patent/KR20020095262A/en
Application granted granted Critical
Publication of KR100871825B1 publication Critical patent/KR100871825B1/en

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을 구비한다.The present invention provides a method capable of appropriately thinning fonts based on outline information of outline fonts, and a variety of decorative processes. Determines whether the components constituting the traversal graphic path of the polygonal shape of the outline font intersect with the components constituting the other graphic paths, and if they intersect, adds an intersection at the intersection and exchanges paths at this intersection. A path eraser 18, a path eraser 19 which is completely contained in one polygonal graphics path and erases another polygonal graphics path in the same traversal direction, and a component constituting the polygonal graphics path. A thinning processing unit 20 for thinning the outline font by removing the character width of the character line is provided.

Description

아웃라인 폰트 정보에 의거한 문자 처리 방법 및 그 방법을 컴퓨터 시스템에 실행시키기 위한 컴퓨터 소프트 웨어 프로그램 제품{CHARACTER PROCESSING METHOD BASED ON OUTLINE FONT INFORMATION, AND COMPUTER SOFT-WARE PROGRAM PRODUCT FOR ALLOWING COMPUTER SYSTEM TO EXECUTE THE METHOD} CHARACTER PROCESSING METHOD BASED ON OUTLINE FONT INFORMATION, AND COMPUTER SOFT-WARE PROGRAM PRODUCT FOR ALLOWING COMPUTER SYSTEM TO EXECUTE THE METHOD }             

본 발명은, 다각형(多角形)으로 구성되는 문자 데이터에 있어서, 문자의 골격에 의거한 가공(加工) 및 장식(裝飾)을 하기 위한 아웃라인 폰트(outline font) 처리방법에 관한 것이다.
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an outline font processing method for processing and decorating based on a skeleton of a character in character data composed of polygons.

워드 프로세서(word processor)나 퍼스널 컴퓨터(personal computer)에서 이용되는 폰트(font)에는, 크게 나누어 비트맵 폰트(bit-map font)와 아웃라인 폰트가 있다. 이 중에서 아웃라인 폰트는 윤곽선(輪郭線)을 형성하여 상기 윤곽선으로 둘러 싸이는 영역을 전부 그림으로써 묘화(描畵)되기 때문에 문자의 크기를 변경시키거나 회전시키더라도 흐트러짐이 적은 고품질의 문자를 표시 혹은 인자(印字)시킬 수 있는 특징이 있다.Fonts used in word processors and personal computers are roughly divided into bit-map fonts and outline fonts. Among them, the outline font forms outlines and draws all the areas enclosed by the outlines to display high-quality characters with little blurring even if the size of the characters is changed or rotated. Or there is a feature that can be printed (印字).

아웃라인 폰트를 나타내는 데이터(data)는 하드 디스크(hard disc)나 ROM에 아웃라인 폰트 사전(outline font dictionary)으로서 기억되어 있다. 그리고 하나의 문자를 묘화할 경우, 그 문자에 대응하는 아웃라인 폰트 데이터가 아웃라인 폰트 사전으로부터 판독(判讀)되어 소정의 처리가 이루어지고 난 후에 표시장치나 인자장치에 의하여 묘화된다.Data representing the outline font is stored as an outline font dictionary in a hard disc or a ROM. In the case of drawing one character, outline font data corresponding to the character is read from the outline font dictionary, and predetermined drawing is performed by the display device or the printing device.

그런데 이 아웃라인 폰트는 문자를 윤곽선으로 둘러싸서 표현하는 것이다. 이 때문에 아웃라인 폰트로 표현된 문자에 문자폭(文字幅)을 변경하거나 입체화하는 장식을 하는 것은 곤란하다는 문제가 있다.By the way, this outline font expresses the character by enclosing it in outline. For this reason, there is a problem that it is difficult to decorate a character represented by an outline font by changing the character width or making it three-dimensional.

즉 이 장식은 통상 골격 구조로 표현된 문자에 대하여 이루어진다. 도1(a)는 일본어 문자 「히라가나(hiragana)」의 발음기호 「a」에 상당하는 문자의 골격 구조를 나타내는 도면이다. 이러한 골격 구조에 대하여는 여러가지의 장식(裝飾)을 하는 것이 용이하다.In other words, this decoration is usually made for characters represented in a skeletal structure. Fig. 1 (a) is a diagram showing a skeletal structure of a character corresponding to the phonetic symbol "a" of the Japanese character "hiragana". It is easy to give various decorations about such a skeletal structure.

이에 대하여 이 문자의 아웃라인 폰트는 도1(b)에 나타나 있는 바와 같은 것으로서, 이 폰트는 예를 들면 도1(c)에 나타나 있는 바와 같이 복수의 다각형 모양의 순회 그래픽 패스(cyclic graphic path)1a∼1f로 구성되어 있다. 각 그래픽 패스는 복수의 연속하는 윤곽선(선분)으로 구성된다.In contrast, the outline font of this character is as shown in Fig. 1 (b), and this font is a cyclic graphic path having a plurality of polygonal shapes as shown in Fig. 1 (c), for example. It consists of 1a-1f. Each graphics path consists of a plurality of consecutive contours (line segments).

이러한 아웃라인 폰트에 장식을 할 경우, 각 다각형을 그 중심 방향으로 축소(縮小)하여 세선화(細線化)를 하는 방법이 있지만 이러한 방법으로 세선화를 하면 도1(d)에 나타나 있는 바와 같이 되어 도1(a)와 비교하면 알 수 있는 바와 같이 문자의 모양이 흐트러진다.In the case of decorating the outline font, there is a method of thinning each polygon by shrinking it toward the center direction, but when thinning in this manner, as shown in FIG. As shown in Fig. 1 (a), the shape of the letters is disturbed.

또한 비트맵 데이터(bit-map data)로 치환(置換)하여 세선화하는 방법도 있지만 이렇게 하면 비트맵화(bit-map化)를 실행할 때에 문자의 윤곽 정보가 변형되는 경우가 있고, 최종적으로 세선화를 하였을 경우에 양호한 결과가 얻어지지 않는 경우가 많이 있다.
There is also a method of thinning by substituting with bit-map data. However, in this case, the outline information of a character may be deformed when bit-mapped, and finally thinned. In many cases, good results are not obtained.

본 발명은 이러한 사정을 고려하여 이루어진 것으로서, 아웃라인 폰트의 윤곽 정보에 의거하여 폰트를 적절하게 세선화할 수 있는 방법 및 컴퓨터 소프트 웨어 프로그램 제품을 제공하는 것에 있다.The present invention has been made in view of the above circumstances, and an object thereof is to provide a method and a computer software program product capable of appropriately thinning fonts based on outline information of outline fonts.

또한 본 발명은 아웃라인 폰트에 여러가지의 장식 처리를 할 수 있는 방법 및 컴퓨터 소프트 웨어 프로그램 제품을 제공하는 것에 있다.It is another object of the present invention to provide a method and computer software program product capable of performing various decorative processes on outline fonts.

본 발명의 제1의 주요한 관점에 의하면, (a) 복수의 섹션(section)으로 분할되는 아웃라인 폰트의 윤곽선(輪郭線)의 데이터(data)를 저장하는 아웃라인 폰트 사전(outline font dictionary)으로부터 폰트 데이터(font data)를 판독(判讀)하는 스텝과, (b) 아웃라인 폰트의 윤곽선을 묘화(描畵)시키는 데이터에 의하여 구성되는 복수의 구성요소(element structure)를 판독된 상기 폰트 데이터에 의거하여 작성하고, 각 구성요소를 순차적으로 접속함으로써 다각형(多角形) 모양의 순회 그래픽 패스(cyclic graphic path)를 구축하는 스텝과, (c) 상기 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소가 다른 그래픽 패스를 구성하는 구성요소와 교차하는 가를 판단하고, 교차하는 경우에는 교차부분에 교점(交點)을 추가하고, 각 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소 상호간이 교차하지 않도록 이 교점에서 패스(path)를 교환하는 스텝과, (d) 하나의 다각형 모양의 그래픽 패스 내에, 이에 완전하게 포함되고 또한 동일한 순회 방향의 다른 다각형 모양의 그래픽 패스가 존재하는 가를 판단하고, 존재하는 경우에 당해 이외의 다각형 모양의 그래픽 패스를 소거(消去)하는 스텝과, (e) 상기 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소를 이 아웃라인 폰트의 문자폭(文字幅)에 의거하여 소정의 거리만큼 문자폭 방향으로 이동시키고, 이에 따라 상기 아웃라인 폰트의 문자폭을 제거하여 이루어지는 복수의 선분을 출력하는 스텝을 구비하는 아웃라인 폰트의 처리방법을 제공한다.According to the first main aspect of the present invention, (a) from an outline font dictionary for storing data of outlines of outline fonts divided into a plurality of sections; Reading the font data; and (b) a plurality of element structures constituted by data for drawing outlines of outline fonts in the read font data. A step of constructing a cyclic graphic path of polygonal shape by connecting each component in sequence and (c) constituting the cyclic graphic path of polygonal shape Determine if it intersects with the components that make up another graphics path, if so, add an intersection at the intersection, and add each polygon Exchanging a path at this intersection so that the components constituting the traversal graphics path of do not intersect, and (d) within a single polygon-shaped graphics path that is completely contained within and in the same traversal direction. Determining whether or not a polygonal graphics path exists, and if present, erasing any other graphics paths other than that, and (e) the components constituting the polygonal graphics path. An outline font having a step of outputting a plurality of line segments formed by moving the character width direction by a predetermined distance based on a character width of the outline font and thus removing the character width of the outline font; Provides a treatment method.

이러한 구성에 의하면 종래 다각형 골격에 관계되는 형상 변환(形狀 變換) 등 장식을 하는 것이 곤란하였던 아웃라인 폰트에 장식 처리를 하는 것이 가능하게 된다. 즉 본 발명에서는 우선, 복수의 다각형 순회 그래픽 패스 상호간의 교차와 겹치는 것을 제거한다. 여기에서 트루 타입 폰트(True Type Font) 등의 아웃라인 폰트는 몇 개의 다각형 순회 그래픽 패스로 둘러싸이는 다각형(polygon)으로 구성되어 있다. 다만 시계 방향과 반시계 방향의 2개의 다각형이 겹치는 영역은 묘화되지 않는 법칙을 가지고 있다. 본 발명에서는 이후의 세선화 처리 및 장식 처리를 용이하게 하기 위하여 다각형이 교차하는 부분을 제거하는 처리를 한다. 또한 아웃라인 폰트를 최소한의 요소로 표현하기 위하여 동일한 순회 방향을 가지는 다각형에서 다른 다각형의 내측에 있는 것을 제거한다. According to such a structure, it becomes possible to perform a decoration process to the outline font which was conventionally difficult to decorate, such as shape conversion which concerns on a polygonal skeleton. That is, in the present invention, first, the intersection and the overlap between the plurality of polygonal graphics graphics paths are eliminated. Here, outline fonts such as True Type Fonts are composed of polygons surrounded by several polygon traversal graphics paths. However, the area where two polygons, clockwise and counterclockwise overlap, has a law that is not drawn. In the present invention, in order to facilitate subsequent thinning process and decoration process, a process of removing the intersection portion of the polygon is performed. It also removes the inside of other polygons from polygons with the same traversal direction to represent outline fonts with minimal elements.                 

계속하여 이렇게 처리된 아웃라인 폰트에 세선화 처리를 한다. 이 세선화 처리는, 본 발명의 하나의 실시태양에 의하면, 상기 다각형 모양의 그래픽 패스에 의거하여 아웃라인 폰트의 문자폭을 구하는 스텝과, 연속하는 각 선분을 상기 문자폭 방향으로 그 문자폭의 반 정도의 거리만큼 이동시키고, 그 경우의 각 선분의 교점을 상기 다각형 모양의 순회 그래픽 패스를 구성하는 새로운 점으로 하는 스텝과, 문자폭 방향으로 근접하는 2점의 좌표를 그 2점의 중점(中點)의 좌표로 치환(置換)함으로써 근접하는 2개 또는 그 이상의 선분을 1개의 선분으로 합성하는 스텝으로 이루어진다.Subsequently, the outline font thus processed is thinned. According to one embodiment of the present invention, the thinning process is a step of obtaining a character width of an outline font based on the polygonal graphic path, and successive line segments of the character width in the character width direction. Move the distance by half a distance and make the intersection of each line segment a new point constituting the above-described polygonal graphics path, and coordinates of two points close to each other in the text width direction. It consists of a step which synthesize | combines two or more adjacent line segments into one line segment by substituting by a coordinate of middle.

여기에서 아웃라인 폰트의 문자폭 산출 방법으로서는, 예를 들면 상기 문자폭을 구성하는 한 쌍의 선분에 대하여 일방(一方)의 선분으로부터 타방(他方)의 선분까지의 거리와 당해 일방의 선분의 길이의 값을 곱한 값을 모든 선분에 대하여 더하고, 모든 선분의 평균 길이로 나눔으로써 이루어진다.Here, as the character width calculation method of the outline font, for example, the distance from one line segment to the other line segment and the length of the one line segment with respect to the pair of line segments constituting the character width. This is achieved by adding the product of to the sum of all segments and dividing by the average length of all segments.

이러한 처리에 의하여 아웃라인의 세선화가 이루어지면 연결되는 선분의 일람표(一覽表)를 구하기 위하여 복수의 다각형을 선분마다 분할하고, 겹치지 않은 선분의 일람표를 작성한다. 그리고 그 선분의 접속점에서 가장 경사의 차이가 적은 2개의 선분으로부터 순차적으로 열을 이어서 선분을 연결시킨다. 이렇게 함으로써 세선화된 선분 상호간이 매끄러운 모양으로 접속되고, 그 결과 문자의 쓰기 순서에 의거하는 골격 데이터를 얻을 수 있다. When the outline is thinned by such a process, a plurality of polygons are divided for each line segment in order to obtain a table of the line segments to be connected, and a schedule of non-overlapping line segments is created. Then, the line segments are sequentially connected to two line segments having the smallest difference in inclination at the connection point of the line segments. In this way, thin line segments are connected to each other in a smooth shape, and as a result, skeleton data based on the writing order of characters can be obtained.                 

그리고 이렇게 얻은 골격 데이터를 구성하는 선분의 열에 대하여, 예를 들면 선의 방향과 수직인 방향으로 3차원 구조를 정의함으로써 이 문자에 장식 처리를 할 수 있다.The character can be decorated by defining a three-dimensional structure in a direction perpendicular to the direction of the line, for example, on the line segments constituting the skeleton data thus obtained.

또한 본 발명의 제2의 주요한 관점에 의하면, 컴퓨터 처리 시스템에 아웃라인 폰트를 처리하기 위한 컴퓨터 소프트 웨어 프로그램 제품으로서, 기억매체(記憶媒體)와, 상기 기억매체에 저장되고, 상기 컴퓨터 시스템에 복수의 섹션으로 분할되는 아웃라인 폰트의 윤곽선 데이터를 저장하는 아웃라인 폰트 사전으로부터 폰트 데이터를 판독하는 처리를 하는 폰트 데이터 판독명령과, 상기 기억매체에 저장되고, 상기 컴퓨터 시스템에 아웃라인 폰트의 윤곽선을 묘화시키는 데이터에 의하여 구성되는 복수의 구성요소를 판독된 상기 폰트 데이터에 의거하여 작성하고, 각 구성요소를 순차적으로 접속함으로써 다각형 모양의 순회 그래픽 패스를 구축하는 처리를 하는 패스 구축명령과, 상기 기억매체에 저장되고, 상기 컴퓨터 시스템에 상기 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소가 다른 그래픽 패스를 구성하는 구성요소와 교차하는 가를 판단하고, 교차하는 경우에는 교차부분에 교점을 추가하고, 각 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소 상호간이 교차하지 않도록 이 교점에서 패스를 교환하는 처리를 하는 패스 교환명령과, 상기 기억매체에 저장되고, 상기 컴퓨터 시스템에 하나의 다각형 모양의 그래픽 패스에 완전하게 포함되는 동일한 순회 방향의 다른 다각형 모양의 그래픽 패스가 존재하는 가를 판단하고, 존재하는 경우에 당해 이 외의 다각형 모양의 그래픽 패스를 소거하는 처리를 하는 다각형 모양의 순회 그래픽 패스 소거명령과, 상기 기억매체에 저장되고, 상기 컴퓨터 시스템에 상기 다각형 모양의 순회 그래픽 패스로 구성되는 문자에 있어서, 그 문자폭에 의거하여 문자폭 방향과 대향(對向)하는 선분을 서로 근접시키는 처리를 함으로써 상기 문자를 문자폭을 제거한 복수의 선분으로서 출력하는 처리를 하는 세선화 처리명령을 구비하는 컴퓨터 소프트 웨어 프로그램 제품이 제공된다.According to a second main aspect of the present invention, there is provided a computer software program product for processing outline fonts in a computer processing system, the storage medium being stored in the storage medium and having a plurality of the computer systems. A font data reading instruction for processing font data from an outline font dictionary for storing outline data of outline fonts divided into sections of < RTI ID = 0.0 >, < / RTI > and storing outlines of outline fonts in said storage system. A path building instruction for creating a plurality of components constituted by the data to be drawn based on the read font data, and sequentially connecting each of the components to construct a polygon-shaped circular graphic path; Stored on media The computer system determines whether the components constituting the traversal graphic path of the polygonal shape intersect with the components constituting the other graphic path, and if they intersect, adds an intersection at the intersection and traverses each polygon shape. A path exchange instruction for processing a path exchange at this intersection so that the components constituting the graphics path do not intersect, and are stored in the storage medium and completely included in one polygonal graphics path in the computer system. It is determined whether there is a graphics path of another polygonal shape in the same traversal direction, and if there is a polygonal graphics path erasing command for processing to erase other graphic paths of the polygonal shape, and storing in the storage medium. And said A plurality of characters in which the character width is removed by performing a process of causing a computer system to close the line segments opposing to the character width direction based on the character width in a character constituted by the polygon-shaped circular graphic path. There is provided a computer software program product having a thinning process instruction for outputting as a line segment.

이러한 구성에 의하면 상기에서 상세하게 설명한 아웃라인 처리를 컴퓨터 시스템으로 실행시킬 수 있다.According to such a structure, the outline process demonstrated in detail above can be performed by a computer system.

또 본 발명의 그 이외의 특징과 그 작용 및 효과는 다음의 발명의 실시예 및 첨부한 도면을 참조함으로써 당업자라면 명확하게 이해할 수 있다.
In addition, other features of the present invention, its operations and effects can be clearly understood by those skilled in the art by referring to the embodiments of the following invention and the accompanying drawings.

도1의 (a)∼(d)는 일반적인 아웃라인 폰트의 예를 나타내는 도면이다.1A to 1D are diagrams showing examples of general outline fonts.

도2는 본 발명의 하나의 실시예로 취급하는 아웃라인 폰트의 예를 나타내는 도면이다.2 is a diagram showing an example of an outline font to be treated as one embodiment of the present invention.

도3은 본 발명의 하나의 실시예의 시스템(system) 구성을 나타내는 도면이다.3 is a diagram showing a system configuration of one embodiment of the present invention.

도4는 아웃라인 폰트의 윤곽 처리를 하는 공정을 나타내는 플로우 챠 트(flow chart)이다.4 is a flow chart showing a process of performing outline processing of outline fonts.

도5는 아웃라인 폰트의 윤곽 처리를 하는 공정을 설명하기 위한 도면이다.5 is a diagram for explaining a process of performing outline processing of outline font.

도6은 그래픽 패스 사이의 패스의 교환을 설명하기 위한 도면이다.6 is a diagram for explaining the exchange of paths between graphic paths.

도7은 윤곽 처리된 후의 아웃라인 폰트의 그래픽 데이터를 나타내는 도면이다.Fig. 7 is a diagram showing graphic data of outline fonts after contour processing.

도8은 아웃라인 폰트의 문자폭(文字幅)의 취득 공정을 나타내는 플로우 챠트이다.8 is a flowchart showing a process of acquiring a character width of an outline font.

도9는 문자폭 측정의 예를 나타내는 도면이다.9 is a diagram illustrating an example of character width measurement.

도10은 취득한 문자폭의 예를 나타내는 도면이다.10 is a diagram illustrating an example of the acquired character width.

도11은 아웃라인 폰트의 윤곽선으로 둘러 싸인 영역을 축소시켜 세선화 처리를 하는 공정을 나타내는 플로우 챠트이다.Fig. 11 is a flowchart showing a process of thinning by reducing an area enclosed by the outline of an outline font.

도12는 영역이 축소될 경우의 선분 접속에 관한 플로우 챠트이다.12 is a flowchart showing line segment connection when the area is reduced.

도13은 영역이 축소된 후의 아웃라인 폰트의 도면이다.Fig. 13 is a diagram of an outline font after the area is reduced.

도14는 세선화 처리를 한 후의 아웃라인 폰트의 도면이다.Fig. 14 is a diagram of an outline font after thinning processing.

도15는 세선화 처리를 한 후에 선분 상호간을 접속시키기 위한 공정을 설명하기 위한 플로우 챠트이다.Fig. 15 is a flowchart for explaining a process for connecting line segments after the thinning process.

도16은 선분 상호간을 접속시키기 위한 공정을 설명하는 도면이다.Fig. 16 is a diagram illustrating a step for connecting line segments with each other.

도17은 선분 상호간의 접속 결과를 나타내는 모식도이다.Fig. 17 is a schematic diagram showing a connection result between line segments.

도18은 장식 처리의 예를 나타내는 도면이다. 18 is a diagram illustrating an example of a decoration process.                 

도19는 다른 언어의 아웃라인 폰트에 동일한 처리를 한 결과의 예를 나타내는 도면이다.
Fig. 19 is a diagram showing an example of the result of the same processing performed on outline fonts of different languages.

이하, 실시예를 이용하여 본 발명의 실시예를 도면에 의거하여 설명한다.EMBODIMENT OF THE INVENTION Hereinafter, the Example of this invention is described based on drawing using an Example.

도2는 일본어 문자의 「히라가나(hiragana)」 중에서 발음기호 「a」에 상당하는 발음문자(發音文字)의 아웃라인 폰트(outline font)를 나타내는 도면이다. 이 아웃라인 폰트는 부호1a∼1f로 참조되는 6개의 다각형(多角形) 모양의 순회 그래픽 패스(cyclic graphic path)로 구성되어 있다. 이하, 이 순회 그래픽 패스를 설명의 간략화를 위하여 간단하게 「다각형」이라고 한다.Fig. 2 shows an outline font of a phonetic character corresponding to the phonetic symbol "a" in "hiragana" of Japanese characters. This outline font is composed of six polygonal cyclic graphic paths referred to by numerals 1a to 1f. Hereinafter, this circular graphic path is simply referred to as "polygon" for the sake of simplicity.

상기 다각형1a∼1f 중에서 1a∼1e는 폰트(font)의 묘화 영역(描畵 領域)을 나타내고, 다각형1f는 그 묘화 영역을 반전(反轉)시키는 제거 영역(除去 領域)을 나타낸다. 각 다각형1a∼1f는, 다각형1b를 예로 들어 나타나 있는 바와 같이 시점(始點) 및 종점(終點)을 구비하는 선분(구성요소(element structure))으로 구성되는 윤곽선(輪郭線)2a∼2d가 소정의 영역을 둘러 싸도록 일정한 순회 방향을 따라 연결되어 구성되어 있다. 여기에서 각 윤곽선(선분)2a∼2d에 붙여져 있는 화살표는 그 순회 방향(巡廻 方向)(시계 방향 또는 반시계 방향)을 나타내고 있다. 또한 묘화 영역과 제거 영역의 차이는, 상기 다각형을 구성하는 구성요소의 순회 방향이 시계 방향인가 반시계 방향으로 구성되어 있는 가에 의하여 판별된다.Among the polygons 1a to 1f, 1a to 1e represent a drawing area of a font, and the polygon 1f represents a removal area for inverting the drawing area. Each polygon 1a to 1f has an outline 2a to 2d composed of a line segment (element structure) having a starting point and an ending point as shown in the polygon 1b as an example. It is configured to be connected along a constant circulation direction so as to surround a predetermined area. The arrows attached to the outlines 2a to 2d each indicate the circulation direction (clockwise or counterclockwise). The difference between the drawing area and the removing area is determined by whether the circulating direction of the components constituting the polygon is constituted clockwise or counterclockwise.

도3은 상기한 아웃라인 폰트에 장식 처리(裝飾 處理)를 하기 위한 시스템(system)4를 나타내는 개략적인 구성도이다.Fig. 3 is a schematic block diagram showing a system 4 for performing decorative processing on the outline font described above.

이 시스템4는, CPU5, RAM6, 출력 디바이스(output device)7 및 입력 디바이스(input device)8이 접속되는 버스(bus)9에 프로그램 저장부(program storage unit)10 및 데이터 저장부(data storage unit)11이 접속되어 이루어진다.The system 4 includes a program storage unit 10 and a data storage unit on a bus 9 to which a CPU 5, a RAM 6, an output device 7, and an input device 8 are connected. 11 is connected.

데이터 저장부11에는, 본 발명에 관계된 것만을 설명하면 아웃라인 폰트 사전(outline font dictionary)12 및 문자 장식용 데이터(character special effect data)13이 저장되어 있다.The data storage section 11 stores only an outline font dictionary 12 and character special effect data 13 when only those related to the present invention are described.

프로그램 저장부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이 저장되어 있다.In addition to the OS / main program 15, the program storage unit 10 includes a font data read unit 16, a path constructing unit 17, a path exchanging unit 18, and a polygon path remover ( An inclusion polygonal path erasing unit 19, a thinning unit 20, a line segment continuity judging unit 21, a line segment connecting unit 22, and a character decoration output unit 23 are stored.

이들 각 구성요소12∼23은, 실제로는 컴퓨터 시스템 및 이 컴퓨터 시스템에 설치되는 하드 디스크(hard disc)나 반도체 메모리(semiconductor memory) 등의 기억매체(記憶媒體)에 확보된 일정 영역 및 그 영역에 인스톨(install)된 컴퓨터 소프트 웨어 프로그램으로 구성되어 있다. 그리고 이들은 상기 CPU5에 의하여 상기 RAM6 상에 적절하게 호출되어 실행됨으로써 본 발명의 기능을 발휘하도록 되어 있다.Each of these components 12 to 23 is actually a fixed area and a fixed area secured to a computer system and a storage medium such as a hard disc or a semiconductor memory installed in the computer system. It consists of installed computer software programs. And these are properly called and executed by the CPU5 on the RAM6 to exhibit the functions of the present invention.

이하, 상기 각 구성요소12∼23의 상세한 기능에 관하여 그 동작과 함께 설명한다.Hereinafter, the detailed functions of the components 12 to 23 will be described together with the operation thereof.

우선, 주로 도4의 플로우 챠트(flow chart)를 참조하여 상기 폰트 데이터 판독부16, 패스 구축부17, 패스 교환부18 및 내포 다각형 패스 소거부19에 의한 윤곽선 처리 기능에 관하여 설명한다.First, the outline processing functions of the font data reading section 16, path building section 17, path changing section 18 and nested polygonal path erasing section 19 will be mainly described with reference to the flow chart of FIG.

상기 폰트 데이터 판독부16은 상기 아웃라인 폰트 사전12로부터 원하는 아웃라인 폰트 데이터를 판독(判讀)하는 기능을 구비한다. 이 아웃라인 폰트 사전12는 아웃라인 폰트의 윤곽선을 선분이나 곡선으로 이루어지는 복수의 섹션(section)으로 분할하여 각 섹션의 윤곽선을 아웃라인 폰트 사전에 미리 설정된 사전 좌표계(辭典 座標系) 상에 순차적으로 묘화(描畵)하여 윤곽선을 형성하는 것을 상정하여 작성된 것이다.The font data reading section 16 has a function of reading out desired outline font data from the outline font dictionary 12. The outline font dictionary 12 divides the outline of an outline font into a plurality of sections made of line segments or curves, and sequentially divides the outline of each section on a preset coordinate system preset in the outline font dictionary. It is created assuming drawing and forming outlines.

상기 패스 구축부17은 처리대상으로서 지정된 문자에 대한 아웃라인 폰트 데이터를 호출하도록 상기 폰트 데이터 판독부16에 명령을 한다. 그리고 이 패스 구축부17은 판독된 데이터에 의거하여 각 윤곽선(구성요소)을 RAM 영역 상에 구축하고(도4의 스텝A1), 이들 윤곽선을 순차적으로 접속하여 다각형(다각형 모양의 순회 그래픽 패스)을 구축한다(스텝A2). 이렇게 함으로써 RAM 영역에는, 도2에 나타나 있는 바와 같은 그래픽 데이터(graphic data)가 구축된다.The path building section 17 instructs the font data reading section 16 to call the outline font data for the character designated as the processing target. The path constructing unit 17 constructs each contour (component) on the RAM area based on the read data (step A1 in Fig. 4), and connects these contours sequentially to form a polygon (a polygonal graphics path). (Step A2). In this way, graphic data as shown in Fig. 2 is constructed in the RAM area.

이 도2에 나타나 있는 그래픽 데이터에서는, 예를 들면 이 도면에 원25로 표시되어 있는 바와 같이 각 다각형을 구성하는 윤곽선 상호간이 서로 교차(交差)하고 있다. 상기 패스 교환부18은 도3의 그래픽 데이터로부터 이러한 교차를 제거하도록 도4의 스텝A3 이하에서 그래픽 패스의 교환처리를 한다.In the graphic data shown in Fig. 2, for example, as shown by the circle 25 in this figure, the outlines constituting the polygons cross each other. The path exchange unit 18 performs a graphic path exchange process in step A3 or below in FIG. 4 to remove such intersection from the graphic data in FIG.

우선, 상기 패스 교환부18은 교차부분을 찾아내기 위하여 다각형으로부터 선분을 판독하는 처리(스텝A3)를 한다. 계속하여 판독한 선분이 다른 선분과 교차하는 가를 판단하고(스텝A4), 혹시 교차하는 경우에는 그 교차부분에 교점(交點)을 추가하여 경로(經路)를 교환하는 처리(스텝A5)를 한다. 이러한 처리에 관하여 도5(a)∼5(d) 및 도6을 참조하여 설명한다.First, the path exchanger 18 performs a process of reading a line segment from a polygon (step A3) to find an intersection. Subsequently, it is determined whether the read line segment intersects another line segment (step A4), and if it intersects, an intersection is added to the intersection to replace the path (step A5). . This processing will be described with reference to Figs. 5 (a) to 5 (d) and Fig. 6.

우선, 도5(a)에 나타나 있는 바와 같은 각 선분으로 구성되는 그래픽 패스가 있는 경우, 처음에 각 선분의 교점을 찾아내고, 도5(b)에 나타나 있는 바와 같이 상기 각 그래픽 패스 상의 각 교점의 위치에 새로운 점을 삽입한다. 이 상태에서는, 선분의 연속 방향은 도면에 파선의 화살표로 나타나 있는 바와 같이 서로 교차하고 있다.First, if there is a graphic path composed of each line segment as shown in Fig. 5 (a), the intersection of each line segment is found first, and each intersection on each graphic path as shown in Fig. 5 (b) is shown. Insert a new point at the position of. In this state, the continuous direction of the line segments intersect with each other as indicated by the broken arrow in the figure.

이어서 패스 교환부18은 선분의 연속 방향이 서로 교차하지 않도록 상기 새롭게 삽입한 점에서 그래픽 패스 사이의 패스를 교환한다. 이렇게 함으로써 도5(c)에 나타나 있는 바와 같이 선분 상호간이 교차하는 것을 제거할 수 있다. 이 순서에 관하여 도6(a) 및 도6(b)을 참조하여 간단하게 설명한다.The path exchanger 18 then exchanges paths between the graphic paths at the newly inserted points so that the continuous directions of the line segments do not cross each other. By doing so, it is possible to eliminate the intersection between the line segments as shown in Fig. 5C. This procedure will be briefly described with reference to Figs. 6 (a) and 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의 순서로 연속시켜 패스의 교차를 제거한다.Fig. 6 (a) shows the state before exchanging paths, and Fig. 6 (b) shows the state after exchanging paths. If the points added to the intersections are points B and E, respectively, before each path is exchanged, each path is continuous in the order of point A to point B to point C and point D to point E to point F. Intersect at B and point E. On the other hand, the path exchanger 18 exchanges passes at these points B and E, and continues in the order of point A to point B to point F and point D to point E to point C as shown in Fig. 6B. To remove the intersection of the paths.

계속하여 상기 패스 교환부18은, 상기한 처리가 모든 요소에 대하여 이루어졌는 가를 판단하고(스텝A6), 이루어지지 않았을 경우에는 다른 선분을 판독하여 스텝A4로 되돌아 가서 처리를 계속한다(스텝A7).Subsequently, the path exchange unit 18 judges whether the above process has been performed for all the elements (step A6), and if not, reads another line segment and returns to step A4 to continue the process (step A7). .

계속하여 내포 다각형 패스 소거부19가 하나의 다각형의 내측에 포함되어 있는 불필요한 다각형을 소거(消去)하는 처리를 한다. 구체적으로는 우선, 상기 각 다각형의 순회 방향을 알아낸다(스텝A8). 이어서 순회 방향이 동일한 2개의 다각형에 대하여, 그 일방(一方)이 타방(他方)의 내측에 완전하게 포함되는 가를 판단한다(스텝A9). 도5(c)의 예에서는, 이러한 다각형이 존재한다. 이 경우에는, 도5(d)에 나타나 있는 바와 같이 이 내측에 있는 다각형을 삭제한다(스텝A10). 이러한 처리를 모든 요소에 대하여 하였는 가를 판단하고(스텝A11), 다른 다각형을 판독하여 스텝A8로 되돌아 가서 처리를 계속한다(스텝A12). 이렇게 불필요한 다각형이 제거된 영역의 예를 도7에 나타내었다. 도2(a)와 비교하면 윤곽선 부분만이 그려져 있다는 것을 알 수 있다. Subsequently, the nested polygon path erasing unit 19 erases unnecessary polygons contained inside one polygon. Specifically, first, the circulation direction of each polygon is found (step A8). Subsequently, it is judged whether the one polygon is completely contained inside the other about two polygons with the same circulation direction (step A9). In the example of Fig. 5C, such a polygon exists. In this case, as shown in Fig. 5 (d), the polygon inside is deleted (step A10). It is determined whether such processing has been performed for all the elements (step A11), and another polygon is read out and the process returns to step A8 to continue the process (step A12). An example of a region in which unnecessary polygons are removed is shown in FIG. 7. Compared with Fig. 2A, it can be seen that only the outline portion is drawn.                 

다음에 상기 세선화 처리부20에 의한 세선화 처리에 관하여 설명한다. 상기 세선화 처리부20은, 도3에 나타나 있는 바와 같이 아웃라인 폰트의 문자폭(文字幅)을 산출하는 문자폭 산출부(文字幅 算出部)27과, 산출한 문자폭에 의거하여 선분을 이동시키는 선분 이동부28과, 이동시킨 선분을 하나의 선분으로 합성하는 선분 합성부29를 구비한다. 우선, 상기 문자폭 산출부27에 의한 문자폭을 산출하는 동작에 관하여 주로 도8의 플로우 챠트를 참조하여 설명한다.Next, the thinning processing by the thinning processing unit 20 will be described. As shown in Fig. 3, the thinning processing unit 20 moves the line segment based on the character width calculating unit 27 for calculating the character width of the outline font and the calculated character width. And a line segment synthesizing unit 29 for synthesizing the moved line segment into one line segment. First, the operation of calculating the character width by the character width calculating section 27 will be mainly described with reference to the flowchart of FIG.

이 실시예에서는, 윤곽선의 수직 방향으로 측정하였을 경우에 가장 빈도(頻度)가 높은 길이를 문자의 폭으로 한다. 즉 문자폭을 구하는 것에 있어서는 우선, 도9에 나타나 있는 바와 같이 선분에 대하여 수직 이등분선이 영역의 내부를 통과하여 영역을 빠져 나갈 때까지의 길이를 구한다. 문자의 폭에는 지나치게 큰 값이 들어 가는 경우가 있기 때문에 구하는 길이의 상한치(上限値)를 정하고, 그 이상의 값은 계산의 대상에 포함시키지 않는다. 측정 위치에 따라 측정한 폭이 불균일하기 때문에 이를 방지하기 위하여 폭의 평균을 구할 때에 선분의 길이를 곱하는 가중평균(加重平均)을 계산 상의 문자의 폭으로 한다. 이러한 가중평균을 구하기 위하여 선분의 변수L과 승수(乘數)의 변수M을 준비하는 것이 바람직하다.In this embodiment, the length of the most frequent frequency is the width of the character when measured in the vertical direction of the outline. In other words, in obtaining the character width, first, the length until the vertical bisector passes through the inside of the area and exits the area as shown in Fig. 9 is obtained. Since the width of a character may enter too large a value, the upper limit of the length to be calculated | required is determined, and the value beyond that is not included in a calculation subject. In order to prevent this, the weighted average multiplied by the length of the line segment is used as the width of the character in the calculation. In order to obtain such a weighted average, it is preferable to prepare the variable L of the line segment and the variable M of the multiplier.

구체적으로는, 상기 문자폭 산출부27은 도7에 나타나 있는 그래픽 패스 데이터를 판독한다(도8의 스텝B1). 이 그래픽 패스를 구성하는 각 선분에 대하여, 도9에 나타나 있는 바와 같이 이 선분의 수직 이등분선을 생 각하고, 영역의 내부를 통과하여 교차점(交叉點)까지의 길이를 계산한다(스텝B2). 이 길이가 역치(??値 : threshold)보다 긴 경우에는 스텝B4와 스텝B5를 무시하고(스텝B3), 역치 안에 들어가는 경우에는 선분의 길이를 선분의 변수L에 더하고(스텝B4), 수직선의 길이와 선분의 길이를 곱한 값을 승수의 변수M에 더한다(스텝B5). 이 처리를 모든 요소에서 하였는 가를 판단하고(스텝B6), 다른 선을 판독하여 스텝B2로 되돌아 가서 처리를 계속한다(스텝B7). 모든 계산이 끝난 후에 승수의 변수를 선분의 변수로 나누면 가중 평균(加重 平均)을 구할 수 있고(스텝B8), 계산식으로서는 M÷L = ((선분의 길이×수직선의 길이)의 합계치)÷(선분의 길이의 합계치) = 문자의 가중 평균폭(加重 平均幅)이 된다.Specifically, the character width calculating section 27 reads the graphic path data shown in FIG. 7 (step B1 in FIG. 8). For each line segment constituting this graphic path, as shown in Fig. 9, the vertical bisector of the line segment is considered, and the length to the intersection point through the inside of the area is calculated (step B2). If this length is longer than the threshold (step B4), ignore step B4 and step B5 (step B3) .If the length is within the threshold, add the length of the line segment to the variable L of the line segment (step B4). The value multiplied by the length and the length of the line segment is added to the variable M of the multiplier (step B5). It is judged whether or not this process has been performed by all the elements (step B6), and another line is read out and the process returns to step B2 to continue the process (step B7). After all the calculations, divide the variable of the multiplier by the variable of the line segment to find the weighted average (step B8) .The formula is M ÷ L = ((sum of line length x length of vertical line)) ÷ ( The sum of the lengths of the line segments) = weighted average width of the characters.

이 계산에 의한 구체적인 예를 도10에 나타내었다. 이 문자의 폭은 다각형마다 다르기 때문에 다각형마다 문자의 폭을 기록한다. 다만, 제거 영역(영역B, C)은 그 주위의 묘화 영역과 같은 값을 갖는 것으로 하여 계산을 생략하였다.A concrete example by this calculation is shown in FIG. Since the width of this character varies from polygon to polygon, record the width of the character for each polygon. However, the removal areas (areas B, C) have the same values as the drawing areas around them, and the calculation is omitted.

계속하여 상기 선분 이동부28에 의한 선분의 이동에 관하여 주로 도11의 플로우 챠트를 참조하여 설명한다. 우선, 이 처리에서는 상기에서 구축한 윤곽선의 정보를 가공하여 변경하기 때문에 상기 윤곽선을 구성하는 선분의 정보를 메모리(memory)의 소정의 영역에 복사한다(스텝C1). 이어서 다각형마다 문자폭 취득 처리에 의한 문자폭을 판독한다(스텝C2). 그리고 이 문자폭을 구성하는 서로 대향(對向)하는 선분 및 점을 특정(特定)한다. Subsequently, the movement of the line segment by the line segment moving unit 28 will be mainly described with reference to the flowchart of FIG. First, in this process, since the information of the outlines constructed above is processed and changed, the information of the line segments constituting the outlines is copied to a predetermined area of the memory (step C1). Next, the character width by the character width acquisition process is read for each polygon (step C2). Line segments and points that face each other that constitute this character width are specified.                 

다음에 상기 선분 이동부28은 판독한 문자폭의 반 정도의 크기만 영역의 내측으로 상기 각 선분을 이동시킨다(스텝C3). 이렇게 함으로써 도12에 나타나 있는 바와 같이 이웃하는 선분 사이에는 새로운 교점K가 발생하므로 이 교점K의 좌표를 계산하고(스텝C4), 이 교점K를 원래의 시점 또는 종점에 대입한다(스텝C6). 이렇게 함으로써 이웃하는 선분은 이 교점에서 연속하는 그래픽 패스를 구성하게 된다.Next, the line segment moving unit 28 moves the line segments inside the area by only half the size of the read character width (step C3). In this way, as shown in Fig. 12, since new intersection K is generated between neighboring line segments, the coordinates of the intersection K are calculated (step C4), and the intersection K is substituted into the original starting point or end point (step C6). This allows neighboring line segments to form a continuous graphics path at this intersection.

이상의 처리를 모든 점에 한 후, 다른 다각형에 관하여도 동일한 처리를 한다(스텝C6, C7). 이렇게 함으로써 도13에 나타나 있는 바와 같이 모든 다각형이 균일하게 수축(收縮)되어 이루어지는 그래픽 데이터를 얻을 수 있다.After the above processing is performed at all points, the same processing is performed for the other polygons (steps C6 and C7). In this way, as shown in Fig. 13, graphic data in which all polygons are uniformly shrunk can be obtained.

이 상태에서 대략 세선화(細線化)에 가까운 결과를 얻을 수 있지만 상기 선분 합성부29가 더 근접하는 점 및 선분을 합성하여 도14에 나타나 있는 세선화 데이터를 얻는다. 이 합성처리는, 예를 들면 근접하는 2개의 점을 그 중간의 좌표로 이동시키는 처리에 의하여 실행된다.In this state, it is possible to obtain an approximate result of thinning, but the thinning data shown in Fig. 14 is obtained by synthesizing the points and the line segments closer to the line segment combining section 29. This combining process is executed by, for example, a process of moving two adjacent points to their intermediate coordinates.

이렇게 하여 얻은 세선화 데이터에서는, 선분의 연속성을 나타내는 데이터가 문자의 쓰기 순서를 따르고 있다고는 할 수 없다. 이 때문에 이 실시예에서는 선분 연속성 판단부21 및 선분 연결부22가 선분의 연속성을 나타내는 데이터를 문자의 쓰기 순서에 따르도록 갱신(更新)한다.In the thinning data thus obtained, data representing the continuity of the line segment does not necessarily follow the writing order of the characters. For this reason, in this embodiment, the line segment continuity judging unit 21 and the line segment connecting unit 22 update the data indicating the continuity of the line segment in accordance with the writing order of the characters.

이 때문에 우선, 상기 선분 연속성 판단부21은 다각형으로 구성되어 있는 선분을 각각 분할하고, 선분의 일람표(一覽表)를 작성한다(도15의 스 텝Dl). 그리고 서로 겹치는 선분이 있는 가를 판단하고(스텝D3), 겹치는 선분이 있는 경우에는 그 중 일방의 선분을 삭제한다(스텝D4). 이 처리가 모든 요소에 대하여 실행되었는 가를 판단하고(스텝D5), 실행되지 않은 경우에는 스텝D3으로 되돌아 가서(스텝D6) 동일한 처리를 한다.Therefore, first, the line segment continuity judging section 21 divides the line segments composed of polygons, respectively, and prepares a list of line segments (step Dl in FIG. 15). Then, it is determined whether there are line segments overlapping each other (step D3), and when there are overlapping line segments, one of the line segments is deleted (step D4). It is judged whether or not this process has been performed for all elements (step D5). If not, the process returns to step D3 (step D6) and the same process is performed.

다음에 겹치는 것을 제거한 선분의 일람표로부터 2개 이상의 점이 겹치는 좌표를 찾는다(스텝D7). 이 좌표가 접속점(接續點)이고, 이 좌표에 연결되는 선분을 찾는다(스텝D8). 이어서 각 접속점에 연결되는 선분 중에서 가장 경사(傾斜) 차이가 적게 접속하는 2개의 선분을 특정하여 연속하도록 연결한다(스텝D9). 도16에 원으로 표시한 부분과 같이 3개 이상의 선분이 접속하는 점에 있어서는, 이 처리에 의하여 쓰기 순서에 따른 선분 상호간이 연결된다. 그리고 모든 접속점 및 모든 선분에 대하여 상기한 처리를 하면(스텝D11), 도17에 나타나 있는 바와 같이 쓰기 순서에 의거한 연결 처리가 완료된다(스텝D12). 이렇게 함으로써 장식 처리(裝飾 處理)를 하는 것이 가능한 문자의 골격 구조를 얻을 수 있다.Next, the coordinates where two or more points overlap is found from the list of line segments from which the overlapping is removed (step D7). This coordinate is a connection point, and the line segment connected to this coordinate is found (step D8). Next, two line segments connected with the smallest inclination difference among the line segments connected to each connection point are specified and connected so that it may continue (step D9). In the point where three or more line segments are connected as shown by the circle | round | yen shown in FIG. 16, this process connects line segments mutually in writing order. If the above processing is performed for all the connection points and all the line segments (step D11), as shown in Fig. 17, the connection processing based on the writing order is completed (step D12). By doing in this way, the skeletal structure of the character which can be decorated can be obtained.

다음에 문자 장식 출력부23이 상기에서 얻은 골격 구조에 의거하여 장식 처리를 한다. 이 경우에 구한 선분의 열(列)에 상기 문자 장식 데이터13(도3)에 저장된 소정의 형식으로 장식을 한다. 도18(a)는 원기둥 모양의 외관을 부여한 상태를 나타내는 도면이다. 이 이외에 선분의 열의 종점이나 선분의 열의 연결에 대한 각도 등의 조건을 부가함으로써 여러 가지의 입체 표현을 할 수 있다. 이렇게 하여 외형을 구성한 입체에 대 하여 도18(b)에 나타나 있는 바와 같이 텍스처(texture) 처리를 함에 따라 문자의 골격에 의거한 장식이 이루어진다.Next, the character decoration output unit 23 performs the decoration process based on the skeleton structure obtained above. In this case, the line of the obtained line segment is decorated in a predetermined format stored in the character decoration data 13 (Fig. 3). Fig. 18A is a diagram showing a state in which the cylindrical appearance is given. In addition, various three-dimensional representations can be achieved by adding conditions such as the end point of the line of the line segment and the angle of the line segment. In this way, as shown in Fig. 18 (b), the three-dimensional structure of the appearance is decorated with texture based on the skeleton of the character.

상기 문자 장식 데이터13으로서는 문자 장식에 필요한 여러가지 패턴(pattern)이 저장되어 있는 것이 바람직하다. 예를 들면 선분의 열의 종점이나 선분의 열의 연결 각도의 변형에 관한 조건, 투영(投影) 조건, 원기둥이나 각기둥 등의 3차원 형식, 텍스처나 화상(畵像) 등이 미리 패턴화되고 정의되어 저장되어 있다.As the character decoration data 13, it is preferable that various patterns necessary for character decoration are stored. For example, the condition of the end point of the line of the line segment or the deformation of the connection angle of the line of the line segment, the projection condition, the three-dimensional form such as a cylinder or a prismatic column, a texture or an image, etc. are pre-patterned and defined and stored. It is.

도19(a), 19(b) 및 19(c)는 각각 영어, 아라비아어 및 한국어의 아웃라인 폰트에 동일한 처리를 한 예이다. 본 발명은 이와 같이 언어를 막론하고, 쓰기 순서에 의거한 문자 골격을 얻을 수 있고, 이에 대하여 적당한 장식 처리를 할 수 있다.19 (a), 19 (b) and 19 (c) are examples of the same processing performed on outline fonts in English, Arabic and Korean, respectively. Thus, the present invention can obtain a character skeleton based on the writing order regardless of the language, and can perform appropriate decoration processing.

상기 문자장식 출력부23은 이와 같이 하여 문자 장식을 한 데이터를 구조 데이터로서 출력할 뿐만 아니라 비트맵 데이터(bit map data)로 변환하여 출력하는 것이 바람직하다. 이렇게 함으로써 그대로 화상 데이터로서 방송에서의 텔롭(telop) 등 여러가지 장면에서 이용하는 것이 가능하다.It is preferable that the character decoration output unit 23 not only outputs the character-decorated data in this way as structure data but also converts and outputs the bit map data. By doing so, it can be used as image data in various scenes such as telop in broadcasting.

또 본 발명은 상기 하나의 실시예에 한정되나 것이 아니라 발명의 요지를 변경하지 않는 범위에서 여러 가지로 변형할 수 있다.In addition, this invention is not limited to the said one Example, A various deformation | transformation is possible in the range which does not change the summary of invention.

예를 들면 상기 하나의 실시예에서는 세선화를 도모하기 위하여 문자폭을 구하였지만 세선화를 도모하는 방법은 이에 한정되지는 않는다. 예를 들면 문자폭을 구하지 않고 이 문자폭을 규정하는 한 쌍의 선분을 서로 일정한 거리마다 서로 가까이 하는 방향으로 이동시키는 방법이더라도 좋다.For example, in the above embodiment, the character width is obtained to achieve thinning, but the method of thinning is not limited thereto. For example, it may be a method of moving a pair of line segments defining the character width in a direction close to each other at regular distances without obtaining the character width.

Claims (12)

아웃라인 폰트(outline font)의 처리방법으로서,As a method of processing an outline font, (a) 복수의 섹션(section)으로 분할되는 아웃라인 폰트의 윤곽선(輪郭線)의 데이터(data)를 저장하는 아웃라인 폰트 사전(outline font dictionary)으로부터 폰트 데이터(font data)를 판독(判讀)하는 스텝과,(a) Reading font data from an outline font dictionary which stores data of outlines of outline fonts divided into a plurality of sections. With the step to do, (b) 아웃라인 폰트의 윤곽선을 묘화(描畵)시키는 데이터에 의하여 구성되는 복수의 구성요소(element structure)를 판독된 상기 폰트 데이터에 의거하여 작성하고, 각 구성요소를 순차적으로 접속함으로써 다각형(多角形) 모양의 순회 그래픽 패스(cyclic graphic path)를 구축하는 스텝과,(b) A plurality of element structures composed of data for drawing outlines of outline fonts are created based on the read font data, and the respective elements are sequentially connected to each other to form a polygon ( A step of constructing a cyclic graphic path having a variety of shapes, (c) 상기 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소가 다른 그래픽 패스를 구성하는 구성요소와 교차하는 가를 판단하고, 교차하는 경우에는 교차부분에 교점(交點)을 추가하고, 각 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소 상호간이 교차하지 않도록 이 교점에서 패스(path)를 교환하는 스텝과,(c) It is determined whether the components constituting the polygonal graphics traversing path intersect with the components constituting the other graphics path. If they intersect, the intersection is added to the intersection, and the Exchanging a path at this intersection so that the components constituting the traversal graphic path do not intersect, (d) 하나의 다각형 모양의 그래픽 패스 내에, 이에 완전하게 포함되고 또한 동일한 순회 방향의 다른 다각형 모양의 그래픽 패스가 존재하는 가를 판단하고, 존재하는 경우에 당해 이외의 다각형 모양의 그래픽 패스를 소거(消去)하는 스텝과,(d) determine if there is a graphics path of one polygon-shaped graphics path completely contained therein and in the same traversal direction, and if so, erase the other graphics-shaped graphics path (if any). 스텝) step, (e) 상기 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소를 이 아웃라인 폰트의 문자폭(文字幅)에 의거하여 소정의 거리만큼 문자폭 방향으로 이동시키고, 이에 따라 상기 아웃라인 폰트의 문자폭을 제거하여 이루어지는 복수의 선분을 출력하는 스텝(e) move the components constituting the polygonal graphics path in the text width direction by a predetermined distance based on the text width of the outline font, and thus the text width of the outline font; Outputting a plurality of line segments formed by removing the 을 구비하는 것을 특징으로 하는 아웃라인 폰트의 처리방법.The outline font processing method comprising the. 제1항에 있어서,The method of claim 1, 상기 (e) 스텝은,The step (e) is (e-1) 상기 다각형 모양의 그래픽 패스에 의거하여 아웃라인 폰트의 문자폭을 구하는 스텝과,(e-1) calculating a character width of the outline font based on the polygon path graphic path; (e-2) 연속하는 각 선분을 상기 문자폭 방향으로 그 문자폭의 반 정도의 거리만큼 이동시키고, 그 경우의 각 선분의 교점을 상기 다각형 모양의 순회 그래픽 패스를 구성하는 새로운 점으로 하는 스텝과,(e-2) Step of moving each successive line segment in the character width direction by a distance of about half of the character width, and making the intersection of each line segment in this case a new point constituting the traversal graphic path of the polygonal shape. and, (e-3) 문자폭 방향으로 근접하는 2점의 좌표를 그 2점의 중점(中點)의 좌표로 치환(置換)함으로써 근접하는 2개 또는 그 이상의 선분을 1개의 선분으로 합성하는 스텝(e-3) step of synthesizing two or more adjacent line segments into one line segment by substituting two coordinates adjacent in the character width direction with the coordinates of the midpoint of the two points; 을 구비하는 것을 특징으로 하는 아웃라인 폰트의 처리방법.The outline font processing method comprising the. 제2항에 있어서,The method of claim 2, 상기 (e-1) 스텝은,The step (e-1), 상기 문자폭을 구성하는 한 쌍의 선분에 대하여 일방(一方)의 선분으로부터 타방(他方)의 선분까지의 거리와 당해 일방의 선분의 길이의 값을 곱한 값을 모든 선분에 대하여 더하고, 모든 선분의 평균 길이로 나눔으로써 당해 문자의 평균 문자폭을 산출하는 것을 특징으로 하는 아웃라인 폰트의 처리방법.For all line segments, the value obtained by multiplying the value of the length of one line segment with the distance from one line segment to the other line segment with respect to the pair of line segments constituting the character width is added to all line segments. An average font width of the character is calculated by dividing by the average length. 제2항에 있어서,The method of claim 2, (f) 상기 세선화(細線化) 처리 스텝에서 출력되는 각 선분이 서로 연속하는 가를 찾아내는 스텝을 더 구비하는 것을 특징으로 하는 아웃라인 폰트의 처리방법.and (f) a step of finding out whether each line segment output in said thinning processing step is continuous with each other. 제4항에 있어서,The method of claim 4, wherein 상기 (f) 스텝은, 상기 다각형 모양의 순회 그래픽 패스를 선분마다 분할하고,In the step (f), the polygonal graphics path is divided for each line segment. 그 선분의 접속점에서 가장 경사(傾斜)의 차이가 적은 2개의 선분으로부터 순차적으로 열(列)을 이어서 선분을 연결시키는 스텝을 구비하는 것을 특징으로 하는 아웃라인 폰트의 처리방법.A process for processing outline fonts, comprising the steps of: connecting rows sequentially from two line segments having the smallest difference in inclination at the connection points of the line segments. 제1항에 있어서,The method of claim 1, (g) 상기 세선화 처리된 선분을 구비하는 문자에 장식 처리(裝飾 處理)를 하는 스텝을 더 구비하는 것을 특징으로 하는 아웃라인 폰트의 처리방법.(g) The method of processing outline fonts further comprising the step of subjecting the character having the thinned line segment to a decoration process. 컴퓨터 처리 시스템에 아웃라인 폰트를 처리하기 위하여 컴퓨터로 읽을 수 있는 기록매체로서,A computer readable recording medium for processing outline fonts in a computer processing system, 상기 컴퓨터 시스템에 복수의 섹션으로 분할되는 아웃라인 폰트의 윤곽선 데이터를 저장하는 아웃라인 폰트 사전으로부터 폰트 데이터를 판독하는 처리를 하는 폰트 데이터 판독명령과,A font data reading instruction for processing font data from an outline font dictionary for storing outline data of outline fonts divided into a plurality of sections in said computer system; 상기 컴퓨터 시스템에 아웃라인 폰트의 윤곽선을 묘화시키는 데이터에 의하여 구성되는 복수의 구성요소를 판독된 상기 폰트 데이터에 의거하여 작성하고, 각 구성요소를 순차적으로 접속함으로써 다각형 모양의 순회 그래픽 패스를 구축하는 처리를 하는 패스 구축명령과,A plurality of components constituted by data for drawing outlines of outline fonts in the computer system are created on the basis of the read font data, and each component is sequentially connected to construct a circular graphic path in a polygonal shape. A path building instruction for processing; 상기 컴퓨터 시스템에 상기 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소가 다른 그래픽 패스를 구성하는 구성요소와 교차하는가를 판단하고, 교차하는 경우에는 교차부분에 교점을 추가하고, 각 다각형 모양의 순회 그래픽 패스를 구성하는 구성요소 상호간이 교차하지 않도록 이 교점에서 패스를 교환하는 처리를 하는 패스 교환명령과,In the computer system, it is determined whether the components constituting the polygonal graphics traversal path intersect with the components constituting another graphics path. A path exchange instruction for processing a path exchange at this intersection so that the components constituting the path do not cross each other; 상기 컴퓨터 시스템에 하나의 다각형 모양의 그래픽 패스에 완전하게 포함되는 동일한 순회 방향의 다른 다각형 모양의 그래픽 패스가 존재하는가를 판단하고, 존재하는 경우에 당해 이외의 다각형 모양의 그래픽 패스를 소거하는 처리를 하는 다각형 모양의 순회 그래픽 패스 소거명령과,The computer system determines whether there is a graphics path of another polygonal shape in the same traversal direction completely included in one polygonal graphics path, and if there is, performs a process of erasing a graphics path other than that in the polygonal shape. A circular graphics path erasing command 상기 컴퓨터 시스템에 상기 다각형 모양의 순회 그래픽 패스로 구성되는 문자에 있어서, 그 문자폭에 의거하여 문자폭 방향과 대향(對向)하는 선분을 서로 근접시키는 처리를 함으로써 상기 문자를 문자폭을 제거한 복수의 선분으로서 출력하는 처리를 하는 세선화 처리명령A plurality of characters in which the character width is removed by performing a process of bringing the computer system into a line composed of the circular graphic path of the polygonal shape so as to approximate line segments facing the character width direction based on the character width. Thinning processing instruction for outputting as line segment of 을 기록한 컴퓨터로 읽을 수 있는 기록매체(記錄媒體).The computer-readable recording medium that recorded the data. 제7항에 있어서,The method of claim 7, wherein 상기 세선화 처리명령은,The thinning processing instruction, 상기 다각형 모양의 그래픽 패스에 의거하여 아웃라인 폰트의 문자폭을 구하기 위한 문자폭 산출명령과,A character width calculation command for obtaining a character width of an outline font based on the polygon path graphic path; 연속하는 각 선분을 상기 문자폭 방향으로 그 문자폭의 반 정도의 거리만큼 이동시키고, 그 경우의 각 선분의 교점을 상기 다각형 모양의 순회 그래픽 패스를 구성하는 새로운 점으로 하기 위한 선분 이동명령과,A segment movement instruction for moving each successive line segment in the character width direction by a distance of about half of the character width, and for making the intersection of each segment in this case a new point constituting the polygonal graphics path; 문자폭 방향에 근접하는 2점의 좌표를 그 2점의 중점의 좌표로 치환함으로써 근접하는 2개 또는 그 이상의 선분을 1개의 선분으로 합성하기 위한 선분 합성명령Line segment compositing command for compositing two or more line segments into one line segment by substituting two coordinates close to the character width direction with the coordinates of the midpoints of the two points. 을 구비하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium comprising a. 제8항에 있어서,The method of claim 8, 문자폭 산출명령은,The character width calculation command 상기 문자폭을 구성하는 한 쌍의 선분에 대하여 일방의 선분으로부터 타방의 선분까지의 거리와 당해 일방의 선분의 길이의 값을 곱한 값을 모든 선분에 대하여 더하고, 모든 선분의 평균 길이로 나눔으로써 당해 문자의 평균 문자폭을 산출하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.For a pair of line segments constituting the character width, the value obtained by multiplying the distance between one line segment and the other line segment by the value of the length of the one line segment is added to all line segments and divided by the average length of all line segments. A computer-readable recording medium characterized by calculating an average character width of a character. 제8항에 있어서,The method of claim 8, 세선화 처리 스텝에서 출력되는 각 선분이 서로 연속하는가를 찾아내기 위한 선분 연속성 판단명령을 더 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium further recording line segment continuity determination instructions for finding whether each line segment output from the thinning step is continuous with each other. 제10항에 있어서,The method of claim 10, 상기 선분 연속성 판단명령은, 상기 다각형 모양의 순회 그래픽 패스를 선분마다 분할하고, 겹치지 않은 선분을 추출(抽出)하고, 그 선분의 접속점(接續點)에서 가장 경사의 차이가 적은 2개의 선분으로부터 순차적으로 열을 이어서 선분을 연결시키기 위한 선분 연결명령을 포함하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.The line segment continuity judging command divides the polygon-shaped circular graphic path for each line segment, extracts non-overlapping line segments, and sequentially from two line segments having the smallest difference in inclination at the connection point of the line segment. And a line segment connecting instruction for connecting line segments following the row. 제7항에 있어서,The method of claim 7, wherein 상기 컴퓨터 시스템에 세선화 처리된 선분을 구비하는 문자에 장식 처리를 하는 장식 처리명령을 더 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium further comprising a decorative processing instruction for performing a decorative process on a character having a thin line segment processed in the computer system.
KR1020027015213A 2001-03-23 2002-03-22 Character processing method based on outline font information, and computer software program product for allowing computer system to execute the method KR100871825B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020027015213A KR100871825B1 (en) 2001-03-23 2002-03-22 Character processing method based on outline font information, and computer software program product for allowing computer system to execute the method

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 (en) 2001-03-23 2002-03-22 Character processing method based on outline font information, and computer software program product for allowing computer system to execute the method

Publications (2)

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

Family

ID=39004517

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027015213A KR100871825B1 (en) 2001-03-23 2002-03-22 Character processing method based on outline font information, and computer software program product for allowing computer system to execute the method

Country Status (1)

Country Link
KR (1) KR100871825B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100569670B1 (en) * 2004-11-02 2006-04-10 (주)사나이시스템 Method for management of polygon data having overlapped node and overlapped edge

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02244390A (en) * 1989-03-17 1990-09-28 Toppan Printing Co Ltd Stroke extracting device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02244390A (en) * 1989-03-17 1990-09-28 Toppan Printing Co Ltd Stroke extracting device

Also Published As

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

Similar Documents

Publication Publication Date Title
JP3049672B2 (en) Image processing method and apparatus
JP3400151B2 (en) Character string region extraction apparatus and method
US6661417B1 (en) System and method for converting an outline font into a glyph-based font
JP2608571B2 (en) Apparatus and method for vectorizing input scanned image data
JPH07282276A (en) Device and method for graphic data generation
US7239318B2 (en) Method and computer software program product for processing characters based on outline font
JP3316758B2 (en) Morphing processing device, storage medium, and moving image creation device
US5920324A (en) Character pattern producing apparatus capable of producing character pattern having connected character elements
KR100871825B1 (en) Character processing method based on outline font information, and computer software program product for allowing computer system to execute the method
KR910001525B1 (en) Method of curve approximation
JP3490703B2 (en) Character processing method based on outline font information and computer-readable recording medium storing computer program for causing a computer system to execute the method
JP2009122998A (en) Method for extracting outline from solid/surface model, and computer software program
EP0464794A2 (en) Painting pattern generation system and pattern painting method using the system
JP3034140B2 (en) Character generation method and device
JP4325812B2 (en) Vector image drawing circuit and vector image drawing method
JP2003099770A (en) Data converter, its method, and program using it
JP2538631B2 (en) How to handle vector characters
JPH0736433A (en) Character data base preparing device
JPH07262385A (en) Outline data generator
JPH10240935A (en) Line graphic image forming method and mechanically readable medium
TWI231443B (en) Method and computer software program product for processing characters based on outline font
JPS62211691A (en) Character synthesization system
CN115964041A (en) Anchor point calculation method, device and equipment and computer readable storage medium
JP3473046B2 (en) Non-erected character drawing method and apparatus
JPH0773306A (en) Method for turning outline font data into parts and outline font data generator

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