KR900006060B1 - Font kerning method of laser beam printer - Google Patents

Font kerning method of laser beam printer Download PDF

Info

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
Application number
KR1019870013895A
Other languages
Korean (ko)
Other versions
KR890010747A (en
Inventor
유상철
Original Assignee
주식회사 금성사
최근선
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 금성사, 최근선 filed Critical 주식회사 금성사
Priority to KR1019870013895A priority Critical patent/KR900006060B1/en
Publication of KR890010747A publication Critical patent/KR890010747A/en
Application granted granted Critical
Publication of KR900006060B1 publication Critical patent/KR900006060B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1835Transforming generic data
    • G06K15/1842Geometric transformations, e.g. on raster data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/004Generic data transformation
    • G06K2215/0054Geometric 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

The height of character is divided by 3 and each corner data is stored in each bit of 1 byte font memory as the kerning data. In typing the left 4 bits are allocated to the after buffer placed at certain address of the system memory and ANDing with the right 4 bits kerning data stored at the before buffer of which data is for former printed character. If the output of ANDing is "0", it is determined for kerning, but no kerning if it is "1". After that, the right 4 bits of the kerning data are allocated to the before buffer for discriminating the kerning state of next character.

Description

레이저 빔 프린터의 폰트커닝 방법Font Kerning Method of Laser Beam Printer

제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)

폰트를 이용하여 글자를 인쇄하는 레이저 빔 프린터에 있어서, 문자를 그가 차지하는 높이로 3등분하여 각 모서리 위치(a-h)에 대한 정보를 1바이트의 각 비트에 대응되게 폰트메모리에 커닝정보로 기억시켜 두고, 문자인쇄시에 그 폰트메모리의 커닝정보를 읽어 그 커닝정보의 왼쪽 4비트를 시스템 메모리의 일정어드레스에 할당된 뒤(after) 버퍼에 배정한 후 시스템 메모리의 일정어드레스에 할당된 앞(before) 버퍼에 이미 배정되어 있는 앞 인쇄문자의 오른쪽 4비트 커닝정보와 앤드화시켜, "0"인 경우에는 커닝할 것으로 판별하고, "1"인 경우에는 커닝안할 것으로 판별하며, 이후 그 커닝정보의 오른쪽 4비트는 다음 인쇄문자와의 커닝여부 판별을 위해 상기 앞버퍼에 배정시키게 함을 특징으로 하는 레이저 빔 프린터의 폰트커닝 방법.In a laser beam printer that prints characters using fonts, the characters are divided into three parts by their height, and information about each corner position (ah) is stored as kerning information in the font memory corresponding to each bit of 1 byte. Reads the kerning information of the font memory when the character is printed, allocates the left 4 bits of the kerning information to a buffer after it is allocated to a fixed address in the system memory, and then assigns a buffer to the constant address of the system memory. If it is "0", it is determined to be kerned. If it is "1", it is determined that it is not kerning. Then, it is determined that it is not to be kerned. And a bit is assigned to the front buffer to determine whether the bit is kerning with the next print character.
KR1019870013895A 1987-12-05 1987-12-05 Font kerning method of laser beam printer KR900006060B1 (en)

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)

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