KR920008981B1 - Method of high quality character pattern generation - Google Patents
Method of high quality character pattern generation Download PDFInfo
- Publication number
- KR920008981B1 KR920008981B1 KR1019890001128A KR890001128A KR920008981B1 KR 920008981 B1 KR920008981 B1 KR 920008981B1 KR 1019890001128 A KR1019890001128 A KR 1019890001128A KR 890001128 A KR890001128 A KR 890001128A KR 920008981 B1 KR920008981 B1 KR 920008981B1
- Authority
- KR
- South Korea
- Prior art keywords
- code
- point
- winding number
- character pattern
- line
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/13—Digital output to plotter ; Cooperation and interconnection of the plotter with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
- G06K15/02—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41B—MACHINES OR ACCESSORIES FOR MAKING, SETTING, OR DISTRIBUTING TYPE; TYPE; PHOTOGRAPHIC OR PHOTOELECTRIC COMPOSING DEVICES
- B41B19/00—Photoelectronic composing machines
- B41B19/01—Photoelectronic composing machines having electron-beam tubes producing an image of at least one character which is photographed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/004—Generic data transformation
- G06K2215/0042—Rasterisation
- G06K2215/0045—Converting outline to bitmap
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Controls And Circuits For Display Device (AREA)
- Dot-Matrix Printers And Others (AREA)
Abstract
내용 없음.No content.
Description
제1도는 본 발명의 제1실시예에 따른 고품질 문자 패턴 발생장치를 나타내는 블록 구성도.1 is a block diagram showing a high quality character pattern generator according to a first embodiment of the present invention.
제2도는 제1도에 도시한 WN코드 생성 테이블(15)의 내용을 나타내는 도면.FIG. 2 is a diagram showing the contents of the WN code generation table 15 shown in FIG.
제3도는 제1도에 도시한 WN코드 갱신 테이블(16)의 내용을 나타내는 도면.3 is a diagram showing the contents of the WN code update table 16 shown in FIG.
제4도는 제1도에 도시한 도말 처리 회로(18)의 기능을 설명하는 도면.4 is a diagram for explaining the function of the
제5도는 제1도에 도시한 WNG(14)의 동작을 설명하는 플로우챠트.FIG. 5 is a flowchart for explaining the operation of the WNG 14 shown in FIG.
제6도는 문자 패턴과 WN코드와의 관계를 일예로서 나타내는 도면.6 is a diagram showing a relationship between a character pattern and a WN code as an example.
제7a, b도는 제6도에 도시한 문자 패턴을 1/3로 축소한 경우에 WN코드의 변화 상태를 나타내는 도면.7A and 7B show a change state of the WN code when the character pattern shown in FIG. 6 is reduced to 1/3.
제8도는 WN코드 갱신을 생략한 경우에 대한 패턴예를 나타내는 도면.8 is a diagram showing an example of a pattern in the case where WN code update is omitted.
제9도는 1도트 첨예단을 갖는 패턴과 WN코드와의 관계를 나타내는 도면.9 is a diagram showing a relationship between a pattern having a one-dot sharp tip and a WN code.
제10a, b도는 종래 방식으로 정상적인 패턴 발생이 가능한 선도형과 발생 문자 패턴의 일예를 나타내는 도면.10A and 10B are diagrams showing examples of a leading type and a generated character pattern capable of generating a normal pattern in a conventional manner.
제11a, b도는 종래 방식으로 정상적인 패턴 발생이 불가능한 선도형(축소도형)과 발생 문자 패턴의 일예를 나타내는 도면.11A and 11B show examples of a leading type (reduced figure) and a generated character pattern in which a normal pattern cannot be generated in a conventional manner.
제12a, b도는 가는 선을 포함한 문자 패턴을 축소한 경우에 대한 문제점을 설명하는 도면.12A and 12B are views for explaining a problem in the case of reducing the pattern of characters including fine lines.
제13a, b도는 상기의 문제점을 해결하기 위한 DDA플롯방식을 제2도와 대응시키서 설명하는 도면.13A and 13B illustrate a DDA plot scheme corresponding to FIG. 2 for solving the above problem.
제14도는 가는 가로선의 축소 패턴에 상기 DDA플롯방식을 적용한 경우를 설명하는 도면.FIG. 14 is a diagram for explaining a case where the DDA plot method is applied to a narrow pattern of horizontal horizontal lines. FIG.
제15도는 WN코드의 생성룰의 적용예를 설명하는 도면.FIG. 15 is a diagram for explaining an example of applying a WN code generation rule. FIG.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
14 : WN코드(Winding Number Code) 생성회로(WNG)14: WN code generation circuit (WNG)
15 : WN코드 생성 테이블 16 : WN코드 갱신 테이블15: WN code generation table 16: WN code update table
17 : WN코드 패턴 메모리(WNPM) 18 : 도말 처리 회로17 WN code pattern memory (WNPM) 18: smear processing circuit
본 발명은 문자 패턴을 하나 이상의 선도형의 집합으로 정의하는 선도형 정보를 바탕으로 고품질 문자 패턴을 발생시키는 고품질 문자 패턴 발생장치에 관한 것이다.The present invention relates to a high quality character pattern generator that generates a high quality character pattern based on leading type information defining a character pattern as a set of one or more leading types.
일반적으로, 선도형으로 정의된 영역을 도말 처리하는 방식에는 이하에 설명된 제1 내지 제3의 방식이 알려져 있다. 우선 제1의 방식은 도형내의 지정된 점으로부터 차례로 점 이동을 행하면서, 각 점마다의 선도형의 "내부 또는 외부"를 판단하여 도말 처리를 진행시키는 것이다. 이러한 방식은 퍼스널 컴퓨터등에 속도에 있어서의 도형 처리에 쓰이는 것으로서, 각 점마다의 판단 처리가 축차적으로 행하여지기 때문에, 처리 속도가 늦어지는 문제점이 있다. 또 "영역의 연속성"을 기준으로 하고 있기 때문에, 일반적으로 도말의 분기점에서 "되돌림 처리"를 필요로 하고 있다.In general, the first to third methods described below are known in the manner of smearing a region defined as a lead type. First, the first method is to advance the smear processing by judging the "internal or external" of the lead type for each point while moving the points sequentially from the designated point in the figure. This method is used for graphics processing at speed in a personal computer and the like, and there is a problem that the processing speed is slowed because judgment processing for each point is performed sequentially. In addition, since "continuity of region" is used as a reference, generally, a "return treatment" is required at the branch point of the smear.
다음의 제2의 방식은 선도형의 그려진 비트 맵 메모리를 소정 방향(도말방향)으로 주사하여, 예컨대 "1"의 점에서 "1"의 점까지의 사이를 "1"로서 모두 도말 처리하는 방식(even-odd 방식의 도말)이며, 상기의 "되돌림 처리"를 필요로 하지 않는다. 그러나 이 제2의 방식에서는 문자(문자패턴)의 첨예단의 도말 방향의 도트수가 1도트인 경우(이 첨예단을 1도트 첨예단이라고 정의함), 그 첨예단의 도트뿐만 아니라, 그 도트 위치 이후의 도트 열도 도말되어 버리고마는 문제점이 있었다. 이러한 문제점을 해소시키기 위하여는 문자 패턴의 디자인시 1도트의 첨예단(도말 방향과 직교하는 방향의 도트수가 1도트인 문자 첨예단은 첨예단이라 하지 않음)이 발생치 않도록 하지 않으면 아니되므로 번잡하였다. 또 1도트 첨예단을 필요로 하는 경우에는 1도트 첨예단을 갖지 않은 문자 패턴을 도말 처리로 발생시킨 후 1도트 첨예단을 갖는 문자 패턴의 윤곽선을 중첩시켜서 묘화시킬 필요가 있었다. 또한 제2의 방식에서는 제10a도에 도시한 바와 같이 문자 패턴의 윤곽선이 중첩되지 않는 경우라면 제10b도에 도시한 바와 같이 올바른 문자 패턴이 얻어질 수 있으나, 이 경우 패턴 축소등으로 인해 문자 패턴의 윤곽선이(동일 격자 라인상에서) 중첩되므로 제11a도에 도시한 바와 같이 1도트 곡선으로 되는 경우에는 제11b도에 도시한 바와 같이 잘못된 문자 패턴이 발생하게 되는 문제점도 있었다. 그리고 제11도에 있어서 도말 방향은 Y방향(위로부터 아래방향)이다.The following second method scans the lead-type drawn bitmap memory in a predetermined direction (smearing direction), and for example, smears all of the points from the point of # 1 to the point of # 1 as smears of # 1. (even-odd method smearing), and the above-mentioned "backing process" is not necessary. However, in this second method, when the number of dots in the smearing direction of a character (character pattern) in the smearing direction is one dot (defined as a one-dot sharpening point), not only the dot of the cutting edge but also the dot position There was a problem that subsequent dot rows were also smeared. In order to solve this problem, the design of the character pattern is complicated because it is necessary to make sure that one dot sharpening (letter sharpening with 1 dot of dots in the direction perpendicular to the smearing direction) does not occur. . In addition, when one-dot sharpening was required, it was necessary to generate a character pattern without the one-dot sharpening by smearing, and then draw the outline of the character pattern having the one-dot sharpening by overlapping it. In addition, in the second method, if the outline of the character pattern does not overlap as shown in FIG. 10A, a correct letter pattern can be obtained as shown in FIG. 10B. Since the outlines of (superimposed on the same lattice line) are superimposed on one line curve as shown in FIG. 11A, an incorrect character pattern occurs as shown in FIG. 11B. In FIG. 11, the smearing direction is the Y direction (from top to bottom).
제3의 방식은 Adobe System 사에 의하여 페이지 기술 언어인 포스트 스크립터(Post Script)에 쓰이고 있는 넌-제로 와인딩 넘버(non-zero winding number) 방식에 의한 도말 처리 방식이다. 이 제3의 방식에서는 우선 선도형(문자의 윤곽)을 세그먼트마다 예컨대 시점의 Y좌표라고 하는 따위의 어떠한 기준으로 쇼트하여 리스트해두는 처리가 행하여 진다. 그리고 "FILL"명령(도말명령)을 실행할때에는 예컨대 X축과 평행한 직선으로 위로부터 아래로 주사하는 프로그램 루프를 만들어 그 루프 1회마다 X축에 평행한 직선(주사 라인)과 상기 리스트 중의 세그먼트와의 교점을 모두 구하는 처리를 행한다. 다음에 교점의 X좌표의 순서에 따라 그 세그먼트의 기술을 조사해서 선이 어느쪽(상/하)으로 그어져 있는가를 판단하고, 와인딩 넘버(Winding number)를 구하여, 그것이 영(0)이 아닌(non-zero) 구간을 비트 맵 메모리위에 선을 긋고 처리가 행하여 진다. 제3의 방식에서는 이상과 같은 처리가 상기 프로그램 루프로서 되풀이 된다.The third method is a smear processing method using a non-zero winding number method used in Post Script, a page description language by Adobe System. In this third method, first, a process of shorting and listing the leading type (contour of the character) by some criteria such as the Y coordinate of the viewpoint for each segment is performed. When executing the FILL command, a program loop that scans from top to bottom with a straight line parallel to the X-axis, for example, is a straight line (scan line) parallel to the X-axis and the segments in the list. The process of finding all the intersections with and is performed. Next, examine the segment's description according to the order of the X coordinate of the intersection to determine which (up / down) line is drawn, obtain a winding number, and determine whether it is nonzero. processing is performed by drawing a line over the bitmap memory. In the third scheme, the above processing is repeated as the program loop.
상술한 바와 같이 제3의 방식에서는 라인마다 세그먼트 리스트를 조사할 필요가 있는데, 이러한 까닭에 세그먼트 리스트가 길어지게 되는 복잡한 도형(한자등의 패턴)인 경우에는 처리 시간이 매우 오래 걸린다고 하는 문제점이 있었다. 또 상기의 교점 계산을 "윤곽선의 총 도트수"정도로 되풀이할 필요성도 있었다.As described above, in the third method, it is necessary to examine the segment list for each line. Therefore, there is a problem that the processing time is very long in the case of a complicated figure (pattern such as a kanji) in which the segment list becomes long. . There was also a need to repeat the intersection calculation to about the total number of dots of the outline.
상기한 바와 같은 종래의 even-odd방식의 도말 처리 방식으로는 1도트 폭의 선이나 1도트 첨예단을 갖는 문자 패턴을 올바르게 발생시킬 수가 없고, 또 넌-제로 와인딩 넘버 방식에 의한 도말 처리 방식으로서는 고속 처리가 되지 않는다고 하는 문제점이 있었다.As described above, the conventional even-odd smear processing method cannot correctly generate a character pattern having a line of 1 dot width or a 1 dot sharp edge, and as a smear processing method using a non-zero winding number method. There was a problem that high speed processing was not possible.
그러므로, 본 발명은 1도트 폭의 선이나 1도트 첨예단을 갖는 문제패턴을 올바르게 발생시킬 수 있을 뿐만 아니라 복잡한 문자 패턴도 고속으로 발생시킬 수 있도록 하는 고품질 문자 패턴 발생장치를 제공하는 것이 그 해결 과제, 즉 목적이다.It is therefore an object of the present invention to provide a high quality character pattern generator which can not only correctly generate a problem pattern having a one dot wide line or a one dot sharp tip, but also can generate complex character patterns at high speed. That is the purpose.
본 발명의 고품질 문자 패턴 발생장치는 하나 이상의 선도형에 의하여 문자 패턴을 정의하기 위한 선도형 정보를 받아서 상기 선도형을 구성하는 모든 세그먼트마다 격자 라인과의 각 교점 또는 상기 세그먼트를 근사하는 각 격자점에 대하여 그점 전후의 세그먼트 부분의 방향 조합으로부터 그 점에 있어서의 와인딩 넘버의 변화 상태를 판별하여, 변화 없음을 나타내는 제1의 값, 1 증가를 나타내는 제2의 값, 1감소를 나타내는 제3의 값 및 1증가와 1감소가 중첩되어 발생하는 것을 나타내는 제4의 값중 제를 와인딩 넘버변화수 또는 상태를 나타내는 와인딩 넘버 코트로서 생성하는 조작을 선도형 정보로 나타낸 선도형의 순서에 따라 그 선도형을 찾아가는 방향으로 행하는 선코드 생성 수단과; 상기 문자 패턴을 정의하는 모든 선도형에 관한 각 점의 상기 와인딩 넘버 코드를 기억하기 위한 기억 수단과; 상기 선코드 생성수단에 의하여 생성되는 와인딩 넘버 코드를 토대로 동 코드에 대응하는 격자점에 대한 상기 기억 수단내의 와인딩 넘버 코드를 갱신하는 갱신 수단과; 상기 기억 수단에 기억되어 있는 각 격자점마다의 와인딩 넘버 코드를 도말 방향으로 순차추출하고 동 코드를 토대로 대응하는 격자점의 와인딩 넘버를 생성하여 도말 처리를 행하는 도말 처리 수단을 구비하는 것을 그 특징으로 하고 있다.The high quality character pattern generator of the present invention receives the leader information for defining the character pattern by at least one leader type, and for each segment constituting the leader type, each intersection point with the grid line or each grid point approximating the segment The change state of the winding number at that point is determined from the direction combinations of the segment portions before and after the point, and the first value indicating no change, the second value indicating one increase, and the third indicating one decrease. The operation of generating the first of the values and the fourth value indicating that the increase and the decrease decrease by 1 as the winding number coat indicating the number of winding number change or the state, according to the order of the leading type indicated by the leading type information. Line code generating means for performing a direction in the direction of searching for; Storage means for storing the winding number code of each point in relation to all lines defining the character pattern; Updating means for updating a winding number code in the storage means for the grid point corresponding to the code based on the winding number code generated by the line code generating means; And smearing processing means for sequentially extracting a winding number code for each lattice point stored in the storage means in a smearing direction, generating a winding number of a corresponding lattice point based on the code, and performing smearing. Doing.
상기한 본 발명의 구성에 의하면, 하나의 문자 패턴을 정의하는 몇 개의 선도형에 대하여 각각 한번 찾는 것만으로 최종적으로는 모든 선도형을 배치한 상태에 있어서의 각 점의 와인딩 넘버의 변화수 또는 변화 상태가 와인딩 넘버 코드로서 기억 수단내에 구해지고, 이 기억 수단의 기억 내용으로부터 각 점의 와인딩 넘버가 간단하게 구해지므로 도말 처리에 의한 문자 패턴 발생이 고속으로 행해진다. 그리고 상기 코드에서는 하나의 점의 전후에서(패턴 축소등 때문에) 1증가와 1감소가 중첩되어 발생하는 것도 표시되므로 와인딩 넘버를 올바로 구하는 일이 가능하며, 틀린 도말이나 가는 선의 손실을 방지할 수 있다.According to the above-described configuration of the present invention, the number of changes or the number of changes in the winding number of each point in the state in which all the lead forms are finally arranged by only finding each of several lead forms defining one character pattern. Since the state is obtained in the storage means as the winding number code, and the winding number of each point is simply obtained from the storage contents of the storage means, character pattern generation by the smearing process is performed at high speed. In the above code, the increase and the decrease are overlapped before and after a single point (due to pattern reduction, etc.), so that the winding number can be obtained correctly and the wrong smear or thin line can be prevented. .
제1도는 본 발명에 따른 고품질 문자 패턴 발생장치의 제1실시예를 나타낸 블록 구성도이다. 동도면에 있어서, (11)은 표준 사이즈의 문자 패턴을 하나 이상의 선도형의 집합으로 정의하는 선도형 정보를 기억하는 문자 패턴 데이타 메모리, (12)는 소망의 문자 패턴의 정보(선도형 정보)를 소망 사이즈의 문자가 되도록 변경시키는 수식 처리 회로, (13)은 수식 처리 회로(12)로부터 출력되는 선도형 정보를 일시 격납하는 선입 선출 버퍼(이하, FIFO라 함)이다.1 is a block diagram showing a first embodiment of a high quality character pattern generator according to the present invention. In the figure, (11) is a character pattern data memory for storing lead type information defining a character pattern of a standard size as a set of one or more leading types, and (12) is information of a desired character pattern (leading type information). Is a first-in, first-out buffer (hereinafter referred to as FIFO) that temporarily stores the line type information output from the
또 (14)는 FIFO 버퍼(13)에 격납되어 있는 선도형 정보에 따라 현재 처리중인 선도형의 현재 세그먼트(직선 세그먼트 및 곡선 세그먼트)와 격자라인과의 교점(또는 이 교점을 근사하는 격자점)에 대한 도말 처리 방향에 있어서 전후점에서의 와인딩 넘버의 차분을 표시하는 코드 데이터(이하, WN코드라 함)를 생성하고, 처리필의 선도형을 고려한 해당점에 있어서 WN코드를 결정하는 WN코드 생성 회로(이하, WNG라고 함)이다. WNG(14)는 상기의 WN코드 생성에 제공되는 WN코드 생성 테이블(15)과, 상기의 WN코드 결정(실제에는 WN코드 갱신)에 제공하는 WN코드 갱신 테이블(16)을 갖고 있다.In addition, (14) shows the intersection of the current segment (straight segment and curved segment) of the current type (straight line segment and curved segment) of the present type being processed and the grid line (or lattice point approximating the intersection point) according to the line type information stored in the
상기 교점과 근사하는 격자점은 생성하는 문자 패턴을 구성하는 도트에 대응하는 것이다. 그리고 가는 선을 포함하는 문자 패턴을 매우 강하게 축소하면, 통상의 수학적 처리에서는 그 선을 나타내는 부분 문자 패턴이 서로 인접하는 격자점 사이를 통과하게 되어 그 격자점에 사상된 와인딩 넘버만을 써서는 부분 문자 패턴이 조각조각이 되어 버리거나(격자 라인에 평행한 경우에는) 완전히 지워져 버리기도 한다. 여기서 상기한 부분 문자 패턴이 조각조각으로 되는 문제를 제12도를 참조하여 설명한다. 우선 제12a도는 강하게 축소한 문자 패턴의 일부인 사선(21), (21')과 생성하는 도트에 대응하는 격자를 가리킨다. 제12a도에 있어서, 기호 ●는 사선(21),(21')간의 영역(흑영역)의 안에 있고 와인딩 넘버가 1인 격자점을 나타내는데, 여기서는 4개의 점이 있다. 제12b도는 출력하는 문자 패턴의 도트 구성을 나타내는 것으로서, 도트의 중심과 제12a도의 격자점이 대응한다. 예컨대 제12a도의 격자점 A, B, C와 제12b도에 표시한 도트 중심 A', B', C'를 각각 대응한다. 명백한 바와 같이, 제12a도에 있어서, 와인딩 넘버가 1(기호 ●로 표시)인 격자점에 대응하는 도트를 흑색으로 하여 출력하면, 제12b도와 같이 선이 조각조각 되고 만다.The lattice points approximating the intersections correspond to the dots constituting the generated character pattern. When the character pattern including the thin line is reduced very strongly, in the usual mathematical processing, the partial character pattern representing the line passes between adjacent grid points, and only the winding letter mapped to the grid point is written. The pattern may be fragmented (when parallel to the grid lines) or completely erased. Here, the problem that the above partial character pattern becomes a piece will be described with reference to FIG. First, FIG. 12A shows the
상기의 문제와 그 해결 방법은 종래부터 알려져 있다. 예컨대, 세로 가로 각각 1/2로 축소하는 경우, 축소후의 1점에 대응하는 축소전의 4개의 점중 어느 1개의 점만이 흑색 일지라도 그 출력 도트를 흑색으로 하는 방식의 그 일예이다. 즉 축소에 해당하는 흑영역을 확장하여 흑영역의 연속성을 확보하는 방식이 알려져 있는데, 이것은 흰바탕에 가는 흑석으로 문자 패턴이 그어져 있는 경우의 축소에 있어서 최적의 방법이다.The above problem and its solution are known in the art. For example, in the case of shrinking each of the vertical and horizontal portions by 1/2, even if any one of the four points before the reduction corresponding to the one point after the reduction is black, the output dot is black. That is, a method of securing the continuity of the black region by expanding the black region corresponding to the reduction is known, which is the best method for the reduction in the case where the letter pattern is drawn with black stone that is on the white ground.
여기서 제1도의 WNG(14)에 적용되는 흑영역의 연속성을 유지하기 위한 방식에 대하여 제13도 및 제14도를 참조하여 설명한다.Here, a method for maintaining the continuity of the black region applied to the WNG 14 in FIG. 1 will be described with reference to FIGS. 13 and 14.
우선 제13a도에는 제12a도와 동일한 선도형{사선(21), (21')을 포함}이 표시되어 있는데, 이 선도형{내부의 선(21)}을 부호 D로 표시된 위치로부터 좌측 아래 방향으로 찾아가고 있는 것으로 한다. 제13a도의 예에서는 선(21)이 D 위치의 근방에서 Y축과 평행한 선에 대하여 이루는 각도(여기서 선의 방향은 고려치 않고 0°∼90°의 각도 범위만을 고려함) 보다는 Y축과 평행한 선에 대하여 이루는 각도 쪽이 크다. 이 경우 X축과 평행으로 다음의 격자점을 지나는 선(격자 라인) E와 선도형{내부의 선(21)}과의 교점 F를 구하여, 점 F와 가장 가까운 격자점 G를 구하여, G를 구하여, G점도 흑영역(와인딩 넘버가 1인 영역)에 포함하도록 영역 확장을 행한다.First, in Fig. 13A, the same diagram (including
상기와 같이 확장되는 영역에 포함되는 점을 구하는 조작에는 DDA(Digital Differential Analyzer)라고 불리우는 주지의 직선 묘화 알고리즘에 의하여 직선 또는 곡선을 8연결의 관계를 유지하면서 격자점 위에 플롯하는 수법이 쓰인다. 이 DDA플롯 수법에 의하면, 제13a도의 예에서는 선(21) 및 X축과 평행한 격자 라인과의 교점을 대신하여 화살표 →와 기호 ●로서 표시하듯이 선(21)을 근사하는(플롯대상) 격자점이 8연결의 관계를 유지하면서 순차적으로 구해지고, 그 점이 원래의 흑영역에 포함되어 있으면 그냥 그대로가 되고, 흑영역 밖에 있으면, 그 점도 흑영역에 포함되도록 흑영역이 파선으로 표시하는 바와 같이 확장된다. 이상의 처리는 선(21')에 대하여도 마찬가지로(다만, 여기서는 찾아가는 방향은 우측 위방향)행하여지고, 선(21')과 근사하는 (플롯대상) 격자점이 8연결의 관계를 유지하면서 순차적으로 구하여 진다. 제13a도에는 이와 같이 하여 얻어진 격자점 가운데, 확장된 영역에 포함되는 격자점이 기호 ▲로 표시되고 있다. 이상의 기호 ●및 ▲로 표시되는 각 점에 대응하는 도트를 흑으로 하여 출력하면, 제13b도에 표시하는 결과가 나타나게 되어 흑영역이 연속한다. 그리고 제13b도의 결과는 서로 인접하는 흑도트가 4연결의 관계로 되고 있으나, 항상 4연결의 관계로 되는 것은 아니다. 그러나 아무리 선폭이 가늘게 되어도 서로 인접하는 흑도트가 8연결의 관계를 유지하는 것은 상기한 주지의 DDA플롯 수법에서 보장된다.In order to obtain a point included in the extended area as described above, a method of plotting a straight line or a curve on a grid point while maintaining a relation of eight connections is used by a known linear drawing algorithm called a digital differential analyzer (DDA). According to this DDA plot method, in the example of FIG. 13A, the
그런데 한자 패턴 특히 가로선의 폭이 가는 명조체 문자 패턴을 강하게 축소하면, 제14도에서 가리키는 바와 같이 가로선을 나타내는 흑영역 H가 서로 인접하는 격자 라인들 사이에 들어가고 마는 일이 있다.By the way, if the Chinese character pattern, especially the Myeongjo character pattern having a narrow horizontal line, is strongly reduced, as shown in FIG. 14, the black region H representing the horizontal line may enter between adjacent grid lines.
이 경우에는 수학적으로 각 격자점의 와인딩 넘버를 구하여 그에 대응하는 도트 출력을 행하면, 상기의 가로선이 완전히 소실해 버린다. 그러나 상기한 DDA플롯 수법을 쓰는 본 실시예에서는 흑영역 H의 예컨대 위쪽 경계를 표현하는 선도형을 처리할때에 흑영역(와인딩 넘버가 1인 영역)이 제14도에서의 기호 ●로 표시되는 격자점을 포함하도록 부호 1로 표시하는 위치까지 확장되므로 문자 패턴중의 가는 흑선이 소실되는 일은 없다.In this case, when the winding number of each lattice point is mathematically calculated and dot output corresponding thereto is performed, the above horizontal line is completely lost. However, in the present embodiment using the above-described DDA plot method, the black region (the region having a winding number of 1) is indicated by the symbol? In FIG. 14 when processing the line type representing the upper boundary of the black region H, for example. Since it extends to the position shown by the code |
다음에 제1도의 WNG(14)에 의하여 생성되는 WN코드에 대하여 설명한다. 이 실시예에서는 WN코드로서 다음의 4종이 준비된다. 제1의 WN코드의 주목점의 와인딩 넘버가 그 직전(도말 처리 방향의 직전이며, 본 실시예에서는 주목점의 위인점)의 격자점의 와인딩 넘버에 비하여 차분이 없는 것을 나타내는 "0"이며, 제2의 WN코드는 주목점의 와인딩 넘버가 그 직전의 격자점의 와인딩 넘버에 비하여 1만이 큰 것을 나타내는 "+"이다. 또 제3의 WN코드는 주목점의 와인딩 넘버에 비하여 그 직후(여기서는 아래 이웃)의 격자점의 와인딩 넘버가 1만큼 작은 것을 나타내는 "-1"이며, 제4의 WN코드는 주목점의(도말 처리 방향에 있어서) 직전 직후의 격자점의 와인딩 넘버의 차분이 0이지만, 주목점에서의 와인딩 넘버가 이 직전 직후의 격자점이 와인딩 넘버와는 1만이 상기한 것을 나타내는 "±"이다, 여기서는 상기한 WN코드 "0", "+", "-", "±"를 표현하기 위한 2비트 코드로서 각각 "00", "01", "10", "11"를 쓰고 있다. 그리고 WN코드가 상기한 바와 같이 4종에서 끝나는 것은 선도형이 문자 패턴의 윤곽선과 윤곽선끼리 및 자신이 겹치지 않는 경우(다만 표준 사이즈의 선도형성), 즉 와인딩 넘버의 최대치가 1인 경우인데, 본 실시예에서는 이 경우를 전체로 하고 있다. 그리고 예컨대 최대 3개의 선도형의 중첩까지 허용되는 경우, 즉 WN코드의 최대치가 3인 경우에는 와인딩 넘버의 차분은 ±3의 범위로 될 수 있으므로, -3∼+3 및 "±"의 8종의 WN코드를 준비할 필요가 있다. 이 경우에 있어서도 WN코드 생성 테이블(15)에서는 단지 하나의 선도형만을 대상으로 하고 있기 때문에 상기한 4종의 WN코드만이 쓰인다.Next, the WN code generated by the WNG 14 in FIG. 1 will be described. In this embodiment, the following four types are prepared as WN codes. The winding number of the point of interest of the first WN code is "0" which indicates that there is no difference compared to the winding number of the grid point of the previous point (just before the smearing direction, in the present embodiment, the point of greatness of the point of interest). The second WN code is "+" indicating that the winding number of the point of interest is 10,000 larger than the winding number of the grid point immediately before it. The third WN code is 는 -1 "indicating that the winding number of the lattice point immediately after (in this case, the neighboring side) is as small as 1, compared to the winding number of the point of interest, and the fourth WN code is the mark of the point of interest. In the processing direction), the difference in the winding number of the lattice point immediately before is 0, but the winding number at the point of interest is "±", indicating that the lattice point immediately after this point is only 1 with the winding number, where The two bit codes for expressing the WN codes '0', '+', '-' and '±' are used, respectively, '00', '01', '10' and '11'. As described above, the WN code ends in the four kinds in the case where the leading type does not overlap the contours and contours of the character pattern and the self (but the standard size is formed), that is, when the maximum number of winding number is 1. In the embodiment, this case is the whole. For example, when a maximum of three leading types are allowed to be overlapped, that is, when the maximum value of the WN code is 3, the difference of the winding number may be in the range of ± 3, so that 8 kinds of -3 to +3 and "±" You need to prepare your WN code. Also in this case, since only one lead type is used in the WN code generation table 15, only the four types of WN codes described above are used.
제1도의 (17)은 WNG(14)에 의하여 결정(갱신)된 WN코드가 해당점(근사하는 격자점)과 대응하여 격납되는 WN코드 패턴 메모리(이하, WNPM 이라함)이고, (18)는 WNPM(17)에 격납되어 있는 각 점의 WN코드를 토대로 도말 처리를 행하여 문자 패턴을 발생시키는 도말 처리 회로이다. 이 도말 처리 회로(18)는 WNPM(17)으로부터 취출한 어느 점의 WN코드와 이 점을 지나는 도말 라인에 관한 초지치가 "0"인(이 점의) 참조 데이터(참조 와인딩 넘버)와를 토대로 이 점의 와인딩 넘버(여기서는 0 또는 1) 및 상기 참조 데이터를 대신할 새로운(다음 점의 처리를 위한) 참조 데이터(여기서는 0 또는 1)을 생성하는 기능을 갖고 있다.(17) in FIG. 1 is a WN code pattern memory (hereinafter referred to as WNPM) in which the WN code determined (updated) by the WNG 14 is stored in correspondence with a corresponding point (an approximate lattice point). Is a smear processing circuit for performing smear processing on the basis of the WN codes of the respective points stored in the
그리고 이 실시예에서는 하나의 선도형을 닫혀 있고, 반드시 "단번에 그리기"로 묘화 가능하도록 정의되고 있다. 또 "단번에 그리기"의 방향은 포스트 스크립트로 정의되고 있는 바와 같이, 좌측에 도말 영역을 바라보는 방향으로 나아가는 것으로 하고, 도말은 Y축 방향(여기서는 위에서 아래 방향)으로 행하여지는 것으로 한다. 그러나 이 선택은 본질적인 것은 아니며, 예컨대 우측에 도달 영역을 바라보는 방향으로 "단번에 그리기"를 하도록 와인딩 넘버를 정의하고, 도말을 X축 방향으로 행하도록 본 실시예를 변경하는 것도 가능하다.In this embodiment, one lead type is closed and is defined to be able to be drawn by "drawing at once". As defined by PostScript, the direction of " draw at once " is directed toward the left side to face the smearing area, and the smearing is performed in the Y-axis direction (here, from top to bottom). However, this selection is not essential, for example, it is also possible to define the winding number so as to “draw at once” in the direction looking at the arrival area on the right side, and change the present embodiment to perform the smear in the X-axis direction.
제2도에서는 WN코드 생성 테이블(15)의 내용의 일부를 도시한다. 동도면에 있어서, 흑도트"●"는 상기 교점을 나타내고, 이 흑도트에 행하는 화살표 "→"는 주목하는 교점에 어느 쪽에서 세그먼트가 이동해왔는가를 나타내며, 이 흑도트에서 떨어지는 화살표 "→"는 세그먼트가 주목점에서 다음에 어느 방향으로 이동하는가를 가리키고 있다. 화살표의 방향은 45°단위의 8종으로 분류되고 있다. 이 화살표 방향을 가리키는 코드를 이동 방향 코드라고 한다. 제2도에는 주목점에의 이동 방향과, 이 주목점으로부터의 이동방향과의 조합에 의하여 4종의 WN코드중 하나가 생성되는 것이 표시되어 있다.2 shows a part of the contents of the WN code generation table 15. In the same figure, the black dot "" indicates the intersection, and the arrow "→ 행 for the black dot indicates which segment has moved to the point of interest, and the arrow" → "falling from the black dot indicates the segment. Indicates which direction to move from the point of interest to the next. The direction of the arrow is classified into 8 types in 45 ° units. The code indicating the direction of the arrow is called a moving direction code. 2 shows that one of four kinds of WN codes is generated by a combination of the direction of movement to the point of interest and the direction of movement from this point of interest.
제3도는 WN코드 갱신 케이블(16)의 내용을 도시한다. 제3도에서는 WN코드생성 테이블(15)에 따라서 생성된 WN코드와 WNPM(17)으로부터 취출한 동일점의 WN코드와의 조합에 의하여 WNPM(17)내의 해당점의 WN코드의 갱신 내용이 임의적으로 결정되는 것이 표시되고 있다.3 shows the contents of the WN
제4도에서는 도말 처리 회로(18)의 처리 기능을 도시한다. 동도면에 있어서, (P, Q)형식의 엔트리(P, Q는 각각 0또는 1)는 해당하는 입력의 조합(즉 WNPM(17)으로부터의 WN코드와 참조 데이터와의 조합)에 따라 와인딩 넘버로서의 P와, 다음의 점의 처리를 위한 새로운 참조 데이터로서 Q가 생성되는 것을 가리킨다.4 shows a processing function of the
다음에, 본 발명의 제1실시예의 동작을 제5도의 플로우 챠트를 적절히 참조하여 설명한다. 우선 수식 처리 회로(12)는 데이터 메모리(11)로 부터 소망의 문자에 대한 표준 사이즈의 문자 패턴을 정의하는 선도형 정보를 데이타 메모리(11)로 부터 취출하여, 이 취출된 선도형 정보가 소망의 문자 사이즈의 문자 패턴을 정의하도록 변경한다. 그리고 수식 처리 회로(12)는 변경후의 선도형 정보(변경의 필요가 없으면 취출된 선도형 정보)를 FIFO 버퍼(13)에 기입한다. 여기까지는 종래에도 일반적으로 행하여지고 있다.Next, the operation of the first embodiment of the present invention will be described with reference to the flowchart of FIG. 5 as appropriate. First, the mathematical
WNG(14)는 FIFO 버퍼(13)에 기입된 선도형 정보를 차례로 취출하여 우선 선도형의 개시점을 소정 분해능의 도트 격자점위에 사상하고, 그 점을 p로 하여 내부 기억한다(스텝 S1). 다음에 WNG(14)는 선도형을 찾아가는 방향으로 격자라인과 대하는 세그먼트위의 다음의 교점(또는 세그먼트와 근사하는 격자점 열중의 다음의 점)을 구하여, 그 점을 현 주목점 p로 한다(스텝 S2). WNG(14)는 스텝 S2를 종료하면, 점 p의 직전 및 직후의 세그먼트의 방향을 구하여 45°의 단위의 방향으로 정규화하여, 각각 대응하는 방향 코드(이동 방향 코드)를 생성한다(스텝 S3).The WNG 14 sequentially takes out the lead type information written into the
WNG(14)는 스텝(S3)을 종료하면 스텝(S4)으로 진행하여, 우선 스텝(S3)에서 생성한 2개의 방향 코드, 즉 점 p의 직전의 세그먼트 부분의 이동 방향을 나타내는 코드(선행 이동 방향 코드) 및 점 p의 직후의 세그먼트 부분의 이동 방향을 나타내는 코드(후속 이동 방향 코드)를 써서 제2도에 도시하고 WN코드 생성 테이블(15)을 참조하여, 이 2개의 방향 코드(표시하는 주목점의 전후의 세그먼트 부분의 이동방향)의 조합에서 정해지는 WN코드를 생성한다. 이 결과 다음에 가리키는 WN코드 생성이 행하여 진다.The WNG 14 proceeds to step S 4 when step S 3 ends, and first, two direction codes generated in step S 3 , that is, codes indicating a moving direction of the segment portion immediately before the point p (Preceding direction code) and a code indicating the direction of movement of the segment portion immediately after the point p (following direction code) are shown in FIG. 2 and with reference to the WN code generation table 15, these two direction codes A WN code determined by the combination of (the direction of movement of the segment part before and after the target point to be displayed) is generated. As a result, the WN code generation shown next is performed.
① 선행 이동 방향 코드가 도말 처리 방향(여기서는 하향)을 가리키고 있는 경우에, 주목점의 전후의 세그먼트 부분이 이루는 각도(도말 영역을 포함하는 각도) θ가 180° 미만이면 WN코드 "-"가 생성되고, θ가 180°이상이면 WN코드는 "0"이 생성된다. 여기서는 상기의 각도 θ는 2개의 벡터가 이루는 각도로 생각하여 05∼360°의 범위를 취하는 것으로 하고 있다. 제15도에 도시하는 바와 같이 상기 각도 θ가 0°<θ<180°인 경우는 기호 0으로 표시되는 주목점의 바로 밑의 격자점은 해당하는 선도형이 가리키는 흑영역으로부터 벗어난다. 또 주목점 자신은 상기한 바와 같이 확장된 흑영역에 포함된다. 이 때문에 주목점에는 상기한 WN코드의 정의에 따라서 "-"가 쓰여야 하며, 상기와 같이 "-"가 생성케 된다. 이것에 대하여 180°θ<360°인 경우에는 주목점의 바로 밑의 격자점이 흑영역에 들어가고 주목적의 바로 위의 격자점도 확장된 흑영역에 들어가고, 주목점의 바로 위의 격자점도 확장된 흑영역에 들어가므로, 주목점의 전후에서 와인딩 넘버의 변화가 없고, 상기와 같이 와인딩 넘버 "0"이 생성케 된다. 이하의 설명에서는 WN코드의 생성의 룰만을 나타내고, 그 상세한 이유로 번잡을 피하기 위하여 생략하나, 상기의 예와 같이 와인딩 넘버의 변화를 주목점과, 그 직전의 직후의 격자점에 대하여 생각하면 용이하게 이해된다.(1) When the preceding movement direction code points in the smear processing direction (here, downward), if the angle formed by the segment portion before and after the point of interest (the angle including the smearing area) θ is less than 180 °, a WN code V-- is generated. When θ is 180 degrees or more, W0 code generates '0'. Here, the angle θ of the can and to take a range of 0 ° to 5 ~360 thought to angle the two vector forms. As shown in FIG. 15, when the angle θ is 0 ° <θ <180 °, the lattice point immediately below the point of interest indicated by the
② 선행 이동 방향 코드가 도말 방향과 역의 방향(여기서는 상향)을 가리키고 있는 경우에는 주목점의 전후의 세그먼트 부분이 이루는 각도(도말 영역을 포함하는 각도) θ가 180°미만이면 WN코드 "+"가 생성되고, 180°이상이면 WN코드 "0"이 생성된다.(2) When the preceding movement direction code points in the reverse direction of the smearing direction (in this case, upward), if the angle (angle including the smearing area) θ formed by the segment part before and after the point of interest is less than 180 °, the WN code "+ ° Is generated, and the
③ 후속 이동 방향 코드가 도말 방향을 가리키고 있는 경우에, 주목점의 전후의 세그먼트 부분이 이루는 각도(도말 영역을 포함하는 각도)θ가 180°미만이면 WN코드 "+"가 생성되고, 180°이상이면 WN코드 "0"이 생성된다.(3) When the subsequent movement direction code points in the smearing direction, if the angle (angle including the smearing area) θ formed by the segment portion before and after the point of interest is less than 180 °, a WN code "+" is generated, and 180 ° or more. ,
④ 후속 이동 방향 코드가 도말 방향과 역의 방향을 가리키고 있는 경우에는 주목점의 전후의 세그먼트 부분이 이루는 각도 θ가 180°미만이면 WN코드 "-"가 생성되고, 180°이상이면 WN코드 "0"이 생성된다.④ If the subsequent movement direction code points in the direction opposite to the smearing direction, the WN code "-" is generated when the angle θ formed by the segment part before and after the point of interest is less than 180 °, and when the angle is greater than 180 °, the WN code "0 Is generated.
⑤ 선행 및 후속 이동 방향 코드가 가리키는 방향과 도말 방향과의 직교하는 방향(여기서는 수평방향)의 성분(수평 방향 성분)이 우측 방향을 가리키고 있는 경우, 즉 세그먼트가 주목점을 지나 도말 라인을 우측 방향으로 횡단하는 경우에는 WN코드 "-"가 생성된다.⑤ If the component (horizontal component) in the direction orthogonal to the smearing direction (in this case, the horizontal direction) of the direction indicated by the preceding and subsequent moving direction codes is pointing to the right direction, that is, the segment passes the point of interest and moves the smearing line to the right. In the case of traversal, the WN code "-" is generated.
⑥ 선행 및 후속 이동 방향 코드가 가리키는 방향의 수평 방향 성분이 좌측방향을 가리키고 있는 경우, 즉 세그먼트가 주목점을 지나서 도말 라인을 좌측 방향으로 횡단하는 경우에는 WN코드 "+"가 생성된다.⑥ A WN code "+ 생성 is generated when the horizontal component in the direction indicated by the preceding and subsequent moving direction codes points to the left direction, that is, when the segment crosses the smear line to the left after passing the point of interest.
⑦ 선행 및 후속 이동 방향 코드가 가리키는 방향의 수평 방향 성분이 서로 역방향으로 가리키고 있는 경우, 즉 세그먼즈가 주목점을 지나는 도말 라인을 횡단하지 않고 되돌아오는 경우에는 주목점의 전후의 세그먼트 부분이 이루는 각도가 180°미만이면 WN코드 "±"가 생성되고, 180°이상이면 WN코드 "0"가 형성된다.⑦ When the horizontal components in the direction indicated by the preceding and subsequent moving direction codes are pointing in the opposite directions, that is, when the segments return without crossing the smear lines passing through the points of interest, the angle formed by the segment portions before and after the points of interest. Is less than 180 °, WN code? ± "is generated, and if it is more than 180 °, WN code? 0" is formed.
WNG(14)는 WN코드 생성 테이블(15)을 사용하여 상기한 WN코드를 생성하면, 상기 점 p(근사하는 격자점)에 대응하는 WNPM(17)위의 점의 WN코드를 취출하고, 이들 양 WN코드를 써서 제3도에 도시하는 WN코드 갱신 테이블(16)을 참조한다. 그리고 WNPM(17)의 모든 점에 있어서 WN코드의 초기치는 "0"이다. 다음에 WNG(14)는 점 p에 대응하는 WNPM(17)위의 점의 WN코드를 WN코드 갱신 테이블(16)을 참조하여 얻어지는 WN코드로 갱신한다. 이 갱신 테이블(16)의 논리는 WNPM(17)의 내용=WNPM(17)의 내용+생성 WN코드로 표시케 된다. 상기 식에 있어서, +의 연산 롤은 생성 WN코드가 "+", "-"인 경우에는 각각 WNPM(17)의 내용(갱신전 WN코드)에 대하여 +1 및 -1의 조작을 행하고, 그 결과가 영(0)이 되었을 때에는 "±"로 하는 것이다. 또 생성 WN코드는 "±"는 WNPM(17)의 내용(갱신전 WN코드) "0"이 아닌한, "0"으로 하여 취급되어 WNPM(17)의 내용은 갱신되지 않는다. 이에 대하여 WNPM(17)의 내용(갱신전 WN 코드)이 "0"인 경우에는 "0"+"±"→"±"로 하여 처리된다. 또 생성 WN코드 "0"인 경우에는 WNPM(17)의 갱신은 불필요하게 된다. 따라서, 본 실시예에서는 생성 WN 코드가 "0"인 경우에는 처리의 고속화를 위하여 WN코드 갱신 테이블(16)을 참조하지 않고 또는 WNPM(17)을 액세스하지 않도록 하고 있다. 따라서 제3도에는 설명의 편의상 생성 WN코드가 "0"인 경우의 WN코드 갱신 내용에 대하여도 표시하고 있으나, 실제로는 불필요하다. 상기의 논리는 선도형의 중첩을 허용하는 경우에 적용 가능하다. 그리고 제2도의 갱신 테이블(16)에 있어서 '괄호'로 표시되어 있는 엔트리의 내용은 상기의 논리에서 벗어나 있으나, 이 엔트리에 대응하는 조합은 선도형(표준 사이즈의 선도형)의 중첩을 허용하지 않는 본 실시예에서는 존재하지 않기 때문에 그 설명을 생략한다.When the WNG 14 generates the above-described WN code using the WN code generation table 15, the WNG 14 extracts the WN codes of the points on the
상기한 스텝(S4)의 처리가 행하여짐으로써 WNPM(17)의 내용은 현재 처리중인 선도형의 현재 세그먼트 위의 점 p까지의 각 점에 있어서 WN코드를 나타내도록 된다. 다음에 WNG(14)는 현재 처리중인 선도형의 최종점에 대한 WN코드 갱신 처리가 종료하였는지의 여부를 조사하여, 종료하지 않았으면 스텝(S2)에 되돌아와, 다음의 교점을 구하여 새로이 p로 하고, 이 점 p에 대하여 스텝 S3및 S4를 재차 실행한다. 그리고 1개의 선도형의 최종 점에 대한 처리가 종료되면, WNG(14)는 이 선도형의 개시점에 대하여 스텝 S3및 S4와 동일한 처리를 실시한다.The processing of step S 4 described above causes the contents of the
이와 같이 1개의 선도형에 대한 처리가 모두 종료된 다음에, 만약 1개의 문자 패턴이 복수의 선도형으로 정의되어 있고 또한 처리전의 선도형이 남아 있으면, WNG(14)는 남은 선도형에 대하여 상기한 처리를 반복하여 1개의 문자 패턴에 관한 모든 선도형에 대한 처리가 종료하면 다음의 문자 패턴에 관한 상기의 처리를 실행한다. 또 WNPM(17)은 2개의 문자 패턴에 관한 WN코드가 격납 가능하도록 2개의 WN코드 기억 영역으로 구분되어 있고, WN코드의 갱신처리는 선행 문자 패턴에 관한 갱신 대상 영역과는 별도의 영역을 대상으로 실시된다. 이것은 이미 처리 종료된 문자 패턴에 관한 WN코드가 격납되는 영역을 대상으로 후술하는 도말 처리를 실시하고 있는 기간에도 다음의 문자 패턴에 관한 상기 처리가 파이프 라인적으로 병행에서 실시할 수 있도록 하기 위한 것이다.In this way, after all processing for one lead type is finished, if one character pattern is defined as a plurality of lead types and the leading type before the process remains, the WNG 14 will be described with respect to the remaining lead types. When the processing for all the leading types for one character pattern is completed by repeating one processing, the above processing for the next character pattern is executed. In addition, the
다음에 도말 처리 회로(18)의 동작을 설명한다. 우선 도말 처리 회로(18)는 WNPM(17)의 2개의 WN코드 영역중, 일련의 WN코드 갱신 처리가 종료되고 있는 문자 패턴에 관한 WN코드가 격납되는 영역을 대상으로 가로 방향(수평 방향)라인에 연속된, 예를 들면 8점을 단위로 도말 처리 방향으로 차례로 WN코드를 취출하고, 8점에 대해 동시에 도말 처리를 실시하도록 구성된다. 이 도말 처리는 상기와 같이 위에서 아래로 향해서 실시되고, 하단에 도달하면 예를 들어 우측 옆의 가로 폭이 8점의 영역에 대하여 재차 8점 단위의 도말 처리가 실시된다. 이 도말의 원리는 이하와 같다.Next, the operation of the
우선 도말 처리 회로(18)는 WNPM(17)로부터 도말 대상점(8점)에 대응하는 WN코드열을 취출한다. 도말 처리 회로(18) 내부에는 8점분의 참조 데이터(참조 와인딩 넘버)가 간직되어 있다. 각 참조 데이터의 초기치는 0이다. 도말 처리 회로(18)는 WNPM(17)으로부터의 WN코드와 참조 데이터와의 대응점마다의 조합에 따라서 제4도에 따른(P, Q), 즉 도말 대상점 와인딩 넘버로서의 p(선도형의 중첩을 허용하지 않는 본 실시예에서는 0 또는 1) 및 다음 점의 도말 처리를 위한 참조 데이터로서의 Q(0 또는 1)를 생성한다. 단 제4도에 있어서 기호 *가 부여된 엔트리에 대응하는 조합은 본 실시예에서는 발생하지 아니한다.First, the
그런데 도말 처리 회로(18)에 있어서 생성되는(P, Q)는 제4로부터 명백한 바와 같이 다음과 같다.By the way, (P, Q) produced in the
① 현재의 참조 데이터(참조 와인딩 넘버)가 0인 경우 WN코드가 "0"이면, 즉 도말 대상점의 앞뒤에서 와인딩 넘버의 변화가 없으면, P, Q로서 현재 참조 데이터와 동일치 0이 생성된다.(1) If the current reference data (reference winding number) is 0, if the WN code is 0, that is, if there is no change in the winding number before and after the smearing target point, P, Q is generated and the
WN코드가 "±"이면, 즉 도말 대상점의 직전의 점에 대하여 와인딩 넘버가 +1로 변화하고 있으면, p로서의 현재 참조 데이터를 +1 한 치 1이 생성되고, 또한 이 점의 와인딩 넘버를 다음 점에 참조시키기 위하여 Q로서는 p와 동일치 1이 생성된다.If the WN code is "±", that is, if the winding number is changed to +1 with respect to the point immediately before the smearing point, a
WN코드가 "θ"이면, 즉 도말 대상점의 앞뒤에서(패턴 축소를 위하여 선도형이 동일한 격자상에서 겹치는 등의 이유로) 와인딩 넘버가 +1과 -1의 변화를 일으키고 있으면, p로서의 고정치 1이 생성되고, 또한 이 점의 W넘버를 다음 점에 영향을 주지 않기 위하여 Q로서는 현재 참조 데이터와 동일치 0이 생성된다.If the WN code is "θ", i.e., before and after the smearing point (for example, because the lead forms overlap on the same lattice for pattern reduction), the winding number is causing a change of +1 and -1. Is generated, and in order not to affect the W number of this point to the next point, Q is generated equal to zero with the current reference data.
② 현재의 참조 데이터(참조 와인딩 넘버)가 1인 경우 WN코드가 "0"이면 P, Q로서 현재 참조 데이터와 동일치 1이 생성된다.② If the current reference data (reference winding number) is 1 If the WN code is '0', P, Q is generated and the
WN코드가 "-"이면, 즉 도말 대상점의 뒤에서 와인딩 넘버가 -1로 변화되고 있으면, p로서 현재의 참조 데이터 1이 생성되고, 또한 이 점의 와인딩 넘버를 -1로 한 치를 다음 점에 참조시키기 위하여 Q로서는 치 0이 생성된다.If the WN code is "-", that is, the winding number is changing to -1 behind the smeared point, the
WN코드가 "±"이면, p로서 공정치 1이 생성되고, 또한 이 점의 와인딩 넘버를 다음 점에 영향을 주지 않기 위하여 Q로서는 현재 참조 데이터와 동일치가 생성된다.If the WN code is "±",
상기한 바와 같이 도말 처리 회로(18)는 WNPM(17)에 격납되어 있는 WN코드에서 p치인 와인딩 넘버를 생성(복원)하는 처리를 행한다. 이 p치(와인딩 넘버)는 선도형의 중첩을 불허하는 본 실시예에서는 도말 대상점(도트)의 흑/백을 나타내는 2치 데이터와 일치한다. 따라서 도말 처리 회로(18)는 도말 대상점의 와인딩 넘버를 구하는 동시에 도말 처리를 행하게 된다. 또 복수의 선도형의 중첩을 허용할 경우, 즉 와인딩 넘버가 2이상의 값을 취할 가능성이 있는 경우는 1이상의 와인딩 넘버를 가지는 점에 대하여 예컨대 흑의 도말을 지정하는 2치 데이터를 출력하면 된다.As described above, the
이상의 도말 처리 회로(18)의 도말 처리로 말미암아 예컨대 제6도에서 보이는 바와 같이 문자 패턴(일부)을 1/3로 축소한 문자 패턴을 발생할 경우에 대하여 설명한다. 이 경우 최초에 상측 윤곽선에 대하여 WN코드가 발생되는 것으로 하면 그 때의 각 점의 WNPM(17)내 WN코드의 상태는 제7a도에 도시한 바와 같이 된다. 다음에 하측의 윤곽선에 대하여 WN코드를 발생하여 WNPM(17)의 WN코드의 갱신을 행할 경우에는 축소의 결과 상측 윤곽선과 하측 윤곽선이 도트 상에서 중첩되게 되므로, 제6도에서 도시한 문자 패턴을 1/3로 축소한 패턴에 관한 각 점의 WN코드의 상태를 최종적으로 제7b도에 보이는 바와 같게 된다. 그리고 제7b도의 상태하에서는 상기의 도말 처리가 행해지므로써, 결과적으로 1도트 폭이 되는 선(제7b도에 있어서 "±"가 그려진 라인)이 정확히 발생한다.The case where the smear processing of the
그런데 본 실시예에서는 제8도에 있어서 WN코드 기호가 기입되어 있지 않은 라인의 점과 같이, 같은 점에 인접하는 상측 및 하측의 어느 점도 흑이 되는 점은 상기한 WNG(14)의 동작에서 명백한 바와 같이 WN코드의 갱신 대상이 되지 않으므로, WNPM(17)에 대한 필요없는 액세스가 발생하지 않는다. 또 1도트 첨예단을 갖는 문자 패턴에서는 그 점이 제9도에 보이는 바와 같이 WN코드 "±"로 명시되기 때문에 정확한 도말 처리가 가능하게 된다.However, in the present embodiment, as in the point where the WN code symbol is not written in FIG. 8, it is obvious that any of the upper and lower points adjacent to the same point becomes black in the above-described operation of the WNG 14. As described above, since it is not an update target of the WN code, unnecessary access to the
이상 상세히 설명한 바와 같이, 본 발명에 의하면, 하나의 문자 패턴을 정의하는 몇 개의 선도형에 대하여 각각 한번 찾아가는 것만으로도 최종적으로는 모든 선도형을 배치한 상태에 있어서의 각 점의 와인딩 넘버의 변화수 또는 변화 상태가 WN코드로서 기억 수단내에 구해지고, 이 기억 수단의 기억 내용에서 각 점의 와인딩 넘버를 간단하게 구할 수 있으므로, 종래의 넌-제로 와인딩 넘버 방식에 의한 도말 처리에 비하여 고속화가 가능케 된다. 또 상기 WN코드는 하나의 점의 전후에서(패턴 축소등 때문에) 1증가와 1감소가 중첩해서 발생하는 특이 상태로 나타내므로, 와인딩 넘버를 정확히 구하는 일이 가능하고, 1도트 첨예단을 갖는 문자 패턴이나 1도트 폭을 갖는 문자 패턴을 정확히 발생시킬 수 있다.As described in detail above, according to the present invention, a change in the winding number of each point in the state in which all the lead forms are finally arranged even if each of the several lead forms that define one character pattern are visited once. The number or the change state is obtained in the storage means as a WN code, and the winding number of each point can be simply obtained from the storage contents of the storage means, which makes it possible to speed up compared with the conventional non-zero winding number smearing process. do. In addition, since the WN code is represented by a singular state in which one increase and one decrease occur before and after a single point (for example, due to pattern reduction), the winding number can be obtained accurately, and the character having a one-dot sharp edge Can accurately generate patterns or character patterns that are one dot wide.
Claims (1)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63-20315 | 1988-01-30 | ||
JP63020315A JP2771981B2 (en) | 1988-01-30 | 1988-01-30 | High quality character pattern generation method |
JP88-20315 | 1988-01-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR890012215A KR890012215A (en) | 1989-08-24 |
KR920008981B1 true KR920008981B1 (en) | 1992-10-12 |
Family
ID=12023698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019890001128A KR920008981B1 (en) | 1988-01-30 | 1989-01-30 | Method of high quality character pattern generation |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2771981B2 (en) |
KR (1) | KR920008981B1 (en) |
-
1988
- 1988-01-30 JP JP63020315A patent/JP2771981B2/en not_active Expired - Lifetime
-
1989
- 1989-01-30 KR KR1019890001128A patent/KR920008981B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JPH01196355A (en) | 1989-08-08 |
KR890012215A (en) | 1989-08-24 |
JP2771981B2 (en) | 1998-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5241653A (en) | Apparatus and method for adjusting and displaying scaled, rasterized characters | |
KR970003327B1 (en) | Pattern data generating system | |
JP2608571B2 (en) | Apparatus and method for vectorizing input scanned image data | |
US5917501A (en) | Method of cutting outline fonts into strokes and parts | |
US5771035A (en) | Character generation device | |
KR930011770B1 (en) | High quality pattern generating apparatus and method | |
JP3330277B2 (en) | Character pattern generator | |
KR920008981B1 (en) | Method of high quality character pattern generation | |
Herz et al. | Towards a universal auto-hinting system for typographic shapes | |
KR100361387B1 (en) | Polygon drawing method and polygon drawing apparatus | |
KR920008273B1 (en) | Method and apparatus for high quality pattern generation | |
JP2835056B2 (en) | High quality character pattern generation method | |
JP3146771B2 (en) | Font rasterizing apparatus and method | |
JP2726951B2 (en) | Character / graphic drawing device | |
JP3039015B2 (en) | Character processor | |
JPH06274308A (en) | Uniform modeling generation processing method for bezier curve | |
KR100273334B1 (en) | Method of vector font realization in cad system | |
JP3536894B2 (en) | Graphic processing unit | |
JPH03280095A (en) | Image processing method | |
Park et al. | Structure extraction and automatic hinting of Chinese outline characters | |
JP2776887B2 (en) | Font pattern processing method | |
JP2002056403A (en) | Drawing instruction device, drawing instruction method and computer-readable storage medium | |
JPH04236678A (en) | Method for shaping area | |
JPH05108824A (en) | Outline extracting method for polygon | |
JPH05197365A (en) | Automatic hinting information generator and griff display device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 19971229 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |