KR19980018890A - 문자 패턴 생성 장치 (Character Pattern Generating Apparatus) - Google Patents

문자 패턴 생성 장치 (Character Pattern Generating Apparatus) Download PDF

Info

Publication number
KR19980018890A
KR19980018890A KR1019970040095A KR19970040095A KR19980018890A KR 19980018890 A KR19980018890 A KR 19980018890A KR 1019970040095 A KR1019970040095 A KR 1019970040095A KR 19970040095 A KR19970040095 A KR 19970040095A KR 19980018890 A KR19980018890 A KR 19980018890A
Authority
KR
South Korea
Prior art keywords
shape information
contour
skeleton
character
point
Prior art date
Application number
KR1019970040095A
Other languages
English (en)
Other versions
KR100295261B1 (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 KR19980018890A publication Critical patent/KR19980018890A/ko
Application granted granted Critical
Publication of KR100295261B1 publication Critical patent/KR100295261B1/ko

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • 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
    • 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/002Generic data access
    • G06K2215/0028Generic data access characterised by the format per se
    • 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/0042Rasterisation
    • G06K2215/0048Converting skeleton to bitmap
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • G09G5/246Generation of individual character patterns of ideographic or arabic-like characters
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/22Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
    • G09G5/24Generation of individual character patterns
    • G09G5/28Generation of individual character patterns for enhancement of character form, e.g. smoothing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Processing Or Creating Images (AREA)

Abstract

표준보다도 굵거나 가는 문자 패턴을 생성하기 위해 필요한 데이타 작성 공정수나 데이타 용량을 적게 하고, 또한 적은 계산량으로 고품위의 폰트를 작성한다.
문자체 골격 형상 정보와 요소 골격 형상 정보와 요소 윤곽 형상 정보를 미리 기억한 메모리와 CPU를 구비하고, CPU에 의해, 표준 굵기의 문자에 대해 문자의 굵기를 변경하는 것인지의 여부를 판정하여, 문자의 굵기를 변경하는 경우, 요소 윤곽 형상 정보의 굵기 변경 처리를 계산으로 행하는지 대체 요소에 의한 요소 치환으로 행하는지를 판정하고, 그 판정에 따라 요소 윤곽 형상 정보의 굵기를 변경하고, 문자체 골격 형상 정보에 맞춰 요소 골격 형상 정보를 변형함과 동시에, 그것에 부수하여 변형된 요소 골격 형상 정보에 대응시켜 요소 윤곽 형상 정보를 변경하고, 변경된 윤곽 형상 정보를 이용하여 문자 패턴을 생성한다.

Description

문자 패턴 생성 장치
본 발명은 문자를 아웃 라인 폰트로 갖고, 스트로크 두께가 다른 다종의 문자 패턴을 생성하는 문자 패턴 생성 장치에 관한 것이다.
상기한 바와 같은 문자 패턴 생성 장치에는, 굵은 문자 패턴이나 가는 문자 패턴을 생성하는 문자 패턴 생성 장치가 있지만, 이러한 문자 패턴 생성 장치로서는 특개평4-24689호 공보에 기재되어 있듯이, 문자의 윤곽을 구성하는 점열(点列)을, 각 점에 있어서의 윤곽의 기울기에 대해 수직 방향으로, 미리 정한 일정한 이동량만큼, 윤곽의 외측 또는 내측으로 이동하는 방법이 있다.
또한, 특개평4-136898호 공보에 기재된 바와 같이, 문자의 윤곽을 직선/곡선에 근사한 데이타에 그 각 근사 직선/곡선의 실정에 따른 속성을 부가하고, 부가된 속성을 이용하여 스트로크 선폭의 변경이나 윤곽 형상을 부분적으로 바꾸는 변형을 행하는 방법이 있다.
그러나, 상기한 특개평4-24689호 공보나 특개평4-136898호 공보에 기재된 방법은, 각 윤곽점을 이동시킬 때 각도 계산을 포함하는 복잡한 처리가 필요하며, 계산량이 많다. 또한, 이동량이 일정하기 때문에 원래 디자인된 문자에 존재하는 스트로크의 굵은 부분이나 가는 부분이 단조롭게 되어, 품위가 저하해 버린다. 또한, 윤곽점 모두에 대해 이동 방향, 이동량 등의 변형/보정 정보를 부가해 둘 필요가 있기 때문에, 데이타 부가에 관한 공정수 및 폰트 데이타량이 커진다.
또한, 종래의 문자 패턴 생성 장치로서는, 특공평8-12544호 공보에 기재되어 있는 바와 같은, 문자 도형의 골격을 나타내는 선도형으로 기술된 문자체 정보와, 문자 도형의 서체를 구성하는 기본 요소의 윤곽 형상을 복수의 파라메터로서 기억하고, 문자체 정보에 기초하여 구성 요소의 형상을 문자 종류마다 변형하고, 조합함으로써 문자 도형을 생성하는 방법이 알려져 있다.
그러나, 구성 요소의 형상 정보를, 윤곽을 형성하는 복수의 요소 파라메터로서 보존하는 방법으로는, 이들을 설계하고 등록하기 위해는 요소 파라메터와 등록 조작에 관한 전문적인 지식을 필요로 하고, 전문적인 기술 지식이 없는 사람, 예를 들면 서체의 디자이너 등에게는 이들 구성 요소의 변경은 곤란했다.
또한, 이 방법에서는 서체로서의 문자 품위를 유지하기 위해, 굴곡부, 비늘등의 형상에 대해 많은 수정을 필요로 하고 있었다.
본 발명은 이러한 과제를 해결하기 위해 이루어진 것으로, 굵은 문자 패턴이나 가는 문자 패턴을 생성하기 위해 필요한 데이타 작성 공정수 및 데이타 용량을 적게 하고, 또한 적은 계산량으로 고품위의 폰트를 작성하는 문자 패턴 생성 장치를 제공하는 것이다.
또한, 본 발명은 디자인적 제약이 없는 고품위 폰트를, 적은 공정수로 다종류 생성하는 문자 패턴 생성 장치를 제공하는 것이다.
본원의 제1 발명은, 도 1에 도시하는 바와 같이 문자의 골격 형상을 나타낸 문자체 골격 형상 정보와, 문자를 구성하는 구성 요소의 골격 형상을 서체마다 정리한 요소 골격 형상 정보와, 문자를 구성하는 구성 요소의 윤곽 형상을 서체마다 정리한 요소 윤곽 형상 정보를 미리 기억한 기억부(101)와, 표준 굵기의 문자에 대해 문자의 굵기를 변경할 것인지의 여부를 판정하는 굵기 판정부(102)와, 문자의 굵기를 변경하는 경우, 요소 윤곽 형상 정보의 굵기 변경 처리를 계산으로 행할 것인지 대체 요소에 의한 요소 치환으로 행할 것인지의 판정을 하나의 구성 요소마다 행하는 굵기 변경 처리 판정부(103)와, 굵기 변경 처리 판정부(103)의 판정에 따라 요소 윤곽 형상 정보의 굵기를 변경하는 요소 윤곽 굵기 변경부(104)와, 문자체 골격 형상 정보에 맞춰 요소 골격 형상 정보를 변형함과 동시에, 그것에 부수하여 변형된 요소 골격 형상 정보에 대응시켜 요소 윤곽 형상 정보를 변경하는 요소 골격 형상·요소 윤곽 형상 변경부(105)와, 변경된 윤곽 형상 정보를 이용하여 문자 패턴을 생성하는 생성부(106)를 구비하여 이루어지는 문자 패턴 생성 장치이다.
이 발명에서 굵기 판정부(102), 굵기 변경 처리 판정부(103), 요소 윤곽 굵기 변경부(104), 요소 골격 형상·요소 윤곽 형상 변경부(105) 및 생성부(106)로서는, ROM, RAM, I/O 포트를 포함하는 마이크로 프로세서를 이용하는 것이 편리하고, 기억부(101)로서는, 통상 그 중의 ROM이 이용된다.
이 발명에 따르면, 문자의 굵기를 변경하는 경우에는 굵기의 변경을 계산으로 행할 것인지 대체 요소에 의한 요소 치환으로 행할 것인지를 판정하고, 그것에 따라 요소 윤곽 형상 정보의 굵기를 변경하도록 하였기 때문에, 요소에 따른 알맞은 방법으로 요소의 형상을 변경할 수 있다. 예를 들면, 문자 굵기의 변경을 계산으로 행한 경우에 문자의 품위가 저하하는 요소에 대해서는 대체 요소를 준비하여 그것으로 치환하도록 하면 좋고, 이에 따라 비교적 적은 용량으로, 매우 고품위의 굵고 가는 문자 패턴을 생성할 수 있다.
상기 구성에서는, 기억부(101)를 문자체 골격 형상 정보와 요소 골격 형상 정보와 요소 윤곽 형상 정보를 미리 기억할 때, 문자체 골격 형상 정보 중에, 구성 요소에 대응하는 요소 윤곽 형상 정보를 지시하는 요소 접합 정보와, 구성 요소의 굵기 변경 처리의 판정에 필요한 굵기 변경 처리 판정 정보를 기억하도록 구성하는 것이 바람직하다.
또한, 기억부(101)를 문자체 골격 형상 정보와 요소 골격 형상 정보와 요소 윤곽 형상 정보를 미리 기억할 때, 1서체분의 요소 윤곽 형상 정보 중에, 요소 윤곽 굵기 변경 처리에 필요한 굵기 변경 속성 정보를 기억하도록 구성하는 것이 바람직하다.
또한, 기억부(101)를 문자체 골격 형상 정보와 요소 골격 형상 정보와 요소 윤곽 형상 정보를 미리 기억할 때, 1서체분의 요소 윤곽 형상 정보 중에, 요소 윤곽 형상의 변경에 필요한 요소 윤곽 형상 변경 정보를 기억하도록 구성하는 것이 바람직하다.
그리고, 기억부(101)를 문자체 골격 형상 정보와 요소 골격 형상 정보와 요소 윤곽 형상 정보를 미리 기억할 때, 요소 골격 형상 정보의 각 골격점을, Y 좌표가 0이 되도록 좌표 변환을 행하고, 그것에 부수하여 요소 윤곽 형상 정보를 변경한 후에 기억하도록 구성하는 것이 바람직하다.
또한, 요소 윤곽 굵기 변경부(104)를 요소 윤곽 형상의 굵기를 변경할 때, 굵기 변경 속성 정보에 따라, 요소 윤곽 형상 정보 내의 각 윤곽점을, X 좌표를 고정하여 Y 좌표만을 이동시킬 것인지, 또는 X 좌표와 Y 좌표 모두 고정할 것인지의 판별을 행하도록 구성하는 것이 바람직하다.
본원의 제2 발명은, 문자의 골격 형상을 나타낸 문자체 골격 형상 정보와, 문자를 구성하는 구성 요소의 골격 형상을 서체마다 정리한 요소 골격 형상 정보와, 문자를 구성하는 구성 요소의 윤곽 형상을 서체마다 정리한 요소 윤곽 형상 정보를 미리 기억한 기억부와, 문자체 골격 형상 정보에 맞춰 요소 골격 형상 정보를 변경하는 요소 골격 형상 변경부와, 윤곽점의 이동 조건을 판별하는 변경 방식 판정부와, 변경 방식 판정부에 의해 판정된 이동 조건에 따라 요소 윤곽 형상 정보의 각 윤곽점을 이동시키는 요소 윤곽 형상 변경부와, 변경된 윤곽 형상 정보를 이용하여 문자 패턴을 생성하는 생성부를 구비하여 이루어지는 문자 패턴 생성 장치이다.
본 발명에서, 요소 골격 형상 변경부, 변경 방식 판정부, 요소 윤곽 형상 변경부 및 생성부로서는, ROM, RAM, I/O 포트를 포함하는 마이크로 프로세서를 이용하는 것이 편리하고, 기억부로서는 통상 그 중 ROM이 이용된다.
이 발명에 따르면, 문자체 골격 형상 정보에 맞춰 요소 골격 형상 정보를 변경한 후, 변경 방식 판정부에 의해 윤곽점의 이동 조건을 판별하고, 그 판정된 이동 조건에 따라 요소 윤곽 형상 정보의 각 윤곽점을 이동시키도록 했기 때문에, 구성 요소의 윤곽 형상에 따른 최적의 이동 방법으로 요소 윤곽 형상 정보의 각 윤곽점을 이동시킬 수 있고, 이에 따라 고품위의 문자 패턴을 생성할 수 있다.
상기 구성에서는, 요소 윤곽 형상 변경부를, 요소 윤곽 형상 정보 내의 윤곽점을 이동시킬 때, 이동 대상으로 되어 있는 윤곽점과 그것에 대응하는 골격선과의 거리를 고정하고, 이동 대상으로 되어 있는 윤곽점으로부터 골격선을 향해 내린 수선과 그 골격선과의 교점과 골격점과의 거리를 요소 골격의 변경에 맞춰 확대 축소하고, 그것에 부수하여 윤곽점을 이동시키도록 구성하는 것이 바람직하다.
또한, 요소 윤곽 형상 변경부를, 요소 윤곽 형상 정보 내의 윤곽점을 이동시킬 때, 이동 대상으로 되어 있는 윤곽점과 그것에 대응하는 골격선과의 거리를 고정함과 동시에, 이동 대상으로 되어 있는 윤곽점으로부터 골격선을 향해 내린 수선과 그 골격선과의 교점과 골격점과의 거리를 고정하여 윤곽점을 이동시키도록 구성하는 것이 바람직하다.
또한, 요소 윤곽 형상 변경부를 요소 윤곽 형상 정보 내의 윤곽점을 이동시킬 때, 윤곽점과 골격점과의 거리와 각도를 고정하여 윤곽점을 이동시키도록 구성하는 것이 바람직하다.
도 1은 본 발명의 구성을 도시하는 블럭도.
도 2는 본 발명에 따른 문자 패턴 생성 장치의 실시예 1의 개략 구성을 도시하는 블럭도.
도 3은 실시예 1에 있어서의 문자체 골격 형상 정보의 기억 내용의 일례를 도시하는 설명도.
도 4는 실시예 1에 있어서의 1문자분의 문자체 골격 형상 정보의 기하 정보의 일례를 도시하는 설명도.
도 5는 실시예 1에 있어서의 요소 골격 형상 정보의 기억 내용의 일례를 도시하는 설명도.
도 6은 실시예 1에 있어서의 요소 골격 형상 정보의 좌표 변환에 따른 골격점의 이동을 도시하는 설명도.
도 7은 실시예 1에 있어서의 요소 윤곽 형상 정보의 기억 내용의 일례를 도시하는 설명도.
도 8은 실시예 1에 있어서의 요소 윤곽 형상의 윤곽점과 요소 골격 형상의 골격점과의 대응을 나타내는 설명도.
도 9는 실시예 1에 있어서의 요소 윤곽 형상 변경시의 윤곽점의 이동을 도시하는 설명도.
도 10은 실시예 1에 있어서의 요소 윤곽 형상 정보에서의 1 요소의 본래 윤곽 형상의 예와, 좌표 변환 후의 윤곽 형상의 예를 도시하는 설명도.
도 11은 실시예 1의 동작을 도시하는 플로우차트.
도 12는 실시예 1의 동작을 도시하는 플로우차트.
도 13은 실시예 1에 있어서의 굵기 변경 처리시의 윤곽점의 이동을 도시하는 설명도.
도 14는 실시예 1에 있어서의 요소 윤곽 형상 정보의 윤곽 형상 변경 후의 기하 정보의 일례를 도시하는 설명도.
도 15는 실시예 1에 있어서의 요소 윤곽 형상 정보의 굵기 변경 및 윤곽 형상 변경 후의 기하 정보의 일례를 도시하는 설명도.
도 16은 본 발명에 따른 문자 패턴 생성 장치의 실시예 2의 개략 구성을 도시하는 블럭도.
도 17은 실시예 2에 있어서의 문자체 골격 형상 정보의 기억 내용의 일례를 도시하는 설명도.
도 18은 실시예 2에 있어서의 1문자분의 문자체 골격 형상 정보의 기하 정보의 일례를 도시하는 설명도.
도 19는 실시예 2에서의 요소 윤곽 형상 정보의 기억 내용의 일례를 도시하는 설명도.
도 20은 실시예 2에서의 요소 윤곽 형상 정보의 1요소분의 기하 정보의 예를 도시하는 설명도.
도 21은 실시예 2의 동작을 도시하는 플로우차트.
도 22는 실시예 2에 있어서의 요소 윤곽 형상의 윤곽점과 요소 골격 형상의 골격점과의 대응을 도시하는 설명도.
도 23은 실시예 2에 있어서의 통상 속성의 경우의 윤곽점 이동을 도시하는 설명도.
도 24는 실시예 2에서의 상대 위치 보존 속성인 경우의 윤곽점 이동을 도시하는 설명도.
도 25는 실시예 2에서의 절대 위치 보존 속성인 경우의 윤곽점의 이동을 도시하는 설명도.
도면의 주요 부분에 대한 부호의 설명
10 : 키 보드
10a : 입력 장치
11, 11a : 보조 메모리
12, 12a : CPU
13, 13a : 주메모리
14, 14a : 비트맵 메모리
15, 15a : 출력 장치
30, 30a : 문자 코드
31, 31a : 서체수
32, 32a : 구성 요소수
35, 35a : 요소 코드
36, 36a : 골격점수
37, 37a : 골격점 좌표 데이타로의 포인터
38, 38a : 1문자분의 골격점수
39, 39a : 구성 요소의 골격점 좌표 데이타
40 : 서체 코드
41 : 요소수
42 : 요소 코드
43 : 골격점수
44 : 골격점 좌표 데이타로의 포인터
45 : 총골격점수
46 : 요소의 골격점 좌표 데이타
50, 50a : 서체 코드
51, 51a : 요소수
52, 52a : 요소 코드
53, 53a : 윤곽점수
54, 54a : 윤곽점 좌표 데이타로의 포인터
55, 55a : 총윤곽점수
56, 56a : 각 요소의 윤곽점 좌표 데이타
60 : 요소 치환 판정 코드(굵은 문자 패턴용)
61 : 요소 치환 판정 코드(가는 문자 패턴용)
62 : 대체 요소 코드(굵은 문자 패턴용)
63 : 대체 요소 코드(가는 문자 패턴용)
70, 70a : 요소 윤곽 형상 변경 정보
71 : 굵기 변경 속성 정보
72 : 시점·종점 판별 코드
73 : 요소 윤곽 형상 속성 정보
이하, 도면을 참조하여 본 발명의 실시예 1 및 실시예 2를 설명한다. 또, 이에 따라 본 발명이 한정되는 것이 아니다. 본 발명의 문자 패턴 생성 장치는, 통상 일본어 워드 프로세서나 퍼스널 컴퓨터에 내장하여 이용할 수 있다.
[실시예 1]
도 2는 본 발명에 따른 문자 패턴 생성 장치의 실시예 2의 개략 구성을 도시하는 블럭도이다. 이 도면에서, 문자 패턴 생성 장치는 키 보드(10), 보조 메모리(11), CPU(12), 주메모리(13), 비트맵 메모리(14), 및 레이저 프린터, 열전사 프린터 등으로 이루어지는 출력 장치(15)를 구비하고 있다.
키 보드(10)로부터는 생성하는 문자를 나타내는 문자 코드와, 서체 코드가 입력된다. 보조 메모리(11)에는 문자의 형상을 나타내는 문자체 골격 형상 정보와, 문자를 구성하는 구성 요소의 골격 형상을 나타내는 요소 골격 형상 정보와, 문자를 구성하는 구성 요소의 윤곽 형상을 나타내는 요소 윤곽 형상 정보가 미리 기억되어 있다.
CPU(12)는 지정된 서체 코드로부터 굵기 변경을 행하는지의 여부를 판정하는 기능을 갖는 굵기 판정부와, 하나의 구성 요소마다 굵기 변경 처리를 행할지 또는 요소 치환 처리를 행할지를 판정하는 기능을 갖는 굵기 변경 처리 판정부와, 윤곽 형상의 굵기를 변경하는 기능을 갖는 요소 윤곽 굵기 변경부와, 문자의 골격 형상에 맞춰 요소 골격 형상과 요소 윤곽 형상을 변경하는 기능을 갖는 요소 골격 형상·요소 윤곽 형상 변경부와, 문자 패턴을 생성하는 기능을 갖는 생성부를 구비하고 있다.
또한, CPU(12)는 프로그램용의 메모리와 워크피스용의 메모리를 갖고 있고, 보조 메모리(11)와 주메모리(13)와의 각 데이타에 의해 문자 패턴을 생성하기 위한 제어를 행한다. 본 문자 패턴은 비트맵 메모리(14) 상에서 비트맵 데이타로 전개되고, 레이저 프린터, 열전사 프린터등의 출력 장치(15)에 의해 인쇄되어 출력된다.
주메모리(13)는, 보조 메모리(11)로부터 판독된 문자 정보를 일시 저장하기 위한 입력용 버퍼와, 형상이 변경된 요소 윤곽 형상 데이타를 일시 저장하기 위한 출력용 버퍼와, 굵기가 변경된 요소 윤곽 형상 데이타를 기억하는 기억부를 갖고 있다.
여기에서, 문자의 윤곽 형상을 기억하는 방법으로서는, (1) 문자의 윤곽선을 직선에 근사하게 기억하는 방법, (2) 문자의 윤곽선을 직선과 원호로 기억하는 방법, (3) 문자의 윤곽선을 직선과 곡선으로 기억하는 방법등을 들 수 있지만, 문자 품위, 데이타 용량의 효율등을 고려한 경우, 상기 (3)의 방법이 문자 패턴의 생성에 가장 적합하다. 이 점을 고려하여, 본 실시예에서는 상기 (3)의 방법으로 문자의 윤곽선을 기억하고 있고, 이와 같이 직선과 곡선으로 기억한 문자의 윤곽선 데이타가, 요소 윤곽 형상 정보에서의 윤곽점 좌표 데이타로서 보조 메모리(11)에 기억되어 있다.
다음에, 보조 메모리(11)의 기억 내용을 설명한다.
도 3은 문자체 골격 형상 정보의 기억 내용의 일례를 도시하는 설명도이다. 문자체 골격 형상 정보로서는 글자 종류를 구별하는 문자 코드(30)와, 하나의 문자체 골격 형상 정보로부터 생성되는 서체 종류의 수(31)와, 문자의 문자체를 구성하는 요소의 수(32)가 기억되어 있다. 또한, 서체 코드와 구성 요소마다, 요소 접합 정보와 굵기 변경 처리 판정 정보가 기억되어 있다.
이 요소 접합 정보는, 문자의 구성 요소수와 생성 서체수를 곱한 수만큼 기억되어 있고, 구성 요소에 대응하는 요소 윤곽 형상을 지시하는 요소 코드(35)와, 구성 요소를 형성하는 골격점수(36)와, 골격점 좌표 데이타로의 포인터(37)로 이루어져 있다.
요소 접합 정보군의 뒤에는, 굵기 변경 처리 판정 정보가 계속해서 기억되어 있다. 이 굵기 변경 처리 판정 정보는 문자의 구성 요소수와 생성 서체수를 곱한 수만큼 기억되어 있고, 문자를 굵게 할 때에 구성 요소의 요소 치환 처리를 행할지의 여부를 지시하는 굵은 문자 패턴용의 요소 치환 판정 코드(60)와, 문자를 가늘게 할 때에 구성 요소의 요소 치환 처리를 행할지의 여부를 나타내는 가는 문자 패턴용의 요소 치환 판정 코드(61)와, 요소 치환 처리를 행하는 경우의 요소 코드의 변경에 이용하는 굵은 문자 패턴용의 대체 요소 코드(62)와, 동일하게 요소 치환 처리를 행하는 경우의 요소 코드의 변경에 이용하는 가는 문자 패턴용의 대체 요소 코드(63)로 이루어져 있다.
굵기 변경 처리 판정 정보군의 뒤에는, 골격점 좌표 데이타가 계속해서 기억되어 있다. 이 골격점 좌표 데이타는 1문자분의 골격점수(38)의 뒤에, 각 구성 요소의 골격점 좌표 데이타(39)가 기억된 형태로 되어 있다. 도 4에 키 보드(10)로부터 입력된 1문자분의 문자체 골격 형상 정보의 기하 정보의 예를 나타내었다. 이 예에서는, 문자 코드(여기서는, JIS 구점(區点) 코드에 준함)로서, 1643번 「伊」를 지정하고 있다.
도 5는 요소 골격 형상 정보의 기억 내용의 일례를 나타낸 설명도이다. 요소 골격 형상 정보로서는, 서체 종류를 구별하는 서체 코드(40)와, 그 서체에 준비된 요소의 수(41)가 기억되고, 그 후에 예를 들면 요소수를 M개로 하면, 1∼M까지의 각 요소 골격 정보가 기억되어 있다.
즉, 요소 골격 정보는 요소의 수만큼 있고, 요소 코드(42)와, 골격을 형성하는 골격점수(43)와, 골격점 좌표 데이타로의 포인터(44)로 이루어져 있다. 요소 골격 정보군의 뒤에는, 총 골격점수(45)와, 각 요소의 골격점 좌표 데이타(46)가 기억되어 있다.
여기에서, 각 요소의 골격점은 그 요소 본래의 형상이 갖는 각 골격점의 X좌표와, Y좌표의 값을, 전부 Y좌표가 0이 되도록 좌표 변환한 후에 기억되어 있다. 요소 본래의 형상을 나타내는 골격점과, 좌표 변환 후의 골격점의 대응을 도 6을 이용하여 설명한다. 이 도면에서, 점 K0, K1, K2, K3, K4는 요소 골격 형상 정보 내의 한 구성 요소가 갖는 본래의 골격점을 나타낸 것으로, 상술한 도 4(「伊」의 문자체 골격 형상 정보)에서, 「사람인 변(人偏)」을 구성하는 「삐침부(stretched portion) ノ 」에 대응하는 요소의 골격점이다.
골격점 K0, K1, K2, K3, K4를 연결하는 선분을, 각각 K0-K1, K1-K2, K2-K3, K3-K4 로 하고, 각각의 길이를 L0, L1, L2, L3 로 한다.
우선, 골격점 K0이 좌표치(0, 0)이 되도록 이동시키고, 이것을 K0'으로 한다. 다음에, K0'로부터 X축 방향으로 거리 L0만큼 진행한 위치에 K1'을 둔다. 마찬가지로, K1'로부터 X축 방향으로 거리 L1만큼 진행한 위치에 K2'를 두고, K2'로부터 X 축 방향으로 거리 L2만큼 진행한 위치에 K3'을 두고, K3'으로부터 X축 방향으로 거리 L3만큼 진행한 위치에 K4'를 둔다. 이와 같이 좌표 변환을 행한 골격점 K0', K2', K3', K4'를 골격점 좌표 데이타로서, 요소 골격 형상 정보 내에 기억시킨다.
도 7은 요소 윤곽 형상 정보의 기억 내용의 일례를 도시하는 설명도이다. 요소 윤곽 형상 정보로서는, 서체 종류를 구별하는 서체 코드(50)와, 그 서체에 준비된 요소의 수(51)가 기억되고, 그 후에 예를 들면 요소수를 M개로 하면, 1∼M까지의 각 요소 윤곽 정보가 기억되어 있다.
즉, 요소 윤곽 정보는 요소의 수만큼 있고, 요소 코드(52)와, 윤곽을 형성하는 윤곽점수(53)와, 윤곽점 좌표 데이타로의 포인터(54)로 이루어져 있다. 요소 윤곽 정보군 뒤에는, 총 윤곽점수(55)와, 각 요소의 윤곽점 좌표 데이타(56)가 기억되어 있다.
요소의 윤곽점 좌표 데이타(56) 중에는 요소 윤곽 형상 변경 정보(70)와, 굵기 변경 속성 정보(71)가 포함되어 있다. 요소 윤곽 형상 변경 정보(70)는 요소 코드가 같은 요소에서의, 요소 윤곽 형상의 윤곽점과, 요소 골격 형상의 골격점과의 대응을 나타내는 것이고, 각 윤곽점이 소속하는 골격점의 번호로서 기억되어 있다. 굵기 변경 속성 정보(71)는 굵기 변경 처리할 때, 윤곽점 이동 방식을 나타내는 이동 방식 판정 코드로서 기억되어 있다.
하나의 구성 요소에서의 요소 윤곽 형상 변경 정보, 즉 요소 윤곽 형상의 윤곽점과 요소 골격 형상의 골격점과의 대응을 도 8을 이용하여 설명한다. 이 도면에서, 점 K0, K1, K2, K3, K4는 요소 골격 형상 정보 내의 한 구성 요소가 갖는 본래의 골격점을 나타낸 것으로, 상술한 도 4(「伊」의 문자체 골격 형상 정보)에서, 「사람인 변(人偏)」을 구성하는 「삐침부 ノ」에 대응하는 요소의 골격점이다. 또한, 점 P0, P1, P2, P3, P4, P5, P6, P7, P8, P9는 요소 윤곽 형상 정보 내의 한 구성 요소가 갖는 윤곽점을 나타내는 것이고, 상술한 도 4(「伊」의 문자체 골격 형상 정보)에서, 「사람인 변(人偏)」을 구성하는 「삐침부 ノ」에 대응하는 요소의 윤곽점이다.
골격점 K0, K1, K2, K3, K4를 연결하는 선분을, 각각 K0-K1, K1-K2, K2-K3, K3-K4로 한다. 각 윤곽점 P0, P1, P2, P3, P4, P5, P6, P7, P8, P9에서 보아, 최단 거리로 도달할 수 있는 선분을 구하고, 그 선분의 시점이 되는 골격점의 번호를, 윤곽점이 소속하는 골격점 번호로 한다. 이와 같이 하여 구한 각 골격점 번호를, 요소 윤곽 형상 변경 정보로서 요소 윤곽 형상 정보 내에 기억시킨다. 요소 골격 형상의 변형에 부수하여 요소 윤곽 형상을 변경하는 처리에서는, 1개의 골격점의 좌표치가 변화한 경우, 그 전후의 골격점에 의해 정의되는 2개의 선분을 구하고, 각각의 시점으로 되어 있는 2개의 골격점의 번호를 구한다. 그리고, 2개의 골격점의 번호와 동일한 것을 요소 윤곽 형상 변경 정보로서 갖고 있는 윤곽점 전부를, 이동의 대상으로 한다.
요소 윤곽 형상 정보 내의 각 요소는, 각각에 대응하는 요소 골격 형상이 본래의 형상이 갖는 골격점의 X 좌표와 Y 좌표의 값을 전부 Y 좌표가 0이 되도록 좌표 변환되어 있는데 부수하여, 윤곽점을 이동시킴으로써 형상을 미리 변경하고 있다. 즉, 상술한 도 8에서 설명한, 요소 골격 형상 정보에서의 선분 K0-K1, K1-K2, K2-K3, K3-K4의 이동에 맞춰, 요소 윤곽 형상 정보에서의 윤곽점 P0-P9를 이동시키고 있다.
윤곽점의 이동을 도 9를 이용하여 설명한다. 여기서는, 설명을 쉽게 하기 위해 선분 K3-K4만이 이동하고 있는 경우를 나타낸다. 선분 K3-K4가 선분 K3 '-K4'로 이동한 경우, 윤곽 형상 변경 정보에 의해 윤곽점 P5, P6, P7이 이동의 대상이 된다 [윤곽점 P5, P6, P7이 소속하는 골격점의 번호가 (K3)이기 때문에]. 윤곽점 P5, P7의 이동시의 조건은 다음과 같다.
(1) 윤곽점 P5와 P7에서 선분 K3-K4로 내린 수선과, 선분 K3-K4와의 교점을 CP1, CP2로 하고, 점 K3-CP1 사이의 선분의 길이를 L1, 점 CP1-CP2 사이의 길이를 L2, 점 CP2-K4 사이의 길이를 L3로 한다.
그리고, 길이 L1 대 L2 대 L3의 비율과 같아지도록, 선분 K3'-K4' 상에 점CP1', CP2'를 생성한다(골격점 K3'은 골격점 K3과 동일한 위치임). 여기서, 선분K3'-CP1'의 길이를 L1', 선분 CP1'-CP2'의 길이를 L2', 선분 CP2'-K4'의 길이를 L3'으로 해 둔다.
(2) 선분 K3-K4로부터 점P5, P7까지의 거리를 D5, D7로 하고, (1)에서 구한 점 CP1', CP2'로부터 선분 K3'-K4'에 대해 수직 방향으로 거리 D5, D7만큼 떨어진 곳에 점 P5와 P7의 이동 후의 점 P5', P7'을 놓는다.
즉, 도 9에서 점 P5, P7의 이동 조건이란,
(a) 길이의 비 L1 : L2 : L3=L1' : L2' : L3'
(b) 거리 D5=D5' 또는 D7=D7'
이다. 윤곽점 P6에 대해서도 이동 조건은 동일하지만, 도 9에서는 골격점 K4와 동일한 좌표치를 갖고 있기 때문에, 윤곽점 P6의 이동 후의 윤곽점 P6'도 또한, 골격점 K4의 이동 후의 골격점 K4'와 동일한 위치로 옮긴다.
상기 (a)와 (b)의 조건을 만족하는 윤곽점 이동에 의해, 요소 골격 형상의 좌표 변환에 의거한, 요소 윤곽 형상의 변경을 행할 수 있다. 이와 같이 하여 변경을 가한 윤곽점을 윤곽점 좌표 데이타로서, 요소 윤곽 형상 정보 내에 기억시킨다. 요소 윤곽 형상 정보의 한 구성 요소 본래의 윤곽 형상의 예를 도 10a에, 변경 후의 윤곽 형상의 예를 도 10b에, 각각 도시한다.
이상과 같이 구성된 문자 패턴 생성 장치의 동작을 도 11 및 도 12에 도시한 플로우차트에 따라 설명한다.
우선, 키 보드(10)로부터 생성해야 할 서체의 문자 코드와 서체 코드가 입력된다(스텝 S1). CPU(12)는 문자 코드에 따라, 보조 메모리(11)로부터 생성 처리에 이용되는 1문자분의 문자체 골격 형상 정보와, 서체 코드에 대응하는 요소 골격 형상 정보와 요소 윤곽 형상 정보를 주메모리(13)의 입력 버퍼로 판독한다(스텝 S2).
계속해서, CPU(12)는 굵기 판정부에서, 스텝 S1에서 입력된 서체 코드로부터, 생성해야 할 서체가, 굵기 변경을 행해야 되는 서체인지의 여부를 판별한다(스텝 S3). 굵기 변경을 필요로 하지 않은 서체의 경우, 스텝 S4로 진행하고, 굵기 변경을 필요로 하는 서체의 경우, 스텝 S6으로 진행한다.
스텝 S4에서는, 스텝 S2에서 판독한 문자체 골격 형상 정보 중에서, 한 구성 요소분의 요소 접합 정보와, 골격점 좌표 데이타를 입력 버퍼로부터 CPU(12) 내의 워크피스용 메모리에 취득한다.
스텝 S5에서 CPU(12)는, 입력 버퍼에 판독된 요소 골격 형상 정보와 요소 윤곽 형상 정보로부터, 요소 코드(35)에 대응하는 요소의 골격점 좌표 데이타(39)와, 윤곽점 좌표 데이타(56)를 CPU(12) 내의 워크피스용 메모리에 취득한다.
다음에 스텝 S15로 진행한다. 여기서 CPU(12)는 요소 골격 형상·요소 윤곽 형상 변경부에서, 스텝 S4에서 CPU(12) 내의 워크피스용 메모리에 취득된 문자체 골격 형상 정보 중의 구성 요소의 골격점 좌표 데이타에 기초하여, 요소 골격 형상 정보의 각 골격점의 좌표치를, 확대 축소 회전등의 수단을 이용하여 골격점 좌표 데이타의 값에 일치시킨다.
그리고, 상술한 도 8에서 설명한, 요소 골격 형상 정보에서의 선분 K0-K1, K1-K2, K2-K3, K3-K4의 이동 조건에 맞춰, 요소 윤곽 형상 정보에서의 윤곽점 P0 ∼P9를 이동시킨다. 윤곽점의 이동 조건에 대해서는, 도 9에서 기술한 내용과 완전히 동일하다.
한 구성 요소의 윤곽점 모두에 대한 이동 처리가 끝난 후, 스텝 S16에서 이동 후의 윤곽점 P0' 내지 P9'를 주메모리(13)의 출력 버퍼로 출력한다.
상기 스텝 S3에서 생성해야 할 서체가 굵기 변경을 필요로 한다고 판정된 경우에는, 이하와 같은 처리를 행한다.
스텝 S6에서, 스텝 S2에서 판독한 문자체 골격 형상 정보 중에서, 한 구성 요소분의 요소 접합 정보와, 굵기 변경 처리 판정 정보와, 골격점 좌표 데이타를 CPU(12)내의 워크피스용 메모리에 저장한다.
다음에 스텝 S7로 진행하고, CPU(12)는 굵기 변경 처리 판정부에서 굵기 변경 처리 판정 정보 내의 요소 치환 판정 코드를 판별하여, 요소 치환을 행하는지의 여부를 판정한다. 서체 코드에 의해 지정된 서체가, 굵은 문자 패턴이면 요소 치환 판정 코드(굵은 문자 패턴용 : 60)를 이용하고, 가는 문자 패턴이면 요소 치환 판정 코드(가는 문자 패턴용 : 61)를 이용한다. 요소 치환을 행하는 경우에는 스텝 S14로 진행하고, 요소 치환을 행하지 않고 굵기 변경 처리를 행하는 경우에는 스텝 S8로 진행한다.
스텝 S8에서는 CPU(12)는 입력 버퍼에 판독된 요소 골격 형상 정보와 요소 윤곽 형상 정보로부터 요소 코드(35)에 대응하는 요소의 골격점 좌표 데이타(46)와, 윤곽점 좌표 데이타(56)를 CPU(12) 내의 워크피스용 메모리에 취득한다. 다음에 CPU(12)는 요소 윤곽 굵기 변경부에서, 윤곽점 좌표 데이타 중에서 하나의 윤곽점과, 그것에 대응하는 굵기 변경 속성 정보를 추출한다(스텝 S9).
스텝 S10에서, CPU(12)는 굵기 변경 속성 정보를 판별하고, 굵기 변경 처리할 때, 윤곽점의 좌표치를 X좌표는 고정된 상태에서 Y좌표만 변경할 것인지 또는 X좌표, Y좌표 모두 고정 상태인지를 판정한다. X좌표는 고정하여 Y좌표만 변경하는 경우 스텝 S11로 진행한다. X좌표, Y좌표 모두 고정 상태인 경우, 윤곽점의 이동은 행하지 않고, 스텝 S12로 진행한다.
굵기 변경 처리에서의 윤곽점의 이동을, 도 13을 이용하여 설명한다. 이 도면에서, 점 K0, K1, K2는 요소 골격 형상 정보 내의 한 구성 요소가 갖는 좌표 변환 후의 골격점을 도시하는 것으로, 상술한 도 4(「伊」의 문자체 골격 형상 정보)에서, 「사람인 변(人偏)」을 구성하는 「삐침부」에 대응하는 요소의 골격점이다. 또한, 점 P0, P1, P2, P3, P4는 요소 윤곽 형상 정보 내의 한 구성 요소가 갖는 좌표 변환 후의 윤곽점을 나타내는 것으로, 상술한 도 4(「伊」의 문자체 골격 형상 정보)에서, 「사람인 변(人偏)」을 구성하는 「삐침부」에 대응하는 요소의 윤곽점이다. 단, 도 13에서는 설명을 쉽게 하기 위해, 도 8 및 도 9와 비교해서, 설명에 직접 관계가 없는 골격점과 윤곽점을 생략하고 있다. 점 P0과 P3은 윤곽 형상에 있어서 시점과 종점이고, 본 실시예에서는 X좌표, Y 좌표 모두 고정하게 된다. 점P1, P2, P4의 이동 방식 판정 코드는, X 좌표는 고정 상태에서 Y 좌표만 변경하는 것을 나타내는 것으로 한다.
골격점 K0과 K1을 연결하는 선분을 K0-K1로 하고, K1과 K2를 연결하는 선분을 K1-K2로 한다. 요소 골격 형상 정보의 각 골격점은 전부 Y좌표가 0이 되도록 좌표 변환하고 있으므로, 이들 선분은 X축 상에 늘어서 있다. 윤곽점 P1, P2, P4에서 보아 가장 가까운 선분까지의 거리를, 각각 D1, D2, D4로 한다. 요소 윤곽 형상 정보의 각 윤곽점은, 요소 골격 형상 정보의 좌표 변환에 맞춰 변경되기 때문에, 거리 D1, D2, D4의 값은, 즉 각 윤곽점의 Y좌표치의 절대치와 같다.
거리 D1의 값에 대해, CPU(12)의 프로그램용 메모리내에 미리 정의된 굵기 변경 상수를 곱한 것을 거리 D1'로 한다. 그리고, 이 거리 D1'에 정부(正負)의 판정을 가한 후에, 이동 후의 윤곽점 P1'의 Y좌표로 한다(스텝 S11).
다음에 CPU(12)는 윤곽점 P1'을 주메모리(13)의 기억부에 기억시킨다(스텝 S12).
여기서 굵기 상수는 생성해야 할 서체마다 하나 결정된 상수이고, 굵은 문자 패턴의 경우는 1보다 크고, 가는 문자 패턴의 경우 1미만이 된다.
CPU(12)는 하나의 윤곽점을 이동시킬 때마다, 한 구성 요소의 윤곽점 전부에 대해 굵기 변경 처리를 실시할지의 여부를 판단한다(스텝 S13). 전 윤곽점의 처리가 끝나지 않는 경우는 스텝 S9로 되돌아가서, 다음 윤곽점 처리로 이동한다.
도 13에서는, 점P1' 과 마찬가지로 점P2'와 P4'가 이동 후의 윤곽점이 된다.
다음에, 스텝 S15로 진행하고, 요소 골격 형상·요소 윤곽 형상 변경부에서, CPU(12) 내의 워크피스용 메모리에 취득한 문자체 골격 형상 정보 중 구성 요소의 골격점 좌표 데이타에 기초하여, 요소 골격 형상 정보의 각 골격점의 좌표치를 확대 축소 회전등의 수단을 이용하여 골격점 좌표 데이타의 값에 일치시킨다. 그리고, 요소 골격 형상 변형에 부수하여, 주메모리(13)의 기억부에 기억되어 있는 굵기 변경 후의 윤곽점을 이동시킨다. 윤곽점의 이동 조건에 관해서는, 도 9에서 기술한 내용과 완전히 동일하다.
한 구성 요소의 굵기 변경 후의 윤곽점 모두에 대한 이동 처리가 끝난 후, 스텝 S16에서 이동 후의 윤곽점을 주메모리(13)의 출력 버퍼로 출력한다.
상기 스텝 S7에서, 구성 요소의 요소 치환을 행한다고 판정된 경우에는, 이하와 같은 처리를 행한다.
스텝 S14에서, CPU(12)는 문자체 골격 형상 정보 내의 요소 코드(35)에 대응하는 대체 요소 코드를 인식한다. 생성해야 할 서체가 굵은 문자 패턴인 경우, 대체 요소 코드(굵은 문자 패턴용 : 62)를 인식하고, 가는 문자 패턴의 경우, 대체 요소 코드(가는 문자 패턴용 : 63)를 인식한다. 그리고, 대체 요소 코드에 대응하는 요소의 골격 좌표 데이타 점(46)과, 윤곽점 좌표 데이타(56)를 CPU(12) 내의 워크피스용 메모리에 저장한다.
다음에, 스텝 S15로 진행하고, 요소 골격 형상·요소 윤곽 형상 변경부에서, CPU(12) 내의 워크피스용 메모리에 취득된 문자체 골격 형상 정보 중 구성 요소의 골격점 좌표 데이타에 기초하여, 요소 골격 형상 정보의 각 골격점의 좌표치를, 확대 축소 회전등의 수단을 이용하여, 골격점 좌표 데이타 값에 일치시킨다. 그리고, 요소 골격 형상의 변형에 부수하여, 요소 윤곽 형상 정보에서의 윤곽점을 이동시킨다. 윤곽점의 이동 조건에 대해서는, 도 9에서 기술한 내용과 완전히 동일하다.
한 구성 요소의 윤곽점 모두에 대한 이동 처리가 끝난 후, 스텝 S16에서 이동 후의 윤곽점을 주메모리(13)의 출력 버퍼로 출력한다.
도 4에서 예시한 문자체 골격 형상 정보인 「伊」의 골격 형상에 맞춘, 요소 윤곽 형상 정보의 변경 후의 기하 정보를 도 14에 도시한다. 또한, 「伊」의 골격 형상에서의 요소의 굵기 변경 및 윤곽 형상 변경 후의 기하 정보를 도 15에 도시한다.
스텝 S17에서 CPU(12)는 1문자분의 전 구성 요소에 대한 처리를 행하였는지 여부의 판단을 행한다. 여기서, YES인 경우 스텝 S18로 진행하고, 주메모리(13)의 출력 버퍼 내의 데이타를 비트맵 메모리(14)로 전송하여, 이 처리를 종료시킨다. NO인 경우, 스텝 S3으로 되돌아가 서체 코드의 판별을 행한다.
비트맵 메모리(14)로 전송된 윤곽점 데이타는 비트맵 데이타에 전개된 후, 레이저 프린터, 열전사 프린터등의 출력 장치(15)에 의해 인쇄되어 출력된다.
이와 같이 하여, 문자의 구성 요소의 굵기 변경을 행하는 경우에는 계산에 의해 구성 요소의 굵기 변경을 행할지, 구성 요소를 굵은 것(혹은 가는 것)으로 치환할지를 판단하고, 그것에 따라, 계산 혹은 대체에 의해, 문자체 골격 형상 정보에 맞춰 요소 골격 형상 정보를 변경함과 동시에 요소 윤곽 형상을 변경하고, 변경된 윤곽 형상을 이용하여 문자 패턴을 생성한다.
이에 따라, 모든 문자 패턴을 디자인할 필요가 있는 종래의 폰트 개발과 비교한 경우, 구성 요소의 윤곽을 나타내는 요소 윤곽 형상을 디자인하는 것만으로 문자 패턴을 생성할 수 있으므로, 보다 적은 공정수로 서체를 개발하는 것이 가능해진다.
또한, 문자의 윤곽을 생성하는 수단이 각 구성 요소마다 골격 형상의 변경과, 구성 요소에 대응하는 윤곽 형상을 지시하는 요소 코드를 갖는 것을 전제로 하는 요소 접합이기 때문에, 종래 문자의 골격 형상을 나타내는 골격점의 좌표와, 각 골격점에서의 단일 선폭 파라메터로서 보존하는 방법과 비교해서, 글자 형태를 설계할 때에 형상적인 제약이 발생하지 않고, 서체 디자인의 자유화를 저해하지 않는다.
또한, 문자체 골격 형상 정보 중에, 굵기 변경 처리 판정 정보를 갖고 있기 때문에, 하나의 구성 요소에 대해 굵기 변경 처리에 의한 형상 변화나, 또는 요소 치환에 의한 형상 변화중 어느 쪽이든 최적의 방식을 선택할 수 있어, 매우 고품위의 굵고 가는 문자 패턴을 생성할 수 있다.
또한, 요소 윤곽 형상 정보 중에, 굵기 변경 속성 정보를 갖고 있기 때문에, 하나 하나의 윤곽점에 대해 이동 방식이 선택 가능하여, 굵기 변경 처리할 때, 윤곽 형상의 미묘한 조정을 함으로써 고품위의 굵고 가는 문자 패턴을 생성할 수 있다.
또한, 요소 윤곽 형상을 변경할 때에 이용하는 윤곽 형상 변경 정보를 기억하고, 윤곽 형상을, 뒤틀림을 발생시키지 않고 변형하는 수단을 구비하고 있기 때문에, 요소 윤곽 형상의 공통화를 도모할 수 있고, 1서체의 개발에 필요한 요소 윤곽 형상을 삭감하는 것이 가능해진다.
또한, 요소 골격 형상과 요소 윤곽 형상을, 미리 X축 방향을 따르도록 좌표 변환한 후에 기억하고 있기 때문에, 요소 골격 형상과 요소 윤곽 형상의 변경시 및 굵기 변경시에 각도 계산등의 고도의 계산량을 삭감할 수 있어, 고속으로 문자 패턴을 생성할 수 있다.
그리고, 굵기 변경 처리 중에서는, Y 좌표의 값을 단순한 곱셈에 의해 조절함으로써, 구성 요소의 굵기를 변경할 수 있기 때문에, 매우 고속으로 굵고 가는 문자 패턴을 생성할 수 있다.
또, 이 실시예에서는 문자의 굵기 변경의 판정에 대한, 지정된 서체 코드로부터 문자의 굵기 변경을 행할 것인지의 여부를 판정하도록 하고 있지만, 문자의 굵기를 임의로 지정할 수 있도록 하고, 그 지정에 따라 문자의 굵기를 변경하도록 해도 좋다. 혹은, 굵은 문자, 통상 문자, 가는 문자등의 3단계나, 굵은 문자, 약간 굵은 문자, 통상 문자, 약간 가는 문자, 가는 문자의 5단계등에 미리 클래스를 설정해 놓고, 그 중에서 사용자가 임의의 클래스를 선택할 수 있도록 해도 좋다. 물론, 그 경우에는 대체 요소도 그 나름대로의 것을 준비해 두도록 한다.
또한, 어느 구성 요소이면 계산으로 굵기를 변경하고, 어느 구성 요소이면 대체 요소에 의한 요소의 치환을 행할지의 판단에 대해서는, 예를 들면 문자 굵기의 변경을 계산으로 행한 경우에 문자의 품위가 저하하는 요소에 대해서는, 대체 요소를 준비하여 그것으로 치환하도록 하면, 매우 고품위이고 균일한 굵고 가는 문자 패턴을 생성할 수 있다.
[실시예 2]
도 16은 본 발명에 따른 문자 패턴 생성 장치의 실시예2의 개략 구성을 도시하는 블럭도이다. 이 도면에서 문자 패턴 생성 장치는 키 보드등으로 이루어지는 입력 장치(10a), 보조 메모리(11a), CPU(12a), 주메모리(13a), 비트맵 메모리(14a), 및 레이저 프린터, 열전사 프린터등으로 이루어지는 출력 장치(15a)를 구비하고 있다.
입력 장치(10a)는 생성하는 문자의 문자 코드와 서체 코드를 입력하기 위해 이용된다. 보조 메모리(11a)에는 문자체 골격 형상 정보와, 요소 골격 형상 정보와, 요소 윤곽 형상 정보가 기억되어 있다.
CPU(12a)는, 요소 골격 형상을 문자체 골격 형상에 맞춰 변경하는 기능을 갖는 요소 골격 형상 변경부와, 요소 윤곽 형상을 변경하는 기능을 갖는 요소 윤곽 형상 변경부와, 요소 윤곽 형상이 변경할 때의 변경 방식을 판정하는 기능을 갖는 변경 방식 판정부와, 문자 패턴을 생성하는 기능을 갖는 생성부를 구비하고 있다.
또한, CPU(12a)는 프로그램용의 메모리와 워크피스용의 메모리를 갖고 있고, 보조 메모리(11a)와 주메모리(13a)와의 각 데이타에 의해 문자 패턴을 생성하기 위한 제어를 행한다. 이 문자 패턴은 비트맵 메모리(14a) 상에서 비트맵 데이타로 전개되고, 레이저 프린터, 열전사 프린터등의 출력 장치(15a)에 의해 인쇄되어 출력된다.
주메모리(13a)는 보조 메모리(11a)로부터 판독된 문자 정보를 일시 저장하기 위한 입력용 버퍼와, 형상이 변경된 요소 윤곽 형상 데이타를 일시 저장하기 위한 출력용 버퍼와, 형상이 변경된 요소 골격 형상 정보와 윤곽 형상 변경 정보를 각각 기억하는 기억부를 갖는다.
여기서, 문자의 윤곽 형상을 기억하는 방법으로는, (1) 문자의 윤곽선을 직선에 근사하게 기억하는 방법, (2) 문자의 윤곽선을 직선과 원호로 기억하는 방법, (3) 문자의 윤곽선을 직선과 곡선으로 기억하는 방법등을 들 수 있지만, 문자 품위, 데이타 용량의 효율등을 고려한 경우, 상기 (3)의 방법이 가장 문자 패턴의 생성에 적합하다. 따라서, 본 실시예에서는 상기 (3)의 방법에 의한 데이타가 요소 윤곽 형상 정보에서의 윤곽점 좌표 데이타로서 보조 메모리(11a)에 기억되어 있다.
다음에, 보조 메모리(11a)의 기억 내용을 설명한다.
도 17은 문자체 골격 형상 정보의 기억 내용의 일례를 도시하는 설명도이다. 문자체 골격 형상 정보로서는, 글자 종류를 구별하는 문자 코드(30a)와, 하나의 문자체 골격 형상 정보로부터 생성되는 서체 종류의 수(31a)와, 문자의 문자체를 구성하는 요소의 수(32a)가 기억되어 있다. 또한, 문자 코드와 구성 요소마다 요소 접합 정보가 기억되어 있다.
이 요소 접합 정보는, 문자의 구성 요소수와 생성 서체수를 곱한 수만큼 기억되어 있고, 구성 요소에 대응하는 요소 윤곽 형상을 지시하는 요소 코드(35a)와, 구성 요소를 형성하는 골격점수(36a)와, 골격점 좌표 데이타로의 포인터(37a)로 이루어져 있다.
접합 정보군 뒤에는 골격점 좌표 데이타가 계속해서 기억되어 있다. 이 골격점 좌표 데이타는, 1문자분의 골격점수(38a)의 뒤에, 각 구성 요소의 골격점 좌표 데이타(39a)가 기억되어 있다. 도 18에 1문자분의 문자체 골격 형상 정보의 기하 정보의 예를 나타낸다.
요소 골격 형상 정보에 대해서는, 여기서는 설명을 생략하겠지만 실시예 1에서 설명한 것과 동일한 내용의 것이 기억되어 있다.
도 19는 요소 윤곽 형상 정보의 기억 내용의 일례를 도시하는 설명도이다. 요소 윤곽 형상 정보로서는 서체 종류를 구별하는 서체 코드(50a)와, 그 서체에 준비된 요소의 수(51a)가 기억되고, 그 후에 예를 들면 요소수를 M개라고 하면, 1∼M까지의 각 요소 정보가 기억되어 있다.
즉, 요소 정보는 요소의 수만큼 있고, 요소 코드(52a)와, 윤곽을 형성하는 윤곽점수(53a)와, 윤곽점 좌표 데이타로의 포인터(54a)로 이루어져 있다. 요소 정보군 뒤에는, 총 윤곽점수(55a)와, 각 요소의 윤곽점 좌표 데이타(56a)가 기억되어 있다.
각 요소의 윤곽점 좌표 데이타(56a) 중에는, 요소 윤곽 형상 변경 정보(70a)와, 시점·종점 판별 코드(72)와, 요소 윤곽 형상 속성 정보(73)가 포함되어 있다. 요소 윤곽 형상 변경 정보(70a)는, 요소 코드가 동일한 요소에서의 요소 윤곽 형상의 윤곽점과 요소 골격 형상 골격점의 대응을 나타내는 것으로, 각 윤곽점이 소속하는 골격점의 번호로서 기억되어 있다. 요소 윤곽 형상 속성 정보(73)는, 요소의 윤곽 형상을 변경할 때의, 윤곽점의 이동 조건을 도시하는 변형 방식 코드로서 기억되어 있다. 이 변형 방식 코드에는 통상 속성, 상대 위치 보존 속성, 절대 위치 보존 속성의 것이 있다. 각 속성이 구체적인 변형 방법에 대해서는 후술한다. 요소 윤곽 형상 정보에서의 한 요소분의 기하 정보의 예를 도 20a 및 도 20b에 도시한다.
이상과 같이 구성된 문자 패턴 생성 장치의 동작을 도 21에 도시하는 플로우차트에 따라 설명한다. 설명을 구체화하기 위해, 여기서는 상술한 도 18에서 도시한 「旭」의 문자체 골격 형상 정보를 적용하여 설명한다.
우선, 입력 장치(10a)(예를 들면 키 보드)로부터 생성해야 할 문자의 문자 코드(JIS 코드에서는 「旭」의 문자 코드는 「1616」)와 서체 코드(예를 들면 「01」)가 입력된다(스텝 S1a). CPU(12a)는, 문자 코드에 따라, 보조 메모리(11a)로부터 생성 처리에 이용되는 1문자분의 문자체 골격 형상 정보와, 서체 코드에 대응하는 요소 골격 형상 정보와 요소 윤곽 형상 정보를 주메모리(13a)의 입력 버퍼에 판독된다(스텝 S2a).
계속해서, CPU(12a)는 스텝 S2a에서 판독된 문자체 골격 형상 정보 중에서, 한 구성 요소분의 요소 접합 정보와, 구성 요소의 골격점 좌표 데이타를, 입력 버퍼로부터 CPU(12a) 내의 워크피스용 메모리에 취득한다(스텝 S3a)
스텝 S4a에서, CPU(12a)는 입력 버퍼로 판독된 요소 골격 형상 정보와 요소 윤곽 형상 정보로부터, 요소 코드(35a)에 대응하는 요소의 골격점 좌표 데이타(39a)와 윤곽점 좌표 데이타(56a)를 CPU(12a) 내의 워크피스용 메모리에 취득한다.
스텝 S5a에서 CPU(12a)는 워크피스용 메모리에 저장한 문자체 골격 형상 정보 중 구성 요소의 골격점 좌표 데이타에 기초하여, 요소 골격 형상 정보의 각 골격점의 좌표치를 확대 축소 회전등의 수단을 이용하여, 골격점 좌표 데이타의 값에 일치시킨다.
하나의 구성 요소에서의 요소 윤곽 형상 변경 정보, 즉 요소 윤곽 형상의 윤곽점과, 요소 골격 형상의 골격점과의 대응을 도 22를 이용하여 설명한다.
이 도면에서, 점 K0, K1, K2, K3, K4는 요소 골격 형상 정보 내의 한 구성 요소가 갖는 골격점을 도시하는 것으로, 상술한 도 18(「旭」의 문자체 골격 형상 정보)에서 「ノ(삐침)」 부분에 대응하는 요소의 골격점이다. 다음에, 점P0, P1, P2, P3, P4, P5, P6, P7, P8, P9는 요소 윤곽 형상 정보 내의 한 구성 요소가 갖는 윤곽점을 도시하는 것으로, 상술한 도 18(「旭」의 문자체 골격 형상 정보)에서 「ノ(삐침)」 부분에 대응하는 요소의 윤곽점이다.
골격점 K0, K1, K2, K3, K4를 연결하는 선분을, 각각 K0-K1, K1-K2, K2-K3, K3-K4로 한다. 각 윤곽점 P0, P1, P2, P3, P4, P5, P6, P7, P8, P9에서 보아, 최단 거리로 도달할 수 있는 선분을 구하고, 그 선분의 시점이 되는 골격점의 번호를 윤곽점이 소속하는 골격점 번호로 한다.
이와 같이 하여 구한 각 골격점 번호를, 요소 윤곽 형상 변경 정보로서 요소 윤곽 형상 정보 내에 기억시킨다. 요소 골격 형상의 변형에 부수하여 요소 윤곽 형상을 변경하는 처리에서는 하나의 골격점의 좌표치가 변화한 경우, 그 전후의 골격점에 의해 정의되는 2개의 선분을 구하고, 각각의 시점으로 되어 있는 2개의 골격점의 번호를 구한다. 그리고, 2개의 골격점 번호와 동일한 것을 요소 윤곽 형상 변경 정보로서 갖고 있는 윤곽점 전부를, 이동의 대상으로 한다.
스텝 S6a에서, CPU(12a)는 윤곽점 좌표 데이타 중에서, 하나의 윤곽점과 그것에 대응하는 요소 윤곽 형상 속성 정보를 추출한다.
다음에, 스텝 S7a에서 CPU(12a)는 요소 윤곽 형상 속성 정보를 판별하고, 요소 윤곽 형상의 변경에서의 윤곽점의 이동 조건을 설정한다. 이 요소 윤곽 형상 속성 정보의 판별에서는, 변형 방식 코드가 통상 속성이면 스텝 S8a로, 상대 위치 보존 속성이면 스텝 S9a로, 절대 위치 보존 속성이면 스텝 S10a로 각각 진행하여, 각 처리를 행한다.
스텝 S8a에서의 윤곽점의 이동을 도 23을 이용하여 설명한다. 이 도면은 상술한 도 18(「旭」의 문자체 골격 형상 정보)에서 「ノ(삐침)」 부분에 대응하는 요소의 골격점과 요소의 윤곽점이다. 여기서, 선분 K3-K4가 선분 K3'-K4'로 이동한 경우, 윤곽 형상 변경 정보에 의해, P5와 P6과 P7 [윤곽점이 속하는 골격점의 번호(K3)]이 이동의 대상이 된다. P5와 P7의 이동시의 조건은 다음과 같다.
(1) P5와 P7에서 선분 K3-K4로 내린 수선과, 선분 K3-K4과의 교점을 CP1, CP2로 하고, K3-CP1의 길이를 L1, CP1-CP2의 길이를 L2, CP2-K4의 길이를 L3으로 한다.
이 때, 윤곽점 P5와 CP1과 K3에 의해 형성되는 각을 각 A로 한다. 마찬가지로, 윤곽점 P7과 CP2와 K3에 의해 형성되는 각을 각 B로 한다.
길이 L1 대 L2 대 L3의 비율과 같아지도록, 선분 K3'-K4' 상에 점 CP1', CP2'를 생성한다(골격점 K3'은 골격점 K3과 동일한 위치이다). 또, K3'-CP1'의 길이를 L1', CP1'-CP2'의 길이를 L2', CP2'-K4'의 길이를 L3'으로 해 둔다.
(2) 선분 K3-K4로부터 P5, P7까지의 거리를 D5, D7로 하고, (1)에서 구한 점 CP1', CP2'로부터 선분 K3'-K4'에 대해 수직 방향으로 거리 D5, D7만큼 떨어진 곳에 P5와 P7 이동 후의 점 P5', P7'을 둔다. 이 때, 윤곽점 P5'와 CP1'과 K3'에 의해 형성되는 각을 각 A'로 한다. 마찬가지로, 윤곽점 P7'과 CP2'와 K3'에 의해 형성되는 각을 각 B'로 한다.
즉, 도 23에서 P5, P7의 이동 조건이란,
(a) 길이의 비 L1 : L2 : L3=L1' : L2' : L3'
(b) 거리 D5=D5' 또는 D7=D7'
(c) 각 A=각 A'=90도, 각 B= 각 B'=90도
이다. (a)와 (b)와 (c)의 조건을 만족하는 윤곽점 이동 처리에 의해, 문자체 골격 형상 정보에 의거한, 요소 윤곽 형상의 변경을 행할 수 있다. 윤곽점 P6에서도 이동 조건은 동일하지만, 도 23에서는 골격점 K4와 동일한 좌표치를 갖고 있기 때문에, 윤곽점 P6의 이동 후의 윤곽점 P6'도 또한, 골격점 K4의 이동 후의 골격점 K4'와 동일한 위치로 이동한다.
스텝 S9a에서의 윤곽점의 이동을 도 24를 이용하여 설명한다. 이 도면은 상술한 도 18(「旭」의 문자체 골격 형상 정보)에서 「乙변」의 굴곡 부분에 대응하는 요소의 골격점과 요소의 윤곽점이다. 단, 도 24에서는 설명을 쉽게 하기 위해, 도 22 및 도 23과 비교하여, 설명에 직접 관계가 없는 골격점과 윤곽점을 생략하고 있다. 여기서, 선분 K1-K2가 선분 K1'-K2'로 이동한 경우, 윤곽 형상 변경 정보에 따라, P1과 P2 [윤곽점이 속하는 골격점의 번호(K1)]가 이동의 대상이 된다. P1과 P2의 이동시의 조건은 다음과 같다.
(1) P1과 P2에서 선분 K1-K2로 내린 수선과, 선분 K1-K2와의 교점을 CP1, CP2로 하고, K1-CP1의 거리를 dx1, P1-CP1의 거리를 dy1, CP2-K2의 거리를 dx2, P2-CP2의 거리를 dy2로 한다.
이 때, 윤곽점 P1과 CP1과 K1에 의해 형성되는 각을 각 A로 한다. 마찬가지로, 윤곽점 P2와 CP2와 K2에 의해 형성되는 각을 각 B로 한다.
(2) 골격점 K1', K2'에서, dx1=dx1'이 되도록 CP1'을 생성한다. 마찬가지로, dx2=dx2'가 되도록 CP2'를 생성한다. CP1', CP2'로부터 선분K1'-K2' 에 대해 수직 방향으로 거리 dy1=dy1', dy2=dy2'만큼 떨어진 곳에 P1과 P2의 이동 후의 점P1', P2'를 둔다.
이 때, 윤곽점P1'과 CP1'과 K1'에 의해 형성되는 각을 각 A'로 한다. 마찬가지로, 윤곽점 P2'와 CP2'와 K2'에 의해 형성되는 각을 각 B'로 한다.
즉, 도 24에서 P1, P2의 이동 조건이란,
(a) 거리 dx1=dx1', dy1=dy1'
(b) 거리 dx2=dx2', dy2=dy2'
(c) 각 A= 각 A'=90°, 각 B=각 B'=90°
이다. (a)와 (b)와 (c)의 조건을 만족하는 윤곽점 이동 처리에 의해, 문자체 골격 형상 정보에 의거한, 요소 윤곽 형상의 변경을 행할 수 있다.
스텝 S10a에서의 윤곽점의 이동을 도 25를 이용하여 설명한다. 이 도면은, 상술한 도 18(「旭」의 문자체 골격 형상 정보)에서 「ノ(삐침)」의 비늘 부분에 대응하는 요소의 골격점과 요소의 윤곽점이다. 단, 도 25에서는 설명을 쉽게 하기 위해, 도 22 및 도 23와 비교해서 설명에 직접 관계가 없는 골격점과 윤곽점을 생략하고 있다. 여기서, 선분 K0-K1이 선분 K0'-K1'로 이동한 경우, 윤곽 형상 변경 정보에 의해, P0과 P1과 P2 [윤곽점이 속하는 골격점의 번호(K0)]가 이동의 대상이 된다. P0과 P1과 P2의 이동시의 조건은 다음과 같다.
(1) 골격점 K0로부터 윤곽점 P1, P2 각각의 거리의 X성분, Y성분을 dx1, dy1, dx2, dy2로 한다.
(2) 골격점 K0'로부터 dx1=dx1'이 되도록 CP1'을 생성한다. 마찬가지로, dx2=dx2'가 되도록 CP2'를 생성한다.
즉, 도 25에서 P1과 P2의 이동 조건이란,
(a) 거리 dx1=dx1', dy1=dy1'
(b) 거리 dx2=dx2', dy2=dy2'
이다. (a)와 (b)의 조건을 만족하는 윤곽점 이동 처리에 의해, 문자체 골격 형상 정보에 의거한, 요소 윤곽 형상의 변경을 행할 수 있다. 윤곽점 P0에서도 이동 조건은 동일하지만, 도 25에서는 골격점 K0과 동일한 좌표치를 갖고 있기 때문에, 윤곽점 P0의 이동 후의 윤곽점 P0'도 또한, 골격점 K0의 이동 후의 골격점 K0'과 동일한 위치로 이동한다.
그리고, 한 구성 요소의 윤곽점 전부에 대한 이동 처리가 끝나면(스텝 S11a), 이동 후의 윤곽점을 주메모리(13a)의 출력 버퍼로 출력한다 (스텝 S12a).
그리고, 스텝 S13a에서 1문자중 전 구성 요소에 대해 처리를 행할지의 여부의 판단을 행한다. Yes인 경우, 스텝 S14a로 진행하고, 주메모리(13a)의 출력 버퍼내의 데이타를 비트맵 메모리(14a)로 전송하여, 이 처리를 종료한다. No인 경우, 스텝 S3a로 돌아가서, 다음 구성 요소에 관한 요소 접합 정보와 골격점 좌표 데이타를, 입력 버퍼로부터 CPU(12a) 내의 워크피스용 메모리에 취득한다.
비트맵 메모리(14a)로 전송된 윤곽점 데이타는, 비트맵 데이타로 전개된 후, 레이저 프린터, 열전사 프린터등의 출력 장치(15a)에 의해 인쇄되어 출력된다.
이와 같이, 변형 방식 코드가 통상 속성인지, 상대 위치 보존 속성인지, 절대 위치 보존 속성인지를 판정하고, 그것에 따라 윤곽점을 이동하여, 요소 윤곽 형상을 변경하고, 변경된 윤곽 형상 정보를 이용하여 문자 패턴을 생성한다.
이에 따라, 모든 문자 패턴을 디자인할 필요가 있는 종래의 폰트 개발과 비교한 경우, 구성 요소의 윤곽을 나타내는 요소 윤곽 형상을 디자인한 것만으로도 문자 패턴을 생성할 수 있으므로, 보다 적은 공정수로 서체를 개발하는 것이 가능해진다. 또한, 요소 윤곽 형상을 변경하는 수단을 구비하기 때문에, 요소 윤곽 형상의 공통화를 도모할 수 있고, 한 서체의 개발에 필요한 요소 윤곽 형상을 삭감시키는 것이 가능해진다.
또한, 요소 윤곽부의 스트로크의 두께를 바꾸지 않고 스트로크 길이를 변경할 수 있으므로, 윤곽 형상을 변경한 후의 문자 패턴에서, 세로 획, 가로 획, 삐침등을 고품위로 생성할 수 있다.
또한, 골격점에 대한 윤곽점의 거리와 각도를 보존할 수 있으므로, 윤곽 형상을 변경한 후의 문자 패턴에서, 굴곡부등을 고품위로 생성할 수 있다.
골격 선분에 대한 윤곽점의 거리를 보존할 수 있으므로, 윤곽 형상을 변경한 후의 문자 패턴에서, 비늘부 등을 고품위로 생성할 수 있다.
이 발명에 따르면, 문자체 골격 형상 정보와 요소 골격 형상 정보와 요소 윤곽 형상 정보를 미리 기억해 놓고, 문자의 굵기를 변경하는 경우에는, 굵기의 변경을 계산으로 행할 것인지 대체 요소에 의한 요소 치환으로 행할 것인지를 판정하고, 그것에 따라 요소 윤곽 형상의 굵기를 변경하도록 한 경우에는 요소에 따른 최적의 방법으로 요소의 형상을 변경할 수 있고, 이에 따라 비교적 적은 용량으로 매우 고품위의 굵고 가는 문자 패턴을 생성할 수 있다.
또한, 문자체 골격 형상 정보에 맞춰 요소 골격 형상 정보를 변경한 후, 변경 방식 판정부에 의해 윤곽점의 이동 조건을 판별하고, 그 판정된 이동 조건에 따라 요소 윤곽 형상 정보의 각 윤곽점을 이동시키도록 한 경우에는, 구성 요소의 윤곽 형상에 따른 최적의 이동 방법으로 요소 윤곽 형상의 각 윤곽점을 이동시킬 수 있으므로, 이에 의해 고품위의 문자 패턴을 생성할 수 있다.

Claims (10)

  1. 문자의 골격 형상을 나타낸 문자체 골격 형상 정보와, 문자를 구성하는 구성 요소의 골격 형상을 서체마다 정리한 요소 골격 형상 정보와, 문자를 구성하는 구성 요소의 윤곽 형상을 서체마다 정리한 요소 윤곽 형상 정보를 미리 기억한 기억부와,
    표준의 굵기의 문자에 대해 문자의 굵기를 변경할 것인지의 여부를 판정하는 굵기 판정부와,
    문자의 굵기를 변경하는 경우, 요소 윤곽 형상 정보의 굵기 변경 처리를 계산으로 행할 것인지 대체 요소에 의한 요소 치환으로 행할지의 판정을 하나의 구성 요소마다 행하는 굵기 변경 처리 판정부와,
    굵기 변경 처리 판정부의 판정에 따라 요소 윤곽 형상 정보의 굵기를 변경하는 요소 윤곽 굵기 변경부와,
    문자체 골격 형상 정보에 맞춰 요소 골격 형상 정보를 변형함과 동시에, 그것에 부수(付隨)하여, 변형된 요소 골격 형상 정보에 대응시켜 요소 윤곽 형상 정보를 변경하는 요소 골격 형상·요소 윤곽 형상 변경부와,
    변경된 윤곽 형상 정보를 이용하여 문자 패턴을 생성하는 생성부를 구비하여 이루어지는 것을 특징으로 하는 문자 패턴 생성 장치.
  2. 제1항에 있어서,
    기억부가, 문자체 골격 형상 정보와 요소 골격 형상 정보와 요소 윤곽 형상 정보를 미리 기억할 때, 문자체 골격 형상 정보 중에, 구성 요소에 대응하는 요소 윤곽 형상 정보를 지시하는 요소 접합 정보(element pasting data)와, 구성 요소의 굵기 변경 처리의 판정에 필요한 굵기 변경 처리 판정 정보를 기억하는 것을 특징으로 하는 문자 패턴 생성 장치.
  3. 제1항에 있어서,
    기억부가, 문자체 골격 형상 정보와 요소 골격 형상 정보와 요소 윤곽 형상 정보를 미리 기억할 때, 1서체분의 요소 윤곽 형상 정보 중에, 요소 윤곽 굵기 변경 처리에 필요한 굵기 변경 속성 정보를 기억하는 것을 특징으로 하는 문자 패턴 생성 장치.
  4. 제1항에 있어서,
    기억부가, 문자체 골격 형상 정보와 요소 골격 형상 정보와 요소 윤곽 형상 정보를 미리 기억할 때, 1서체분의 요소 윤곽 형상 정보 중에, 요소 윤곽 형상의 변경에 필요한 요소 윤곽 형상 변경 정보를 기억하는 것을 특징으로 하는 문자 패턴 생성 장치.
  5. 제1항에 있어서,
    기억부가, 문자체 골격 형상 정보와 요소 골격 형상 정보와 요소 윤곽 형상 정보를 미리 기억할 때, 요소 골격 형상 정보의 각 골격점을, Y 좌표가 0이 되도록 좌표 변환을 행하고, 그것에 부수하여 요소 윤곽 형상 정보를 변경한 후에 기억하는 것을 특징으로 하는 문자 패턴 생성 장치.
  6. 제1항에 있어서,
    요소 윤곽 굵기 변경부가, 요소 윤곽 형상의 굵기를 변경할 때, 굵기 변경 속성 정보에 따라, 요소 윤곽 형상 정보 내의 각 윤곽점을, X 좌표를 고정하여 Y 좌표만을 이동시킬 것인지, 또는 X 좌표와 Y 좌표 모두 고정할 것인지의 판별을 행하는 것을 특징으로 하는 문자 패턴 생성 장치.
  7. 문자의 골격 형상을 나타낸 문자체 골격 형상 정보와, 문자를 구성하는 구성 요소의 골격 형상을 서체마다 정리한 요소 골격 형상 정보와, 문자를 구성하는 구성 요소의 윤곽 형상을 서체마다 정리한 요소 윤곽 형상 정보를 미리 기억한 기억부와,
    문자체 골격 형상 정보에 맞춰 요소 골격 형상 정보를 변경하는 요소 골격 형상 변경부와,
    윤곽점의 이동 조건을 판별하는 변경 방식 판정부와,
    변경 방식 판정부에 의해 판정된 이동 조건에 따라 요소 윤곽 형상 정보의 각 윤곽점을 이동시키는 요소 윤곽 형상 변경부와,
    변경된 윤곽 형상 정보를 이용하여 문자 패턴을 생성하는 생성부를 구비하여 이루어지는 것을 특징으로 하는 문자 패턴 생성 장치.
  8. 제7항에 있어서,
    요소 윤곽 형상 변경부가, 요소 윤곽 형상 정보 내의 윤곽점을 이동시킬 때, 이동 대상으로 되어 있는 윤곽점과 그것에 대응하는 골격선과의 거리를 고정하고, 이동 대상으로 되어 있는 윤곽점으로부터 골격선을 향해 내린 수선과 그 골격선과의 교점과 골격점과의 거리를 요소 골격의 변경에 맞춰 확대 축소하고, 그것에 부수하여 윤곽점을 이동시키는 것을 특징으로 하는 문자 패턴 생성 장치.
  9. 제7항에 있어서,
    요소 윤곽 형상 변경부가, 요소 윤곽 형상 정보 내의 윤곽점을 이동시킬 때, 이동 대상으로 되어 있는 윤곽점과 그것에 대응하는 골격선과의 거리를 고정함과 동시에, 이동 대상으로 되어 있는 윤곽점으로부터 골격선을 향해 내린 수선과 그 골격선과의 교점과 골격점과의 거리를 고정하여 윤곽점을 이동시키는 것을 특징으로 하는 문자 패턴 생성 장치.
  10. 제7항에 있어서,
    요소 윤곽 형상 변경부가, 요소 윤곽 형상 정보 내의 윤곽점을 이동시킬 때, 윤곽점과 골격점과의 거리와 각도를 고정하여 윤곽점을 이동시키는 것을 특징으로 하는 문자 패턴 생성 장치.
KR1019970040095A 1996-08-23 1997-08-22 문자패턴생성장치 KR100295261B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP22247396A JP3437037B2 (ja) 1996-08-23 1996-08-23 文字パターン生成装置
JP96-222473 1996-08-23

Publications (2)

Publication Number Publication Date
KR19980018890A true KR19980018890A (ko) 1998-06-05
KR100295261B1 KR100295261B1 (ko) 2001-08-07

Family

ID=16782973

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970040095A KR100295261B1 (ko) 1996-08-23 1997-08-22 문자패턴생성장치

Country Status (5)

Country Link
US (1) US6130667A (ko)
JP (1) JP3437037B2 (ko)
KR (1) KR100295261B1 (ko)
CN (1) CN1093953C (ko)
TW (1) TW434506B (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6329936B1 (en) * 1998-10-30 2001-12-11 Agilent Technologies Inc. Statistical adjustment of A/D non-linearities to correct intensity ARI
KR100324879B1 (ko) 1999-02-01 2002-02-28 마찌다 가쯔히꼬 문자 표시 장치, 문자 표시 방법 및 기록 매체
US6930686B1 (en) * 1999-06-17 2005-08-16 International Business Machines Corporation Method and apparatus for drawing thick graphic primitives
JP3578689B2 (ja) 1999-12-24 2004-10-20 シャープ株式会社 文字表示装置、文字表示方法および記録媒体
JP3413383B2 (ja) * 2000-02-17 2003-06-03 株式会社ナムコ ゲームシステム及び情報記憶媒体
JP2004117714A (ja) * 2002-09-25 2004-04-15 Riso Kagaku Corp フォント生成装置及びフォント生成プログラム
US8121338B2 (en) 2004-07-07 2012-02-21 Directsmile Gmbh Process for generating images with realistic text insertion
US9305235B1 (en) * 2007-12-21 2016-04-05 Cognex Corporation System and method for identifying and locating instances of a shape under large variations in linear degrees of freedom and/or stroke widths
CN102754145B (zh) * 2010-01-28 2015-04-08 森泽文研株式会社 文字生成方法、文字生成装置以及字体数据
US20140354652A1 (en) * 2012-04-27 2014-12-04 Mitsubishi Electric Corporation Character drawing device and character drawing method
CN105513006B (zh) * 2014-10-16 2018-10-19 北京汉仪科印信息技术有限公司 一种TrueType字体轮廓粗细调整方法及装置
KR101777521B1 (ko) * 2016-08-11 2017-09-11 숭실대학교산학협력단 스타일 변경이 가능한 폰트 생성 방법 및 장치
CN108305209B (zh) * 2017-01-12 2021-06-04 富士通株式会社 字符变形方法和字符变形设备
CN110570494A (zh) * 2018-06-05 2019-12-13 艾司科软件有限公司 用于各向异性地修改文本属性以符合分辨率极限的方法和设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6165290A (ja) * 1984-09-07 1986-04-03 株式会社日立製作所 ベクトル文字フオントの作成装置
US5398311A (en) * 1987-02-25 1995-03-14 Canon Kabushiki Kaisha Character processing apparatus and method for processing character data as an array of coordinate points of contour lines
US4897638A (en) * 1987-02-27 1990-01-30 Hitachi, Ltd. Method for generating character patterns with controlled size and thickness
JPS63271290A (ja) * 1987-04-30 1988-11-09 株式会社日立製作所 文字パタ−ン生成方式
JP3145509B2 (ja) * 1992-11-09 2001-03-12 富士通株式会社 文字生成方法及びその装置
JP3238580B2 (ja) * 1994-09-14 2001-12-17 シャープ株式会社 太め細め文字生成装置
JP3113175B2 (ja) * 1995-06-29 2000-11-27 シャープ株式会社 文字・記号パターン発生装置
JP3207336B2 (ja) * 1995-07-31 2001-09-10 シャープ株式会社 文字パターン生成装置
JP3330277B2 (ja) * 1996-03-25 2002-09-30 シャープ株式会社 文字パターン生成装置

Also Published As

Publication number Publication date
JPH1063249A (ja) 1998-03-06
TW434506B (en) 2001-05-16
US6130667A (en) 2000-10-10
KR100295261B1 (ko) 2001-08-07
CN1093953C (zh) 2002-11-06
JP3437037B2 (ja) 2003-08-18
CN1175749A (zh) 1998-03-11

Similar Documents

Publication Publication Date Title
KR100295261B1 (ko) 문자패턴생성장치
KR100216614B1 (ko) 문자 패턴 발생 장치
JP3330277B2 (ja) 文字パターン生成装置
JPH09106271A (ja) 文字生成装置
JP3207336B2 (ja) 文字パターン生成装置
JP3792171B2 (ja) 文字パターン生成装置
KR100254659B1 (ko) 문자 생성 장치
JP3055187B2 (ja) 輪郭線データ処理装置
KR100227178B1 (ko) 문자 생성 장치
JPH05232926A (ja) 文字記号発生装置
JPH02280195A (ja) 文字処理装置および方法
JP3283762B2 (ja) 文字パターン生成装置
JP2697328B2 (ja) 輪郭線データ処理装置
JP3082173B2 (ja) 輪郭線データの処理装置
JPH0493992A (ja) 文字・図形描画装置
JPH04104296A (ja) 文字・図形描画装置
JPH056164A (ja) 文字処理装置
JPH0792954A (ja) データ変換装置
JPH06110444A (ja) 文字処理装置および文字出力方法
JP2754579B2 (ja) データ変換装置
JPH05228741A (ja) Cad/cam装置
JPH1020846A (ja) 文字処理装置
JPH02242296A (ja) 文字処理装置及び方法
JPH0695642A (ja) 文字・記号パターンの生成装置
JPH06324667A (ja) データ変換装置

Legal Events

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

Payment date: 20110318

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee