KR0163255B1 - 커닝처리방법 및 그것을 이용한 문자조판장치 - Google Patents

커닝처리방법 및 그것을 이용한 문자조판장치 Download PDF

Info

Publication number
KR0163255B1
KR0163255B1 KR1019950003538A KR19950003538A KR0163255B1 KR 0163255 B1 KR0163255 B1 KR 0163255B1 KR 1019950003538 A KR1019950003538 A KR 1019950003538A KR 19950003538 A KR19950003538 A KR 19950003538A KR 0163255 B1 KR0163255 B1 KR 0163255B1
Authority
KR
South Korea
Prior art keywords
character
candidate point
amount
dot
shift
Prior art date
Application number
KR1019950003538A
Other languages
English (en)
Other versions
KR950024882A (ko
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 이시다 아키라
Publication of KR950024882A publication Critical patent/KR950024882A/ko
Application granted granted Critical
Publication of KR0163255B1 publication Critical patent/KR0163255B1/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41BMACHINES OR ACCESSORIES FOR MAKING, SETTING, OR DISTRIBUTING TYPE; TYPE; PHOTOGRAPHIC OR PHOTOELECTRIC COMPOSING DEVICES
    • B41B19/00Photoelectronic composing machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Document Processing Apparatus (AREA)

Abstract

그 안에서 문자패턴(자면)을 배치한 직사각형의 문자 프레임(가상보디)에 의거해서, 문자열의 각 문자를 소정의 배열방향으로 배치할 때에, 미리 배치위치가 확정되어 있는 기준문자에 대해서, 인접해서 배치하고자 하는 대상문자의 배치위치를 조정하는 커닝처리방법에 있어서, 상기 방법은 이하의 스텝을 가진다. 상기 기준문자와 상기 대상문자의 자면끼리의 최단간격인 2차원적인 간격량(자면간격량)을 지정하는 과정, 상기 대상문자의 돗트패턴을 기준문자의 돗트패턴으로 향해서 1돗트씩 쉬프트시켜서, 그 쉬프트마다에, 상기 쉬프트방향과 직교하는 방향으로 양돗트 패턴사이가 최단간격으로 되는 한 페어의 돗트(후보점 페어)를 구하는 과정, 상기 양문자의 가상보디가 접하는 상태에서 상기 각 후보점 페어간의 상기 쉬프트 방향의 간격정보와 그것에 직교하는 방향의 간격정보를 기억하는 과정, 상기 각 후보점 페어의 쉬프트 방향의 간격정보와 이것에 직교하는 방향의 간격정보와 상기 지정된 자면간격량에 의거해서 상기 양문자의 가상보디가 접한 상채에서 대상문자를 기준문자에 대해 접근시켜서, 각 후보점 페어의 간격이 상기 지정된 자면간격량으로 되기까지의 메우기량을 각 후보점 페어 각각에 대해 산출하는 과정, 상기 산출된 각 메우기량 가운데 최소로되는 메우기량을 구하는 과정, 상기 최소 메우기량으로 기준문자에 대해서 대상문자를 배치하는 과정.

Description

커닝처리방법 및 그것을 이용한 문자조판장치
제1도는 실시예에 관한 문자조판장치의 개략구성을 나타내는 블럭도.
제2a~2c도는 벡터 데이터상에서의 후보점페어의 위치관계의 설명.
제3a~3c도는 돗트 패턴 데이터상에서의 후보 점페어의 추출방법을 설명하는 도면.
제4a,4b도는 돗트 패턴데이터상에서의 후보점페어의 추출방법을 설명하는 도면.
제5a,5b도는 돗트 패턴 데이터상에서의 후보점페어의 추출방법을 설명하는 도면.
제6a,6b도는 최단간격과 메우기량과의 관계를 나타내는 그래프.
제7도는 실시예에 관한 커닝(KERNING)처리 방법의 플로워 차트.
제8도는 후보점 페어의 추출처리의 플로워 차트.
제9도는 후보점 페어의 추출처리의 플로워 차트.
제10도는 문자열 정보 저장부의 모식도.
제11도는 돗트 패턴열 전개 메모리의 모식도.
제12a,12b도는 돗트 패턴열 전개 메모리의 모식도.
제13a,13b도는 후보점 페어의 추출을 설명하는 도면.
제14a,14b도는 후보점 페어의 추출을 설명하는 도면.
제15a, 15b도는 후보점 페어의 추출을 설명하는 도면.
제16a,16b도는 후보점 페어의 추출을 설명하는 도면.
제17도는 전문자 처리후의 후보점 페어저장부의 모식도.
제18도는 메우기량의 산출처리의 플로워 차트.
제19도는 전문자 처리후의 간격 정보저장부의 모식도.
제20도는 전문자 처리후의 간격정보 저장부의 모식도.
제21도는 전문자 처리후의 문자열 정보저장부의 모식도.
* 도면의 주요부분에 대한 부호의 설명
1 : 제어부 2 : 문자열입력부
3 : 문자열정보저장부 4 : 자간간격량지시부
5 : 자면간격량저장부 10 : 폰트저장부
12 : 돗트패턴화처리부 14 : 돗트패턴저장부
15 : 돗트패턴열 전개메모리 16 : 후보점페어보조저장부
18 : 후보점페어저장부 20 : 간격정보저장부
22 : 메우기량연산부 24 : 메우기량저장부
본 발명은 데스크 톱 퍼블리싱(Desk top publishing)등으로 이용되는 문자 조판장치의 문자조판등에 관한, 특히 문자메우기처리를 행하는 커닝처리방법 및 이것을 이용한 문자조판장치에 관한 것이다. 문자열의 각 문자를 소정의 배열방향으로 배치할 때에, 배치위치가 미리 확정되 있는 기준문자에 대해서 인접해서 배치하도록 하는 대상문자의 배치위치를 조정하는 커닝처리방법으로해서, 예를들면, 일본국 특허공개공보 1975-65223호에 개시된 것이 있다. 이방법에서는 양문자의 자면(face)의 돗트패턴의 돗트간격을 문자의 배열방향에 대해 구하고, 이 돗트 간격이 소망하는 자면간격량으로 되도록 양문자를 배치하고 있다. 또, 일본국 특허공개공보 1990-243343호 및 일본국 특허공개공보 1991-269490호에서는 양문자의 자면의 외곽선을 문자의 배열방향으로 주사해서 자면끼리의 간격을 산출하고, 이 간격이 소망하는 자면간격량으로 되도록 양문자를 배치하고 있다.
그러나, 상기와 같은 커닝처리방법에서는 자면끼리의 간격을 문자의 배열 방향에 대해서 만큼은 예를 들면, 문자를 수평방향으로 순차배치하는 글자 가로짜기의 경우에는 횡방향의 간격에 대해서만 구해지므로서, 이 간격이 소망하는 자면간 간격량으로 되도록 대상문자를 기준문자에 대해서 배치하면 문자의 조합에 의해 경사와 종방향에만 자면끼리의 2차원적인 간격이 소망의 자면간격량 보다도 좁게 되기도, 자면끼리가 일부 중복하는 등, 외관이 나쁘게 된다하는 문제점이 있다.
이와 같은 커닝처리방법에서는 결국, 자면끼리의 간격을 경사, 종방향 등의 2차원적인 간격으로 조정하는데에 오퍼레이터가 CRT등의 문자열을 보면서 경험적으로 미조정을 행할 필요가 있으므로, 오퍼레이터에 고도한 기량을 요하고, 처리에 많은 시간을 요한다. 또한, 문자의 조합에 의해 미리 문자배열의 조정량을 설정하고 메모리에 저장해 놓는 방법이 있으나, 그 조정량은 고정치인 동시에 필요한 메모리 용량이 크게된다. 또, 다른 사이즈의 문자와의 커닝처리도 할 수 없다.
그래서, 문자의 배열방향만에 대해서 자면간격을 구할 뿐만 아니라, 경사, 종방향 등의 2차원적인 자면간격에 의거해서 문자를 배치하는 커닝처리방법으로해서 예를들면 일본국 특허공개 1990-24454호가 있다. 이방법에서는 우선, 양문자의 자면의 돗트패턴을 소망하는 자면간격량의 1/2만큼 굵게해 처리하고, 그 굵게한 처리를 행한 대상문자의 톳트패턴을 기준문자의 돗트 패턴으로 향해서 근접하도록 이동시킨다. 그리고, 굵게 처리를 행한 돗트 패턴끼리가 접한 때의 이동량을 구하고, 이 구해진 이동량을 메우기량으로 해서 굵게 처리를 행하기전의 문자를 배치하는 것이다.
그러나, 이와 같은 방법에서는 소망하는 자면간격량으로 되는 이동량(메우기량)을 산출을 산출하기 위해 처리시간을 많게 요하는 자면의 굵게한 처리를 행할 필요가 있고, 또한 소망하는 자면간격량을 변경하는 경우에는 재차, 본자면 간격량에 응한 굵게 한 처리를 행할 필요가 있다. 따라서, 문자끼리를 소망하는 2차원적인 자면간격량으로 배치하는 것이 가능하나, 처리가 늦고, 여러 가지의 자면간격량의 설정을 반복하는 자면간격의 미조정의 처리에는 적합하지 않다하는 문제점이 있다.
본 발명은 이와 같은 사정이 감안된 것이고, 문자의 자면간격을 소망하는 2차원적인 자면간격량으로 조정할 수 있고, 처리가 빠르고, 또 자면 간격량의 설정을 반복하는 자면간격의 미조정처리에도 적합한 커닝처리방법 및 이것을 이용한 문자조판장치를 제공하는 것을 목적으로 한다.
본 발명은 이와같은 목적을 달성하기 위하여 다음과 같은 구성을 채택한다. 본 발명은 그 가운데에 문자패턴(자면)을 배치한 직사각형의 문자 프레임(가상보디(imaginary body)에 의거해서 문자열의 각 문자를 소정의 배열방향으로 배치할 때에, 미리 배치위치가 확정되어 있는 기준문자에 대해서, 인접해서 배치되도록 하는 대상 문자의 배치위치를 조정하는 커닝처리방법에 있어서, 상기 방법은 이하의 스템 ;
(a)상기 기준문자와 상기 대상문자의 자면끼리의 최단간격인 2차원적인 간격량(자면간격량)을 지정하는 스텝과,
(b)상기 대상문자의 돗트패턴을 기준문자의 돗트 패턴에 적합하게 1돗트씩 쉬프트시켜, 그 쉬프트 마다에 상기 쉬프트 방향과 직교하는 방향으로 양 돗트 패턴간이 최단간격으로 되는 한 페어의 돗트(후보점페어)를 구하는 스텝과,
(c)상기 양문자의 가상보디가 접하는 상태에서 상기 각 후보점페어간의 상기 쉬프트 방향의 간격정보와 그것에 직교하는 방향의 간격 정보를 기억하는 스텝과,
(d) 상기 각 후보점 페어의 쉬프트 방향의 간격정보와, 이것에 직교하는 방향의 간격정보와, 상기 지정된 자면간격량에 의거해서, 상기양문자의 가상보디가 접한 상태에서 대상문자를 기준문자에 대해 접근시켜서, 각 후보점 페어의 간격이 상기 지정된 자면간격량으로 되기까지의 메우기량을 각 후보점 페어 각각에 대해 산출하는 스텝과,
(e) 상기 산출된 각 메우기량 가운데, 최소로 되는 메우기량을 구하는 스텝과,
(f) 상기 최소의 메우기 량으로 기준문자에 대해서 대상문자를 배치하는 스텝을 갖는다.
상기 발명에 의하면 추출된 각 후보점 페어에 대해서, 양문자의 가상보디가 접하는 상태에서의 쉬프트 방향의 간격정보와, 쉬프트 방향에 직교하는 방향의 간격 정보들을 기억한다. 상기 2개의 간격정보에 의해, 양문자를 가상보디가 접하는 상태에서 메워진 경우의 2차원적인 자면끼리의 간격을 구할 수 있다. 따라서, 지정된 2차원적인 자면간격량과 상기 2개의 간격정보에 의거해서, 상기 양문자의 자면끼리의 간격을 상기 지정된 자면간격량으로 하기 위해 필요한 메우기량이 각 후보점 페어 마다에 산출된다. 이 산출된 각 메우기량 중, 최소의 메우기량을 가진 기준문자에 대해서 대상문자를 배치하므로서, 자면이 중복하지 않고, 또, 자면간격을 지정된 자면간격량으로 할 수 있다. 또, 자면간격량을 변경하는 경우는 후보점페어의 추출을 재차실행하지 않고, 미리 기억되어 있는 양간격 정보와 새롭게 지정된 자면 간격량에서 메우기량이 산출된다.
이와 같이, 대상문자의 돗프패턴을 기준문자의 돗프패턴으로 향해서 쉬프트하고, 그 쉬프트마다에 돗트 패턴 사이가 최단간격으로 되는 한 페어의 돗트만큼을 후보점 페어로 해서 추출하고, 이들의 후보점 페어 중에서, 지정된 자면간격량을 공급하는 하나의 후보점 페어를 구하는 처리를 행하고 있으므로서, 처리 대상으로 되는 돗트쌍의 수가 적게되고, 그것만큼 문자배열 처리를 빠르게 할 수 있다. 또, 추출된 후보점 페어 간격정보를 기억해 놓고, 이것과 지정된 자면 간격량에 의거해서, 양문자의 자면 간격을 상기 자면간격량으로 하기 위한 메우기량을 산출하므로서, 자면간격량이 재지정되어도 재차 후보점 페어의 추출을 행하지 않고 메우기량을 산출할 수 있다. 결과, 문자간격의 조정(수정)처리가 빠르고, 실용적인 커닝처리를 행할 수 있다.
또, 본 발명 방법에서, 상기 스텝(b)는 상기 대상문자의 돗트패턴을 기준문자의 돗트패턴에 맞추어 1돗트씩 쉬프트시켜, 그 쉬프트 마다에, 상기 쉬프트 방향과 직교하는 방향의 복수열상으로 양 돗트패턴 사이가 각열에서 최단간격으로 되는 돗트쌍이 존재하는 경우, 이 가운데 최단간격으로 되는 한 페어의 돗트를 후보점 페어로해서 구하는 것이 바람직하다. 또, 본 발명 방법에서, 상기 스텝(b)은 상기 대상문자의 돗트패턴을 기준문자의 돗트패턴에 맞추어서 1돗트씩 쉬푸트시켜, 그 쉬프트 마다에, 상기 쉬프트 방향과 직교하는 방향으로 양 사이가 최단간격으로 되는 한 페어의 돗트를 구함과 동시에, 쉬프트 후에 양문자의 돗트패턴이 중복된 돗트쌍을 후보점 페어로 해서 구해서 이 스텝을 종료하는 것이 바람직하다.
통상의 커닝처리에서는 문자의 자면이 중복하기 까지 문자배열 되지 않는다. 그러나 문자의 자면의 형상에 의해서는 「잠식해 들어간다」상태는 발생하지 않고 양문자의 자면끼리가 갑자기 중복할 수도 있다. 이와같은 자면의 경우를 고려해서 중복된 돗트쌍을 후보점페어로 해서 구해놓고, 처리를 종료한다. 이것에 의해, 여러 가지 문자의 조합에 대해서 커닝처리를 행할 수 있다.
또, 본 발명 방법에서, 상기스텝(b)은 상기 대상문자의 돗트패턴을, 기준문자의 돗트패턴으로 향하여 1돗트씩 쉬프트시켜, 그 쉬프트마다에, 상기 쉬프트 방향과 직교하는 방향의 동일 열상으로 양 돗트 패턴 사이가 최단간격으로 되는 돗트쌍이 복수쌍 존재하는 경우, 어느 쪽 한 쌍의 돗트를 후보점 페어로해서 구하는 것이 바람직하다.
동일 쉬프트량에서 동일 간격량(최단간격)으로 되는 복수개의 돗트 쌍은 「쉬프트 방향」과 「쉬프트 방향에 직교하는 방향」의 간격정보가 각각 같게되므로서 후의 스텝에서 같은 관계식을 도입하게 된다. 따라서 이들의 돗트쌍 가운데 어느 쪽인가의 한 페어의 돗트를 후보점페어로 하면 좋다. 이렇게 하는 것에 의해 쓸데 없는 후보점 페어의 추출을 회피할 수 있고, 후의 스텝에서 처리를 효율좋게 행할 수 있다.
또, 본 발명 방법에 있어서, 상기스텝(b)은 큰 쉬프트량에서 후보점 페어의 간격량이, 그것보다 적은 쉬프트량에서 후보점 페어의 간격량보다 적은 경우에만 상기 큰 쉬프트량에서 후보점 페어를 구하는 것이 바람직하다.
예를 들면, 기준문자「=」와 대상문자「­」의 조합과 같이 다른 쉬프트량에서 같은 간격량의 한 페어의 돗트가 후보점 페어로 해서 복수개 추출되도록 한 경우에는 최소의 쉬프트량으로 구해진 후보점 페어만을 저장한다. 이것에 의해 쓸데없는 후보점 페어의 추출을 회피할 수 있다. 따라서, 후의 스텝에서 처리를 효율좋게 행할 수 있다.
또한, 본 발명은, 그 가운데에 문자 패턴(자면)을 배치한 직사각형의 문자 프레임(가상보디)에 의거해서, 문자열의 각 문자를 소정의 배열 방향으로 배치할 때에 미리 배치위치가 확정되어 있는 기준문자에 대해서, 인접해서 배치하도록 하는 대상문자의 배치위치룰 조정하는 커닝처리를 이용한 문자 조판 장치에서, 상기장치는 이하의 요소 :
(a) 상기 기준문자와 상기 대상문자의 자면끼리의 최대 간격인 2차원적인 간격량(자면간격량)을 지정하는 자면간격량 지시부와,
(b) 상기 대상문자 및 상기 기준문자의 각각의 자면을 소정의 구성돗트수의 돗트패턴 데이터로 변화하는 돗트패턴화 처리부와,
(c) 상기 돗트 패턴화 처리부에 의해 교환된 상기 대상 문자 및 상기 기준문자의 돗트패턴 데이터를 저장하는 돗트 패턴 데이터 저장부와,
(d) 상기 돗트패턴 데이터 저장부에 저장되어 있는 상기 대상문자 및 상기 기준문자의 각각의 돗트패턴 데이터를 저장하는 돗트 패턴열 전개 메모리와,
(e) 상기 돗트 패턴열 전개 메모리에 저장되어 있는 대상 문자의 돗트패턴을 기준문자의 돗트패턴으로 향해서 1돗트씩 쉬프트시켜, 그 쉬프트 마다에 상기 쉬프트 방향과 직교하는 방향으로 양돗트 패턴 사이가 최단시간으로 되는 한 페어의 돗트(후보점 페어)를 구하는 후보점 페어 산출부와,
(f) 상기 후보점 페어 산출부에 의해 산출된 후보점 페어를 저장하는 후보점 페어 저장부와,
(g) 상기 양문자의 가상보디가 접하는 상태에서 상기 각 후보점 페어간의 상기 쉬프트 방향의 간격정보와 이것에 직교하는 방향의 간격정보를 기억하는 간격정보 저장부와,
(h) 사이 간격 정보 저장부에 저장되어 있는 상기 각 후보점 페어의 쉬프트 방향의 간격정보와 이것에 직교하는 방향의 간격정보와 상기 자면간격량 지시부를 통해서 지정된 자면간 격량에 의거해서, 상기 양문자의 가상보디가 접한 상태에서 대상문자를 기준문자에 대해서 접근시켜서, 각 후보점 페어의 간격이 상기 지정된 자면간격량으로 되기까지의 메우기량을 각 후보점 페어 각각에 대해 산출하는 메우기량 연산부와,
(i) 상기 산출돤 각 메우기량 중 최소로 되는 메우기량을 저장하는 메우기량 저장부와,
(j) 상기 메우기량 저장부에 저장되어 있는 메우기량으로 기준문자에 대해서 대상문자를 배치하는 배치제어부를 포함한다.
본 발명 장치에 의하면, 우선, 장치의 오퍼레이터는 소망하는 기중문자와 대상문자의 자면끼리의 최단간격인 2차원적인 간격량(자면간격량)을, 자면 간격량 지시부를 통해서 지정한다. 기준문자와 대상문자와의 돗트 패턴화 처리부에서 소정의 구성 돗트 수의 돗트 패턴 데이터로 변환되어서 돗트 패턴 데이터 저장부로 저장된다. 그리고, 여기에 저장되어 있는 기준문자와 대상문자의 각각의 돗트 패턴 데이터는 돗트 패턴열 전개 메모리로 저장된다. 이 돗트패턴열 전개 메모리에 저장된 대상문자의 돗트 패턴을 후보점 페어 산출부가 기준문자의 돗트패턴으로 향해서 1돗트씻 쉬프트시켜, 그 쉬프트 마다에 쉬프트 방향과 직교하는 방향으로 양돗트 패턴 사이가 최단간격으로 되는 한 페어의 돗트를 후보점 페어로 해서 구한다. 이와 같이해서 구해진 후보점 페어는 후보점 페어 저장부에 저장된다. 그리고 각 후보점 페어에 대해서, 양문자의 가상보디가 접하는 상태에서 상기 쉬프트 방향의 간격정보와 이것에 직교하는 방향의 간격 정보들을 간격 정보저장부로 기억한다. 메우기량 연산부는 간격정보저장부에 저장되어 있는 각 후보점 페어의 양간격정보와 지정된 자면간격량에 의거해서, 양문자의 가상보디가 접한 상태에서 대상문자를 기준문자에 대해 접근시켜서, 각 후보점 페어의 간격이 상기 자면 간격량으로 되기 까지의 메우기량을 각 후보점 페어의 각각에 대해서 산출한다. 메우기량 저장부는 산출된 각 메우기량을 중 최소로 되는 메우기량을 저장한다. 이 저장된(최소로 된다)메우기량에서 기준문자에 대해서 대상문자를 배치한다.
이와같은 대상문자의 돗트패턴을 기준문자의 돗트패턴으로 향하여 쉬프트하고, 그 쉬프트마다에 돗트패턴 사이가 최단간격으로 되는 한 페어의 돗트만을 후보점 페어로 해서 추출하고, 이들의 후보점 페어 중에서, 지정된 자면간격량을 공급하는 하나의 후보점 페어를 구하는 처리를 행하고 있으므로서, 처리대상으로 되는 돗트 쌍의 수가 적게되고, 그것만큼 문자배열 처리를 신속하게 행할 수 있다. 또, 추출된 후보점 페어의 간격정보를 간격정보 저장부에 기억해 놓고, 이것과 자면 간격량 지시부를 통해서 지정된 자면 간격량에 의거해서, 양문자의 자면의 간격을 상기 자면 간격량으로 하기 위한 메우기량을 산출하므로서, 자면간격량이 재차 지정되는 것으로 해서도 재차 후보점 페어의 추출을 행하지 않고, 메우기량을 산출할 수 있다. 그 결과, 문자간격의 조정(수정)처리가 빠르고, 실용적인 커닝처리를 행할 수 있다.
또, 본 발명 장치에서, 상기 후보점 페어 산출부는 상기 돗트패턴열 전개 메모리에 저장되어 있는 대상문자의 돗트패턴을 기준문자의 돗트패턴으로 향해서 1돗트씩 쉬프트시켜, 그 쉬프트마다에 상기 쉬프트 방향과 직교하는 방향의 복수열로 양돗트패턴 사이가 각열에서 최단간격으로 되는 돗트쌍이 존재하는 경우, 이 중 최단간격으로 되는 한 페어의 돗트를 후보점 페어로 해서 구하는 것이 바람직하다.
또, 본 발명 장치에에 있어서, 상기 후보점 페어 산출부는 상기 돗트 패턴열 전개 메모리에 저장되어 있는 대상문자의 돗트패턴을 기준문자의 돗트패턴으로 향해서 1돗트씩 쉬프트시켜, 그 쉬프트 마다에, 상기 쉬프트 방향과 직교하는 방향으로 양 돗트 패턴 사이가 최단간격으로 되는 한 페어의 돗트를 구함과 동시에, 쉬프트 후에 양문자의 돗트패턴이 중복된 돗트쌍을 후보점 페어로 해서 구해서 후보점 페어의 산출을 종료하는 것이 바람직하다.
또, 본 발명 장치에서, 상기 후보점 페어 산출부는 상기 돗트 패턴열 전개 메모리에 저장되어 있는 대상문자의 돗트패턴을 기준문자의 돗트패턴으로 향해서 1돗트씩 쉬프트시켜, 그 쉬프트 마다에 상기 쉬프트 방향과 직교하는 방향의 동일열상으로 양 돗트패턴상이가 최단간격으로 되는 돗트쌍이 복수쌍 존재하는 경우, 어느쪽인가 한 페어의 돗트를 후보점페어로 해서 구하는 것이 바람직하다.
또, 본 발명 장치에서, 상기 후보점 페어 산출부는 큰 쉬프트 량에서 후보점 페어의 간격량이, 그것보다 적은 시프트 량에서 후보점 페어의 간격량보다 적은 경우 만큼 상기 큰 쉬프트량에서 후보점 페어를 구하는 것이 바람직하다.
본 발명의 설명을 목적으로, 현재 바람직한 여러 형태의 도면이 나타나 있으나, 본 발명은 도시된 장치와 수단에 제한되는 것이 아님이 명백하다.
[실시예]
이하, 본 발명의 적합한 실시예를 도면에 의거해서 상세하게 설명한다.
제1도는 본 발명에 관한 커닝처리방법을 사용하는 문자조판장치의 개략구성을 나타낸 블럭도이다.
도면 중, 부호 1은 주로 존 발명 방법을 실행하는 제어부이다. 제어부(1)는, 도시하지 않는 CPU와 ROM, RAM 등의 메모리로 구성되어 있다. 문자열 입력부(2)는 워드프로세서 등으로 작성된 문자열 데이터 파일(폰트명, 문자사이즈, 문자코드 등)을 저장한 매체 등에서 문자 열 데이터를 취하는 것이다. 이 취해진 문자열 데이터는 제어부(1)에 의해 문자열 정보저장부(3)에 저장된다. 이 저장된 문자열 정보저장부(3)의 문자열 데이터는 제어부(1)에 의해 참조된다. 자면간격량 지시부(4)는 오퍼레이터에 의해 문자의 자면끼리의 2차원적인 간격량(자면간격량)을 입력지시되며, 이 자면간격량은 자면간격량 저장부(5)로 저장된다. 이 자면간격량지시부(4)는 키보드 등의 입력장치로 구성되어 있다. 자면 간격량저장부(5)에 저장된 자면간격량은 제어부(1)에 의해 참조된다.
제어부(1)은 문자열정보저장부(3)에 저장된 문자열 데이터에 대응하는 백터 폰트데이터를 폰트 저장부(10)에서 판독한다. 돗트 패턴화 처리부(12)는 판독된 백터 폰트 데어터를 지정된 문자 사이즈에 응한 백터 데이터로해서 소정의 구성 비트수의 돗트 패턴 데이터로 변환해서 돗트패턴 데이터 저장부(14)에 저장한다. 또, 제어부(1)는 처리의 대상으로 되는 2문자 분의 돗트 패턴 데어터를 돗트 패턴 데이터 저장부(14)에서 돗트 패턴 열전개 메모리(15)에 저장한다. 또한, 벡터 폰트 데이터와는 문자의 자체 형상을 나타내는 자면이 수학적으로 함수로 나타난 것이고, 그 함수에 의해 나타난 폐도형내가 자면부에 상당하는 흑화소이고, 그것 이외가 백화소이다. 또, 돗트패턴 데이터는 자면이 비트맵(예를들면 2치 데이터의 1등)으로 구성된 것이다.
후보점 페어 보조저장부(16) 및 후보점 페어 저장부(18)는 후술하는 돗트 패턴 사이가 최단간격으로 되는 한 페어의 돗트(후보점 페어)에 관한 정보를 저장하는 것이다. 여기에서 돗트 패턴은 돗프 패턴 데이터의 흑화소인 돗트의 모음을 말한다. 간격 정보 저장부(20)는 후보점 페어 저장부(18)에 저장되어 있는 후보점 페어의 간격정보를 저장하는 것이다. 간격정보는 뒤에 상세하게 설명하나, 후보점 페어의 돗트끼리의 위치관계를 나타내는 것이다. 이 저장된 간격정보와 자면 간격량 저장부(5)에 저장되어 있는 자면 간격량에 의거해서, 메우기량을 메우기량 연산부(22)가 산출한다. 이 산출된 메우기량은 메우기량 저장부(24)로 저장되며, 문자열 정보 저장부(3)에 저장되어 있는 문자열 데이터에 부가된다.
문자열 정보 저장부(3)에 저장되며, 메우기량이 부가된 문자열 데이터는 제어부(1)에 의해 표시·출력부(25)로 보내진다. 이것에 의해 CRT등의 표시장치에 표시되기도, 프린터 등으로 구성된 출력장치로 출력된다.
[처리의 개요]
우선, 제2도∼제4도를 참조하여, 이해를 용이하게 하기 위하여, 중심으로 되는 처리의 개요에 대해 설명한다.
제2a도는 배치의 기준으로 되는 기준문자(A)와, 기준문자(A)에 대해서 가상보디끼리가 접하는 상태에서「글자 자로짜기」로 배치된 대상문자(B)를 벡터 데이터로 나타낸 모식도이다. 이 기준문자(A) 및 대상문자(B)는 각각 100×100의 문자 사이즈를 가지는 가상보디(AIB,BIB)와 그 안쪽의 자면 FA(실선의 영역내)FB(점선의 영역내)로 구성되어 있다. 이 가상보디끼리가 접하는 상태에서의 배치는 소위「통조판」(Solid matter)으로도 불려진다. 이때, 대상문자(B)의 가상보디의 일변의 기준문자(A)의 가상보지의 일변에 대해서 문자 배열되어 가는 방향과는 역방향으로 메우게 되는 간격(메우기량)을「0」으로 한다.
①돗트 패턴 데이터로의 변환
상기 벡테 데이터로 나타난 양문자(A,B)를 10×10돗트로 구성되는 돗트 패턴 데이터로 변환한 것이 제3a도이다. 양문자 A,B는 그 자면(FA',FB')을 구성하고 있는 각 돗트 패턴의 각 돗트를 식별가능하게 문자의 배열 방향에 따라 열번호를, 문자의 배열방향과 직교하는 방향에 따라서 행번호를 할당한다. 즉, 문자(A)의 자면(FA')에는 문자의 배열방향에 따라서 우단에서 i열∼i-6열까지, 문자(B)의 자면(FB')에는 좌단에서 j열∼j+3열까지를 할당한다. 또 문자의 배열방향과 직교하는 방향에 따라 상단에서 p형∼p+6행을 할당한다. 또한, 이 예에서는 돗트 패턴 데이터의 1돗트가 벡터 데이터의 10×10의 크기에 상당한다. 이것을 변환 배열로 하고, 이 경우는 변환배율 1/10로 된다.
②후보점 페어의 추출
양문자 A,B의 돗트 패턴으로 나타난 자면(FA',FB')과의 사이에서 최단간격으로 되는 후보로 해서 한 페어의 돗트(후보점 페어)를 전부 추출하여, 후보점 페어 저장부(18)로 저장한다.
구체적으로는「통조판」의 상태에서 대상문자(B)의 돗트패턴을 기준문자(A)의 돗트패턴으로 향해서 1돗트씩 쉬프트시켜, 그 쉬프트 마다에 문자의 배열방향과 직교하는 방향(열방향)으로, 양문자(A,B)의 돗트패턴으로 나타난 자면(FA',FB') 가운데, 동열상에 존재하는 한 페어의 돗트를 전부 추출한다. 그리고 같은 쉬프트량(쉬프트회수에 상당)에서 복수쌍의 돗트 중, 간격량이 최단으로 되는 한 페어의 돗트르 그 쉬프트량에서 후보점 페어로 한다. 또한, 여기에서, 후보점 페어의 간격량들은 2개의 돗트 중심간거리를 돗트수로 나타낸 량을 말한다.
상기와 같이 쉬프트하여, 합계 5돗트분 쉬프트 한 상태를 제3b도에 나타낸다. 이 상태에서는 자면(FB')의 p+4행·j열의 돗트와, 자면(FA')의 p행·j열의 돗트로 되는 한 페어의 돗트(a)(간격량 ; 4돗트)가 동열상에 하나만 존재하므로서, 이 한 페어의 돗트를 후보점 페어(a)로 해서 그 간격정보와 동시에 후보점 페어 저장부(18)에 저장된다.
또한, 1돗트분 쉬프트 한 상태(합계 6돗트 분의 쉬프트량)를 제3c도에 나타낸다. 이 상태에서는 자면(FB')의 p+4행·j열의 돗트와 자면(FA')의 p+1행·j-1열의 돗트로 되는 한 페어의 돗트(b)(간격량 ; 3돗트)와, 자면(FB')의 p+4행·j+1열의 돗트와 자면(FA')의 p행·j열의 돗트로 되는 한 페어의 돗트(b1)(간격량 ; 4돗트)들이 존재한다. 이 경우, 한 페어의 돗트(b1)가 후보점 페어 보조저장부(16)에 저장되면, 이것과 한 페어의 돗트(b)의 간격량과 비교해서 최단간격인 한 페어의 돗트(b)가 후보점 페어(b)로 해서 후보점 페어 저장부(18)에 저장된다.
또한, 1돗트분 쉬프트한 상태(합계 7돗트분의 쉬프트량, 제4a도 참조)에서는 자면(FB')의 p+1행·j+2열의 돗트와 자면(FA')의 p행·j열의 돗트로 되는 한 페어의 돗트(C)(간격량 ; 1돗트)와 자면(FB')의 p+4행·j+1열의 돗트와 자면(FA')의 p+1행·j-1열의 돗트로 되는 한 페어의 돗트(C1)(간격량 ; 3돗트)와 자면(FA')의 p+4행·j열의 돗트와 자면(FA')의 p+2행·j-2열의 돗트로 되는 한 페어의 돗트(C2)(간격량 ; 2돗트) 가운데 최단 간격인 한 페어의 돗트(C)가 후보점 페어(C)로 해서 후보점 페어 저장부(18)에 저장된다.
또한, 1돗트 분 쉬프트 한 상태(합계 8돗트의 쉬프트량)이 제4b도의 상태에서는 같은 모양으로 해서 4쌍의 돗트(d,d1,d 2 ,d3)시 추출되며, 최종적으로는 한 페어의 돗트(d)(간격량 ; 0돗트)가 후보점 페어(d)로 해서 후보점 페어 저장부(18)에 저장된다.
이 후보점 페어의 추출처리는 자면의 일부가 중복한 곳에서 종료한다. 인접 문자의 자면이 중복하기 까지 문자배열되는 것은 통상의 커닝처리는 아니기 때문이다. 따라서, 상기에에서는 합계8비트의 쉬프트(제9b도)에서 처리를 종료한다. 예를들면 문자「E」와 문자「F」와 같은 조합의 경우에는, 대상문자를 1돗트씩 쉬프트 해 가면, 제3b,c도와 같은 소위「침투한다」상태는 발생하지 않고서, 양문자의 자면끼리 갑자기 중복하는 것도 있다. 이와 같은 경우에는 중복된 한 페어의 돗트를 후보점 페어로 해서 추출해서 처리를 종료하게 된다.
이상의 처리에 의해 쉬프트 마다에 추출된 후보점 페(a~d)가 후보점 페어저장부(18)에 저장된다.
또한, 상기의 예에서는 동열상에는 한 페어의 돗트가 하나 밖에 존재하지 않으나 복잡한 형상의 자면으로 되는 문자에 의해서는 동열상에 복수쌍의 돗트가 존재하는 경우가 있다. 예를들면, 기준문자(A)의 어떤 하나의 열상의 자면(FA')과 대상문자(B)의 어떤 하나의 열상의 자면(FB')들이 제5a도에 나타난 바와 같은 돗트로 구성되어 있는 것으로 한다. 이 양열끼리가 쉬프트 되어서 겹쳐지면 제5b도와 같이, 동열상에 5개의 돗트쌍(P1, P2, P3, P4)이 존재하게 된다. 이와 같은 경우는 전체의 돗트쌍(P1~P4) 중 최단의 간격량을 가진 하나의 돗트쌍(P1)을 후보점 페어로 해서 후보점 페어 저장부(18)에 저장하면 좋다. 또, 최단의 간격량을 가진 돗트쌍 복수쌍 존재하는 경우에는 어느쪽인가 한페어의 돗트를 후보점페어로 해서 저장하면 좋다. 이것은 후술하는 바와 같이 가상 보디가 접하는 상태에서의 후보점 페어의 「쉬프트 방향」과 「쉬프트 방향에 직교하는 방향」의 간격정보와, 지정된 자면 간격량에 의거해서 얻어진 관계식으로 양문자의 메우기량을 산출하는 것이나, 같은 쉬프트량에서, 또 동열상에서 동일의 최단간격을 가지는 복수의 후보점 페어에서는 전부 같은 관계식이 유도되기 때문이다.
또, 어느 쉬프트량에서의 후보점 페어의 간격량이 그것까지의 쉬프트 량에서 후보점 페어의 간격량보다 큰 경우는 그 후보점 페어를 무시한다.
③메우기량의 산출
기준문자(A)와 대상문자(B)의 2차원적인 자면의 최단간격을 지정된 자면간격량으로 하는데 필요한 메우기량을 산출한다.
제2a도에 나타난 바와 같이 「통조판」의 상태에서, 후보점 페어 저장부(18)에 저장된 각 후보점 페어에 대해서, 벡터 데이터에서의 자면의 윤관끼리의 간격으로 환산한 쉬프트 방향의 간격정보(m)와 쉬프트 방향과 직교하는 방향의 간격정보(n)를 구한다. 후보점 페어의 돗트 중심좌표에 상당하는 벡터 폰트 데이터에서의 좌표를 기준문자 A(Pax, Pay), 대상문자 B(Pbx, Pby)로 하면, 양간격 정보 m, n는
m=(100-Pax)+Pax-10 ..........(1)
n=│Pay-Pay│-10 ...............(2)
로 나타낼 수 있다. 단 Pay=Pby때는 n=0으로 한다. 또한 상기식에서 수치 100은 벡터 데이터의 문자사이즈를 나타내고, 10은 돗트 패턴 데이터의 1비트의 사이즈에 상당하는 벡터 데이터 상의 사이즈를 나타낸다.
각 후보점 페어의 백터데이터에서의 돗트 중심좌표[(Pax,Pay),(Pbx,Pay)]를 후보점페어(a)[(75,75),(25,35)], 후보점 페어(b)[(65, 65),(25,35)], 후보점 페어(c)[(75, 75),(45, 65)], 후보점 페어(d)[(65, 65),(45,65)]로 하면 상기 (1),(2)식 보다 각 후보점 페어의 쉬프트 방향의 간격정보(m)와 쉬프트 방향과 직교하는 방향의 간격정보(n)는
후보점 페어 m n
a 40 30
b 50 20
c 60 0
d 70 0
으로 된다. 또 벡터 데이터에서의 자면의 최단간격 k는
K2=m2+ n2............(3)
으로 산출할 수 있다(제2a도 참조).
또한 대상문자(B)는 기준문자(A)에 대해서 메우기량이 「0」인 「통조판」의 상태에서, 어느 메우기량(S)으로 배치되나, 이 메우기량(S)에 의해 쉬프트 방향의 간격정보(m)는 (m-S)로 나타낼 수 있다(제2b도 참조). 따라서 상기(3)식은
K2=(m-S)2+ n2............(4)
로 된다. 이 관계식에 의거해서 각후보점 페어의 최단간격(k)과 메우기량(S)과의 관계를 그래프화하면 제6a도와 같이 된다.
실제의 커닝처리에서는 최단간격(k)은 양문자의 자면간격에 있어서, 오퍼레이터와 디자이너에 의해 지정된 소망의 2차원적인 자면간격량(ko)이므로서, 지정된 자면 간격량(ko)에서 메우기량(S)을 구할 필요가 있다. 따라서, (4)식에서 메우기량(S)을 구하면,
로 된다. 일예로 해서, 자면간격량 Ko=30이 지정된 경우를 생각한다. 상기의 양간격정보(m,n)와 (5)식에서, 각 후보점페어의 자면끼리의 최단간격이 자면간격량(Ko)으로 되는 메우기량(S)은
후보점 페어 메우기량 S
a 40
b 72,28
c 90,30
d 100,40
C1C1으로 된다. 이 산출된 메우기량(S)가운데, 후보점페어(b)에서 산출된 최소의 메우기량 Smin=28을 가지고 대상문자(B)를 기준문자(A)에 대해서 배치하면 좋다(제2c도 참조). 이 최소의 메우기량(Smin)을 가지고 문자를 배치하는 것의 이유에 대해서, 제6a도의 메우기량(S)과 최단간격(k)과의 관계를 나타내는 그래프를 참조해서 설명한다. 이 그래프에서 메우기량(S)이 0이상 20이하(0≤S≤20 : 메우기량 범위① )의 경우는 후보점 페어(a)가 최단간격으로 되고, 20이상 36이하(20≤S≤36 : 메우기량 범위②)의 경우는 후보점페어(b), 36이상 60이하(36≤S≤60 : 메우기량 범위③)의 경우는후보점 페어(c)가 최단간격으로 되는 것을 알 수 있다. 또 메우기량(S)이 20의 경우는 a, b의 2개의 후보점 페어가 모두 최단간격으로 되고, 메우기량(S)가 36의 경우는 b,c의 2개의 후보점 페어가 모두 최단간격으로 되는 것을 알 수 있다. 자면끼리의 2차원적인 최단간격을 자면 간격량 ko=30으로 하기 위하여, 상기와 같이 산출된 각 메우기량(S) 가운데 최고가 아닌 메우기량(S)을 가진 대상문자(B)를 기준문자(A)에 대해서 배치한 경우를 생각해 본다. 예를들면 상기의 후보점 페어(d)에서 산출된 메우기량(S)을 「40」으로 배치하면 확실히 후보점 페어(d)에 대해서는 최단간격(k)이 지정된 자면간격량(ko)에 같은 「30」으로 되나, 후보점 페어(c)에서는 취단간격(k)이 지정된 자면 간격량(ko)보다도 짧은 「20」으로 된다. 즉, 최소가 아닌 메우기량으로 배치하면 자면 간격이 지정된 자면간격량(ko)보다도 짧게 되는 곳이 나타나므로서, 산출된 메우기량(S)중 최소의 메우기량(Smin)을 가진 문자를 배치한다. 따라서, 기준문자(A)와 대상문자(B)와의 조합에 있어서는 지전된 자면간격량(ko)(최단간격 k)과 메우기량(S)과의 관계는 제6a도의 각 메우기량 범위①~③에서 최단의 자면간격량(ko)(최단간격k)로 되는 후보점 페어(a, b, c)의 각 특성을 접속하게 한 제6b도의 관계에서 나타날 수 있다. 이것에서 본예에서는 간격량이 「0」, 즉, 자면이 중복될 때의 후보점 페어(d)는 사용되지 않는 것을 알 수 있으나, 양문자의 자면의 형상에 의해, 중복하는 후보점페어가 필요한 경우도 있다(양문자의 자면의 대향부가 평행한 경우 등). 이상이 본 실시예의 중심으로 되는 처리의 개요이다. 이 개요설명에서 명확히 한 바와 같이 대상문자의 돗트패턴을 기준문자의 돗트 패턴에 대해서 1돗트씩 쉬프트하고 그 쉬프트마다에 추출한 각 후보점 페어에 대해서 가상보디가 접하는 상태에서 상기 쉬프트 방향의 간격정보(m)와 쉬프트 방향과 직교하는 방향의 간격정보(n)를 구한다. 이 양간격 정보에 의해 자면끼리의 2차원적인 간격을 지정된 자면간격량(ko)으로 하기 위한 메우기량(S)을 산출할 수 있다. 또 한번만 후보점페어의 추출을 행해서 그 간격정보(m, n)를 기억해 놓으면 자면간격량(ko)이 재지정되어도 후보점 페어의 추출을 재차 행할 필요가 없으므로서, 메우기량을 효율적으로 구할 수 있다. 또, 1돗트씩 쉬프트하여, 자면에 상당하는 돗트 패턴끼리를 접근시켜서 최단간격으로 되는 한페어의 돗트를 후보점 페어로 해서 구하고 있어, 바꾸어 말하면, 실제로 문자 끼리를 메운 경우에 최단 간격으로 되면 예상되는 양문자의 자면의 복수개소를 후보점 페어로 해서 추출하고, 이들의 일군의 후보점 페어만을 대상으로 상술한 바와 같이 최적의 하나의 후보점 페어를 구하고 있으므로서, 양문자의 윤곽을 구성하는 전체의 돗트를 대상으로 해서 최단간격으로 되는 한 페어의 돗트를 구하는 경우 등에 비교해서 각단에 처리를 빠르게 행할 수 있다. 다음에, 제7~제9도에 플로워차트를 참조해거, 처리의 상세에 대해서 설명한다. 제7도는 커닝처리방법의 메인플로워를 나타내고, 제8도 및 제9도는 후보점 페어의 추출의 처리를 나타내는 플로워차트이다. 또, 이하의 설명에서는 개요설명 때와 같게 문자를 「글자 가로 짜기」로 행하는 것을 전제로 설명한다. 제7도를 참조한다. 스템(S1)에서는 커닝처리를 행하는 문자열 데이터화일을 오퍼레이터가 지정한다. 이 문자열 데이터화일의 문자열 데이터는 문자열 입력부(2)에서 입력되며, 문자열 정보 저장부(3)에 저장된다. 이 문자열 정보저장부(3)에 저장된 문자열 데이터의 일예의 모식도를 제10도에 나타낸다. 이와같은 문자열 데이터는 명조체와 고딕체등의 자면의 디자인(type face)을 나타내는 폰트명과 가상보디의 크기인 문자 사이즈와 이들에 계속해서 제1문자(C1)의문자코드, 제2문자(C2)의문자코드,…, 제n문자(Cn)의 문자코드인 문자코드군으로 구성된다. 제어부(1)는 문자열 정보저장부(3)의 문자열 데이터를 참조하고, 이것에 대응하는 폰트명의 벡터 폰트 데이터를 폰트 저장부(10)에서 판독해서, 대응하는 문자 사이즈로 신축해서 각 문자를 표시·출력부(25)로 표시한다. 이때, 각 문자는 통조판인 「표준배치」, 즉, 메우기량 「0」으로 배치된다. 스텝(S2)에서는 오퍼레이터가 소망하는 자면간격량(ko)을 자면 간격량지시부(4)에서 입력지정한다.
입력된 자면간격량(ko)은 자면간격량 저장부(5)에 저장된다. 여기에서는 자면간격량(ko)으로해서 「30」이 지정된 것으로 한다.
[후보 점페어의 추출]
스텝(S3)에서는 후보 점페어의 추출처리를 행한다. 이 처리에 대해서, 제8도의 플로워차트를 참조해서 설명한다. 스텝(T1)에서는 문자열 정보저장부(3)에 저장된 문자열 데이터에 대응하는 벡터 폰트데이터를 폰트저장부(10)에서 제어부(1)가 판독하여, 이전체 벡터 폰트데이터를 돗트 패턴화처리부(12)가 지정된 문자사이즈의 벡터 데이터로 변환해서 소정의 돗트수로 구성된 돗트 패턴 데이터로 변환한다. 본 실시예에서는 일예로 해서, 변환배율1/10, 즉 100×100의 사이즈벡터 데이터를 10×10돗트의 돗트 패턴 데이터로 변환한다. 또한, 벡터 데이터에서 돗트패턴 데이터로의 변환에서, 벡터 데이터에서 자면의 면적이 돗트 패턴 데이터에서의 돗트 사이즈 중에서 예를 들면50%이상을 점유하는 경우는 흑화소로해서 변환하고, 그것 이하의 경우는 백화소로 해서 변환한다. 스텝(T2)에서는 후보점 페어 저장부(18)의 내용을 클리어 한다. 이하의 처리에서 후보점 페어가 추출될 때, 후보점 페어 저장부(18)에 후보점 페어에 관한 정보가 추가 저장되므로서 그 앞에 한번 클리어 해 놓는다. 스텝(T3)에서는 제어부(1)가 돗트 패턴 데이터 저장부(14)의 문자(Ci)(기준문자)와 문자(Ci+1)(대상문자)의 그 문자분의 돗트 패턴 데이터를 돗트 패턴열 전개 메모리(15)에 기록한다. 이 돗트패턴열 전개 메모리(15)의 모식도를 제11도에 나타낸다. 이 돗트 패턴 열전개 메모리(15)는 2문자분의 돗트 패턴 데이터를 저장할 수 있도록 저장영역이 확보되며, 또 저장영역은 기준문자(Ci)의 좌하를 기준으로해서 상방향으로 향해서 0~9(행데이터)까지의 10행으로 분할되며, 횡방향으로 향해서 0~19(열데이터)까지의 20열로 분할되며, 이 분할된 200개의 각 영역은 기준문자(Ci)에서 대상문자(Ci+1)의 영역에 연속적으로 0~199까지의 어드레스가 할당되어 있다. 변환된 돗트 패턴 데이터가 10×10사이즈이므로서, 기준 문자(Ci)에 「0~99」, 대상문자(Ci+1)에「100~199」의 어드레스가 할당된다.
또한, 이하의 설명에서는 문자(Ci)를 제1문자 (Ci)로 하고, 문자(Ci+1)를 제 2문자(C2)로 해서 설명한다. 또 제1문자(C1)과 제2문자(C2)는 각각 전술의 개요설명에서 이용된 것과 같은 형상으로 나타나는 문자인 것으로 한다(제12a도 참조). 여기에서 제1문자(C1)의 돗트가 위치하는 어드레스(도면 중의 실선영역 내)의 집합을 A0로 하면 A0={11~17, 22~27, 33~37, 44~47, 55~57, 66, 67, 77}로 되고, 제2문자(C2)의 돗트가 위치하는 어드레스(도면중의 점선의 영역내)의 집합을 B0로 하면 B0={122, 123, 132, 133, 142~146, 152~156}로 된다. 또한, 집합을 나타내는 부호(A,B)의 첨자0는 쉬프트 회수=0을 나타낸다.
스텝(T4)에서는 제2문자(C2)를 제1문자(C1)에 대해서 1돗트 쉬프트한다. 구체적으로는 제2문자(C2)의 돗트를 나타내는 어드레스의 집합(B0)의 각 어드레스에서 10만큼 감산한다. 결과, 제2문자(C2)의 어드레스의 집합(B1)은 B1={112, 113, 122, 123, 132~136, 142~146}으로 된다(제12b도 참조).
스텝(T5)에서는 문자의 배열방향과 직교하는 방향에서, 즉, 동열상에 양문자의 돗트가 있는가 없는가를 판단한다. 이 판단은 집합(B1)을 RAM에리어에 B1'으로 해서 복사해서, 이 B1'전체어드레스를 10으로 나누고 그 결과의 소수를 잘라버린다(이하, 정수화라고 칭한다). 또, 같은 모양으로 집합(A0)의 전체 어드레스를 정수화한다. 이 처리에 의해 각 어드레스의 집합에 포함되는 어드레스는 열 데이터로 변환된다. 따라서, 집합(A0')과 집합(B1')의 열 데이터를 비교하여 같은 열 데이터인가 아닌가를 판단하다. 여기에서는 집합 A0'={0,1,2,3,4,5,6,7}과 잡합 B0'={11, 12, 13, 14}로 되며, 같은 열 데이터가 포함되지 않으므로서, 스텝(T4)로 되돌아가서, 또 1돗트 쉬프트를 행한다. 이양문자의 돗트 패턴 데이터에서는 합계5돗트 분의 쉬프트를 행하기 까지 스탭(T4), 스탭(T5)이 반복된다. 다음에, 스텝(T4, T5)에 의해 합계 5돗트분의 쉬프트가 행해진 상태에서 설명한다. 이때 돗트 패턴열 전개 매모리(15)의 모식도를 제13a도에 나타낸다. 이상태에서는 집합 A0={11~17, 22~27, 33~37, 44~47, 55~57, 66, 67, 77}, 집합B5={72, 73, 82, 83, 92~96, 102~106}으오 되며, 집합 A0'={1, 2, 3, 4, 5, 6, 7}, 집합B5'={7, 8, 9, 10}으로 되므로서, 집합 A0'과 B5'에 같은 열 데이터 「7」이 포함된다. 따라서, 동열상에 양문자의 돗트가 있다고 판단되어서 스텝(T5)에서 스텝(T6)로 분기 한다. 스텝(T6)에서는 후보점 페어 보조저장부(16)에 소정의 초기치를 설정한다.
후보점 페어 보조저장부(16)는 동일의 쉬프트량에서 어떤 열상의 최단 간격을 가지는 한 페어의 돗트의 간격량(FP)과 그 원래의 어드레스, 즉 제12a도에 나타난 「통조판」에서 한 페어의 돗트 어드레스(AP, BP)를 저장하는 것이다. 이 후보점 페어보조저장부(16)의 간격량(FP)은 동일 쉬프트 량에서 상기 열상과는 다른 열상에서 최단간격을 가지는 한 페어의 돗트의 간격량가 비교되므로서, 우선, 무언가의 값을 초기치로 해서 설정해 놓을 필요가 있다. 여기서, 간격량으로해서는 채택할 수 있는 최대의 간격량인 「10」을 설정하고, 후보점 페어의 원래의 어드레스(AP, BP)로해서는 적당한 값(여기서는 「0」,「0」)을 설정한다. 이 후보점 페어보조저장부(16)의 모식도를 제13b도에 나타낸다.
스텝(T7)에서는 기준문자(C1)과 대상문자(C2)의 동열상에 있는 전체의 돗트쌍을 구하고 스텝(T8)에서는 그중 최단의 간격량을 가진 한 페어의 돗트를 구한다. 현재 합계5돗트분 쉬프트 된 상태에서는 기준문자(C1)의 어드레스 집합 A0={11~17, 22~27, 33~37, 44~47, 55~57, 66, 67, 77} 대상문자(C2)의 어드레스 집합 B5={72, 73, 82, 83, 92~96, 102~106}이고, 기준문자(C1)의 열데이터의 집합 A0'={1, 2, 3, 4, 5, 6, 7}, 대상문자(C2)의 열데이터의 집합 B5'={7, 8, 9, 10}이므로서, 열데이터의 집합에서 7열째에서 동열상에 쌍방의 돗트가 존재하고 있다. 여기서, 7열째에서 한페어의 돗트를 구한다. 우선, 7열째이므로서 어드레스가 70대의 문자 (C1)과 문자(C2)의 어드레스를 구한다. 결과, 문자(C1)의 어드레스(Aw)(77)와, 문자(C2)의 어드레스(Bw)(72, 73)가 구해진다. 그리고, 그 간격량 (Fp)(Aw, Bw)를 구하면 Fp(77, 72)=5, Fp=(77, 73)=4이므로서, 최단인 간격량(Fp)(77, 73)=4와 그 한 페어의 돗트 어드레스를 제어부(1)의 RAM에 일시적으로 저장한다(스텝 T8). 스텝(T11)에서는 후보점 페어 보조저장부(16)에 저장되어 있는 동일 쉬프트량에서 다른 열에서 추출된 한 페어의 돗트의 간격량(Fp')과 해당열 상에서 추출되어서 제어부(1)의 RAM에 저장되어 있는 한 페어의 돗트의 간격량(Fp)을 비교하여, 짧은 편의 간격량을 가진 한 페어의 돗트의 간격량과 이 한 페어의 돗트를 구성하고 있는 각 돗트의 원래의 어드레스로 되는 후보점 페어 정보를 후보점 페어 보조조장부(18)에 저장한다.(스텝 T12). 이때 미리 후보점 페어 보조저장부(18)에 저장되어 있던 후보점 페어 정보는 삭제된다. 상기 스텝(T7, T8, T11, T12)은 같은 쉬프트 량에서, 복수의 열상에 한 페어의 돗트가 존재하는 경우에는 그 중 최단의 간격량을 가진 하나의 한페어의 돗트를 추출하기 위한 처리이다. 현재 후보점 페어 보조저장부(16)의 내용은 제13b도에 나타난 바와 같이 초기 설정된 그대로의 상태이므로서 제어부(1)에 저장되어 있는 간격량(Fp=4)과 이 한 페어의 돗트 간격량을 비교해서 간격량이 짧은 편의 간격량(Fp=4)과 그 원래의 어드레스(Ap, Bp)로 되는 후보점 페어 정보를 후보점페어 보조저장부(18)로 저장한다. 원래의 어드레스는 이하의 식에 의해 산출 할 수 있다.
문자 (Ci)의 원래 어드레스Ap=Aw………(6)
문자 (Ci+1)의 원래 어드레스 Bp=Bw+쉬프트 회수×10………(7)
따라서, 현재의 후보점 페어의 문자(Ci)의 원래 어드레스(Ap)는 「77」로 되며, 문자 (C2)의 원래의 어드레스(Bp)는 「123」(73+5×10)으로 되어, 간격량 (Fp)「4」와 함께 원래의 어드레스 Ap 「77」, Bp 「123」이 후보점 페어 보조저장부(16)으로 저장된다(제13b도 참조). 스텝(T13)에서는 복수의 열상에서 한 페어의 돗트가 존재한 경우에 전체열의 처리가 종료했는다 어떤가를 판단해서 처리를 분기한다. 현재는 7열째의 일열상만큼에 한 페어의 돗트가 존재한 경우에 전체열의 처리가 종료한 것으로 해서 스텝(T15)로 분기한다. 스텝(T15)에서는 후보점 페어 보조저장부(16)에 저장되어 있는 후보점 페어의 간격량이 후보점 페어저장부(18)에 저장되어 있는 이전의 전후보점 페어의 간격량보다 적은 경우에만 해당 후보점 페어정보를 후보점 페어 저장부(18)로 추가저장한다(스텝2 T16). 그렇게 하지 않으면 저장되지 않는다. 이들 스텝(T15~T16)에 의해 기준문자「=」와 대상문자「-」의 조합과 같이 다른 쉬프트량에서 같은 간격량의 한 페어의 도트가 후보점 페어로 해서 복수개 추출되도록 한 경우에는 최소의 쉬프트량으로 구해진 후보점페어만을 저장한다. 이렇게 하는 것에 의해 쓸데없이 후보점 페어의 저장을 회피할 수 있다. 따라서, 후처리를 효율좋게 할 수 있다. 현재의 후보점 페어 저장부(18)에는 어떠한 후보점페어 정보도 저장되어 있지 않으므로 스텝(T16)으로 분기해서, 후보점 페어보조저장부(16)에 저장되어 어 있는 후보점 페어 정보(간격량 Fp「4」, 원래의 어드레스 Ap「77」, 원래의 어드레스 Bp「123」)를 후보점 페어로해서 후보점 페어 저장부(18)에 저장한다. 이때의 후보점 페어저장부(18)의 모식도를 제13b도에 나타내고 있다. 또한, 제13b도중, C1의 부호는 후보점 페어정보가 기준문자(C1)와 대상문자(C2)에 의한 것을 나타낸 것이다. 또, 이 후보점 페어는 전술의 개요설명에서 후보점 페어(a)에 상당한다. 다음에 제8도의 스텝(T9)으로 되돌아간다. 스텝(T9)에서는 양문자가 중복되어 있는가 즉, 한 페어의 돗트가 중복되어 있는가 아닌가를 판단해서 처리를 분기한다. 이것은 간격량(Fp)이 「0」인가 아닌가를 판단하면 좋다. 여기에서는 간격량(Fp)이 「0」이 아니므로, 스텝(T4)로 분기한다. 스텝(T4)에서는 기준문자(C1)에 대해서 대상문자(C2)를 더 1비트 쉬프트 한다. (합계 6돗트 분쉬프트이고, 제14a도의 상태), 이때 집합 A0={11~17, 22~27, 33~37, 44~47, 55~57, 66, 67, 77}, 집합 B6={62, 63, 72, 73, 82~86, 92~96}으로 되며, 집합 A0'={1, 2, 3, 4, 5, 6, 7}, 집합 B6'={6, 7, 8, 9}로 되므로서, 양집합 A0'와 B6'에 같은 열 데이터「6, 7」이 포함된다. 따라서, 동열상에 한 페어의 돗트가 있다고 판단해서 스텝(T5)에서 스텝(T6)으로 분기한다. 스텝(T6)에서는 상술한 바와 같은 후보점 페어 보조저장부(16)를 초기치로 설정한다(제14b도 참조). 이 합계6돗트 쉬프트한 상태에서는 상술한 바와같이 6열째와 7열째에 양문자의 돗트가 있으나, 우선, 7열째에서 처리를 행한다. 문자(C1)와 문자(C2)의 70대의 어드레스를 구한다. 결과, 문자(C1)의 어드레그(Aw)(77)와 문자(C2)의 어드레스 (Bw)(72, 73)가 추출된다. 그리고, 그 간격량 Fp(Aw, Bw)를 구하면 Fp(77, 72)=5, Fp(77, 73)=4이므로서, 최단인 간격량 Fp(77, 73)=4와 그 한 페어의 돗트의 어드레스를 제어부(1)의 RAM의 일시적으로 저장한다(스텝 T8). 그리고 스텝(T11, T12)을 경유해서, 제어부(1)에 저장되어 있는 간격량 Fp[4]와 상기(6), (7)식에서 산출된 그 한 페어의 돗트의 원래의 어드레스 Ap「77」 Bp「133」(73+6×10)과의 후보점 페어정보가 후보점 페어 보조저장부(16)로 저장된다(제14b도 참조). 스텝(T13)에서는 복수의 열상에서 한 페어의 돗트가 존재한 경우에 전체열에 관한 처리가 종료했는가 어떤가를 판단해서 처리를 분기한다. 현재 처리가 종료된 것은 6열째, 7열째중 7열째만으로서, 스텝(T13)에서 스텝(T7)으로 분기한다.
스텝(T7)에서는 다음의 6열째의 처리를 행한다.
문자(C1)과 문자(C2)의 60대의 어드레스를 구한다. 그 결과, 문자(C1)의 어드레스 Aw(66, 67)와 문자(C2)의 어드레스Bw(62, 63)가 추출된다. 그리고, 그간격량 Fp(Aw, Bw)를 구하면, Fp(67, 62)=5, Fp(67, 63)=5, Fp(66, 62)=4, Fp(66, 63)=3이므로서, 최단인 간격량 Fp(66, 63)=3과 그 한 페어의 돗트 어드레스들이 제어부(1)의 RAM에 일시적으로 저장된다(스텝 T8). 제9도의 스텝(T11, T12)을 경유해서, 제어부(1)의 RAM에 저장되어 있는 간격량 Fp「3」과 그 한 페어의 돗트의 원래 어드레스 Ap「66」, Bp「123」(63+6×10)의 후보점 페어 정보가 후보점 페어 보조저장부(16)에 저장된다(제14b도 참조). 스텝(T13)에서는 전체열의 처리가 종료했으므로, 스텝(T15, T16)을 경유해서 후보점 페어 보조저장부(16)에 저장되어 있는 후보점 페어정보(간격량 Fp 「3」, 원래의 어드레스 Ap「66」, Bp「123」)를 후보점 페어로 해서 후보점 페어저장부(18)에 추가저장한다.(제14b도 참조) 또한, 이부호점페어는 상술의 개요설명에서 후보점 페어(b)에 해당한다. 상기와 같이 스텝(T4~T16)을 경유해서, 합계7돗트분의 쉬프트(제15a도 참조)에서는 문자(C1)의 어드레스 집합A0={11~17, 22~27, 33~37, 44~47, 55~57, 66, 67, 77}, 문자(C2)의 어드레스 집합B7={52, 53, 62, 63, 72~76, 82~86}이고, 문자(C1)의 열데이터의 집합 A0'={1, 2, 3, 4, 5, 6, 7},문자(C2)의 열데이터의 집합 B7'={5, 6, 7, 8}이므로서, 같은 열 데이터「5, 6, 7」가 포함된다. 이하, 각 열에 대해 다음과 같이 된다(제15a, b도 참조).
「7열째」
제어부의 RAM내용 ····Fp(77, 76)=1, Aw=77, Bw=76 이 내용은 스텝(T12)에서 후보점페어 정보로 해서 후보점 페어 보조저장부(16)에 저장된다.
「6열째」
제어부(1)의 RAM의 내용····Fp(66, 63)=3, Aw=66, Bw=63 이 내용은 스텝(T11)에서 비교의 결과, 「7열째」의 간격량보다도 크다고 판단되며, 후보점 페어 보조 저장부(16)에로 저장되지 않는다. 따라서, 후보점 페어 보조저장부(16)의 내용을 「7열째」그대로 이다.
「5열째」
제어부(1)의 RAM의 내용···Fp(55, 53)=2, Aw=55, Bw=53 이 내용도 후보점 페어 보조저장부(16)에 저장되지 않는다. 따라서, 후보점 페어보조저장부(16)의 내용은 「7열째」그대로이다. 그 결과, 스텝(T15~T16)을 경유해서 후보점페어 저장부(18)에는 후보점페어정보(Fp(77, 76)=1, Ap==77, Bp=146)가 후보점 페어로해서 추가 저장된다. 또한, 이 후보점 페어는 전술의 개요설명에서 후보점 페어(c)에 해당한다. 다음에 스텝(T4~T16)을 경유해서, 합계8돗트분의 쉬프트(제16a도 참조)에서는 문자(C1)의 어드레스 집합 A0={11~17, 22~27, 33~37, 44~47, 55~57, 66, 67, 77}이므로서, 「4, 5, 6, 7」열상에 양돗트 패턴의 돗트가 포함된다. 이하, 각 열에 대해 다음과 같게 된다(제16a, b도 참조).
「7열째」
제어부(1)의 RAM의 내용···Fp(77, 76)=1, Aw=77, Bw=76 이 내용은 스텝(T12)에서 후보점 페어 정보로 해서 후보점 페어 보조저장부(16)에 저장된다.
「6열째」
제어부(1)의 RAM의 내용···Fp(66, 66)=0, Aw=66, Bw=66 이 내용은 스텝(T12)에서 후보점 페어정보로해서 후보점 페어보조저장부(16)에 저장된다.
「5열째」
제어부(1)의 RAM의 내용···FP(55, 53)=2, AW=55, BW=53 이 내용은 스텝(T11)에서 비교의 결과, 「6열째」의 간격량보다도 크다고 판단되며, 후보점 페어 보조저장부(16)에 저장되지 않는다. 따라서, 후보점 페어 보조저장부(16)의 내용은 「6열째」그대로이다.
「4열째」
제어부(1)의 RAM의 내용 ···Fp(44, 43)의, Aw=44, Bw=43 이 내용도 후보점 페어 보조저장부(16)에 저장되지 않는다. 따라서, 후보점 페어 보조저장부(16)의 내용은 「6열째」그대로이다. 이 결과, 스텝(T15~T16)을 경유해서 후보점 페어 저장부(18)에는, 후보점 페어정보(Fp(66, 66)=0, Ap=66, Bp=146)가 후보점 페어로 해서 추가 저장된다. 또한, 이 후보점 페어는 전술의 개요설명에서 후보점 페어(d)에 해당한다. 이 내용은 스텝(T9)에서 판단의 결과, 간격량(Fp)가 「0」이므로서 양문자가 중복되어 있다고 판단되며, 스텝(T10)으로 분기해서 다음의 문자의 처리로 이행한다. 또한, 양문자가 전혀 중복하지 않고서 10돗트분 쉬프트한 경우도, 양문자에서의 후보점 페어의 추출·기억을 종료해서 다음의 문자처리로 이행한다. 상기와 같은 처리를 다음의 문자(C2)와 문자(C3)에 대해 행하고, 전체의 문자처리를 종료(문자 Cn-1과 문자Cn)하면 스텝T10에서, 제7도의 메인플로워로 복귀한다. 전문자의 처리종료, 즉 문자(Cn-1)와 문자(Cn)까지의 처리를 종료한 시점에서의 후보점 페어 저장부(18)의 모식도를 제17도에 나타낸다.
[메우기량의 산출]
스텝(S4)에서는 스텝(S3)에서 추출된 각 후보점 페어정보에 의거해서, 대상문자를 기준문자에 대해 배치할 때에, 통조판의 상태에서 어떤 만큼 메우는가를 나타내는 메우기량의 산출을 행한다. 이 메우기량의 산출처리에 대해서, 제18도의 플로워 차트를 참조해서 설명한다. 스텝(T30)에서는 추출된 후보점 페어저장부(18)에 저장되어 있는 전문자의 각 후보점 페어정보의 원래 어드레스에서 후보점 페어의 벡트 데이터에서의 간격인 쉬프트 방향의 간격정보(m)와 쉬프트 방향과 직교하는 방향의 간격정보(n)을 산출한다. 구체적으로는 이하와같이 해서 각 후보점 페어의 쉬프트 방향의 간격정보(m)와 쉬프트 방향과 직교하는 방향의 간격정보(n)을 구한다. 쉬프트 방향의 간격정보(m)는 이하와 같이 해서 구한다. 우선, 원래의 어드레스(Ap, Bp)를 열데이터로 변환하고, 그들의 차를 구하면 돗트 중심에서 쉬프트 방향의 간격을 구한다. 그리고, 돗트의 윤곽에서의 간격으로 하기 위해 그 차에서 1돗트분을 뺀다. 또한, 돗트 패턴 데이터는 변환 배율1/10에서 벡터 데이터에서 변환되므로서, 여기서 원래로 되돌아가기 위한 변환배율의 역수를 곱한다. 이것을 식으로 기술하면 이하와 같게 된다. 단 나눗셈 기호 /는 정수화를 행하는 것을 나타낸다.
m = { (BP/10-AP/10)-1}×10………………(8)
쉬프트 방향과 직교하는 방향의 간격정보(n)는 이하와 같이 해서 구한다. 우선, 원래의 어드레스(AP,BP)를 행데이터로 변환하고, 그들의 차를 구해서 돗트의 중심에서의 쉬프트 방향과 직교하는 방향의 간격을 구한다. 이 간격은 문자의 자면의 조합에 의해 마이너스로 되므로서 절대치를 얻는다. 그리고, 돗트의 윤곽에서의 간격으로 하기 위하여 그차에서 1돗트분을 뺀다. 또한, 변환 배율의 역수를 곱한다. 이것을 식으로 기술하면 이하와 같이 된다(단, Fp=0 일때는 n=0).
상기 (8), (9)식과, 상기 처리에서 추출된 기준문자(C1)와 대상문자(C2)와의후보점 페어정보(간격량Fp(Ap, Bp)로 하면, Fp(77, 123)=4, Fp(66, 123)=3, Fp(77, 146)=1, Fp(66, 146)=0, 제17도 참조)에서
후보점 페어(a)는 m=40, n=30
후보점 페어(b)는 m=50, n=20
후보점 페어(c)는 m=60, n=0
후보점 페어(d)는 m=70, n=0
으로 된다. 스텝(T31)에서는 스텝(T30)에서 산출된 전체의 문자마다의 간격정보(m, n)를 간격 정보 저장부(20)로 저장한다. 이 간격정보저장부(20)에서의 저장 상태를 제19도에 나타낸다. 스텝(T32)에서는 메우기량연산부(22)가 전문자의 간격정보(m, n)와 자면 간격량(ko)로 부터 메우기량(S)을 산출한다. 구체적으로는 상기 처리의 개요로 나타난 (5)식에서 각 문자마다에 전체의 후보점 페어에서 메우기량(S)를 산출한다. 일예로 해서 자면 간격량 ko=「30」으로 하고, 기준문자(C1)와 대상문자(C2)의 각 후보점 페어 a, b, c, d에 대해 각 메우기량(Sa, Sb, Sc, Sd)을 구하면,
으로 된다. 스텝(T33)에서는 스텝(T32)에서 산출된 각 문자마다의 메우기량(S) 중, 각 문자마다에 최소의 메우기량(Smin)을 구해서 메우기량 저장부(24)로 저장한다. 상기의 예에서는 후보점 페어(b)에서 구해진 메우기량Sb=28이 최소 이므로서, 기준문자(C1)와 대상문자(C2)의 메우기량으로 해서 최소의 메우기량 Smin=S1=28을 메우기량 저장부(24)로 저장한다. 이때 메우기량 저장부(24)의 모식도를 제20도에 나타낸다. 제7도의 메인 플로워로 되돌아가서 스텝(S5)을 실행한다. 이 스텝(S5)에서는 제어부(1)가 문자열 정보저장부(3)의 문자열 데이터에 응한 벡터 폰트 데이터를 폰트 저장부(10)에서 판독해서, 표시·출력부(25)로 출력한다. 이때, 메우기량 저장부(24)를 참조해서 기준문자(Ci)에 대해 대상문자(Ci+1)에 대응하는 메우기량(Si)로 메워서 표시한다. 스텝(S6)에서는 스텝(S5)에서 표시된 문자열을 오퍼레이터가 보고, 외관좋게 문자간격이 조정되어 있는가 아닌가를 판단한다. 외관좋게 조정되어 있지 않다고 판단한 경우는 스텝(S7)에서 자면간격량(ko)을 재지정한다. 이때, 재차 스텝(S3)의 후보점페어의 추출을 행하지 않고 스텝(S4)의 메우기량의 산출을 행하면 좋으므로 처리가 빠르고, 자면간격량의 설정을 반복하는 자면 간격의 미조정 처리에도 적당하다. 스텝(S6)에서 문자간격이 외관좋게 조정되어 있다고 판단된 경우는 스텝(S8)에서 메우기량 저장부(24)에 저장되어 있는 각 문자 마다의 메우기량(S1~Sn-1)을 문자열 정보저장부(3)의 대응하는 문자 코드에 부가해서 저장한다. 이 메우기량이 부가된 문자열 정보 저장부(3)의 모식도를 제21도에 나타낸다. 이상의 처리를 경유해서 커닝처리를 종료한다. 이커닝처리가 종료하면 문자열 정보저장부(3)의 문자열 데이터는 오퍼레이터의 지시에 의해 메체로 저장되기도, 표시·출력부(25)의 프린터 등의 출력장치로 출력된다. 또한, 본 실시에서는 벡터 데이터를 10×10 돗트로 구성되는 돗트 패턴 데이터로 변환했으나, 본 발명은 이것에 한정되지 않고 임의의 돗트수(N×N)로 구성된 돗트 패턴 데이터로 변환해도 좋다. 이 경우, 돗트수가 많으면 처리에 시간이 많이 요하지만 자면간격을 보다 정확하게 자면간격량으로 일치시킬 수 있고, 돗트수가 적으면 자면 간격을 정확하게 자면간격량으로 일치시킬 수가 없으나, 처리시간이 적게 끝난다. 따라서, 처리시간과 자면간격의 조정 정도에서 적당한 돗트수를 결정하면 좋다. 또, 벡터 데이터에서 돗트 패턴 데이터에의 변환에서 벡터 데이터에서 자면을 전체 돗트 패턴으로 변환했으나, 벡터 데이터에서의 자면의 윤곽만을 돗트 패턴으로 변환하도록 해도 좋다. 이것에 의해 동열상에서의 돗트의 조합수를 줄일 수 있고, 후보점 페어의 추출처리의 효율을 올릴 수 있다. 또, 본 실시예서는 벡터 데이터를 적당한 구성 비트수의 돗트 패턴데이터로 변환해서 후보점 페어를 추출하고, 산출된 메우기량의 벡터 데이터를 표시하도록 했으나, 표시·출력장치(25)로 표시 또는 출력된 때의 돗트 패전 데이터의 구성 돗트 수에 맞추어서 벡터 데이터를 돗트 데이터로 변환해서 후보점 페어를 추출하여, 그 돗트 패턴 데이터를 그대로 표시·출력장치(25)로 표시 또는 출력하도록 해도 좋다. 이것에 의해, 표시 또는 출력때에 폰트저장부(10)에서 벡터 폰트 데이터를 판독해서 돗트 패턴데이터로 변환하는 시간분 만큼 처리를 빠르게 행할 수 있다. 역으로, 표시용의 돗트 패턴 데이터가 준비되어 있는 경우는 이것을 본처리에 이용해도 좋다. 또, 본 실시예에서는 후보점 페어의 추출시에 동일 쉬프트량에서 한 페어의 돗트 패턴 가운데 최단 간격의 간격량의 것을 후보점 페어로 했으나, 이 가운데 지정된 자면 간격량보다도 큰 간격량을 가진 것을 후보점 페어에서 제외하도록 해도 좋다. 이것은 자면 간격량보다 큰 간격량을 가진 후보점 페어는 아무리 메워도 그 2차원적인 간격이 자면 간격량과 일치하지 않기 때문이다. 이것에 의해 메우기량의 산출처리의 부하를 경감할 수 있다. 또, 이상 예시한 바와 같은 통상의 문자 메우기와 침투하기가 나오기 쉬운 문자 메우기(자면끼리가 겹치지 않고, 「T」와 「J」가 같은 문자끼리가 침투하도록 한 문자 메우기)를 구별없이 행할 수 있고, 더욱이, 다른 문자 사이즈끼리의 문자 메우기도 행할 수 있다. 본 발명은 기술사상 및 본질에서 일탈하지 않는한 다른 형태로 행해질 수 있고, 본 발명의 기술범위를 나타내는데는 상술의 설명보다 청구범위를 참조해야 한다.

Claims (10)

  1. 안에 문자패턴(자면)을 배치한 직사각형의 문자 프레임(가상보다)에 의거해서, 문자열의 각 문자를 소정의 배열방향으로 배치할 때에, 미리 배치위치가 확정되어 있는 기준문자에 대해서 인접해서 배치하고자 하는 대상문자의 배치위치를 조정하는 커닝처리방법에 있어서, (a)상기 기준문자와 상기 대상문자의 자면끼리의 최단간격인 2차원적인 간격량(자면간격량)을 지정하는 스텝과, (b)상기 대상문자의 돗트 패턴을 기준문자의 돗트 패턴으로 향해서 1돗트씩 쉬프트시키고, 쉬프트 때마다, 상기 쉬프트 방향과 직교하는 방향으로 양돗트 패턴사이가 최단간격으로 되는 한 페어의 돗트(후보점 페어)를 구하는 스텝과, (c)상기 양문자의 가상보다가 접하는 상태에서 상기 각 후보점 페어 사이의 상기 쉬프트 방향의 간격정보와 상기 쉬프트 방향에 직교하는 방향의 간격정보를 기억하는 스텝과, (d)상기 각 후보점의 쉬프트방향의 간격정보와, 상기 쉬프트방향에 직교하는 방향의 간격정보와 상기 지정된 자면간격량에 근거하여 상기 양문자의 가상보디가 접한 상태로부터 대상문자를 기준문자에 대해 접근시켜서, 각 후보점 페어의 간격이 상기 지정된 자면간격량으로 되기까지의 메우기량을 각 후보점 페어 각각에 대해서 산출하는 스텝과, (e)상기 산출된 각 메우기량 중 최소로 되는 메우기량을 구하는 스텝과, (f)상기 최소의 메우기량으로 기준문자에 대해 대상문자를 배치하는 스텝을 구비하는 커닝처리방법.
  2. 제1항에 있어서, 상기 스텝(b)은 상기 대상문자의 돗트패턴을 기준문자의 돗트 패턴으로 향해서 1돗트씩 쉬프트시티고, 쉬프트 때마다 상기 쉬프트방향과 직교하는 방향의 복수열 상에서 양 돗트패턴 사이가 각 열에서 최단간격으로 되는 돗트쌍이 존재하는 경우, 이 중 최단간격으로 되는 한 페어의 돗트를 후보점 페어로 해서 구하는 커닝처리방법.
  3. 제1항에 있어서, 상기 스텝(b)은 상기 대상문자의 돗트패턴을 기준문자의 돗트패턴으로 향해서 1돗트씩 쉬프트시키고, 쉬프트 할 때마다 상기 쉬프트 방향과 직교하는 방향으로 양돗트 패턴 사이가 최단간격으로 되는 한 페어의 돗트를 구함과 동시에 쉬프트 후에 양문자의 돗트 패턴이 중복된 돗트쌍을 후보점 페어로 해서 구하여 스텝을 종료하는 커닝처리방법.
  4. 제1항에 있어서, 상기 스텝(b)은 상기 대상문자의 돗트패턴을 기준문자의 돗트패턴으로 향해서 1돗트씩 쉬프트시키고, 그 쉬프트 할 때마다, 상기 쉬프트 방향과 직교하는 방향의 동일의 열상에서 양 돗트 패턴사이가 최단기간으로 되는 돗트쌍이 복수쌍 존재하는 경우, 어느쪽인가 한 페어의 돗트를 후보점페어로 해서 구하는 커닝처리방법.
  5. 제1항에 있어서, 상기 스텝(b)은 큰 쉬프트량에서 후보점 페어의 간격량이 그것보다 적은 쉬프트량에서 후보점페어의 간격량보다 작은 경우만 상기 큰 쉬프트량에서 후보점 페어를 구하는 커닝처리 방법.
  6. 안에 문자패턴(자면)을 배치한 직사각형의 문자프레임(가상보디)에 의거해서 문자열의 각 문자를 소정의 배열방향으로 배치할 때에, 미리 배치위치가 확정되어 있는 기준문자에 대해서, 인접해서 배치하고자 하는 대상문자의 배치위치를 조정하는 커닝처리를 이용한 문자 조판장치에 있어서, (a)상기 기준문자와 상기 대상문자와 자면끼리의 최단간격인 2차원 간격량(자면간격량)을 지정하는 자면 간격량 지시부와, (b)상기 대상문자 및 상기 기준문자의 각각의 자면을 소정의 구성 돗트수의 돗트 패턴 데이터로 변환하는 돗트패턴화처리부와, (c)상기 돗트패턴화 처리부에 의해 변환된 상기 대상문자 및 상기 기준문자의 돗트패턴 데이터를 저장하는 돗트패턴 데이터 저장부와, (d)상기 돗트 패턴 데이터 저장부에 저장되어 있는 상기 대상문자 및 상기 기준문자의 각각의 돗트패턴데이터를 저장하는 돗트패턴열 전개 메모리와, (e)상기 돗트 패턴열 전개 메모리로 저장되어 있는 대상문자의 돗트패턴을, 기준문자의 돗트패턴으로 향해서 1돗트씩 쉬프트시키고, 쉬프트 할 때마다, 상기 쉬프트 방향과 직교하는 방향으로 양돗트 패턴 사이가 최단간격으로 되는 한 페어의 돗트(후보점페어)를 구하는 후보점 페어산출부와, (f)상기 후보점페어 산출부에 의해 산출된 후보점 페어를 저장하는 후보점 페어 저장부와, (g)상기 양문자의 가상보디가 접하는 상태에서 상기 각 후보점페어 사이의 상기 쉬프트 방향의 간격정보와 이것에 직교하는 방향의 간격정보를 기억하는 간격정보저장부와, (h)상기 간격정보저장부에 저장되어 있는 상기 각 후보점 페어의 쉬프트 방향의 간격정보와 이것에 직교하는 방향의 간격정보와, 상기 자면간격량 지시부를 통해서 지정된 자면 간격량에 의거해서, 상기 양문자의 가상보디가 접한 상태에서 대상문자를 기준문자에 대해 접근시키고, 각 후보점 페어의 간격이 상기 지정된 자면 간격량으로 되기까지의 메우기량을 각 후보점 페어의 각각에 대해 산출하는 메우기량 연산부와, (i)상기 산출된 각 메우기량 가운데, 최소로 되는 메우기량을 저장하는 메우기량 저장부와, (j)상기 메우기량 저장부에 저장되어 있는 메우기량으로 기준문자에 대해서 대상문자를 배치하는 배치 제어부를 포함하는 문자조판장치.
  7. 제6항에 있어서, 상기 후보점 페어 산출부는 상기 돗트 패턴열 전개메모리에 저장되어 있는 대상문자의 돗트 패턴을 기준문자의 돗트 패턴으로 향애서 1돗트씩 쉬프트시키고, 쉬프트 할때마다, 상기 쉬프트방향과 직교하는 방향의 복수열로 양돗트 패턴사이가 각 열에서 최단간격으로 되는 돗트쌍이 존재하는 경우, 이 가운데 최단간격으로 되는 한 페어의 돗트를 후보점 페어로 해서 구하는 문자조판장치.
  8. 제6항에 있어서, 상기 후보점 페어 산출부는, 상기 돗트패턴열 전개 메모리에 저장되어 있는 대상문자의 돗트패턴을 기준문자의 돗트패턴으로 향해서 1돗트씩 쉬프트 시키고, 쉬프트 할 때마다 상기 쉬프트 방향과 직교하는 방향으로 양 돗트 패턴사이가 최단간격으로 되는 한 페어의 돗트를 구함과 동시에 쉬프트 후에 양문자의 돗트 패턴이 중복된 돗트쌍을 후보점 페어로 해서 구하여 후보점 페어의 산출을 종료하도록 한 문자 조판장치.
  9. 제6항에 있어서, 상기 후보점 페어 산출부는 상기 돗트패턴열 전개 메모리에 저장되어 있는 대상문자의 돗트패턴을 기준문자의 돗트패턴으로 향해서 1돗트씩 쉬프트시키고, 쉬프트 할 때마다, 상기 쉬프트 방향과 직교하는 방향의 동일 열상에서 양 돗트패턴 사이가 최단간격으로 되는 돗트쌍이 복수쌍 존재하는 경우, 어느 쪽의 한페어의 돗트를 후보점 페어로 해서 구하는 문자조판장치.
  10. 제6항에 있어서, 상기 후보점 페어 산출부는 큰 쉬프트량에서 후보점 페어의 간격량이 그것보다 적은 쉬프트량에서 후보점 페어의 간격량보다 적은 경우 만큼 상기 큰 쉬프트량에서 후보점 페어를 구하는 문자조판장치.
KR1019950003538A 1994-02-28 1995-02-23 커닝처리방법 및 그것을 이용한 문자조판장치 KR0163255B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP6055218A JP2828592B2 (ja) 1994-02-28 1994-02-28 カーニング処理方法
JP94-55218 1994-02-28

Publications (2)

Publication Number Publication Date
KR950024882A KR950024882A (ko) 1995-09-15
KR0163255B1 true KR0163255B1 (ko) 1999-03-30

Family

ID=12992483

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950003538A KR0163255B1 (ko) 1994-02-28 1995-02-23 커닝처리방법 및 그것을 이용한 문자조판장치

Country Status (3)

Country Link
US (1) US5609427A (ko)
JP (1) JP2828592B2 (ko)
KR (1) KR0163255B1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3354754B2 (ja) * 1995-07-10 2002-12-09 大日本スクリーン製造株式会社 カーニング処理方法
US5746524A (en) * 1995-09-13 1998-05-05 Nec Corporation Printing control apparatus for spacing 1-byte and 2-byte characters
JP3408685B2 (ja) * 1995-12-08 2003-05-19 大日本スクリーン製造株式会社 カーニング処理方法
US5803629A (en) * 1997-03-14 1998-09-08 Paul H. Neville Method and apparatus for automatic, shape-based character spacing
US6829748B1 (en) 1998-11-27 2004-12-07 Canon Kabushiki Kaisha Automatic kerning of text
AU768556B2 (en) * 2000-02-28 2003-12-18 Canon Kabushiki Kaisha Generating a kerning distance
US7492366B2 (en) * 2005-05-13 2009-02-17 Microsoft Corporation Method and system of character placement in opentype fonts
US8020091B2 (en) * 2005-07-15 2011-09-13 Microsoft Corporation Alignment and breaking of mathematical expressions in documents
US20070211062A1 (en) * 2006-03-13 2007-09-13 International Business Machines Corporation Methods and systems for rendering complex text using glyph identifiers in a presentation data stream
US9928572B1 (en) 2013-12-20 2018-03-27 Amazon Technologies, Inc. Label orientation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5331723B2 (ko) * 1973-10-09 1978-09-04
JPH02243343A (ja) * 1989-01-13 1990-09-27 Dainippon Screen Mfg Co Ltd カーニング処理用字面データ作成方法およびカーニング処理方法
JPH03244542A (ja) * 1990-02-23 1991-10-31 Morisawa & Co Ltd 写真植字機等における自動詰処理装置
JPH03269490A (ja) * 1990-03-19 1991-12-02 Dainippon Printing Co Ltd 文字の自動字詰め装置
TW363158B (en) * 1993-06-25 1999-07-01 Omron Tateisi Electronics Co A system for automatic adjustment of, character spacing

Also Published As

Publication number Publication date
US5609427A (en) 1997-03-11
JPH07239876A (ja) 1995-09-12
JP2828592B2 (ja) 1998-11-25
KR950024882A (ko) 1995-09-15

Similar Documents

Publication Publication Date Title
KR100209455B1 (ko) 문자 생성 방법 및 그 장치
EP0534622B1 (en) Intelligent font rendering co-processor
KR950011807B1 (ko) 문자처리방법 및 장치
EP0327003B1 (en) Pattern data generating system
KR0163255B1 (ko) 커닝처리방법 및 그것을 이용한 문자조판장치
US5295240A (en) Apparatus and method for generating character pattern data
KR960016739B1 (ko) 아우트라인 폰트의 선폭을 가지런히 하는 방법에 관하여
US5526474A (en) Image drawing with improved process for area ratio of pixel
US5353359A (en) Methods for generating character pattern data and making image
US5542050A (en) Font information transfer system
US5222208A (en) Device and method for generating dot pattern enlargement data
KR100227178B1 (ko) 문자 생성 장치
JP2962392B2 (ja) カーニング処理方法
JPH01257995A (ja) 文字図形生成装置
KR970002108B1 (ko) 레이저 프린터의 비트맵 폰트 확대 방법
JP2637921B2 (ja) 文字記号発生装置
JPH0630927B2 (ja) パターン出力方法
JP3514895B2 (ja) 画像展開処理方法及び装置
JP2910183B2 (ja) 文字処理装置
JPH01133097A (ja) 文字信号発生装置
JPH07137340A (ja) 高品質文字パターンの発生方法及び高品質文字の出力装置
JPH0784739A (ja) データ変換装置
JPH05257452A (ja) 文字信号発生装置
JPH03281363A (ja) 文書出力装置
JPH0736434A (ja) 文字出力装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20050824

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee