KR900004949B1 - Output controller of interpolation dot pattern - Google Patents
Output controller of interpolation dot pattern Download PDFInfo
- Publication number
- KR900004949B1 KR900004949B1 KR1019850000083A KR850000083A KR900004949B1 KR 900004949 B1 KR900004949 B1 KR 900004949B1 KR 1019850000083 A KR1019850000083 A KR 1019850000083A KR 850000083 A KR850000083 A KR 850000083A KR 900004949 B1 KR900004949 B1 KR 900004949B1
- Authority
- KR
- South Korea
- Prior art keywords
- dot
- interpolation
- register
- character
- pattern
- Prior art date
Links
- 239000011159 matrix material Substances 0.000 claims abstract description 7
- 230000001737 promoting effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 16
- 238000000034 method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 238000006243 chemical reaction Methods 0.000 description 11
- 230000005855 radiation Effects 0.000 description 11
- 238000007373 indentation Methods 0.000 description 10
- 238000003909 pattern recognition Methods 0.000 description 4
- 239000010979 ruby Substances 0.000 description 4
- 229910001750 ruby Inorganic materials 0.000 description 4
- 238000013316 zoning Methods 0.000 description 3
- 239000013256 coordination polymer Substances 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K17/00—Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/17—Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
-
- 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
- G06K15/10—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by matrix printers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Controls And Circuits For Display Device (AREA)
- Dot-Matrix Printers And Others (AREA)
- Image Processing (AREA)
Abstract
Description
제1a도 내지 제1c도는 각각 종래의 도트보간 처리수단을 설명하기 위한 도면.1A to 1C are diagrams for explaining conventional dot interpolation processing means, respectively.
제2도는 본 발명의 일 실시예에 있어서의 요부의 구성을 도시한 블록도.2 is a block diagram showing the configuration of main parts in an embodiment of the present invention.
제3도 내지 제11도는 각각 상기 실시예의 동작을 설명하는 것으로,3 to 11 illustrate the operation of the embodiment, respectively.
제3a도 내지 (f)는 각각 도트보간 처리에 의하여 생성되는 새로운 도트를 둘러싸는 1격자 4점의 도트정보(도트패턴)와, 보간테이블 ROM에 설정된 보간치의 레벨구분과, 테이블 형태와의 관계를 도시한 도면.3A to 3F show the relationship between the dot information (dot pattern) of one grid and four points surrounding each new dot generated by the dot interpolation process, the level classification of the interpolation value set in the interpolation table ROM, and the table form. Figure.
제4도는 테이블 형태의 선택절환 동작을 설명하기 위한 도면.4 is a diagram for explaining a selection switching operation in the form of a table.
제5a도 내지 (b)는 각각 패턴 변환예를 도시한 도면.5A to 5B show examples of pattern conversion, respectively.
제6a도 및 (b)는 CRT 표시부로 표시할 때에 주·부 주사방향과 프린트 아웃시의 주·부 주사방향을 대비해서 도시한 도면.6A and 6B are diagrams showing the main and sub scanning directions in contrast to the main and sub scanning directions when printed out and displayed in the CRT display.
제7도의 각종 설정데이터의 관계를 도시한 도면.Fig. 7 shows the relationship between the various setting data in Fig. 7;
제8도는 도트보간처리에 의하여 패턴변환된 문자와 그 문자에 외접하는 직사각형의 관계를 도시한 도면.8 is a diagram showing a relationship between a character pattern-converted by dot interpolation processing and a rectangle circumscribed to the character.
제9도는 각종 변형문자에 대한 문자피치 및 행피치의 설정예를 도시한 도면.9 is a diagram showing an example of setting the character pitch and the row pitch for various modified characters.
제10도는 각종 변형문자에 대한 하선의 전개예를 도시한 도면.FIG. 10 is a diagram showing an example of development of an underline for various deformed characters. FIG.
제11도는 구역구분수단을 설명하는 도면.11 is a view for explaining zone dividing means.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
10 : CPU 11 : 주메모리(MM)10: CPU 11: Main Memory (MM)
12 : CPU 버스 13 : 표시제어회로(CRT-C°)12: CPU bus 13: display control circuit (CRT-C °)
14 : 프레임 메모리(FM) 15 : 병렬-직렬 변환회로(PS)14 frame memory (FM) 15 parallel-to-serial conversion circuit (PS)
16 : CRT 표시부 17 : 인자 제어부16: CRT display unit 17: print control unit
18 : 라인 버퍼 19 : 직렬 도트프린터18: line buffer 19: serial dot printer
21,22,25,26,27,28,31,32,33,34,35,36,42,44,46,48,50,54,56 : 레지스터21,22,25,26,27,28,31,32,33,34,35,36,42,44,46,48,50,54,56: register
23 : 하선/방선 제어부 24 : 3각 함수테이블23: underline / radiation control unit 24: triangular function table
29 : 오프셋 데이터 생성부29: offset data generation unit
37,38,39,40 : 가산회로(ADD-A, ADD-B, ADD-C, ADD-D)37,38,39,40: Addition circuit (ADD-A, ADD-B, ADD-C, ADD-D)
41,43,45,47 : 데이터 선택기 49 : 선택제어회로(SC)41, 43, 45, 47: Data selector 49: Selection control circuit (SC)
51 : 한자패턴 메모리(KPM) 52 : 1문자 버퍼51 Kanji pattern memory (KPM) 52: 1 character buffer
53 : 비트선택회로 55 : 판별제어회로53: bit select circuit 55: discrimination control circuit
57 : 도트판별회로 58 : 보간테이블57: dot discrimination circuit 58: interpolation table
59 : 비교기 60 : 시프트 레지스터59: comparator 60: shift register
본 발명은 도트매트릭스구조의 문자자체(font) 정보를 취급하는 문서작성장치 및 문자출력장치 등에 사용되는 보간도트 패턴의 출력제어장치에 관한것이다.BACKGROUND OF THE
문서작성장치등, 규정된 도트매트릭스 구성의 문자자체를 취급하는 장치에 있어서 규정된 도트매트릭스 구성의 문자자체를 어떤 배율로 확대·축소할 수 있는 기능을 부여할 때, 종래에 있어서는 제1a도 내지 (b)에서 도시한 바와 같이 원문자 패턴도트 SD……로부터 단순히 도트를 증가 또는 삭제 하는 이른바 단순확대 축소방식이 채용되고 있었다.In the apparatus which handles the character itself having a prescribed dot matrix structure, such as a document producing apparatus, in the conventional art, when giving a function capable of enlarging / reducing the character itself having a prescribed dot matrix structure at a certain magnification, FIGS. As shown in (b), the original character pattern dot SD... … The so-called simple zoom reduction method was used to simply increase or delete dots.
이와 같은 종래의 확대·축소수단은 비교적 간단하고 또 값싸게 실현할 수 있었으나 예를 들면 경사선 부분에 있어서의 계단상의 형성부가 두드러지게 나타나는 등 출력되는 패턴형상이 본래의 표현하고자 하는 문자형태에서 벗어나 식별하기 어려운 부자연스러운 문자표현이 되고마는 결함이 있었다. 또 상기와 같은 종래의 도트보간 수단에 있어서의 원문자패턴 또는 임의의 확대·축소배율을 가지는 문자패턴을 임의의 각도를 가지고 경사형화, 또는 회전시킨 변형문자체를 얻고자 할 때 이것을 쉽게 얻을 수가 없고, 또 그 변형범위를 대폭적으로 제약하드라도 변환된 문자패턴이 찌그러져서 변환 정밀도가 대폭적으로 저하하여 충실성이 높은 패턴 변환을 할 수 없었다.Such a conventional enlargement / reduction means can be realized relatively simply and inexpensively, but the pattern of the output pattern is distinguished from the original form of the character to be expressed, for example, the formation of the steps on the inclined line is prominent. There was a flaw in the unnatural character expression that was difficult to do. When the original character pattern in the conventional dot interpolation means as described above or a character pattern having an arbitrary magnification / reduction ratio is inclined or rotated at an arbitrary angle, it cannot be easily obtained. In addition, even if the deformation range is greatly limited, the converted character pattern is distorted, and the conversion accuracy is greatly reduced, and a pattern conversion with high fidelity cannot be performed.
또, 상기와 같은 회전문자, 경사형문자 등의 변형문자에 대해서는 그 도트보간된 문자의 문자폭 또는 문자높이, 또는 그 어느 한쪽이 언제나 바이트(byte)단위로 한 도트구성이 된다고는 한정할 수 없고 이로 인해 바이트 단위로 기입을 하는 이미지 메모리와의 사이에 있어서 도트보간으로 새로 생성된 문자패턴의 주사개시위치가 상기 메모리측의 바이트 경계와 일치되지 않고 문자단위의 이미지 데이터의 취급에 결함이 생긴다. 또 종래에서는 도트보간후의 문자의 이미지가 그 주사에 따른 위치상에 고정적으로 전개되므로 예를 들면 인자출력되는 루비문자(원래의 글자보다 작은 글자)반각문자 등을 수도트분 상하방향으로 이동시키고자 원할때 그것을 할 수 없는 결함이 있었다.In addition, for the above-described modified characters such as the rotation character and the oblique type character, the character width or the height of the interpolated character, or any one of them can always be defined as a dot structure in byte units. In this case, the scanning start position of the newly generated character pattern by dot interpolation does not coincide with the byte boundary on the memory side, and there is a defect in the handling of image data in character units. . In addition, since the image of the character after dot interpolation is fixedly developed on the position according to the scanning in the related art, for example, a ruby character (character smaller than the original character) that is printed out is to be moved in the vertical direction of the doot. There was a flaw that could not do it when desired.
본 발명은 상기의 설정을 고려하여 연구된 것으로 원문자자체를 고정밀도의 도트보간을 가지고 임의의 확대 및 축소 배율, 각도 등에 따라 변형했을 때 도트보간에 의하여 생기는 문자패턴 도트의 기입개시위치와 상기 이미지 메모리의 메모리 경계와의 대응을 항시 취할 수 있도록하여 변형문자 단위의 이미지 데이터의 취급을 용이하게 하고, 또 임의의 문자를 이미지 메모리의 기입폭의 범위내에서 이동할 수 있도록 한 보간도트패턴의 출력제어장치를 제공하는 것을 목적으로 한다.The present invention has been studied in consideration of the above-described setting, and the writing start position of the character pattern dots generated by dot interpolation when the original character itself has high precision dot interpolation and is transformed according to arbitrary enlargement and reduction magnification, angle, etc. Output of an interpolation dot pattern that facilitates handling of image data in units of deformed characters by allowing correspondence with memory boundaries of the image memory at all times, and that arbitrary characters can be moved within the write width of the image memory. It is an object to provide a control device.
본 발명은 x성분과 y성분으로 표시되는 주.주사 방향의 도트보간어드레스 및 동일하게 x성분과 y성분으로 표시되는 부.주사 방향의 도트보간 어드레스를 기초로 생성된 보간도트 정보를 그 도트보간 처리된 문자패턴으로 전개되는 이미지 메모리의 기입폭에 대응하는 비트길이를 가지고 시프트레지스터에 저장하고 이 시프트레지스터에 대하여 주.주사마다의 보간도트의 기입에 앞서서 상기 이미지 메모리의 기입폭에 상당하는 비트범위내의 오프셋 값을 선택적으로 생성하고 상기 시프트레지스터에 기입하는 오프셋데이터 생성수단을 가지고 도트보간에 의하여 발생하는 문자패턴 도트의 기입개시 위치와 상기 이미지 메모리의 기입 경계와의 대응을 취할 수 있도록 한 것으로, 이것에 의하여 원문자 자체를 고정밀도의 도트보간을 가지고 임의의 확대 및 축소 배율, 각도 등에 따라 변형 했을 때 도트보간에 의하여 생기는 문자패턴도트의 기입개시 위치와 상기 이미지 메모리의 메모리 경계와의 대응을 항시 취할 수 있고 변형문자마다의 이미지 데이터의 취급이 용이해지고, 또 임의의 문자를 이미지 메모리의 기입폭의 범위내에서 이동이 가능함으로 도트보간된 문자패턴의 출력기능을 확충할 수 있다.The present invention provides interpolation dot information generated based on dot interpolation addresses in the main and scanning directions represented by the x and y components, and dot interpolation addresses in the sub and scan directions represented by the x and y components. The bit length corresponding to the write width of the image memory developed into the processed character pattern is stored in the shift register, and the bit corresponding to the write width of the image memory prior to the writing of interpolation dots for each note and scan for the shift register. A offset data generation means for selectively generating an offset value within a range and writing to the shift register so that a correspondence can be made between a write start position of a character pattern dot generated by dot interpolation and a write boundary of the image memory; By doing this, the original character itself has a high accuracy dot interpolation. Correspondence between the writing start position of the character pattern dot caused by dot interpolation and the memory boundary of the image memory when transformed according to the large, reduced magnification, angle, etc. can be easily handled and the image data for each modified character can be easily handled. In addition, since arbitrary characters can be moved within the range of the write width of the image memory, the output function of the dot interpolated character pattern can be expanded.
이하, 도면을 참조하여 본 발명의 일실시예를 설명한다.Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
제2도는 본 발명의 일실시예를 도시한 회로 블록도이다. 도면중, 참조번호(10)는 시스템 전체의 제어를 관장하는 CPU, 참조번호(11)는 메인메모리(MM), 참조번호(12)는 CPU 버스이다. 참조번호(13)는 표시제어회로(CRT-C), 참조번호(14)는 프레임메모리(FM), 참조번호(15)는 직·병렬변환회로, 참조번호(16)는 CRT 표시부, 참조번호(17)는 인자제어부, 참조번호(18)는 라인버퍼, 참조번호(19)는 직렬도트프린터이다. 참조번호(21)는 패턴변환시에 있어서의 변환후의 부.주사방향의 폭(주.주사의 간격×회수)에 상당하는 크기(V size)를 표시하는 레지스터, 참조번호(22)는 동일 주.주사방향의 폭에 상당하는 크기(H size)를 표시하는 레지스터이다. 참조번호(23)는 상기 레지스터(21)의 내용에 따르는 길이를 가지고 하선, 방선의 도트패턴을 발생하여 라인버퍼(18)에 기입하는 하선/방선제어부이다. 참조번호(24)는 문자의 경사형 회전시등에 있어서의 지정각도에 따른 각도정보(3각 함수데이터)를 저장하는 3각 함수테이블이다. 참조번호(25)는 패턴변환시에 있어서 기준문자높이를 초과한 변환처리후의 문자패턴을 상기 기준문자높이를 단위로 구역을 구분하기 위한 구역지정용 레지스터이다. 참조번호(26) 및 (27)는 문자의 확대·축소배율에 따르는 도트새김폭(dx,dy)을 저장하는 레지스터, 참조번호(28)는 패턴 변환된 문자에 대해 0 내지 7도트 범위에서 선택적으로 오프셋(offset)을 주기 위한 오프셋 레지스터, 참조번호(29)는 오프셋 레지스터(28)의 오프셋치에 따르는 도트수를 가지고 오프셋 데이터(비표시를 나타내는 "0")를 생성하는 오프셋 데이터 생성부이다.2 is a circuit block diagram showing an embodiment of the present invention. In the figure, reference numeral 10 denotes a CPU which controls the entire system,
참조번호(31) 내지 (49)는 각각 도트보간어드레스를 생성하기 위한 구성요소를 이루는 것으로, 참조번호(31)는 x성분을 포함하는 부.주사방향의 도트새김폭(DX1)을 저장하는 레지스터, 참조번호(32)는 x성분을 포함하는 주.주사방향의 도트새김폭(DX2)을 저장하는 레지스터, 참조번호(33)는 x성분을 포함하는 주.주사방향의 초기치(초기어드레스:X1 init)를 저장하는 레지스터, 참조번호(34)는 y성분을 포함하는 부.주사방향의 도트새김폭(DY1)을 저장하는 레지스터, 참조번호(36)는 y성분을 포함하는 주.주사방향의 도트새김폭(DY2)을 저장하는 레지스터, 참조번호(36)는 y성분을 포함하는 부.주사방향의 초기치(초기 어드레스:Y1 init)를 저장하는 레지스터이다. 상기의 각 레지스터(31)-(36)에 저장되는 도트보간어드레스는 각각 정수부의 데이터와 소수부의 데이터로 구성된다.
참조번호(37)는 상기의 레지스터(31)의 내용과 x성분을 포함하는 부.주사방향의 도트위치를 표시하는 레지스터(42)의 내용을 가산하는 가산회로(ADD-A), 참조번호(38)는 상기 레지스터(32)의 내용과 x성분을 포함하는 주.주사방향의 도트위치를 표시하는 레지스터(44)의 내용을 가산하는 가산회로(ADD-B), 참조번호(39)는 상기 레지스터(34)의 내용과 y성분을 포함하는 부.주사방향의 도트위치를 표시하는 레지스터(46)의 내용을 가산하는 가산회로(ADD-C), 참조번호(40)는 상기 레지스터(35)의 내용과 y성분을 포함하는 주.주사방향의 도트위치를 표시하는 레지스터(48)의 내용을 가산하는 가산회로(ADD-D)이다.
참조번호(41)는 1문자분의 도트보간처리를 개시할 때에 상기 레지스터(33)의 내용을 선택하고, 이후 1회의 주.주사가 실행될 때마다 가산회로(37)의 출력을 선택하는 데이터 셀렉터, 참조번호(42)는 데이터 셀렉터(41)에서 선택된 x성분을 포함하는 정수부와 소수부로 표시되는 도트보간시의 새로운 도트어드레스를 저장하는 레지스터, 참조번호(43)는 주.주사를 개시할 때에 상기 레지스터(42)의 내용을 선택하고, 이후 1도트분의 보간처리마다 가산히로(38)의 출력을 선택하는 데이터 셀렉터, 참조번호(44)는 데이터 셀렉터(43)에서 선택된 x성분을 포함하는 도트보간시의 새로운 도트어드레스를 저장하는 레지스터이다. 참조번호(45)는 1문자분의 도트보간처리를 개시할 때에 상기 레지스터(36)의 내용을 선택하고, 이후 1회의 주.주사가 실행될때마다 가산회로(39)의 출력을 선택하는 데이터 셀렉터, 참조번호(46)는 데이터 셀렉터(45)에서 선택된 y성분을 포함하는 정수부와 소수부로 표시되는 도트보간시의 새로운 도트어드레스를 저장하는 레지스터, 참조번호(47)는 주.주사를 개시할때에 상기 레지스터(46)의 내용을 선택하고, 이후 1도트분의 보간처리를 할 때마다 가산회로(40)의 출력을 선택하는 데이터 셀렉터, 참조번호(48)는 데이터 셀렉터(47)에서 선택된 y성분을 포함하는 도트보간시의 새로운 도트어드레스를 저장하는 레지스터이다. 참조번호(49)는 상기 각 데이터 셀렉터(41),(43),(45),(47)를 제어하는 선택제어회로(SC)이다.
참조번호(50)는 후술하는 보간치와의 비교를 실행하기 위한 비교치, 즉 임계치(th)를 저장하는 레지스터이다.Reference numeral 50 is a register for storing a comparison value for performing comparison with an interpolation value described later, that is, a threshold value th.
참조번호(51)는 한자를 포함하는 소정의 도트매트릭스단위(16×16도트)의 문자패턴데이터가 격납된 한자패턴메모리(KPM)이다. 참조번호(52)는 한자 패턴메모리(51)에서 판독된 1문자분의 도트패턴을 저장하는 고속 RAM에 의하여 구성된 1문자 버퍼이다. 여기에서는 1문자분의 도트패턴을 그 주위를 오프도트"0"의 비트패턴으로 채운 상태로 기억한다. 참조번호(53)는 1문자버퍼(52)에 저장된 문자패턴데이터중 레지스터(44),(48)의 각 정수부의 치에 따라 새로운 도트를 둘러싸는 1격자 4점의 도트정보를 선택적으로 출력하는 비트선택회로이다. 참조번호(54)는 비트선택회로(53)에서 출력되는 4비트의 정보를 저장하는 레지스터이다.
참조번호(55) 내지 (57)는 비트선택회로(53)에서 출력되는 도트정보의 패턴을 인식하고, 4점의 도트로 둘러싸이는 새 도트의 보간치를 선택적으로 절환제어하는 도트패턴인식부(DSP)의 구성요소를 이루는 것으로, 참조번호(55)는 레지스터(54)의 비트 내용에서 4점의 도트패턴 상태를 인식하고, 후술하는 특정의 도트패턴 상태시에 다시 그 주위의 특정한 2격자분의 도트정보를 차례로 선택하기 위하여 비트선택회로(53)를 제어하는 판별제어회로이다. 참조번호(56)는 이 판별제어회로(55)의 제어로 판독된 4비트의 정보를 저장하는 레지스터이다. 참조번호(57)는 판별제어회로(55)의 제어로 판독된 2격자분의 도트정보와 레지스터(54)의 도트정보와의 도트패턴 상태에 따른 1비트의 보간치절환 선택신호를 출력하는 도트판별회로이다.
참조번호(58)는 레지스터(44)에 저장된 소수부의 치(5비트의 x성분을 포함하는 주.주사방향 오프셋치)와 레지스터(54)에 저장된 4점의 도트정보와 도트판별회로(57)에서 출력되는 1비트의 보간치절환 선택신호를 입력정보로하여 상기 4점의 도트정보로 둘러싸인 영역내에 있어서의 새로운 도트의 보간치(Qxy)를 출력하는 보간 테이블 ROM이다. 여기에서는 256K 비트(32K×8비트)의 마스크 ROM를 사용하여 15비트의 판독어드레스에 따라 8비트(0-255레벨)의 보간치를 출력한다.
참조번호(59)는 보간테이블 ROM(58)에서 출력되는 보간치와 레지스터(50)에 저장된 임계치와의 비교를 취하는 비교기이고, 보간치가 비교치, 즉 임계치를 초과 했을때에 온 도트(휘점)를 표시하는 "1"레벨의 신호를 출력한다.Reference numeral 59 is a comparator for comparing the interpolation value output from
참조번호(60)는 비교기(59)에서 출력된 도트정보를 차례로 저장하고, 문자패턴이 전개되는 메모리의 기입비트단위(여기에서는 8비트 단위로 한다)마다 CPU 버스(12)에 출력하는 시프트레지스터이다.Reference numeral 60 sequentially stores the dot information output from the comparator 59, and outputs it to the CPU bus 12 for each write bit unit (here, 8 bit units) of the memory in which the character pattern is developed. to be.
제3도 내지 제11도는 각각 상기 일실시예의 동작을 설명하기 위한 도면이다.3 to 11 are diagrams for explaining the operation of the above embodiment, respectively.
제3a도 내지 (f)는 각각 보간처리에 의하여 생성되는 새로운 도트를 둘러싸는 1격자 4점의 도트정보(도트패턴)와, 보간테이블 ROM(58)에 설정된 보간치의 레벨구분과, 테이블 형태와의 관계를 도시하는 도면이다. 여기에서는 보간치를 0 내지 255계단의 휘도(명암레벨)로 표시하고, 그 구분된 일부의 영역을 등고선으로 나타내고 있다.3A to 3F show dot information (dot pattern) of one grid and four points surrounding each new dot generated by interpolation processing, the level classification of the interpolation value set in the
제4도는 상기 1격자 4점의 도트패턴중 1도트만이 온("1") 또는 오프("0")시의 테이블 형태의 선택절환예를 설명하기 위한 것으로, 도트패턴인식부(DSP)는 예를 들면 위 4점의 도트(D0,D1,D2,D3)중 1점만이 오프 즉 "0"(도면에서는 흰동그라미로 표시한 D0)일때에, 또 그 주위의 격자의 특정도트(Da,Db)의 온.오프상태를 인식하여 Da,Db="0"일때에 제3d도의 도시와 같은 코오너 형태의 테이블(T1)을 선택하고, 또, Da,Db의 적어도 어느 한 쪽이 "0"이면 제3f도의 도시와 같은 경사형태의 테이블(T0)을 선택한다. 이와 같이 4점의 도트영역내에 위치하는 새로운 도트의 보간치는 그 4점의 도트가 상기한 특정의 패턴을 형성할때 다시 그 주위의 도트상태에 의하여 정해진다.4 is a view for explaining a table-type selection switching example when only one dot of one dot pattern of four grids is on ("1") or off ("0"), and the dot pattern recognition unit (DSP) For example, when only one of the above four dots D0, D1, D2, and D3 is off, that is, "0" (D0 denoted by a white circle in the drawing), and the dot (Da) of the surrounding grid is specified. Recognizes the on / off state of Db) and selects the co-owner type table T1 as shown in FIG. 3d when Da, Db = "0 ", and at least one of Da, Db is " 0 ", the inclined table T0 as shown in FIG. 3f is selected. In this way, the interpolation value of the new dot located in the dot region of four points is determined by the dot state around the dots when the four dots form the above-described specific pattern.
제5a도 내지 (b)는 각종의 패턴변환예를 도시한 것으로, 도면중 Sm는 주·주사방향, Ss는 부·주사방향을 각각 나타내고, 도면(a)는 정체(正體)(또는 장체, 평체), 도면(b)는 경사체, 도면(c)는 하부정돈형경사체, 도면 (d)는 회전체를 각각 나타낸다.5A to 5B show various pattern conversion examples, in which Sm represents the main and scanning directions, Ss represents the sub and scanning directions, respectively, and FIG. Plane), drawing (b) shows an inclined body, drawing (c) shows a lower trimmed inclined body, and drawing (d) shows a rotating body, respectively.
제6a,b도는 도트보간처리의 출력대상 즉 이미지 출력대상과 그때의 도트보간시에 있어서의 주.주사방향(Sm) 및 부.주사방향(Ss)과의 관계를 설명하는 도면이다. 도면(a)는 CRT 표시시의 도트보간시에 있어서의 주.주사 및 부.주사의 방향을 나타내고, 도면(b)는 프린트 아우트시의 도트보간시에 있어서의 주.주사 및 부.주사의 방향을 각각 나타내고 있다. 이와같이 CRT 표시출력시의 도트보간처리와 프린트아우트시의 도트보간처리에 있어서는 주.주사방향과 부.주사방향이 서로 뒤바뀐 상태가 된다.6A and 6B are diagrams for explaining the relationship between the output object of the dot interpolation process, that is, the image output object and the main / scan direction Sm and the sub-scan direction Ss at the time of dot interpolation. (A) shows the directions of main, scanning and sub scanning at the time of dot interpolation at the time of CRT display, and (b) shows the main, scanning and sub scanning at the time of dot interpolation at the time of printing out. Each direction is shown. In this way, in the dot interpolation process at the time of CRT display output and the dot interpolation process at the time of printout, the main scanning direction and the sub scanning direction are inverted.
제7도는 각종 설정데이터의 대응관계를 도시한 도면이다.7 is a diagram showing a correspondence relationship between various types of setting data.
제8도는 도트보간처리에 의하여 패턴변환된 문자와 그 문자에 외접(外接)하는 직사각형(정사각형을 포함)과의 관계를 도시한 도면이다.FIG. 8 is a diagram showing a relationship between a character pattern-transformed by dot interpolation processing and a rectangle (including a square) circumscribed to the character.
제9도는 각종 변형문자에 대한 문자피치(CP) 및 행피치(LP)의 설정예를 도시한 도면이다.9 is a diagram showing an example of setting of the character pitch CP and the row pitch LP for various modified characters.
제10도는 각 종류의 변형문자에 대한 하선의 전개예를 도시한 도면이다.FIG. 10 is a diagram showing an example of development of underline for each type of deformed character.
제11도는 구역지정동작을 설명하는 도면이다.11 is a diagram for explaining the zoning operation.
이제부터 본 발명의 일실시예의 동작을 설명한다. 도트보간시에 있어서 CPU(10)는 외부로부터 입력된 도트보간지정 정보에 따라 각종 레지스터의 초기 설정을 실시한다. 즉, CPU(10)는 보간테이블 ROM(58)에서 생성되는 보간치와의 비교를 하기 위한 비교치, 즉 임계치(th)를 레지스터(50)에 세트한 후 지정된 확대·축소 배율에 따라 기준이 되는 도트 새김폭(dx,dy:확대·축소배율의 역수치)을 산출하여 이것을 레지스터(26),(27)에 세트하고, 다시 회전 또는 경사체일때는 그 지정 각도에 따르는 3각 함수데이터(sin,cos,tan)를 3각 함수테이블(24)에 세트한다.The operation of one embodiment of the present invention will now be described. At the time of dot interpolation, the CPU 10 performs initial setting of various registers in accordance with dot interpolation specification information input from the outside. That is, the CPU 10 sets the comparison value for comparison with the interpolation value generated in the
그후 이들 레지스터(26),(27) 및 3각 함수테이블(24)의 설정데이터(sin,cos,tan)에 따라 도트보간어드레스를 생성하기 위한 초기치(초기치 어드레스:X1 init, Y1 init) 및 도트새김폭(DX1,DY1,DX2,DY2)을 산출하고, 이들의 데이터를 레지스터(31)∼(36)에 세트하는 동시에 확대 회전 등의 패턴변환에 의하여 발생하는 문자높이, 문자폭의 변동에 따르는 V크기 및 H크기의 각 데이터를 산출하여 이것을 레지스터(21),(22)에 세트하고, 또 구역구분이 생길때는 그 구역수를 산출하여 이 데이터를 레지스터(25)에 세트한다. 또, 도트보간된 문자를 그 출력시에 1 내지 7도트 범위내에서 이동시키는 경우(예를 들면, 도트보간된 루우비문자(작은 활자의 문자) 및 반각문자 등을 프린트 아우트할때에, 1 내지 7도트의 범위를 가지고 상하 이동시키는 경우등), 또는 패턴변환된 문자의 주·주사방향 도트수가 그 출력대상이 되는 이미지 메모리의 기입폭(8도트)의 배수가 되지 않고 이미지 메모리측의 바이크경계(기입폭)와 맞출 필요가 있을 경우 등에 있어서는 오프셋 레지스터(28)에 1 내지 7도트 범위내에서 오프셋치가 세트된다.Then, initial values (initial value addresses: X1 init, Y1 init) and dots for generating the dot interpolation address according to the setting data (sin, cos, tan) of these registers 26, 27 and the trigonometric function table 24. Indentation widths DX1, DY1, DX2, and DY2 are calculated, and their data are set in the
상기와 같은 각 레지스터의 초기 설정을 끝낸 후, CPU(10)는 이하와 같은 보트보간 어드레스의 생성처리를 개시한다.After finishing the initial setting of each register as described above, the CPU 10 starts the generation process of the boat interpolation address as follows.
우선, 도트보간이 제5a도의 도시와 같은 정체(또는 장체,평체)를 출력대상으로하여 실시되는 경우(예를 들면, 단순한 확대·축소)를 예로 들어 전체의 동작을 설명한다. 이 도트보간시에 있어서는 레지스터(31)에 『0』레지스터(32)에 도트새김폭『dx』, 레지스터(33)에 주·주사방향(sm)의 초기치『sx』, 레지스터(34)에 도트새김폭『dy』, 레지스터(35)에『0』, 레지스터(36)에 부·주사방향(Ss)의 초기치『sy』가 각각 세트된다.First, the whole operation will be described taking the case where dot interpolation is performed with a stagnation (or a long body or a flat body) as shown in FIG. 5A as an output object (for example, simple enlargement / reduction). In this dot interpolation, the
여기에서 상기 레지스터(32,34)에 세트되는 도트새김폭(dx,dy)은 확대·축소배율의 역수치로서 주어진다. 또, 레지스터(33)에는 [Ix=(dx-1)/2]로 되는 Ix가 초기치(Sx)로 주어지고, 레지스터(36)에는 [Iy=(dy-1)/2]로 되는 Iy가 초기치(Sy)로 주어진다. 여기서 dx 또는 dy가『1』이하일때(즉,확대시)는 Ix 또는 Iy가 부(負)가 되어 1문자버퍼(52)의 원문자패턴 격납영역외의 어드레스를 표시하고, dx 또는 dy가 『1』이상일때(즉,축소시)는 Ix 또는 Iy가 정(正)이 되어 1문자버퍼(52)의 원문자패턴 격납영역내의 어드레스를 표시한다. 또, 레지스터(50)에는 보간테이블 ROM(58)에서 출력되는 보간치와 비교를 하고, 새로운 도트의 어느쪽 레벨 이상의 것을 의미있는 도트로 하느냐를 결정하기 위한 임의의 레벨(0-255레벨)의 비교치, 즉 임계치(th)가 세트된다.The dot notation widths dx and dy set in the
그리고, CPU(10)는 한자패턴 메모리(51)에서 도트보간대상이 되는 1문자분의 도트패턴 데이터를 판독하여, 이 문자패턴 데이터를 1문자버퍼(52)에 기입된다. 이때, 1문자버퍼(52)에는 상기와 같이 도트보간대상이 되는 1문자분의 도트패턴 데이터가 그 주의를 의미없는 "0"이 도트로 둘러싸인 상태로 기억된다.The CPU 10 reads the dot pattern data for one character to be interpolated from the Chinese
상기 레지스터(31∼36)로의 데이터 및 1문자버퍼(52)로의 보간대상 문자패턴의 취출이 끝난 후, 선택제어회로(49)의 제어하에 레지스터(33,36)에 저장된 초기 어드레스가 되는 데이터(Sx,Sy)가 데이터 셀렉터(41,45)에 의하여 선택되어 각각 대응하는 레지스터(42,46)에 저장된다. 또, 주·주사를 개시할때에 있어서는 상기 레지스터(42,46)에 저장된 데이터(Sx,Sy)가 데이터 셀렉터(43,47)에 의하여 선택되어 각각 대응하는 레지스터(44,48)에 저장된다.After taking out the data to the
이 레지스터(44,48)에 저장된 데이터(Sx,Sy)는 그 정수부의 치가 비트선택회로(53)에 주어지고, 소수부의 치가 보간테이블 ROM(58)에 주어진다.The data Sx and Sy stored in these registers 44 and 48 are given the value of the integer part to the bit selection circuit 53, and the value of the fractional part is given to the
비트선택회로(53)는 상기 입력된 정수부의 치에 따라 1문자버퍼(52)로부터 1격자 4점의 도트정보를 선택하여 보간테이블 ROM(58)에 공급한다. 이때, 확대시(dx,dy<1)에 있어서는 비트선택회로(53)에 1문자버퍼(52)의 원문자패턴 격납영역외의 어드레스를 표시하는 부(負)의 치가 주어지므로 원문자패턴 격납영역외의 도트를 포함하는 1격자 4점의 도트정보에서 도트선택을 개시한다. 또 축소시(dx,dy>1)에 있어서는 비트선택회로(53)에, 1문자버퍼(52)의 원문자패턴 격납영역내의 어드레스를 표시하는 정(正)의 치가 주어지므로 원문자패턴 격납영역내의 1격자 4점의 도트정보에서 도트선택을 개시한다.The bit select circuit 53 selects the dot information of one grid and four points from the one-
보간테이블 ROM(58)은 상기 레지스터(44,48)로부터의 각 오프셋(계 10비트)와, 비트선택회로(53)로부터의 주위 4점의 도트정보와, 도트패턴인식부(DSP)로부터의 1비트의 보간치 절환선택신호를 입력정보로하여 그 내용에 따르는 8비트의 보간치(Qxy)를 출력한다. 이때, 비트선택회로(53)에서 출력된 1격자 4점의 도트패턴이 도트패턴인식부(DSP)에 의하여 인식되어 제4도의 도시와 같이 특정의 도트패턴일때는 다시 그 주위의 격자의 특정도트의 온·오프상태를 인식하여, 그 도트상태에 따른 1비트의 보간치 절환선택신호를 출력한다. 즉, 예를 들면 제4도의 도시와 같이 주위 4점의 도트(D0,D1,D2,D3)중 1점만이 오프 즉 "0"(도면에서는 흰동그라미로 표시한 D0)일때는 다시 그 주위의 격자의 특정도트(Da,Db)의 온·오프상태를 인식하고, Da,Db="1"이면 제3d도의 도시와 같은 코오너형태의 테이블(T1)을 선택하고, 또 Da,Db의 적어도 어느 한쪽이 "0"이면 제3f도의 도시와 같은 경사형 형태의 테이블(T0)을 선택하도록 보간치 절환선택신호를 출력한다. 또, 주위 4점의 도트(D0,D1,D2,D3)중 1점만이 온 즉 "1"(도면에서 흰동그라미에 사선을 그은 동그라미로 도시한 D0)일때는 다시 그 주위의 격자의 특정도트(Da,Db)의 온·오프상태를 인식하고, Da,Db="0"이면 제3a도의 도시와 같은 코오너형태의 테이블(T1)을 선택하고, 또 Da,Db의 적어도 어느 한쪽이 "1"이면 제3e도의 도시와 같은 경사형 형태의 테이블(T0)을 선택하기 위한 보간치 절환선택신호를 출력한다. 이와 같이 4점의 도트영역내에 위치하는 새로운 도트의 보간치는 그 4점의 도트가 상기와 같은 특정의 패턴을 형성할때 다시 그 주위의 도트상태에 의하여 정해진다. 그리고 상기 보간테이블 ROM(58)에서 출력된 8비트(0-255레벨)의 보간치는 비교기(59)에 입력되어 레지스터(36)에 저장된 비교치 즉 임계치와 비교되는 보간치가 임계치를 초과하고 있으면 의미있는 도트인 것을 나타내는 "1"레벨의 신호를 출력하고, 또 보간치가 임계치를 초과하고 있지 않으면 의미가 없는 도트인 것을 표시하는 "0"레벨의 신호를 출력한다.The
한편, 보간테이블 ROM(58)에서 1도트의 보간치가 출력된 후에는 레지스터(44)의 내용과 레지스터(32)의 내용이 가산회로(38)에 의하여 가산되는 동시에 레지스터(48)의 내용과 레지스터(35)의 내용이 가산회로(40)에 의하여 가산되고 그 각 가산결과의 데이터가 선택제어회로(49)의 제어하에 각각 대응되는 데이터 셀렉터(43,47)에 의하여 선택되어서 레지스터(44,48)에 저장된다. 이때, 주·주사방향의 도트새김폭을 도시하는 레지스터(32,35)중 레지스터(32)에는 지정된 확대·축소배율에 따르는 도트새김폭(dx)이 설정되어 있고, 레지스터(35)에는 정체(또는 장체,평체)의 도트보간이므로 상기와 같이 『0』이 설정됨으로, 레지스터(44)의 내용(도트어드레스)은 1도트의 보간처리마다 지정된 확대·축소배율에 따르는 도트새김폭(dx)을 가지고 차례로 갱신되나, 레지스터(48)의 내용은 결과적으로 갱신되지 않고 초기 설정시의 데이터가 그대로 유지된다. 또, 1회의 주·주사가 끝날때마다, 레지스터(42)의 내용과 레지스터(31)의 내용이 가산회로(37)에 의하여 가산되는 동시에 레지스터(46)의 내용과 레지스터(34)의 내용이 가산회로(39)에 의하여 가산되고, 그 각 가산결과의 데이터가 선택제어회로(49)의 제어하에 각각 대응되는 데이터 셀렉터(41,45)에 의하여 선택되어서 레지스터(42,46)에 각각 저장된다. 이때, 부·주사방향의 도트새김폭을 표시하는 레지스터(31,34)중 레지스터(34)에는 지정된 확대·축소배율에 따르는 도트새김폭(dy)이 설정되어 있고, 레지스터(31)에는 정체(또는 장체,평체)의 도트보간이므로 상기와 같이 『0』이 설정됨으로, 레지스터(46)의 내용(도트어드레스)은 1회의 주·주사가 실행될때마다 지정된 확대·축소배율에 따르는 도트새김폭(dy)을 가지고 갱신되나, 레지스터(42)의 내용은 결과적으로 갱신되지 않고 초기 설정시의 데이터가 그대로 유지된다.On the other hand, after the interpolation value of one dot is output from the
이와 같이 하여 차례로 보간테이블 ROM(58)로부터 새로운 도트어드레스에 대한 보간치가 출력되고 이 보간치가 비교기(59)에 의하여 레지스터(50)의 임계치(th)와 비교되어 새로운 도트정보가 생성된다.In this way, interpolation values for the new dot addresses are sequentially output from the
그리고 상기 비교기(59)에서 출력된 보간처리후의 새로운 도트정보는 차례로 시프트 레지스터(60)에 저장되어 1바이트 단위로 CPU 버스(12)에 송출된다.The new dot information after interpolation processing output from the comparator 59 is stored in the shift register 60 in turn and sent to the CPU bus 12 in units of 1 byte.
이때, CPU 버스(12)에 송출되는 도트보간처리된 문자패턴 데이터가, 예를 들면 프린트아우트용으로서 인자제어부(17)의 라인버퍼(18)에 기입되는 경우, 또 오프셋 레지스터(28)에 1 내지 7도트 범위내의 오프셋치가 세트되고 있는 경우(예를 들면, 도트보간된 루우비문자를 프린트아우트시에 i(i=1,2,…,7)도트 하방으로 이동시키는 경우), 또는, 패턴변환된 문자의 주·주사방향 도트수가 출력대상이되는 이미지 메모리의 기입폭(8도트)의 배수가 되지 않고 이미지 메모리측의 바이트경계(기입폭)와 합칠 필요가 있어 오프셋 레지스터(28)에 그 오프셋치(i)가 설정되어 있는 경우 등에 있어서는, 그 오프셋 레지스터(28)의 오프셋치(i)에 따라 오프셋 데이터 생성부(29)에서 오프셋 데이터(i개의 "0")가 생성되어, 이 데이터가 주·주사의 개시에 앞서서 시프트 레지스터(60)에 세트되고, 그후에 계속해서 도트보간된 데이터 즉, 변환처리된 문자패턴도트가 기입된다.At this time, in the case where the dot interpolated character pattern data sent to the CPU bus 12 is written into the
상기 동작은 정체(또는 장체,평체)를 출력대상으로 한 경우였으나, 예를 들면 회전체를 출력대상으로 한 경우의 도트보간 어드레스의 생성처리시에 있어서는 레지스터(31) 내지 (36)의 각각에 대하여 지정회전각에 따르는 3각함수 테이블(24)내의 소정 3각함수 데이터가 한 요소로서 포함되는 데이터가 세트된다.The above operation was performed when stagnant (or long or flat) output targets were used. For example, when the dot interpolation address is generated when the rotating body is output target, each of the
즉, 지정된 회전각을 [θ°], 원래폰트(font)의 x방향 도트수를[a+1], 원래폰트(font)의 y방향의 도트수를 [b+1]로 하면, 레지스터(31)에는 DX1=-dx·sinθ°, 레지스터(32)에는 DX2=dx·cosθ°, 레지스터(34)에는 DY1=dy·cosθ°, 레지스터(35)에는 DY2=dy·sinθ°가 각각 세트된다.That is, if the designated rotation angle is [θ °], the number of dots in the x direction of the original font is [a + 1] and the number of dots in the y direction of the original font is [b + 1], the register ( 31) DX1 = -dxsinθ °, register 32 is set to DX2 = dxcosθ °, register 34 is set to DY1 = dycosθ °, and register 35 is set to DY2 = dysinsinθ °. .
또, 레지스터(33,X1 init) 및 레지스터(36, y1 init)에는, (1) 0°θ°90°일 때 X1 init=1/2a-1/2(a+1-dx)cos2θ°, Y1 init=-1/2(1-dy)-1/2(a+1-dx)dy/dx sin2θ°, (2) 90°θ°180°일때 X1 init=a+1/2(1-dx)-1/2(b+1-by)dx/dy sin2θ°, Y1 init=1/2b+1/2(b+1-dy)cos2θ°, (3) 180°θ°270°일때 X1 init=1/2a+1/2(a+1-dx)cos2θ°, Y1 init=b+1/2(1-dy)+1/2(a+1-dx)dy/dx sin2θ°, (4) 270°<θ°<360°일때 X1 init=1/2(1-dx)+1/2(b+1-dy)dx/dy sin2θ°, Y1 init=1/2b-1/2(b+1-dy)cos2θ°를 각각 세트한다.In addition, the registers 33 and X1 init and the registers 36 and y1 init are (1) 0 °. θ ° At 90 ° X1 init = 1 / 2a-1 / 2 (a + 1-dx) cos2θ °, Y1 init = -1 / 2 (1-dy) -1/2 (a + 1-dx) dy / dx sin2θ °, (2) 90 ° θ ° At 180 ° X1 init = a + 1/2 (1-dx) -1/2 (b + 1-by) dx / dy sin2θ °, Y1 init = 1 / 2b + 1/2 (b + 1-dy) cos2θ °, (3) 180 ° θ ° At 270 ° X1 init = 1 / 2a + 1/2 (a + 1-dx) cos2θ °, Y1 init = b + 1/2 (1-dy) +1/2 (a + 1-dx) dy / dx sin2θ °, (4) 270 ° <θ ° <360 ° X1 init = 1/2 (1-dx) +1/2 (b + 1-dy) dx / dy sin2θ °, Y1 init = 1 / 2b- 1/2 (b + 1-dy) cos2θ ° are set respectively.
상기와 같이하여 회전각도(θ°)에 따르는 3각함수 데이터를 포함하는 도트새김폭, 초기 어드레스 등의 각 설정치(DX1,DX2,DY1,DY2,X1 init, Y1 init)를 산출하여 각각 대응하는 레지스터(31) 내지 (36)에 세트한 후 상기한 바와 같은 주·주사방향 및 부·주사방향에 대한 도트보간 어드레스 생성처리를 차례로 실행하므로서 지정각도(θ°)에 따른 회전문자 패턴도트가 얻어진다.As described above, each set value (DX1, DX2, DY1, DY2, X1 init, Y1 init), such as dot indentation width and initial address, including trigonometric function data according to the rotation angle (θ °), is calculated, respectively. After setting in the
또, 경사형 문자를 출력대상으로 했을 경우의 도트보간 어드레스의 생성처리시에 있어서는 레지스터(31) 내지 (36)중의 특정한 레지스터에 지정경사각에 따르는 3각함수 테이블(24)내의 소정의 3각함수 데이터를 한 요소로서 포함하는 데이터가 세트된다.In addition, during the generation process of the dot interpolation address when the oblique character is used as the output target, the predetermined trigonometric function in the trigonometric function table 24 according to the specified inclination angle is specified for the specific register in the
즉, 지정된 경사각을『θ°』, 원래폰트(font)의 x방향 도트수를[a+1], 원래폰트(font)의 y방향 도트수를 [b+1]로 하면, 0°<θ°<90°의 범위에서, 레지스터(31)에는 DX1=dx·tanθ°, 레지스터(32)에는 DX2=dx, 레지스터(34)에는 DY1=dy, 레지스터(35)에는 DY2=0가 각각 세트되고, 또, 레지스터(33)에는 X1 init=1/2(1-dx)-(b+1-dy)dx/dy tanθ°, 레지스터(36)에는 Y1 init=-1/2(1-dy)가 각각 세트된다.That is, if the designated inclination angle is "θ °", the number of dots in the x direction of the original font is [a + 1] and the number of dots in the y direction of the original font is [b + 1], 0 ° <θ. In the range of ° <90 °, DX1 = dxtanθ ° in the
상기와 같이하여 경사각도(θ°)에 따르는 3각함수 데이터를 포함하는 도트새김폭, 초기 어드레스 등의 각 설정치(DX1,DX2,DY1,DY2,X1 init, Y1 init)를 산출하여 각각 대응하는 레지스터(31) 내지 (36)에 세트한 후, 상기와 같은 주·주사방향 및 부·주사방향에 대한 보트보간 어드레스 생성처리를 차례로 실행하므로써 지정각도(θ°)에 따라 경사화된 이탤릭체문자 패턴도트를 얻을 수 있다.As described above, each set value (DX1, DX2, DY1, DY2, X1 init, Y1 init), such as dot indentation width and initial address, including trigonometric function data according to the inclination angle θ °, is calculated, respectively. After setting in the
상기 설명과 같이, 지정각도(θ°)에 따르는 3각함수 데이터를 포함하는 도트새김폭, 초기 어드레스 등의 각 설정치(DX1,DX2,DY1,DY2,X1 init, Y1 init)에 따라 상기와 같은 주·주사방향 및 부·주사방향에 대한 보트보간 어드레스 생성처리를 차례로 실행하여 그 생성된 도트보간 어드레스를 기초로 새로운 도트정보를 얻는다. 이 새로운 도트정보는 상기와 같이 차례로 시프트 레지스터(60)에 저장되어 바이트(8비트) 단위로 CPU 버스(12)를 경유하여 출력대상이 된다. 예를 들면, 인자제어부(17)의 라인버퍼(18)에 기입된다.As described above, according to the set values (DX1, DX2, DY1, DY2, X1 init, Y1 init), such as dot indentation width and initial address, including trigonometric function data according to the designated angle (θ °). Boat interpolation address generation processing for the main, scanning and sub-scanning directions is executed in order to obtain new dot information based on the generated dot interpolation address. The new dot information is sequentially stored in the shift register 60 as described above, and becomes an output object via the CPU bus 12 in units of bytes (8 bits). For example, it is written to the
이때, 라인버퍼(18)는 통상 인자문자높이의 도트구성에 대응하는 비트쪽(예를 들면, 세로 8×3=24도트)으로 구성되므로, 상기와 같은 회전체문자, 이탤릭체문자 등의 변형문자에 대해서는 축소패턴의 경우를 제외하고는 24도트의 크기에 수용되지 않는다. 따라서, 이와 같은 경우에는 상기한 레지스터의 초기 설정시에 새로이 생성되는 문자패턴을 복수의 구역으로 구분하도록 CPU(10)가 지정된 변환문자체 및 그 글자의 각도, 확대·축소배율 등을 토대로 변환된 문자에 대한 구역수를 산출하여 그 구역수를 표시하는 데이터를 구역지정용 레지스터(25)에 세트하여 구역단위로 패턴을 기입할때마다 상기한 레지스터(25)의 내용을 감소(-1)하고, 그 내용이 『0』가 될 때까지는 각 구역의 패턴 데이터를 동일문자패턴으로서 취급한다. 즉 구역지정용 레지스터(25)에 의하여 지정된 구역에 대해서는 그 각 패턴간에 공백에리어(area, 행간격)를 끼어놓지 않고, 연속하는 도트인자지정을 실행한다. 이때의 구역구분의 한 예를 제11도에 도시한다.At this time, since the
상기 구역수의 산출수단은 제7도 및 제8도의 도시와 같이, 지정된 회전각도/경사각도/확대·축소배율등에서 변환(변형)된 문자에 대하여 외접하는 x,y방향의 직사각형(정사각형을 포함)의 크기를 구하고 그 사각형이 서로 접하는 2변의 각 도트수(x,y도트수)를 구하여 이것을 상기한 레지스터 초기 설정시에 V size 및 H size의 데이터로서 레지스터(21,22)에 세트해 놓으므로서 쉽게 인식할 수 있다. 즉, 어떤 각도를 가지고 변환된 문자에서는 그 문자의 기입(취급)이 그 문자에 외접하는 수평·수직선상의 직사각형의 에리어(area)를 토대로하여 실행되는 것으로, 예를 들면 프린트아우트일때의 도트보간처리시에 있어서는 레지스터(22)에 저장된 H size의 데이터를 라인버퍼(18)의 비트폭『24』으로 나눗셈하므로서 쉽게 상기 구역수를 구할 수 있고, 또 표시출력일때의 도트보간처리시에 있어서는 레지스터(21)에 저장된 V Size의 데이터를 1표시행의 비트폭『24』로 나눗셈하므로서 쉽게 구역수를 구할 수 있다.The means for calculating the number of zones includes a rectangle (square) in the x and y directions that circumscribes the characters converted (deformed) at a designated rotation angle, tilt angle, enlargement, and reduction ratio, as shown in FIGS. 7 and 8. ), And the number of dots (x, y dots) of the two sides of the squares which are in contact with each other, and is set in the registers 21 and 22 as data of V size and H size at the initial register setting. Therefore, it can be easily recognized. That is, in a character converted at an angle, the writing (handling) of the character is performed based on an area of horizontal and vertical rectangles circumscribed to the character, for example, dot interpolation processing for a printout. In the city, the area number can be easily obtained by dividing the H size data stored in the register 22 by the bit width " 24 " of the
또, 상기 구역지정용 레지스터(25)에 임의의 구역지정 데이터를 고정적으로 부여하므로서 지정된 동일구역의 이미지 데이터를 연속적으로 반복하여 이미지 전개할 수 있다. 이에 의하여 상기 도트보간처리에 의하여 변형된 문자패턴을 다시 그 일부 또는 전부를 용장화(冗長化)된 변형문자 패턴으로서 인자 또는 표시출력할 수도 있다.Further, by arbitrarily giving arbitrary zoning data to the zoning register 25, image data of the designated same zone can be continuously and repeatedly image developed. As a result, the character pattern deformed by the dot interpolation process can be printed or displayed as a modified character pattern which is partially or entirely redundant.
또, 상기한 V size 및 H size의 데이터는 문자피치를 설정할때와, 하선/방선을 처리할때에도 참조된다. 즉, 상기와 같은 주사방향으로 임의의 경사각도를 가지는 도트보간에 의하여 얻어지는 경사, 회전 등의 문자는 그 문자전체의 높이(문자높이) 및 폭(문자폭)이 경사각도, 또는 그것에 더하여 확대·축소배율 등에 따라 여러 가지로 변화된다. 따라서, 상기와 같은 변형문자를 통상의 행, 열방향(x,y방향)을 가지고 이미지 출력했을 때 문자피치, 또는 하선/방선 등을 기존의 고정적인 파라미터 지정수단으로 정할 수가 없다.The V size and H size data described above are also referred to when setting the character pitch and when processing the underline / radiation. That is, the characters such as the inclination and rotation obtained by dot interpolation having an arbitrary inclination angle in the scanning direction as described above have the height (character height) and width (character width) of the entire character being inclined angle or in addition to that. It varies depending on the reduction factor. Therefore, when the above-described modified characters are outputted in the usual line, column direction (x, y direction), the character pitch, underline / line, etc. cannot be determined by the existing fixed parameter designation means.
그러므로, 문자피치, 하선/방선 등의 처리에 대해서도 상기와 같은 외접하는 직사각형을 문자의 보디페이스(body face)로 하여 취급한다. 이하에 이들의 처리수단을 설명한다.Therefore, the above-mentioned circumscribed rectangles are also treated as the body face of the character in the processing of the character pitch, underline / radiation, and the like. These processing means will be described below.
우선, 문자피치의 처리동작을 설명한다. 상기와 같이 1문자분의 도트보간처리가 실행되어 새로이 생성된 1문자분의 도트이미지가 출력대상이 되는, 예를 들면 인자제어부(17)내의 라인버퍼(18)에 전개될(기입)때마다 CPU(10)는 레지스터(21)의 내용(V size)이 갱신되었는지 아닌지를 판단한다. 그리고 상기 레지스터(21)의 내용이 갱신되어 있지 아니하면 레지스터(21)에 저장된 데이터(V size)에 다시 그 1/2의 값을 더한 데이터를 문자피치를 표시하는 제어데이터로서 인자제어부(17)에 공급하고 라인버퍼(18)상에 전개되는 문자의 피치를 제어한다. 또, 상기 레지스터(21)의 내용이 갱신될때는 그 갱신전의 데이터를 특정 레지스터영역에 보관해 놓고, 그 갱신시에 있어서의 특정 레지스터영역에 보관한 갱신전의 데이터와 갱신된 데이터의 합의 1/4의 값을 다시 상기 레지스터(21)에 저장된 갱신후의 데이터에 더해서 이것을 문자피치를 표시하는 제어데이터로서 인자제어부(17)에 공급하고, 라인버퍼(18)상에 전개되는 문자의 피치를 제어한다.First, the processing operation of the character pitch will be described. When the dot interpolation process for one character is executed as described above and a newly generated dot image for one character is to be outputted, for example, each time it is developed (written) in the
이와 같이, 어떤 각도를 가지고 변환된 문자에 대해서는 그 문자의 기입(취급)이 그 문자에 외접하는 수평·수직선상의 직사각형의 에리어(area)를 토대로 하여 실행되므로 그 직사각형의 횡폭(프린트아우트의 경우는 V size, 표시출력의 경우는 H size)을 따라 인접하는 문자와의 사이의 피치가 결정된다. 행피치에 대해서도 상기와 같은 피치제어가 실시된다. 이때의 각종 변형문자에 대한 문자피치(CP) 및 행피치(LP)의 설정예를 제9도에 도시한다.Thus, for a character converted at an angle, the writing (handling) of the character is performed based on the horizontal and vertical rectangular area that circumscribes the character, so that the width of the rectangle (in the case of printout) The pitch between adjacent characters is determined along V size and H size for display output. The pitch control as described above is also performed for the row pitch. FIG. 9 shows an example of setting the character pitch CP and the row pitch LP for various modified characters at this time.
또, 상기한 피치제어는 항상 인접하는 문자가 차지하는 에리어(외접하는 직사각형)를 고려하면서 피치를 결정했으나 처리를 간소화하기 위하여 단순히 그때 그때의 레지스터(21)(또는 레지스터(22))치를 토대로 피치를 결정하는 제어수단을 취해도 좋다.In addition, the above pitch control always determines the pitch while considering the area occupied by adjacent characters (circumscribed rectangle). However, in order to simplify the processing, the pitch control is based on the value of the register 21 (or register 22) at that time. You may take control means for determining.
다음에 상기한 외접하는 직사각형을 토대로 하선/방선을 출력할때의 동작을 설명한다. 이때, 프린트아우트의 경우는 레지스터(21)에 저장된 데이터(V size)가 참조되고, 표시출력의 경우는 레지스터(22)에 저장된 데이터(H size)가 참조된다. 여기에서는 프린트아우트의 경우를 예로 들어 하선/방선의 처리동작을 설명한다. 인자제어부(17)에 설치된 하선/방선제어부(23)는 CPU 버스(12)를 통하여 입력되는 인자제어정보에 포함되는 하선/방선의 지시에 따라 라인버퍼(18)상에 하선 또는 방선의 도트를 전개하나, 상기와 같은 회전, 이탤릭체등의 변형문자에 대해서는 통상의 문자폭에 의한 라인전개로는 대응을 취할 수 없다.Next, the operation at the time of outputting the underline / radiation on the basis of the circumscribed rectangle described above will be described. In this case, the data V size stored in the register 21 is referred to in the case of printout, and the data H size stored in the register 22 is referred to in the case of display output. Here, the processing operation of the underline / radiation will be described taking the case of the printout as an example. The underline /
그러므로, 레지스터(21)의 내용(V size)을 항상 입력하여 하선/방선의 지시가 있으면 그때의 레지스터(21)의 갱신데이터 내용에 따르는 라인길이를 가지고 하선/방선의 도트패턴을 생성하고, 라인버퍼(18)상에 그 문자에 대응시켜서 패턴을 전개한다.Therefore, when the contents (V size) of the register 21 are always inputted, and if there is an indication of the underline / radiation, the underline / radiation dot pattern is generated with the line length corresponding to the contents of the update data of the register 21 at that time. The pattern is developed on the
이때의 각종 변형문자에 대한 하선의 전개예를 제10도에 도시한다.FIG. 10 shows an example of development of underlines for various modified characters at this time.
이상의 상세한 설명과 같이 본 발명에 의하면 소정의 도트매트릭스 구성의 문자패턴을 적어도 주·주사방향 또는 부·주사방향으로 도트보간하는 도트보간장치를 보간도트패턴의 출력제어장치에 있어서, x성분과 y성분으로 표시되는 주·주사방향의 도트보간 어드레스를 생성하는 수단, 및 x성분과 y성분으로 표시되는 부·주사방향의 도트보간 어드레스를 생성하는 보간도트 어드레스 생성수단과, 이 보간도트 어드레스 생성수단에 의하여 생성된 상기 각 도트보간 어드레스에 따르는 좌표점의 보간도트를 생성하는 보간도트 생성수단과, 이 보간도트 생서수단으로 생성된 보간도트정보를 그 도트보간처리된 문자패턴이 전개되는 이미지 메모리의 기입폭에 대응하는 비트길이를 가지고 저장하는 시프트 레지스터와, 이 시프트 레지스터에 대하여 주·주사마다의 보간도트의 기입에 앞서서 상기 이미지 메모리의 기입폭에 상당하는 비트범위내의 오프셋값을 선택적으로 생성하고 상기 시프트 레지스터에 기입하는 오프셋 데이터 생성수단을 구비하며, 도트보간에 의하여 발생하는 문자패턴 도트의 기입개시 위치와 상기 이미지 메모리의 기입경계와의 대응을 취할 수 있도록 하므로서 원문자자체를 고정밀도의 도트보간을 가지고 임의의 확대 및 축소배율, 각도등에 따라 변형했을때에 변형문자마다의 이미지 데이터의 취급이 쉬워지고 또 임의의 문자를 이미지 메모리의 기입폭의 범위내에서 이동이 가능하므로 도트보간된 문자패턴의 출력기능을 확충할 수 있다.As described above, according to the present invention, a dot interpolation device for dot interpolation of a character pattern having a predetermined dot matrix configuration in at least the main, scanning direction, or sub-scanning direction is used in the output control device of the interpolation dot pattern. Means for generating dot interpolation addresses in the main / scanning direction indicated by components, and interpolation dot address generating means for generating dot interpolation addresses in the sub-scanning directions indicated by the x and y components, and the interpolation dot address generating means. Interpolation dot generation means for generating interpolation dots of coordinate points corresponding to each of the dot interpolation addresses generated by the interpolation dot and interpolation dot information generated by the interpolation dot generation means. Shift register for storing with bit length corresponding to write width, and note A character pattern generated by dot interpolation, comprising offset data generating means for selectively generating an offset value within a bit range corresponding to a writing width of said image memory prior to writing interpolation dots for each phase, and writing to said shift register; The image for each deformed character when the original letter itself is transformed according to an arbitrary magnification, reduction factor, angle, etc. with high-precision dot interpolation, so that the dot writing start position can correspond to the writing boundary of the image memory. Since the data can be easily handled and arbitrary characters can be moved within the range of the write width of the image memory, the output function of the dot interpolated character pattern can be expanded.
Claims (1)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59086372A JPS60229766A (en) | 1984-04-28 | 1984-04-28 | Output control system of interpolation dot pattern |
JP59-86372 | 1984-04-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR850007711A KR850007711A (en) | 1985-12-07 |
KR900004949B1 true KR900004949B1 (en) | 1990-07-12 |
Family
ID=13885047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019850000083A KR900004949B1 (en) | 1984-04-28 | 1985-01-09 | Output controller of interpolation dot pattern |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPS60229766A (en) |
KR (1) | KR900004949B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6195952A (en) * | 1984-10-15 | 1986-05-14 | ガ−バ−・サイエンテイフイツク・プロダクツ・インコ−ポレ−テツド | Device for generating text and other character by various constitution |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5432153A (en) * | 1977-08-16 | 1979-03-09 | Kawasaki Steel Co | Continuous treatment line for metal plate |
JPS5950435B2 (en) * | 1981-04-14 | 1984-12-08 | 川崎製鉄株式会社 | Method for joining metal strip ends in continuous metal strip processing production line |
-
1984
- 1984-04-28 JP JP59086372A patent/JPS60229766A/en active Pending
-
1985
- 1985-01-09 KR KR1019850000083A patent/KR900004949B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR850007711A (en) | 1985-12-07 |
JPS60229766A (en) | 1985-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0471482B1 (en) | Character processing method | |
US5719595A (en) | Method and apparauts for generating a text image on a display with anti-aliasing effect | |
US4712185A (en) | Dot interpolation control system | |
JP3286796B2 (en) | Method and image creation device for reducing the amount of storage required | |
US4511893A (en) | Method of storing images in the form of contours and photo-typesetting apparatus thereof | |
KR970008546B1 (en) | Character or graphic processing method | |
KR960016739B1 (en) | Method of correctly aligning the line width of outline font | |
KR900004949B1 (en) | Output controller of interpolation dot pattern | |
KR900004950B1 (en) | Character interpolation control method | |
KR900004892B1 (en) | Dot inter polation system | |
KR900004948B1 (en) | Under/side line pattern generating device | |
JPH05120441A (en) | Vector picture plotting device | |
KR900007681B1 (en) | Dot interpolation control system | |
JPH046554B2 (en) | ||
JPH049152B2 (en) | ||
KR910005779B1 (en) | Printer controlling method for reducing the number of dot | |
KR890005004B1 (en) | Dot pattern interpolation system | |
JPH06175638A (en) | Method and device for character generation | |
JPH049153B2 (en) | ||
JP2782752B2 (en) | Character pattern output device | |
JPH06175639A (en) | Method and device for character generation | |
KR890005005B1 (en) | Dot interpolation control system | |
JP3347756B2 (en) | Character generation method and device | |
KR870000432B1 (en) | Memroy system of characters and drawing and apparatus for photo-composing | |
JP2835056B2 (en) | High quality character pattern generation method |
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: 19971227 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |