KR900006060B1 - Font kerning method of laser beam printer - Google Patents
Font kerning method of laser beam printer Download PDFInfo
- Publication number
- KR900006060B1 KR900006060B1 KR1019870013895A KR870013895A KR900006060B1 KR 900006060 B1 KR900006060 B1 KR 900006060B1 KR 1019870013895 A KR1019870013895 A KR 1019870013895A KR 870013895 A KR870013895 A KR 870013895A KR 900006060 B1 KR900006060 B1 KR 900006060B1
- Authority
- KR
- South Korea
- Prior art keywords
- kerning
- font
- character
- information
- memory
- Prior art date
Links
Images
Classifications
-
- 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/18—Conditioning data for presenting it to the physical printing elements
- G06K15/1835—Transforming generic data
- G06K15/1842—Geometric transformations, e.g. on raster data
-
- 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/0054—Geometric transformations, e.g. on rasterised data
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Laser Beam Printer (AREA)
- Dot-Matrix Printers And Others (AREA)
Abstract
Description
제1도는 종래의 폰트메모리 구조 및 폰트구조 설명도.1 is a diagram of a conventional font memory structure and font structure.
제2도는 종래의 문자인쇄 예시도.2 is a view illustrating a conventional character printing.
제3도는 본 발명의 폰트메모리 구조 설명도.3 is an explanatory diagram of a font memory structure of the present invention.
제4도는 본 발명의 폰트구분 및 각 부분에 대한 비트 설명도.4 is a font explanatory diagram of font divisions and respective parts of the present invention.
제5도는 본 발명에 따른 커닝(Kerning) 정보 작성 예시도.5 is an exemplary drawing of kerning information in accordance with the present invention.
제6도는 본 발명의 커닝 정보처리 흐름도.6 is a kerning information processing flowchart of the present invention.
제7도는 본 발명에 따른 문자인쇄 형태 사시도.7 is a perspective view of the character printing form according to the present invention.
본 발명은 폰트(Pont)의 커닝(Kerning)에 관한 것으로, 특히 폰트의 비트이미지에 일정한 정보를 기억시켜 프린트시에 각 글자에 따라 커닝의 유무를 판단하도록 한 레이저 빔 프린터의 폰트커닝 방법에 관한 것이다.TECHNICAL FIELD The present invention relates to kerning of fonts, and more particularly, to a font kerning method of a laser beam printer in which constant information is stored in a bit image of a font so as to determine whether kerning is performed according to each character during printing. will be.
종래의 폰트메모리 구조는 제1도의 (a)에 도시된 바와같이, 폰트의 높이, Y-오프세트(X-offset), 폰트의 폭, X-오프세트(X-offset) 및 비트 맵(bit map)이 순차적으로 기억되어 있다. 따라서, 폰트를 프린트할 때 폰트의 높이와 폭의 정보를 가지고 폰트의 시작위치를 결정한 후 비트맵을 순차적으로 받아 프린트하게 된다.The conventional font memory structure has a font height, a Y-offset, a font width, an X-offset, and a bitmap, as shown in FIG. maps are stored sequentially. Therefore, when the font is printed, the start position of the font is determined based on the height and width information of the font, and then bitmaps are sequentially received and printed.
여기서, X-오프세트는 제1도의 (b)에 도시된 바와같이 앞글자와 프린트하고자하는 글자사이의 간격을 나타내고, Y-오프세트는 기준선(Base line)에서 내려간 정도를 나타내고, 높이 및 폭은 프린트 했을 때 글자가 차지하는 최소의 도트수를 나타낸다.Here, the X-offset represents the distance between the first letter and the letter to be printed as shown in (b) of FIG. 1, and the Y-offset represents the degree of descending from the base line. Is the minimum number of dots the character occupies when printed.
상기와 같은 종래의 폰트메모리를 이용하여 "Type"를 프린트하는 경우를 예로들어 제2도에 의해 설명한다.A case where "Type" is printed using the conventional font memory as described above will be described with reference to FIG. 2 as an example.
우선, 라스터 메모리의 현재위치를 글자를 쓰고자 하는 위치(P1)에 두고, 이후 쓰고자 하는 글자의 미국 정보교환 표준코드(ASCII)를 받아 해당폰트를 찾고, 그 폰트의 폰트시작 어드레스로부터 어드레스 값을 증가시키면서 높이와 Y-오프세트의 값을 읽으며, 그 높이와 Y-오프세트의 값으로부터 "T"자의 시작점(P2)에 라스터 메모리의 현재위치를 둔다. 이후 폰트의 라스터 정보를 억세스하여 라스터 메모리에 기억시킨 후 다음 쓰고자 하는 글자를 위하여 현재위치를 기준선(P3)에 둔다. 이후 "Y"자를 쓰는 경우에도 상기 "T"자를 쓰는 경우와 동일한 방법으로 반복시행한다.First, the current position of the raster memory is placed at the position where the character is to be written (P1), and then the corresponding font is found by receiving the American Information Exchange Standard Code (ASCII) of the character to be written, and the address is obtained from the font start address of the font. The value of the height and the Y-offset is read while increasing the value, and the current position of the raster memory is placed at the starting point P2 of the "T" character from the height and the Y-offset value. Then, the raster information of the font is accessed and stored in the raster memory, and the current position is placed on the reference line P3 for the next character to be written. Thereafter, even when the letter "Y" is written, the process is repeated in the same manner as when the letter "T" is written.
그러나, 이와같은 종래의 방식에 의해 인쇄한 경우에는 제2도에서 확인되는 바와같이 "T"자와 "T"자의 간격이 "Y"자와 "P"자의 간격보다 넓게 보여서 전체적으로 조화롭지 못하게 되고, 또 X-오프세트를 이용하여 "Y"자를 "T"자에 겹쳐쓸 수 있겠지만 "Y"자가 "M"자 혹은 "N"자와 겹쳐서 쓰면 안되므로 케이스에 따라 X-오프세트를 여러 가지로 갖든지 또는 모든 글자를 일률적으로 겹쳐서 써야하는 결점이 있었다.However, in the case of printing by such a conventional method, as shown in FIG. 2, the spacing of the "T" and the "T" appears wider than the spacing of the "Y" and the "P", resulting in unbalanced overall. You can also use the X-Offset to overwrite the "Y" character with the "T" character, but do not overwrite the "Y" character with the "M" or "N" character. There was a flaw that you must write or uniformly overwrite all the letters.
본 발명은 이러한 종래의 결점을 해결하기 위하여, 각 문자에 따른 커닝정보를 폰트메모리에 기억시켜서 프린트시에 각 문자에 따라 커닝의 유무를 자동적으로 판별할 수 있게 창안한 것으로, 이를 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.In order to solve the above-mentioned drawbacks, the present invention has been devised to store kerning information for each character in a font memory so as to automatically determine the presence or absence of kerning according to each character during printing. Detailed description with reference to the following.
제3도는 본 발명의 폰트메모리 구조 설명도로서, 이에 도시한 바와같이, 폰트의 높이, Y-오프세트, 폭, X-오프세트가 순차적으로 메모리된 폰트메모리의 상부에 커닝정보를 첨가 기억시킨다.3 is an explanatory diagram of a font memory structure according to the present invention. As shown in this figure, kerning information is added and stored on top of a font memory in which the height, Y-offset, width, and X-offset of a font are sequentially stored. .
한편, 상기 커닝정보를 제4도의 (a)에 도시한 바와같이 문자를 그가 차지하는 높이로 3등분하여 각 위치(a-h)를 결정하고, 그 각위치에 대한 정보를 제4도의 (b)에 도시한 바와같이 1바이트의 각 비트에 대응되게 기록한다. 즉, 각위치(a-h)중 문자가 차있는 해당위치의 비트에는 "1"을 기억시키고, 문자가 차있지 않은 해당위치의 비트에는 "0"을 기억시킨다.On the other hand, as shown in (a) of FIG. 4, the kerning information is divided into three parts by the height occupied by him to determine each position (ah), and information about the angular position is shown in (b) of FIG. As described above, recording is made corresponding to each bit of one byte. That is, "1" is stored in the bit of the corresponding position where the letter is filled in each position (a-h), and "0" is stored in the bit of the corresponding position where the character is not filled.
일예로, "Y"자에 대한 커닝정보는 제5도의 (a)에 도시한 바와같이 "01010100"으로 되고, 마찬가지로 "T"자 및 "M"자에 대한 커닝정보는 제5도의 (b) 및 (c)에 도시한 바와같이 "10001000" 및 "11101110"으로 된다.For example, the kerning information for the letter "Y" becomes "01010100" as shown in (a) of FIG. 5, and the kerning information for the letter "T" and "M" is similar to that of FIG. And "10001000" and "11101110" as shown in (c).
이와같은 방식에 의하여 각 문자에 대한 커닝정보가 결정되고, 그 커닝정보는 폰트메모리에 기억되는 것으로, "Type"를 인쇄하는 경우를 제7도를 참조하여 설명한다.In this way, kerning information for each character is determined, and the kerning information is stored in the font memory, and the case of printing "Type" will be described with reference to FIG.
우선 라스터 메모리의 현재위치를 글자로 쓰고자하는 위치(P1)에 두고, 쓰고자 하는 문자 "T"의 ASCII코드를 받아 해당폰트를 찾는다. 이후 그 "T"의 커닝정보를 폰트 메모리에 기억시킨 후 "T"자의 시작점(P2)에 라스터 메모리의 현재위치를 두고 그 폰트메모리의 라스터 정보를 억세스하여 라스터 메모리에 기억시킨다.First, the current position of the raster memory is placed at the position (P1) to be written as a letter, and the corresponding font is found by receiving the ASCII code of the letter "T" to be written. Thereafter, the kerning information of the "T" is stored in the font memory, and the raster information of the font memory is accessed and stored in the raster memory with the current position of the raster memory at the start point P2 of the "T" character.
이후, 다음문자 "Y'의 커닝정보와 기억시켜둔 "T"자의 커닝정보를 제6도의 흐름도에 의해 커닝을 할것인지 안할것인지를 판단한다. 즉, 상기와 같이 폰트메모리에 기억시킨 커닝정보를 읽고 그 커닝정보의 왼쪽 4비트를 시스템 메모리의 일정어드레스인 뒤(after) 버퍼에 배정하고, 그 뒤버퍼에 배정한 4비트를 이전상태에서 시스템 메모리의 일정어드레스인 앞(before) 버퍼에 배정되어 있는 4비트와 앤드화시켜 "0"이면 커닝할 것으로 판별하고, "1"이면 커닝하지 않을 것으로 판별한다.Then, it is determined whether the kerning information of the next letter "Y" and the kerning information of "T" are to be kerned or not by the flowchart of Fig. 6. That is, the kerning information stored in the font memory as described above is determined. Read and allocate the left 4 bits of the kerning information to the buffer after the fixed address of the system memory, and the 4 bits allocated to the back buffer to the buffer before the constant address of the system memory. If it is " 0 " by AND with 4 bits, it is determined to be kerned, and if it is " 1 "
일예로, 앞문자인 "T"자의 오른쪽 4비트 커닝정보 "1000"은 앞버퍼에 이미 배정되어 있고, 이후 문자인 "Y"자의 왼쪽 4비트 "0101"를 뒤버퍼에 배정한 후 그 양 커닝정보 "1000"과 "0101"를 앤드화하면 "0"으로 된다.For example, the right 4 bit kerning information "1000" of the letter "T" is already assigned to the front buffer, and the left 4 bit "0101" of the letter "Y" is assigned to the back buffer and the amount of kerning information. If " 1000 " and " 0101 "
따라서, 이때 커닝할 것으로 판별하여 그 "Y"자를 "T"자와 X-오프세트만큼 겹쳐 쓴다. 이후 다음문자의 커닝여부 판별을 위해 그 "Y"자의 오른쪽 4비트 커닝정보 "0100"을 앞버퍼에 배정한다.Therefore, at this time, it is determined to be kerned and the "Y" letter is overwritten by "T" and X-offset. Thereafter, the right 4 bits of "Y" character kerning information "0100" is allocated to the front buffer to determine whether the next character is kerning.
이와같은 방법을 반복시행하여 "Type"를 프린트하게되면 제7도에 도시한 바와같이 "T"자와 "Y"자가 X-오프세트 만큼 겹쳐서 프린트된다.By repeating this method, when "Type" is printed, "T" and "Y" are printed by overlapping X-offset as shown in FIG.
이상에서 상세히 설명한 바와같이 본 발명은 폰트를 이용하여 글자를 인쇄하는 레이저 빔 프린터에 있어서 문자의 커닝여부를 판별하여, 커닝인 경우에는 문자를 X-오프세트 정도 겹쳐 프린트할 수 있게되므로 인쇄글자가 보다 조화롭게 보이는 효과가 있게된다.As described in detail above, the present invention determines whether a character is kerning in a laser beam printer that prints a character using a font, and in the case of kerning, the character can be printed by overlapping an X-offset. The effect will look more harmonious.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019870013895A KR900006060B1 (en) | 1987-12-05 | 1987-12-05 | Font kerning method of laser beam printer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019870013895A KR900006060B1 (en) | 1987-12-05 | 1987-12-05 | Font kerning method of laser beam printer |
Publications (2)
Publication Number | Publication Date |
---|---|
KR890010747A KR890010747A (en) | 1989-08-10 |
KR900006060B1 true KR900006060B1 (en) | 1990-08-20 |
Family
ID=19266677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019870013895A KR900006060B1 (en) | 1987-12-05 | 1987-12-05 | Font kerning method of laser beam printer |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR900006060B1 (en) |
-
1987
- 1987-12-05 KR KR1019870013895A patent/KR900006060B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR890010747A (en) | 1989-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4342096A (en) | Variable pitch character generator for dot matrix printer | |
JPS63205257A (en) | Printing control system | |
JPH04220764A (en) | Method and apparatus for compressing character font | |
US5852710A (en) | Apparatus and method for storing image data into memory | |
KR900006060B1 (en) | Font kerning method of laser beam printer | |
US4642622A (en) | Video signal generating circuit | |
KR960010410B1 (en) | Output method and apparatus | |
AU603830B2 (en) | Printer character generator | |
US5822504A (en) | Font packing device and font unpacking device | |
US4993853A (en) | Matrix character modification information unique to a given font | |
JP2584973B2 (en) | Recognition result output method in character recognition device | |
JPS594706B2 (en) | Print pattern generator | |
JPH0371028B2 (en) | ||
JPH06274145A (en) | Character processor | |
KR950011809B1 (en) | Korean character compound writing method in laser printer | |
JPS61104860A (en) | Reduction printer | |
JPS63242561A (en) | Font reducing system | |
JPS60109888A (en) | Character processor | |
JPS6189861A (en) | Printing controller | |
KR900008271B1 (en) | A method for making bold-type fonts | |
KR930014203A (en) | How to Implement Hangul Image of Printer | |
JPH02287739A (en) | Memory access method | |
JPS62248081A (en) | Character recognition method through memory medium | |
JPS62208088A (en) | Image processor | |
JPS61275885A (en) | Character pattern generation |
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: 19941227 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |