KR101466528B1 - 감열 매체 상에 화상을 묘화하는 장치, 방법 및 컴퓨터 프로그램 제품 - Google Patents

감열 매체 상에 화상을 묘화하는 장치, 방법 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR101466528B1
KR101466528B1 KR1020137012570A KR20137012570A KR101466528B1 KR 101466528 B1 KR101466528 B1 KR 101466528B1 KR 1020137012570 A KR1020137012570 A KR 1020137012570A KR 20137012570 A KR20137012570 A KR 20137012570A KR 101466528 B1 KR101466528 B1 KR 101466528B1
Authority
KR
South Korea
Prior art keywords
stroke
strokes
group
character
overlapping portion
Prior art date
Application number
KR1020137012570A
Other languages
English (en)
Other versions
KR20130088161A (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 KR20130088161A publication Critical patent/KR20130088161A/ko
Application granted granted Critical
Publication of KR101466528B1 publication Critical patent/KR101466528B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/315Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of heat to a heat sensitive printing or impression-transfer material
    • B41J2/32Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of heat to a heat sensitive printing or impression-transfer material using thermal heads
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41FPRINTING MACHINES OR PRESSES
    • B41F33/00Indicating, counting, warning, control or safety devices
    • B41F33/0036Devices for scanning or checking the printed matter for quality control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/435Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of radiation to a printing material or impression-transfer material
    • B41J2/475Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of radiation to a printing material or impression-transfer material for heating selectively by radiation or ultrasonic waves
    • B41J2/4753Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of radiation to a printing material or impression-transfer material for heating selectively by radiation or ultrasonic waves using thermosensitive substrates, e.g. paper
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41MPRINTING, DUPLICATING, MARKING, OR COPYING PROCESSES; COLOUR PRINTING
    • B41M5/00Duplicating or marking methods; Sheet materials for use therein
    • B41M5/26Thermography ; Marking by high energetic means, e.g. laser otherwise than by burning, and characterised by the material used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals

Landscapes

  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Optics & Photonics (AREA)
  • Quality & Reliability (AREA)
  • Electronic Switches (AREA)
  • Laser Beam Processing (AREA)
  • Fax Reproducing Arrangements (AREA)
  • Heat Sensitive Colour Forming Recording (AREA)

Abstract

감열 매체 상에 화상을 묘화하는 장치는, 원하는 묘화 대상 문자의 화상을 형성하는 연속 스트로크를 그룹화하여 그 연속 스트로크로 이루어진 스트로크 그룹을 하나 이상 생성하도록 구성되는 스트로크 그룹 생성 유닛과, 동일 스트로크 그룹에 연관된 제1 조합의 스트로크 간에 제1 중복 부분을 검출하여, 그 동일 스트로크 그룹 내에서의 스트로크의 배열 순서에 따라 상기 제1 중복 부분을 제거하도록 구성되는 제1 중복 부분 제거 유닛과, 복수의 스트로크 그룹과 연관된 제2 조합의 스트로크 간에 제2 중복 부분을 검출하여, 그 스트로크 그룹으로부터 상기 제2 중복 부분을 제거하도록 구성되는 제2 중복 부분 제거 유닛을 포함한다.

Description

감열 매체 상에 화상을 묘화하는 장치, 방법 및 컴퓨터 프로그램 제품{APPARATUS, METHOD AND COMPUTER PROGRAM PRODUCT FOR DRAWING IMAGE ON THERMAL MEDIUM}
본 발명은 개괄적으로, 열에 의해 발색 성질을 갖는 감열 매체 상에 레이저빔을 인가하여 화상을 묘화하는 열 기술에 관한 것이다.
재기록 가능 기술(rewritable technology)은 편리성 및 환경 부하의 감소를 기대하여 보급되고 있으며, 그 재기록 가능 기술의 각종 모델이 제안되어 있다. 이들 재기록 가능 모델 중에서, 열을 이용하는 감열식 재기록 가능 매체(TRM: Thermal Rewritable Media)가 신속하게 상품으로 출시되었다.
종래 기술의 감열식 재기록 가능 기술은 일반적으로, 감열 헤드에 의한 가열 방식으로 감열식 재기록 가능 매체를 기록하는 가열 기록 시스템을 채택하고 있지만, 최근의 감열식 재기록 가능 기술은 일본 특허 출원 공개 제2004-90026호(이하, "특허문헌 1"이라고 함)에 개시하는 바와 같이, 레이저빔을 인가하여 감열식 재기록 가능 매체를 가열하는 것을 제안하고 있다. 이와 같이 레이저빔의 열을 이용하는 감열식 재기록 가능 기술은, 이 레이저빔의 열을 이용하는 감열식 재기록 가능 기술이 레이저빔에 의한 비접촉 방식의 가열을 수반한다는 점에서 감열 헤드의 열을 이용하는 감열식 재기록 가능 기술과 크게 다르다. 이 구성에서는, 레이저빔이 멀리서 매체에 인가되기 때문에, 컨베이어 벨트 상에서 이동하는 컨테이너 등의 가동 매체 상에도 레이저빔의 인가에 의해 기록하는 것이 가능하다. 이에 따라, 레이저빔을 이용하는 감열식 재기록 가능 기술의 적용 범위가 확장될 수 있다. 레이저에 의한 화상 형성 또는 기록은 예컨대 일본 특허 출원 공개 제2004-341373호(이하, "특허문헌 2"라고 함)에 개시하는 종래부터 잘 알려져 있는 기술이다.
감열식 재기록 가능 매체는 소정의 온도에서 발색이 소거되고 그 소거 온도보다 고온의 온도로 가열되면 발색하는 성질을 갖고 있다. 그러나, 과도한 열이 감열식 재기록 가능 매체에 인가되면, 그 성질이 변하여, 수명 저하 또는 기록의 불완전한 소거 등의 열화가 나타날 수 있다.
예를 들어, 스트로크 폭(레이저빔의 스트로크)이 미리 정해진 레이저빔을 감열식 재기록 가능 매체의 동일 영역에 반복해서 조사할 경우, 중복된 레이저빔의 인가로 감열식 재기록 가능 매체의 그 영역에 과도한 열이 조사될 수 있다. 그러한 영역의 예에는 스트로크(이동 시에 조사된 레이저빔의 궤적을 나타내는 선분)의 "교차", "선회" 및 "접근"이 있다.
도 1과 도 2는 감열식 재기록 가능 매체 상에 레이저빔에 의해 기록된 문자의 예를 도시하는 도면이다.
도 1은 스트로크의 교차에 의해 형성된 중복 부분(P1)을 포함하는 변형된 숫자 "7"(대각선이 "7"에 추가되어 있음)을 도시하고 있다. 스트로크의 중복 부분(P1)은, 레이저빔에 의해 감열식 재기록 가능 매체에 직전에 형성되어, 여전히 여열이 있는 스트로크의 일부에 레이저빔을 반복 인가하여 형성된 것이다. 그 결과, 감열식 재기록 가능 매체 상의 스트로크에 의해 중복 부분(P1)은 온도가 높아져, 감열식 재기록 가능 매체에 악영향을 미칠 수 있다.
더욱이, 도 1에 도시한 스트로크는 스트로크의 선회로 형성된 중복 부분(P2)을 포함한다. 레이저빔의 조사 방향을 제어하는 미러의 관성의 영향으로 인해 비교적 장시간 레이저빔을 인가하여 재기록 가능 매체 상의 스트로크의 선회부가 형성되기 때문에, 감열식 재기록 가능 매체 상의 스트로크의 선회부[즉, 중복 부분(P2)]는 온도가 높아져, 감열식 재기록 가능 매체에 악영향을 미칠 수 있다.
도 2는 각각의 간지를 체계적으로 분류하는데 이용되는 간지 문자의 구성요소인 "어근"의 예를 도시하고 있다. 본 예의 어근은 간지의 좌변에 표시되며 "사람"이란 뜻을 나타낸다. 본 예에서, 도 2에 도시한 스트로크는 사실상 레이저빔의 중심 궤적에 의해 형성되는 중복 부분은 포함하지 않지만, 레이저빔의 폭 때문에 도 2의 스트로크의 중복 부분(P3)이 생긴다.
특허문헌 2에 개시된 레이저빔을 이용하는 감열식 재기록 가능 기술에서는, 감열식 재기록 가능 매체에의 악영향을 방지하기 위해서 스트로크를 분할, 소멸 또는 단축시킴으로써 그리고 스트로크의 길이를 줄임으로써 스트로크의 중복을 없애려고 하였다. 예컨대, 2개의 스트로크에 의해 중복 부분이 생기면, 이들 중, 제거량이 작은 스트로크를 분할, 소멸 또는 단축시킴으로써 중복 부분을 없앤다. 2개의 스트로크가 제거량이 동일하면, 묘화 대상 스트로크의 묘화 순서(앞서 묘화될 스트로크 또는 후속 묘화될 스트로크)에 기초하여, 이들 중 분할, 소멸 또는 단축 대상 스트로크를 결정할 수 있다.
일본 특허 출원 공개 제2004-90026호 일본 특허 출원 공개 제2004-341373호
스트로크 폭을 포함하는 중복 부분을 이상의 방법으로 없앨 경우, 서로 접근하는 2개 이상의 스트로크가 분리 또는 분절되어, 묘화 품질의 저하를 초래할 수 있다.
도 3a는 중복 부분을 없애기 전의 상태인 필기체로 그려진 문자 "x"를 형성하는 스트로크를 도시하고 있다. 도 3a의 필기체 문자 "x"는 연속으로 그려진 스트로크 ST1 ~ ST7과 연속으로 그려진 스트로크 ST8 ~ ST14로 형성된다.
이 경우, 도 3a에 도시하는 2개의 연속 스트로크 그룹(세트)으로 형성된 필기체 문자 "x"로부터 중복 부분을 없애면, 필기체 문자 "x"는 도 3b에 도시하는 바와 같은 연결되지 않은 분절 스트로크가 될 수 있다. 즉, 스트로크 ST3, ST6, ST9, ST12 각각은 한쪽 끝이 단축되어 스트로크 ST3', ST6', ST9', ST12'가 된다(도 3b). 스트로크 ST4, ST11은 소멸되고, 스트로크 ST10, ST5 각각은 양끝이 단축되어 스트로크 ST10', ST5'가 된다(도 3b).
이러한 스트로크의 분리 또는 분절로 인한 묘화 품질의 저하는 연속으로 그려진 스트로크에서뿐만 아니라, 연속으로 그려진 문자 "α"의 "교차부"에서 또는 일본어의 히라가나 중 문자 "す"의 "루프" 부분에서도 발견될 수 있다.
본 발명의 실시형태의 일반적인 목표는, 종래 기술의 한계 및 단점에 의한 하나 이상의 과제를 실질적으로 없애는, 2개 이상의 가장 가까운 스트로크들의 분리로 인한 화상 품질의 저하 없이 감열 매체에 화상을 묘화하는 장치, 방법, 및 컴퓨터 판독 가능한 매체를 제공하는 것이다.
일 실시형태에 있어서, 감열 매체 상에 화상을 묘화하는 장치가 제공된다. 이 장치는 원하는 묘화 대상 문자의 화상을 형성하는 연속 스트로크를 그룹화하여 그 연속 스트로크로 이루어진 스트로크 그룹을 하나 이상 생성하도록 구성되는 스트로크 그룹 생성 유닛과, 동일 스트로크 그룹에 연관된 제1 조합의 스트로크 간에 제1 중복 부분을 검출하여, 그 동일 스트로크 그룹 내에서의 스트로크의 배열 순서에 따라 상기 제1 중복 부분을 제거하도록 구성되는 제1 중복 부분 제거 유닛과, 복수의 스트로크 그룹과 연관된 제2 조합의 스트로크 간에 제2 중복 부분을 검출하여, 그 스트로크 그룹으로부터 상기 제2 중복 부분을 제거하도록 구성되는 제2 중복 부분 제거 유닛을 포함한다.
다른 실시형태에 있어서, 감열 매체 상에 화상을 묘화하는 방법이 제공된다. 이 방법은 원하는 묘화 대상 문자의 화상을 형성하는 연속 스트로크를 그룹화하여 그 연속 스트로크로 이루어진 스트로크 그룹을 하나 이상 생성하는 단계와, 동일 스트로크 그룹과 연관된 제1 조합의 스트로크 간에 제1 중복 부분을 검출하여 그 동일 스트로크 그룹 내에서의 스트로크의 배열 순서에 따라 상기 제1 중복 부분을 제거하는 단계와, 복수의 스트로크 그룹과 연관된 제2 조합의 스트로크 간에 제2 중복 부분을 검출하여 그 스트로크 그룹으로부터 상기 제2 중복 부분을 제거하는 단계를 포함한다.
다른 실시형태에 있어서, 감열 매체 상에 화상을 묘화하는 묘화 제어 프로그램을 저장하는 지속적인 컴퓨터 판독 가능한 기록 매체를 제공하며, 이 묘화 제어 프로그램은 프로세서에 의해 처리될 때에, 묘화 장치의 묘화 제어 유닛으로 하여금 묘화 제어 프로그램의 명령어 세트를 실행하게 한다. 이 명령어 세트는, 원하는 묘화 대상 문자의 화상을 형성하는 연속 스트로크를 그룹화하여 그 연속 스트로크로 이루어진 스트로크 그룹을 하나 이상 생성하는 단계와, 동일 스트로크 그룹과 연관된 제1 조합의 스트로크 간에 제1 중복 부분을 검출하여 그 동일 스트로크 그룹 내에서의 스트로크의 배열 순서에 따라 상기 제1 중복 부분을 제거하는 단계와, 복수의 스트로크 그룹과 연관된 제2 조합의 스트로크 간에 제2 중복 부분을 검출하여 그 스트로크 그룹으로부터 상기 제2 중복 부분을 제거하는 단계를 포함한다.
실시형태의 다른 과제 및 추가 특징은 첨부하는 도면과 함께 이하의 상세한 설명으로부터 명백해질 것이다.
도 1은 감열식 재기록 가능 매체 상에 레이저빔에 의해 묘화된 문자의 예를 도시하는 도면이다.
도 2는 감열식 재기록 가능 매체 상에 레이저빔에 의해 묘화된 문자의 예를 도시하는 도면이다.
도 3a와 도 3b는 스트로크로 형성된 문자로서, 분리 또는 분절이 일어나는 스트로크의 문자의 예를 도시하는 도면이다.
도 4는 스트로크로 형성된 문자로서, 분리 또는 분절이 일어나는 스트로크의 문자의 다른 예를 도시하는 도면이다.
도 5는 실시형태에 따른 감열식 재기록 가능 매체 묘화 장치의 구성예를 도시하는 도면이다.
도 6은 실시형태에 따른 감열식 재기록 가능 매체 묘화 장치의 전체 제어 유닛의 구성예를 도시하는 도면이다.
도 7은 사용자에 의해 지정된 파라미터의 데이터 구조예를 나타내는 도면이다.
도 8은 묘화 문자 관리 데이터의 구조예를 나타내는 도면이다.
도 9는 폰트 데이터의 구조예를 나타내는 도면이다.
도 10a와 도 10b는 스트로크 폰트 데이터의 구조예를 나타내는 도면이다.
도 11a와 도 11b는 아웃트라인 폰트 데이터의 구조예를 나타내는 도면이다.
도 12a와 도 12b는 스트로크 그룹 관리 데이터의 구조예를 나타내는 도면이다.
도 13은 교점열 데이터의 구조예를 나타내는 도면이다.
도 14는 플래그 데이터 등의 구조예를 나타내는 도면이다.
도 15는 실시형태에 따른 감열식 재기록 가능 매체 묘화 장치에 의해 수행되는 프로세스의 개요를 나타내는 흐름도이다.
도 16a와 도 16b는 실시형태에 따른 감열식 재기록 가능 매체 묘화 장치에 의해 수행되는 프로세스의 예를 도시하는 도면이다.
도 17은 실시형태에 따른 감열식 재기록 가능 매체 묘화 장치에 의해 수행되는 프로세스의 예를 나타내는 흐름도이다.
도 18은 스트로크의 중복 부분을 제거하는 프로세스의 예를 나타내는 흐름도이다.
도 19는 스트로크를 그룹화하는 프로세스의 예를 나타내는 흐름도이다.
도 20은 하나의 스트로크의 종점이 다른 스트로크의 시점과 일치하는 2개의 스트로크의 각도의 예를 도시하는 도면이다.
도 21a 내지 도 21c는 스트로크를 그룹화하는 상이한 각도에 기초해 문자를 묘화하여 얻어진 결과의 예를 도시하는 도면이다.
도 22는 대상 문자를 볼드체로 하기 위해 평행 스트로크를 생성하는 프로세스의 예를 나타내는 흐름도이다.
도 23은 평행 스트로크를 생성하는 예를 도면이다.
도 24는 동일 스트로크 그룹 내에서 스트로크의 중복 부분을 제거하는 프로세스의 예를 나타내는 흐름도이다.
도 25는 스트로크 사이의 최단 거리를 산출하는 프로세스의 예를 나타내는 흐름도이다.
도 26a와 도 26b는 서로 평행한 스트로크의 예를 도시하는 도면이다.
도 27은 서로 평행하지 않고 스트로크 사이에 교점을 포함하지 않는 스트로크의 예를 도시하는 도면이다.
도 28은 스트로크가 서로 평행하게 배열되는 경우에 스트로크를 분할하는 프로세스의 예를 나타내는 흐름도이다.
도 29a와 도 29b는 평행 스트로크를 단축 및 삭제하는 예를 도시하는 도면이다.
도 30은 스트로크가 서로 평행하게 배열되지 않은 경우에 스트로크를 분할하는 프로세스의 예를 나타내는 흐름도이다.
도 31a와 도 31b는 서로 교차하는 스트로크의 예를 도시하는 도면이다.
도 32a와 도 32b는 스트로크가 서로 평행하지 않는 경우의 프로세스의 예를 도시하는 도면이다.
도 33은 소멸 가능성이 있는 스트로크에 마크를 표시하는 프로세스의 예를 나타내는 흐름도이다.
도 34a와 도 34b는 스트로크의 교점 각도에 기초해 교점 사이의 거리가 보정되는 경우의 예를 도시하는 도면이다.
도 35는 스트로크 그룹 간에 스트로크의 중복 부분을 제거하는 프로세스의 예를 나타내는 흐름도이다.
도 36은 스트로크 그룹 간에 스트로크의 중복 부분을 제거하는 프로세스의 다른 예를 나타내는 흐름도이다.
도 37a와 도 37b는 다른 스트로크에 약간 접촉하는 스트로크의 예를 도시하는 도면이다.
도 38a와 도 38b는 스트로크 그룹 중 하나를 단축 또는 분할 대상 스트로크 그룹으로서 선택하는 프로세스의 예를 나타내는 흐름도이다.
도 39a와 도 39b는 볼드체 문자의 묘화예를 나타내는 도면이다.
도 40a와 도 40b는 종래 기술의 한계와 단점으로 인한 대상 문자의 미관 열화가 개선된 예를 도시하는 도면이다.
이하, 첨부 도면을 참조하여 양호한 실시형태에 대해 설명한다.
[구성]
도 5는 실시형태에 따른 감열식 재기록 가능 매체 묘화 장치(1)의 구성예를 도시하는 도면이다.
도 5에 있어서, 감열식 재기록 가능 매체 묘화 장치(1)는 그 감열식 재기록 가능 매체 묘화 장치(1)의 전체 동작을 제어하도록 구성된 전체 제어 유닛(11)과, 레이저빔을 조사하도록 구성된 레이저 조사 유닛(12)을 포함한다. 또한, 레이저 조사 유닛(12)은 레이저 발진기(13)와, 레이저빔의 스폿 직경을 조정(즉, 스폿 직경을 확대)하도록 구성된 스폿 직경 조정 렌즈(14)와, 레이저빔의 조사 방향을 변경하도록 구성된 방향 제어 미러(15)와, 방향 제어 미러(15)를 구동하도록 구성된 방향 제어용 모터(16)와, 방향 제어 미러(15)에 의해 방향이 변경된 레이저빔을 감열식 재기록 가능 매체(2) 상에 수속시키도록 구성된 초점 거리 조정 렌즈(17)를 포함한다.
레이저 발진기(13)로서는, 반도체 레이저 다이오드(LD)가 일반적으로 이용되지만, 기체 레이저 발진기, 고체 레이저 발진기, 액체 레이저 발진기 등을 이용할 수도 있다. 방향 제어용 모터(16)는 방향 제어 미러(15)의 반사면을 2축 방향으로 제어하도록 구성된 서보모터일 수 있다. 방향 제어용 모터(16)와 방향 제어 미러(1)는 갈바노미터 미러를 형성한다.
감열식 재기록 가능 매체(2)는 류코(leuco) 염료와 현상제가 분리되어 있는 막으로 형성될 수 있다. 그러한 구성을 갖는 감열식 재기록 가능 매체(2)는 류코 염료와 현상제가 결합하는 미리 정해진 온도(Ta)에서 급랭될 때에 발색할 수 있고, 그 미리 정해진 온도(Ta)보다 낮고 류코 염료와 현상제가 다시 분리되는 미리 정해진 온도(Tb)로 냉각될 때에 소색할 수 있다. 그래서 감열식 재기록 가능 매체(2)는 재기록 가능한 감열 기록 용지일 수 있다. 실시형태에 따른 감열식 재기록 가능 매체 묘화 장치(1)에서는, 이러한 감열식 재기록 가능 매체(2)의 열화를 제어할 수 있지만, 재기록 불가 매체의 열화도 제어할 수 있다.
도 6은 전체 제어 유닛(11)의 구성예를 도시하는 도면이다. 구체적으로, 도 6은 주로 소프트웨어에 의해 전체 제어 유닛(11)이 구현되는 경우에 그 전체 제어 유닛(11)의 하드웨어 구성을 도시하고 있다. 따라서, 이 경우에 컴퓨터는 물리적 실체이다. 컴퓨터가 전체 제어 유닛(11)에 대해 물리적 실체가 아닌 경우에, 전체 제어 유닛(11)은 ASIC(Application Specific Integrated Circuit) 등의 특정 기능을 위해 제조된 IC에 의해 구현된다.
전체 제어 유닛(11)은 CPU(111), 메모리(112), 기억 장치(113), 입력 장치(114), 디스플레이(115), CD/DVD 드라이브(116), 및 네트워크 장치(117)를 포함한다. 하드 디스크 드라이브(HDD) 등의 기억 장치(113)는 일련의 문자에 대한 스트로크 폰트 및 아웃트라인 폰트를 포함하는 폰트 데이터를 기억하는 폰트 데이터 DB(1131)와, 폰트 데이터로부터 중복 부분을 없앰으로써 문자를 묘화하는 묘화 명령을 생성하고 레이저 조사 유닛(12)(도 5 참조)을 제어하는 문자 묘화 프로그램(1132)을 포함한다.
CPU(111)는 기억 장치(113)로부터 문자 묘화 프로그램(1132)을 추출해서, 후술하는 프로시저에 기초하여 감열식 재기록 가능 매체(2)에 문자가 묘화되게 문자 묘화 프로그램(1132)을 실행한다. 메모리(112)는 CPU(111)에 의해 문자 묘화 프로그램(1132)이 실행되고 있는 동안에 작업 영역으로서 사용되는 DRAM 등의 휘발성 메모리일 수 있다. 입력 장치(114)는 레이저 조사 유닛(12)을 제어하는 명령을 사용자가 입력하는데 이용되는 마우스나 키보드일 수 있다. 디스플레이(115)는 문자 묘화 프로그램(1132)에 의해 제공된 화면 정보에 기초하여 미리 정해진 해상도에서 미리 정해진 색상수로 GUI(Graphical User Interface)를 표시하는 사용자 인터페이스로서 사용된다. 예컨대, 디스플레이(115)는 사용자가 감열식 재기록 가능 매체(2)에 묘화하기를 원하는 문자를 입력하기 위한 입력 필드를 표시한다.
CD/DVD 드라이브(116)는 구조적으로 CD/DVD(31)을 탈착시킬 수 있도록 구성되어 있다. CD/DVD 드라이브(116)가 CD/DVD(31)를 부착하고 있는 동안에 CD/DVD(31)로부터 데이터를 추출하거나 CD/DVD(31) 상에 데이터를 기록하도록 구성될 경우, 폰트 데이터 DB(1131) 및 문자 묘화 프로그램(1132)은 배포를 위해 CD/DVD(31)에 저장되어 있다. 따라서, 폰트 데이터 DB(1131) 및 문자 묘화 프로그램(1132)은 CD/DVD(31)로부터 추출되고 추출된 문자 묘화 프로그램(1132)은 기억 장치(113)에 인스톨된다. CD/DVD(31)는 블루레이 디스크(등록 상표), SD 카드, 메모리 스틱(등록 상표), 멀티미디어 카드, 및 xD 카드 등의 비휘발성 메모리 중 어느 하나일 수 있다.
네트워크 장치(117)는 LAN이나 인터넷에 접속하기 위한 인터페이스[예컨대, 이더넷(등록 상표) 카드]로서 기능한다. 네트워크 장치(117)는 OSI 참조 모델의 물리층 또는 데이터 링크층에 규정된 프로토콜에 따라 프로세스를 실행하고, 문자 인코딩에 기초해 레이저 조사 유닛(12)에 묘화 명령을 전송할 수 있다. 폰트 데이터 DB(1131) 및 문자 묘화 프로그램(1132)은 네트워크를 통해 접속된 미리 정해진 서버로부터 다운로드될 수 있다. 이와 달리, 전체 제어 장치(11)와 레이저 조사 유닛(12)은 네트워크를 통해 접속되는 것이 아니라, USB(Universal Serial Bus), IEEE 1394, 무선 USB, 또는 블루투스를 통해 직접 물리 접속이 이루어질 수도 있다.
감열식 재기록 가능 매체(2)에 묘화될 대상 문자는 기억 장치(113)에 리스트로서 저장될 수도 입력 장치(114)를 통해 입력될 수도 있다. 대상 문자는 UNICODE나 JIS 코드 등의 문자 인코딩 시스템에 의해 특정된다. 전체 제어 유닛(11)은 특정된 문자 코드에 대응하는 대상 문자에 대한 문자 폰트 데이터를 폰트 데이터 DB로부터 추출하고, 추출된 대상 문자에 대한 문자 폰트 데이터를 묘화 명령 세트로 변환하며, 그 묘화 명령 세트를 실행하여 레이저 조사 유닛(12)을 제어한다.
도 7 내지 도 14는 감열식 재기록 가능 매체 묘화 장치(1)의 전체 제어 유닛(11)에 의해 처리되는 데이터의 예이다.
도 7은 사용자가 지정하는 파라미터의 데이터 구조예를 나타내는 도면이다. 파라미터의 데이터 구조는 "문자 타입", "문자열(문자 코드 배열)", "볼드체(평행 스트로크의 수, 중복 폭)", "문자 크기(폭, 높이)", "문자 간격", "행 간격", "행 묘화 방향", "묘화 범위", "묘화 가능 범위", 및 "회전"을 포함하는 항목으로 구성되어 있다.
도 8은 묘화 문자 관리 데이터의 구조예를 나타내는 도면이다. 묘화 문자 관리 데이터의 데이터 구조는 "일련 번호(묘화 순서)", "문자 코드", "묘화 위치(X 좌표, Y 좌표)", 및 "묘화 배율"을 포함하는 항목으로 구성되어 있다.
도 9는 폰트 데이터의 구조예를 나타내는 도면이다. 폰트 데이터의 데이터 구조는 스트로크 폰트 데이터와 아웃트라인 폰트 데이터를 포함한다. 스트로크 폰트 데이터는 중심선 트레이스로 또는 단일 스트로크로 형성된 문자를 포함하고, 아웃트라인 폰트 데이터는 아웃트라인 트레이스로 또는 공동(空洞)의 아웃트라인으로 형성된 문자를 포함한다. 스트로크 폰트 데이터로 저장된 모든 문자는 "스트로크 폰트 데이터"와 연관되어 있는 "문자 코드"를 포함한다. 마찬가지로, 스트로크 폰트 데이터로 저장된 모든 문자는 "아웃트라인 폰트 데이터"와 연관되어 있는 "문자 코드"를 포함한다.
도 10a는 스트로크 폰트 데이터의 데이터 구조예를 나타내는 도면이다. 스트로크 폰트 데이터는 "문자 코드"를 나타내는 "c"로 시작되는 행, "데이터 이동"을 나타내는 "m"으로 시작되는 행과, 직선 묘화를 나타내는 "d"로 시작되는 행과, 곡선 묘화를 나타내는 "b"로 시작되는 행(본 예에는 출현하지 않음)으로 구성된 리스트를 포함한다. 도 10b는 도 10a에 나타낸 스트로크 폰트 데이터에 대응하는 문자를 나타내고 있다.
도 11a는 아웃트라인 폰트 데이터의 데이터 구조예를 나타내는 도면이다. 아웃트라인 폰트 데이터는 "문자 코드"를 나타내는 "c"로 시작되는 행, "문자 이동"을 나타내는 "m"으로 시작되는 행, 직선 묘화를 나타내는 "d"로 시작되는 행, 곡선 묘화를 나타내는 "b"로 시작되는 행으로 구성된 리스트를 포함한다. 도 11b는 도 11a에 나타낸 아웃트라인 폰트 데이터에 대응하는 문자를 나타내고 있다.
도 12a는 스트로크 그룹 관리 데이터의 데이터 구조예를 나타내는 도면이다. 스트로크 그룹 관리 데이터는 "스트로크 그룹의 일련 번호"를 나타내는 "GN"으로 시작되는 행과, "스트로크 그룹과 연관된 스트로크의 총수"를 나타내는 "NM"으로 시작되는 행과, 스트로크 그룹과 연관된 데이터로 구성된 리스트를 포함한다. 각 스트로크의 데이터는 스트로크 번호를 나타내는 "SN"으로 시작되는 행과, 시점의 X 좌표를 나타내는 "XS"로 시작되는 행과, 시점의 Y 좌표를 나타내는 "YS"로 시작되는 행과, 종점의 X 좌표를 나타내는 "XE"로 시작되는 행과, 종점의 Y 좌표를 나타내는 "YE"로 시작되는 행을 포함한다. 도 12b는 도 12a에 나타낸 스트로크 그룹 관리 데이터에 대응하는 스트로크 그룹의 예를 나타내고 있다.
도 13은 각 스트로크 그룹과 연관된 교점열 데이터의 구조예를 나타내는 도면이다. 각 교점마다 교점열 데이터의 데이터 구조는 "제1 스트로크 그룹 번호", "제1 스트로크 그룹에서의 스트로크 번호", "제2 스트로크 그룹 번호", "제2 스트로크 그룹에서의 스트로크 번호", "교점의 좌표", 및 "교점 각도"를 포함하는 항목으로 구성되어 있다.
도 14는 플래그 및 기타 데이터의 구조예를 나타내는 도면이다. 플래그 및 기타 데이터의 데이터 구조는 "소멸 가능성 마크", "플래그 term", "플래그 vanish", "플래그 flag", "플래그 other", 및 "총 제거 면적"을 포함하는 항목으로 구성되어 있다.
[동작]
도 15는 실시형태에 따른 감열식 재기록 가능 매체 묘화 장치에 의해 수행되는 프로세스의 개요를 나타내는 흐름도이다. 도 16a는 통상 문자를 묘화하는 프로세스의 예를 도시하고, 도 16b는 볼드체 문자를 묘화하는 프로세스의 예를 도시하고 있다.
도 15에 있어서, 프로세스가 시작되면, 하나의 스트로크로 또는 2개 이상의 스트로크로 형성되는 묘화 대상 문자의 폰트선 코어에 대한 정보를 취득한다(단계 S11). 도 16a의 케이스 (i)는 그러한 단계 S11에 있어서의 (통상의)대상 문자의 폰트선 코어에 대한 정보를 취득하는 프로세스를 나타내고 있다. 볼드체 대상 문자의 폰트선 코어에 대한 정보를 취득하는 프로세스도 도 16a의 케이스 (i)에 나타내는 바와 같이 마찬가지로 수행된다.
다시 도 15를 참조하면, 일련의 연속 스트로크로 구성된 스트로크 그룹을 선택한다(단계 S12). 도 16a의 케이스 (ii)는 그러한 단계 S12에 있어서의 (통상의)대상 문자에 대한 스트로크로 구성된 스트로크 그룹을 선택하는 프로세스를 나타내고 있다. 볼드체 대상 문자에 대해서도 스트로크 그룹을 선택하는 동일 프로세스가 도 16a의 케이스 (ii)에 나타내는 바와 같이 수행된다.
계속해서, 볼드체 대상 문자의 경우에는, 대상 문자의 스트로크 폭을 증가시키기 위해 평행 스트로크를 생성한다(단계 S13). 도 16b의 케이스 (iii)는 그러한 단계 S13에 있어서의 볼드체 대상 문자의 스트로크 폭을 증가시키기 위해 평행 스트로크를 생성하는 프로세스를 나타내고 있다.
다시 도 15를 참조하면, 계속해서 스트로크 그룹 내에서 스트로크의 중복 부분을 제거한다(단계 S14). 도 16a와 도 16b의 케이스 (iv)는 그러한 단계 S14에 있어서의 각각의 통상 문자 및 볼드체 문자에 있어서 스트로크 그룹 내에 스트로크의 중복 부분을 제거하는 프로세스를 나타내고 있다. 이 예에서는, 일본어 히라가나 중 문자 "す"의 루프의 중복 부분이 제거된다. 이 중복 부분은 상-하 방향으로 문자의 루프를 그리는 과정에서 유래되는 것이다.
다시 도 15를 참조하면, 계속해서 스트로크 그룹 간에 스트로크의 중복 부분을 제거한다(단계 S15). 도 16a와 도 16b의 케이스 (v)는 그러한 단계 S15에 있어서의 각각의 통상 문자와 볼드체 문자에 있어서 스트로크 그룹 간에 스트로크의 중복 부분을 제거하는 프로세스를 나타내고 있다. 이 예에서는, 대상 문자의 수평선과 대상 문자의 루프 간의 교차로 생긴 중복 부분이 제거된다. 스트로크 그룹 간의 중복 부분은 좌측에서 우측으로 수평선을 그리고 상측에서 하측으로 루프를 그리는 과정에서 유래되는 것이다.
다시 도 15를 참조하면, 스트로크 그룹 내의 스트로크의 중복 부분과 스트로크 그룹 간의 스트로크의 중복 부분이 제거된 대상 문자의 묘화 데이터를 출력하고(단계 S16), 그 묘화 데이터에 기초해 대상 문자의 묘화가 수행되어 프로세스가 종료된다.
도 17은 실시형태에 따른 감열식 재기록 가능 매체 묘화 장치에 의해 수행되는 프로세스의 예를 나타내는 흐름도이다.
도 17에 있어서, 프로세스가 시작되면, 사용자가 부여한 파라미터에 어떤 형식적인 결함이 있는지의 여부를 체크한다(단계 S101).
계속해서, 사용자가 부여한 파라미터로부터 문자 코드, 문자 간격, 및 행 간격을 취득하여, 각 문자마다 묘화 위치를 산출하고, 각 문자마다 산출된 묘화 위치가 묘화 문자 관리 데이터에 설정된다(단계 S102).
계속해서, 각 문자마다 묘화 배율을 산출하고 각 문자마다 산출된 묘화 배율이 묘화 문자 관리 데이터에 설정된다(단계 S103). 폰트는 예컨대 256*256 화소의 매트릭스 상의 좌표값으로 정의된다. 이 문자의 원래 폰트 크기를 사용자에 의해 부여된 크기(예컨대, 폭 3 ㎝, 높이 2.5 ㎝)로 확대하기 위한 묘화 배율이 산출된다. 스트로크가 스트로크 폭을 포함하기 때문에, 사용자가 부여한 크기보다 (높이 및 폭이)절반만큼 작은 스트로크 폭에 기초하여 묘화 배율이 산출된다. 볼드체를 묘화할 경우, 사용자가 지정한 평행 스트로크의 수에 기초하여 묘화 배율이 산출된다. 예를 들어, 3 내지 9개의 스트로크를 평행하게 그린다면, 스트로크 폭은 원래보다 3 내지 9배가 된다. 그러므로, 묘화 배율은 결과로서 생긴(확대된) 크기의 절반 크기의 스트로크 폭에 기초하여 산출된다.
계속해서, 리스트에 있는 선두 문자로부터 각 문자마다, 문자의 크기가 사용자에 의해 지정된 묘화 범위나 묘화 가능 범위(≒매체의 폭)를 초과하는지의 여부를 판단한다(단계 S104). 문자의 회전이 지정되어 있다면, 회전한 문자의 스트로크가 묘화 범위 또는 묘화 가능 범위로부터 돌출되었는지의 여부를 확인한다.
계속해서, 문자가 돌출 스트로크를 포함하고 있다면, 그 문자는 묘화 대상 문자 리스트에서 제거된다(즉, 그 문자의 묘화 문자 관리 데이터를 삭제한다)(단계 S105).
계속해서, 리스트에 있는 모든 문자에 대해 상기 프로세스가 완료되었는지의 여부를 판단한다(단계 S106). 리스트에 있는 모든 문자에 대해 프로세스가 완료되지 않았다면(단계 S106의 "NO"), 문자가 돌출 스트로크를 포함하고 있는지의 여부를 판단하는 프로세스는 다음 문자에 대해 수행된다(단계 S104로 복귀).
한편, 리스트에 있는 모든 문자에 대해 프로세스가 완료되었다면(단계 S106의 "YES"), 리스트에 있는 문자의 묘화 순서는 묘화 속도를 상승시키도록 변경된다(단계 S107). 예를 들어, 행으로 정렬된 문자들이 수평선 방향으로 묘화되면, 묘화 순서의 최초 정의(디폴트)는 그 정렬된 문자를 좌-우 방향으로 묘화하고 상-하 방향으로 묘화하는 것을 포함한다. 그러나, 제1 문자행의 우단과 그 제1 문자행 아래의 제2 문자행의 좌단 사이의 거리가 멀기 때문에, 상기한 묘화 순서의 정의를 이용하는 문자 묘화에는 시간이 많이 걸린다. 따라서, 한 행 걸러 좌-우 방향으로부터 우-좌 방향으로 묘화 순서를 변경한다.
계속해서, 결정된 묘화 순서에 기초하여, 각 문자마다 폰트 데이터로부터 스트로크 정보를 취득하다(단계 S108). 즉, 이전에 정의된 묘화 배율에 기초하여 폰트 데이터로부터 스트로크의 좌표를 취득한다. 통상의 문자를 묘화할 경우, 스트로크 폰트로부터 스트로크 정보를 취득하고, 아웃트라인 문자를 묘화할 경우에는 아웃트라인 폰트로부터 스트로크 정보를 취득한다.
계속해서, 스트로크의 중복 부분을 제거한다(단계 S109). 스트로크의 중복 부분이 과열되기 때문에, 이 프로세스는 스트로크를 적절한 부분으로 분할하거나, 스트로크의 일부를 단축하거나 스트로크의 일부를 삭제함으로써, 스트로크의 중복 부분을 생성하지 않도록 수행된다. 스트로크가 선분 정보이지만, 스트로크는 스트로크 폭을 포함하는 것이다. 그렇기 때문에, 스트로크끼리 서로 교차하는 경우뿐만 아니라, 스트로크끼리 접근하는 경우에도 중복 부분을 제거해야 한다. 중복 부분을 제거하는 프로세스에 대한 상세 내용은 후술한다.
다음으로, 리스트에 있는 모든 문자에 대해 상기 프로세스가 완료되었는지의 여부를 판단한다(단계 S110). 리스트에 있는 모든 문자에 대해 프로세스가 완료되지 않았다면(단계 S110의 "NO"), 문자가 돌출 스트로크를 포함하고 있는지의 여부를 판단하는 프로세스가 다음 문자에 대해 수행된다(단계 S108로 복귀).
한편, 리스트에 있는 모든 문자에 대해 프로세스가 완료되었다면(단계 S110의 "YES"), 대상 문자를 아웃트라인 형태로 변환하는 프로세스가 수행된다(단계 S111). 이 프로세스는 아웃트라인 문자를 묘화하기를 원할 경우에만 수행된다.
계속해서, 파라미터에 기초하여 스트로크를 회전시킨다(단계 S112). 스트로크가 선분의 종점 좌표로 정의되기 때문에, 단순히 파라미터에만 기초하여 선분의 종점 좌표를 회전시킬 수 있다.
계속해서, 내부 프로세스에서 사용된 스트로크의 데이터 형식을, 묘화 컨트롤러(하위 컨트롤러)에 의해 해석되는 묘화 데이터 형식으로 변환하여(단계 S113), 프로세스를 종료한다.
도 18은 스트로크의 중복 부분을 제거하는 프로세스(도 17의 단계 S109)의 예를 나타내는 흐름도이다.
도 18에 있어서, 스트로크의 중복 부분을 제거하는 프로세스가 시작되면, 대상 문자 중 하나가 전부 칠해진 문자인지의 여부를 판단한다(단계 S201, S202). 전부 칠해진 문자란, 완전히 칠해진 동그라미모양 또는 완전히 칠해진 별모양 등, 통상의 스트로크로는 표현하기 어려운 문자를 가리키는데, 이들 문자는 평행 스트로크로 정의된다. 그러한 문자의 매우 미세한 피치의 선분 데이터가 폰트 데이터에 저장되어 있기 때문에, 문자를 형성하는 선분 중 일부는 대상 문자의 스트로크 폭에 대응하여 제거될(세선화될) 필요가 있다. 전부 칠해진 문자는 스트로크가 거의 전부 평행한지의 여부에 기초하여 판단된다.
대상 문자가 전부 칠해진 문자라고 판단되면(단계 S202의 "YES"), 전부 칠해진 문자는 임시로 비트맵 형식으로 변환된 다음, 그 비트맵 문자는 내부적으로 스캔되어 스트로크를 정의한다(단계 S203). 그 후 프로세스는 종료된다.
한편, 대상 문자가 전부 칠해진 문자가 아니라면(단계 S202의 "NO"), 스트로크는 통합된다(단계 S204). 즉, 폰트 데이터에 저장되어 있는 스트로크는 직선 상에 있지만, 중복된 2개 이상의 스트로크는 개별체로서 정의된다. 그렇기 때문에, 중복된 선은 일직선으로 통합되어 정의된다.
계속해서, 모든 스트로크의 저장 순서는, 종점이 같은 스트로크끼리는 서로 인접하게 위치하도록 변경된 다음, 그 변경된 저장 순서대로 재배열된 스트로크가 저장된다(단계 S205).
다음으로, 저장된 재배열 스트로크가 반전 문자 묘화 대상인지의 여부를 판단한다(단계 S206).
저장된 재배열 스트로크가 반전 문자 묘화 대상이면(단계 S206의 "YES"), 스트로크의 중복 부분을 제거하는 프로세스는 여기에서 종료된다. 이 경우, 제거될 중복 부분이 있더라도, 저장된 문자 데이터 자체는 묘화 대상이 아니다. 따라서, 후속의 중복 부분 제거 단계는 불필요하다.
대상 문자가 반전 문자 묘화 대상이 아니라면(단계 S206의 "NO"), 저장된 재배열 스트로크를 그룹화한다(단계 S207). 공통 종점을 갖는 2개 이상의 스트로크는 연속할 수 있기 때문에 이 그룹화 프로세스가 수행된다. 따라서, 레이저 조사를 스위칭 오프하는 일 없이 연속 스트로크가 레이저에 의해 묘화된다. 이 그룹은 일련의 연속 스트로크로 형성된 스트로크 단위이다. 연속 스트로크를 그룹화하는 프로세스의 상세 내용은 후술한다.
다음으로, 스트로크 그룹 내에 임의의 중복 부분이 있는지의 여부를 판단하고, 스트로크 그룹 내에 중복 부분이 있다면, 중복 부분을 갖는 스트로크는 분할, 단축 또는 삭제 대상이 된다(단계 S208). 스트로크 그룹 내에 중복 부분을 갖는 스트로크를 분할, 단축 또는 삭제하는 프로세스의 상세 내용은 후술한다
계속해서, 소멸 가능성이 있는 스트로크 그룹에 마크를 표시한다(단계 S209). 중복 부분을 갖는 스트로크를 분할, 단축 또는 삭제할 경우에, 중복 부분을 갖는 스트로크 전체가 소멸되거나, 2개의 스트로크 사이에 끼인 중복 부분이 소멸될 수 있다. 그 결과, 스트로크의 시인성이 정보량의 부족으로 크게 저하될 수 있다. 그렇기 때문에, 소멸 가능성이 있는 이들 스트로크에 마크를 표시하여 이러한 스트로크를 분할 또는 단축하지 않도록 하는 것이 바람직하다. 소멸 가능성이 있는 스트로크에 마크를 표시하는 프로세스의 상세 내용은 후술한다.
계속해서, 스트로크 그룹을 2개 선택하고, 선택된 스트로크 그룹 간에 스트로크의 중복 부분을 제거한다(단계 S210). 스트로크 그룹 간에 스트로크의 중복 부분을 제거하는 프로세스의 상세 내용은 후술한다.
계속해서, 스트로크 그룹의 종점을 연장시킨다(단계 S211). 스트로크 그룹의 종점부는 방열하기 쉽기 때문에, 실제로 묘화된 스트로크는 스트로크 그룹의 원하는 길이보다 줄어들 수 있다. 그러므로, 스트로크 그룹의 종점부를 연장시킴으로써 스트로크 그룹의 원하는 길이를 묘화할 수 있다.
계속해서, 문자 내 스트로크 순서를 재배열(변경)한다(단계 S212). 효율적인 묘화 순서로 스트로크를 묘화하여 불필요한 점프[무(無)레이저 조사 이동]를 줄임으로써, 레이저 마커로 문자의 스트로크를 묘화하는 묘화 시간을 단축할 수 있다.
계속해서, 교점 점프를 설정한다(단계 S213). 교점 점프란, 마크 표시 속도와 동일한 속도로 레이저 마커가 점프하는 것을 가리킨다. 일반적으로, 레이저 마커의 점프는 마크 표시 속도보다 고속으로 수행된다. 레이저 마커의 마크 표시 속도와 같은 속도로 마크 사이를 점프하는 레이저 마커의 점프 속도를 설정함으로써 더 이상 대기 시간을 삽입할 필요가 없기 때문에, 문자의 스트로크를 묘화하는 묘화 시간을 단축할 수 있다. 그 후, 프로세스는 종료된다.
도 19는 스트로크를 그룹화하는 프로세스(도 18의 단계 S207)의 예를 나타내는 흐름도이다.
도 19에 있어서, 스트로크를 그룹화하는 프로세스가 시작되면, 대상 문자가 볼드체 문자인지의 여부를 판단한다(단계 S301). 대상 문자가 볼드체 문자인지의 여부는 사용자에 의해 부여된 파라미터에 기초하여 판단된다.
대상 문자가 볼드체 문자이면(단계 S301의 "YES"), 볼드체 문자를 위한 이하의 프로세스(단계 S302 내지 S307)가 수행된다. 한편, 대상 문자가 볼드체 문자가 아니면(단계 S301의 "NO"), 볼드체 문자를 위한 이하의 프로세스(단계 S302 내지 S307)는 수행되지 않는다.
볼드체 문자를 위한 프로세스에서는, 처음에 2개의 스트로크가 선택되고(단계 S302), 선택된 2개의 스트로크 중 하나의 스트로크의 종점이 다른 스트로크의 시점과 일치하는지의 여부를 판단한다(단계 S303).
선택된 스트로크 중 하나의 스트로크의 종점이 다른 스트로크의 시점과 일치하면(단계 S303의 "YES"), 일치점과의 2개의 스트로크의 각도가 85도를 넘는지의 여부를 판단한다(단계 S304). 도 20은 하나의 스트로크의 종점이 다른 스트로크의 시점과 일치하는 2개의 스트로크의 각도예를 도시하고 있다. "각도 85도"에 대해서는 후술한다.
다시 도 19를 참조하면, 일치점과의 선택된 2개의 스트로크의 각도가 85도를 넘는다면(단계 S304의 "NO"), 2개의 스트로크를 동일 스트로크 그룹으로서 그룹화한다(단계 S305).
한편, 선택된 스트로크 중 하나의 스트로크의 종점이 다른 스트로크의 시점과 일치하지 않으면(단계 S303의 "NO"), 또는 일치점과의 선택된 2개의 스트로크의 각도가 85도를 넘지 않는다면(단계 S304의 "YES"), 선택된 2개의 스트로크는 그룹화되지 않는다(단계 S305를 수행하지 않음).
계속해서, 상기 단계 S303의 프로세스에 대해 스트로크의 모든 조합이 검사되었는지의 여부를 판단한다(단계 S306). 스트로크의 모든 조합에 대해 검사되지 않았다면(단계 S306의 "NO"), 단계 S302에 있어서 2개의 스트로크를 선택하는 프로세스가 수행된다(단계 S302로 복귀).
한편, 스트로크의 모든 조합에 대해 검사되었다면(단계 S306의 "YES"), 원하는 스트로크 두께에 대응하여 평행 스트로크를 생성한다(단계 S307). 예를 들어, 3개의 스트로크로 볼드체를 표현한다면, 대상 스트로크의 각 옆에 하나씩 2개의 평행 스트로크가 생성된다. 평행 스트로크를 생성하는 프로세스의 상세 내용은 후술한다.
다음으로, 볼드체 대상 문자 또는 통상의 대상 문자 중 어느 한 경우에, 2개의 스트로크를 선택하고(단계 S308), 선택된 2개의 스트로크 중 하나의 스트로크의 종점이 다른 스트로크의 시점과 일치하는지의 여부를 판단한다(단계 S309).
선택된 2개의 스트로크 중 하나의 스트로크의 종점이 다른 스트로크의 시점과 일치하면(단계 S309의 "YES"), 일치점과의 2개의 스트로크의 각도가 135도를 넘는지의 여부를 판단한다(단계 S310). "각도 135도"에 대해서는 후술한다.
일치점과의 2개의 스트로크의 각도가 135도를 넘는다면(단계 S310의 "NO"), 2개의 스트로크를 동일 스트로크 그룹으로서 그룹화한다(단계 S311).
한편, 선택된 2개의 스트로크 중 하나의 스트로크의 종점이 다른 스트로크의 시점과 일치하지 않는다면(단계 S309의 "NO"), 또는 일치점과의 선택된 2개의 스트로크의 각도가 135도를 넘지 않는다면(단계 S310의 "YES"), 선택된 2개의 스트로크는 동일 스트로크 그룹으로 그룹화되지 않는다(단계 S311을 수행하지 않는다).
계속해서, 스트로크의 모든 조합에 대해 검사되었는지의 여부를 판단한다(단계 S312). 스트로크의 모든 조합에 대해 검사되지 않았다면(단계 S312의 "NO"), 단계 S302에 있어서 2개의 스트로크를 선택하는 프로세스가 수행된다(단계 S302로 복귀).
한편, 스트로크의 모든 조합에 대해 검사되었다면(단계 S312의 "YES"), 프로세스가 종료된다.
상기 프로세스에 있어서, 일치점과의 선택된 2개의 스트로크의 각도가 중요한 이유는, 일치점과의 급각도를 갖는 선택된 2개의 스트로크는 상이한 스트로크 그룹으로 그룹화되는 것이 바람직하기 때문이다(예컨대, 도 1의 우측에 도시하는 점 P2에 형성된 절곡부의 급각도 참조). 레이저빔에 의해 급각도를 갖는 2개의 스트로크의 절곡부의 마킹 시에 마킹 방향을 변경하는 데에는 미러의 관성으로 인해 긴 시간이 걸리기 때문에, 그 긴 시간 동안 절곡부에 레이저빔이 인가될 수 있고 그 결과 절곡부는 과열되게 된다. 따라서, 이 절곡부를 형성하는 2개의 스트로크를 복수의 스트로크 그룹으로서 그룹화하고 급각도를 갖는 2개의 스트로크의 절곡부의 마킹 시에는 레이저빔을 일시적으로 턴오프하는 것이 바람직하다.
볼드체 문자의 경우에, 새롭게 생성된 평행 스트로크를 그룹화하는 것이 바람직하다. 평행 스트로크를 그룹화하는데 있어서 각도 조건이 다르기 때문에, 그룹화가 2번 필요할 수 있다.
각도 조건이 주어지지 않는다면, 급각도를 갖는 2개의 스트로크의 절곡부는 도 21a에 도시하는 예와 같은 결과가 된다. 후속 프로세스에서 사용되는 각도와 동일한 각도 135도가 각도 조건에 설정되면, 급각도를 갖는 2개의 스트로크의 절곡부는 도 21b에 도시하는 예와 같은 결과가 된다. 즉, "5"의 좌측 상부는 미관이 나쁘다. 따라서, 프로세스에 적정한 각도 85도가 적용되고, 그 결과 도 21c에 나타내는 예를 얻을 수 있다.
도 22는 원하는 두께에 대응하여 평행 스트로크를 생성하는 프로세스(도 19의 단계 S307)의 예를 나타내는 흐름도이다.
도 22에 있어서, 프로세스가 시작되면, 저장에 필요한 스트로크 그룹 배열(묘화 문자 관리 데이터)을 새롭게 확보한다(단계 S401).
계속해서, 원래 스트로크 그룹 번호를 수정한다(단계 S402). 스트로크 그룹은, "0"부터 시작되는 번호에 1씩 더하여 얻어진 상이한 스트로크 번호에 의해 식별된다. 사용자에 의해서 지정된 평행 스트로크의 수에 기초하여, 상이한 스트로크 번호가 변경된다. 예컨대, 3개의 평행 스트로크를 서로 평행하게 배열함으로써 볼드체를 표현하면, 현재 스트로크 그룹 번호 "0, 1, 2, 3, …, n"은 "1, 4, 7, 10, …, 3n+1"로 각각 변경된다. 5개의 평행 스트로크를 서로 평행하게 배열함으로써 볼드체를 표현하면, 현재 스트로크 그룹 번호 "0, 1, 2, 3, …, n"은 각각 새로운 스트로크 그룹 번호 "2, 7, 12, 17, …, 5n+2"로 각각 변경된다. 즉, 평행 스트로크의 개수가 "i"개인 경우, 동일 스트로크 그룹과 평행하게 생성된 평행 스트로크 그룹은 연속으로 평행한 스트로크의 중심에 위치한다. 이 프로세스는 스트로크 중 어느 것이 후속 프로세스에서 중심 스트로크인지를 판단하기 위한 것이다.
계속해서, 하나의 스트로크 그룹을 취득하고(단계 S403), 취득된 스트로크 그룹에서 하나의 스트로크를 취득하며(단계 S404), 취득된 스트로크의 단위 법선 벡터를 산출한다(단계 S405). 스트로크의 단위 법선 벡터는 스트로크의 시점과 종점을 통과하는 직선의 식에 기초하여 산출된다.
계속해서, 단위 법선 벡터의 방향으로 스트로크 폭만큼 시프트된 위치에, 주목한 스트로크의 길이와 동일한 길이를 갖는 추가 스트로크를 생성한다(단계 S406). 더 정확하게는, 시프트 위치는 사용자에 의해 지정된 중복 폭[필 오버랩(fill overlap)만큼 감소한다.
계속해서, 주목한 스트로크 그룹 내의 모든 스트로크에 대해 검사되는지의 여부를 판단한다(단계 S407). 주목한 스트로크 그룹 내의 모든 스트로크에 대해 검사되지 않았다면(단계 S407의 "NO"), 단계 S404에 있어서 주목한 스트로크 그룹에서 하나의 스트로크를 취득하는 프로세스가 수행된다(단계 S404로 복귀).
주목한 스트로크 그룹 내의 모든 스트로크에 대해 검사되었다면(단계 S407의 "YES"), 사용자에 의해 지정된 스트로크의 수에 기초하여, 다른 평행 스트로크의 생성 여부를 판단한다(단계 S408). 다른 평행 스트로크가 생성되지 않는다면(단계 S408의 "NO"), 단계 S404에 있어서 주목한 스트로크 그룹에서 하나의 스트로크를 취득하는 프로세스가 수행된다(단계 S404로 복귀).
한편, 다른 평행 스트로크가 생성되어야 한다면(단계 S408의 "YES"), 다음의 프로세스가 수행될 것이다.
이 시점에서, 도 23의 (a)에 도시하는 바와 같이, 연속 평행 스트로크가 서로 적절하게 연결되지 않고, 내측 평행 스트로크의 절곡부는 중복되고, 외측 평행 스트로크의 절곡부는 단절(분리)된다. 그렇기 때문에, 이 내측 평형 스트로크의 중복 부분과 외측 평행 스트로크의 분리 부분은 후속 프로세스에서 수정된다.
다시 도 22를 참조하면, 동일 스트로크 그룹과 연관된 인접한 평행 스트로크[예컨대, 도 23의 (a)에 도시된 최상측 스트로크]를 선택하고(단계 S409), 선택된 평행 스트로크의 교점을 산출한다(단계 S410).
계속해서, 산출된 교점까지 스트로크를 단축하거나 연장시킨다(단계 S411).
계속해서, 주목한 스트로크 그룹 내의 스트로크의 모든 조합에 대해 검사되었는지의 여부를 판단한다(단계 S412). 주목한 스트로크 그룹 내의 스트로크의 모든 조합에 대해 검사되지 않았다면(단계 S412의 "NO"), 단계 S403에 있어서 동일 스트로크 그룹과 연관된 인접하는 평행 스트로크를 선택하는 프로세스가 수행된다(단계 S409로 복귀).
한편, 주목한 스트로크 그룹 내의 스트로크의 모든 조합에 대해 검사되었다면(단계 S412의 "YES"), 모든 스트로크 그룹에 대해 검사되었는지의 여부를 판단한다(단계 S413). 모든 스트로크 그룹에 대해 검사되지 않았다면(단계 S413의 "NO"), 단계 S403에 있어서 하나의 스트로크 그룹을 취득하는 프로세스가 수행된다(단계 S403으로 복귀).
모든 스트로크 그룹에 대해 검사되었다면(단계 S413의 "YES"), 프로세스는 종료된다.
도 24는 스트로크 그룹 내에서 스트로크의 중복 부분을 제거하는 프로세스(도 18의 단계 S208)의 예를 나타내는 흐름도이다.
도 24에 있어서, 스트로크 그룹 내에서 스트로크의 중복 부분을 제거하는 프로세스가 시작되면, 하나의 스트로크 그룹을 취득한다(단계 S501).
계속해서, 그 스트로크 그룹 내에서 2개의 스트로크를 취득한다(단계 S502).
계속해서, 2개의 스트로크 사이의 최단 거리를 산출한다(단계 S503). 2개의 스트로크 사이의 최단 거리를 산출하는 프로세스의 상세 내용은 후술한다.
계속해서, 산출된 2개의 스트로크 사이의 최단 거리가 스트로크 폭 이하인지를 판단한다(단계 S504).
산출된 2개의 스트로크 사이의 최단 거리가 스트로크 폭보다 크면(단계 S504의 "NO"), 그 2개의 스트로크는 중복되지 않기 때문에, 다음 조합의 스트로크 사이의 최단 거리를 산출하는 프로세스가 수행된다.
한편, 2개의 스트로크 사이의 최단 거리가 스트로크 폭 이하이면(단계 S504의 "YES"), 2개의 스트로크는 중복되고, 계속해서 이 2개의 스트로크가 서로 평행한지의 여부를 판단한다(단계 S505).
2개의 스트로크가 서로 평행하면(단계 S505의 "YES"), 앞의 스트로크가 저장된 후에 저장된 뒤의 스트로크가 평행 스트로크를 위한 분할 대상이 된다(단계 S506). 스트로크가 서로 평행할 경우 앞의 스트로크 다음에 저장된 뒤의 스트로크를 분할하는 프로세스의 상세 내용은 후술한다.
2개의 스트로크가 서로 평행하지 않다면(단계 S505의 "NO"), 앞의 스트로크가 저장된 후에 저장된 뒤의 스트로크는 비평행 스트로크를 위한 분할 대상이 된다(단계 S507). 스트로크가 서로 평행하지 않을 경우 앞의 스트로크 다음에 저장된 뒤의 스트로크를 분할하는 프로세스의 상세 내용은 후술한다.
스트로크가 서로 평행하거나 서로 평행하지 않는 것과 관계없이, 저장 순서에 있어서 뒤의 스트로크가 분할 대상이 된다. 이런 식으로, 하나의 그룹 내에 스트로크의 중복 부분이 있는 경우에, 스트로크 간의 인접하는 부분에 있어서 분리 또는 분절을 피할 수 있다.
스트로크 사이의 최단 거리가 스트로크 폭보다 크면(단계 S504의 "NO"), 스트로크의 분할(단계 S506과 S507) 후에, 주목한 스트로크 그룹 내의 모든 스트로크에 대해 검사되었는지의 여부를 판단한다(단계 S508). 얻어진 결과가, 주목한 스트로크 그룹 내의 모든 스트로크에 대해 검사되지 않았음을 나타내면(단계 S508의 "NO"), 단계 S502에 있어서 스트로크 조합을 취득하는 프로세스가 수행된다(단계 S502로 복귀).
주목한 스트로크 그룹 내의 스트로크의 모든 조합에 대해 검사되었다면(단계 S508의 "YES"), 모든 스트로크 그룹에 대해 검사되었는지의 여부를 판단한다(단계 S509). 모든 스트로크 그룹에 대해 검사되지 않았다면(단계 S509의 "NO"), 단계 S501에 있어서 하나의 스트로크 그룹을 취득하는 프로세스가 수행된다(단계 S501로 복귀). 한편, 모든 스트로크 그룹에 대해 검사되지 않았다면(단계 S509의 "YES"), 분할 프로세스가 수행되었는지의 여부를 검사한다(단계 S510).
분할 프로세스가 수행되었다면(단계 S510의 "YES"), 분할된 스트로크는 상이한 그룹으로 그룹화되고(단계 S511), 프로세스는 종료된다. 분할 프로세스가 수행되지 않았다면(단계 S510의 "NO"), 분할 프로세스를 수행하지 않고 프로세스가 종료된다.
도 25는 2개의 스트로크 사이의 최단 거리를 산출하는 프로세스(도 24의 단계 S503)의 예를 나타내는 흐름도이다.
도 25에 있어서, 2개의 스트로크 사이의 최단 거리를 산출하는 프로세스가 시작될 경우, 2개의 스트로크의 종점 사이의 거리가 스트로크 폭보다 큰지의 여부를 판단한다(단계 S601). 즉, 2개의 스트로크의 종점의 x 좌표 간의 거리와 2개의 스트로크의 종점의 y 좌표 간의 거리가 모두 스트로크 폭보다 큰지의 여부를 판단한다(단계 S601).
산출된 2개의 스트로크 사이의 최단 거리가 스트로크 폭보다 명백히 크다면(단계 S601의 "YES"), 2개의 스트로크는 중복되지 않는다. 따라서, 계속해서, 매우 긴 거리가 설정되고(단계 S602), 2개의 스트로크 사이의 정확한 거리를 산출하는 일 없이 프로세스가 종료된다. 2개의 스트로크 사이의 최단 거리를 산출하는 프로세스의 목적은 2개의 스트로크가 중복되지는 여부를 판단하는 것이다. 따라서, 2개의 스트로크 사이의 거리가 명백히 긴 경우에는 그 거리를 산출할 필요가 없다.
한편, 산출된 2개의 스트로크 사이의 최단 거리가 스트로크 폭 이하이면(단계 S601의 "NO"), 2개의 스트로크가 서로 평행한지의 여부를 판단한다(단계 S603). 2개의 스트로크가 서로 평행한지의 여부는, 2개의 스트로크의 시점과 종점을 통과하는 2개의 직선 각각의 식의 기울기를 비교함으로써 판단된다.
2개의 스트로크가 서로 평행하면(단계 S603의 "YES"), 양 스트로크는 x축 방향으로 평행하게 회전한다(단계 S604).
계속해서, 회전한 스트로크가 중복 부분을 포함하는지의 여부를 판단한다(단계 S605).
회전한 스트로크가 x축 방향으로 중복 부분을 포함하면(단계 S605의 "YES"), 직선 사이의 거리(즉, y축 방향에 있어서 직선 간의 차이)는 스트로크 사이의 거리의 최소값에 해당한다. 그렇기 때문에, 구한 값은 2개의 스트로크 사이의 거리로서 설정되고(단계 S606), 프로세스는 종료된다. 그러한 경우의 예를 도 26a에 도시하고 있다.
다시 도 25를 참조하면, 회전한 스트로크가 x축 방향으로 중복 부분을 포함하지 않는다면(단계 S605의 "NO"), 2개의 스트로크의 종점 사이의 거리의 최소값은 2개의 스트로크 사이의 거리의 최소값에 해당한다. 그렇기 때문에, 2개의 스트로크의 종점 사이의 거리의 최소값이 산출되고 산출된 2개의 스트로크의 종점 사이의 최소값이 설정되며(단계 S607), 프로세스는 종료된다. 그러한 경우의 예를 도 26b에 도시하고 있다.
다시 도 25를 참조하면, 2개의 스트로크가 서로 평행하지 않는다면(단계 S603의 "NO"), 2개의 스트로크의 교점이 산출되고, 그 교점이 2개의 스트로크 내에 존재하는지의 여부를 판단한다(단계 S608).
교점이 2개의 스트로크 내에 존재하면(단계 S608의 "YES"), 2개의 스트로크 사이의 거리에 "0"이 설정되고(단계 S609), 프로세스는 종료된다.
2개의 스트로크 내에 존재하는 교점이 없다면(단계 S608의 "NO"), 2개의 스트로크 사이의 최단 거리(α)가 산출된다(단계 S610).
계속해서, 하나의 스트로크의 소정의 종점에서 다른 스트로크에 수선을 내리고, 그 다른 스트로크에서 수선의 발의 좌표를 산출한다(단계 S611).
계속해서, 수선의 발이 다른 스트로크 내에 존재하는지의 여부를 판단한다(단계 S612).
수선의 발이 다른 스트로크 내에 존재하면(단계 S612의 "YES"), 수선의 소정의 종점과 발 사이의 거리(β)를 산출한다(단계 S613). 도 27은 2개의 스트로크 사이의 거리 α와 거리 β의 예를 도시하고 있다.
다시 도 25를 참조하면, 수선의 발이 스트로크 내에 없다면(단계 S612의 "NO"), 어떤 프로세스도 수행되지 않는다.
계속해서, 모든 종점에 대해 검사되었는지의 여부를 판단한다(단계 S614). 모든 종점에 대해 검사되지 않았다면(단계 S614의 "NO"), 단계 S611에 있어서 수선의 발을 산출하는 프로세스가 수행된다(단계 S611로 복귀).
한편, 모든 종점에 대해 검사되었다면(단계 S614의 "YES"), 최소값(α, β)이 스트로크 사이의 각각의 거리에 설정되고(단계 S615), 프로세스는 종료된다.
도 28은 스트로크가 서로 평행한 경우에 스트로크를 분할하는 프로세스(도 24의 단계 S506)의 예를 나타내는 흐름도이다.
도 28에 있어서, 스트로크 그룹에서 스트로크를 분할하는 프로세스가 시작되면, 2개의 스트로크를 x축과 평행하게 회전시킨다(단계 S701). 더 구체적으로, 다음의 프로세스가 수행된다.
처음에, x축과의 각각의 회전 각도가 산출된다. x축과의 회전 각도의 각각의 sin 및 cos를 각각 "sint" 및 "cost"로서 정의하고, 스트로크의 직선 식을 "ax + by + c = 0"이라고 하면, x축과의 회전 각도 "sint" 및 "cost"는 다음의 식으로부터 구해진다.
sint = -a/sqrt(a*a + b*b)
cost = b/sqrt(a*a + b*b)
각각의 스트로크는 x축과 평행하게 역방향으로 회전한다. 스트로크의 종점의 좌표값을 "xs, ys"로서 정의하고, 회전 스트로크의 종점의 좌표값을 "xs0, ys0"으로서 정의하면, 좌표값 (xs0, ys0)은 다음 식에 의해 산출된다.
xs0 = cost*xs + sint*ys
ys0 = -sint*xs + cost*ys
계속해서, 2개의 스트로크의 종점 사이의 거리를 스트로크 폭과 같게 조정하기 위해 스트로크 중 하나를 단축할 수 있는지의 여부를 판단한다(단계 S702). 더 구체적으로는 다음의 프로세스가 수행된다.
처음에, 스트로크 사이의 최단 거리를 산출한다. 회전한 2개의 스트로크의 종점의 X 좌표가 중복되면, 구해진 최단 거리는 평행 스트로크 사이의 거리일 수 있다. 또한, 회전한 2개의 스트로크의 종점의 x 좌표가 중복되지 않으면, 스트로크의 종점 사이에서 구해진 거리 중 짧은 것이 스트로크 사이의 최단 거리일 수 있다. 각 스트로크가 2개의 종점을 갖기 때문에, 스트로크의 종점 사이에는 총 4개의 거리가 있다.
구해진 최단 거리가 스트로크 폭(t)보다 작으면, 회전한 2개의 스트로크의 x 좌표에 있어서 중복 종점에 대해 검사한다. 2개의 스트로크가 중복되지 않으면, 스트로크 중 하나가 단축될 수 있다고 판단한다. 한편, 2개의 스트로크가 완전히 중복되면, 스트로크 중 짧은 것이 삭제된다고 판단한다.
스트로크 중 하나를 단축할 수 있다면(단계 S702의 "YES"), 스트로크 중 하나를 단축하는 프로세스가 수행된다(단계 S703). 즉, 도 29a에 도시하는 바와 같이, 스트로크 중 하나가 x축 방향으로 시프트되고 단축 후에도 존재하기에 충분히 길다면, 스트로크 중 하나를 단축하는 프로세스가 수행된다. 분할될 하나의 스트로크 상에 있어서 다른 스트로크의 종점으로부터 거리 t를 갖는 소정의 종점이 산출되고, 산출된 종점은 앞의 스트로크가 분할된 상태에서 앞의 스트로크의 새로운 종점으로서 결정된다.
다시 도 28을 참조하여, 한편, 스트로크 중 하나를 단축할 수 없다면(단계 S702의 "NO"), 스트로크 중 짧은 것이 삭제된다(단계 S704). 즉, 도 29b에 도시하는 예의 경우에 있어서, 짧은 스트로크는 긴 스트로크와의 중복 없이 존재할 수 없기 때문에, 짧은 스트로크가 삭제된다.
다시 도 28을 참조하면, 삭제된 스트로크의 길이를 산출하고, 산출된 스트로크의 길이는 저장된다(단계 S705).
계속해서, 결과로 생긴 스트로크는 전술한 "sint" 및 "cost"에 기초하여, 결과로 생긴 스트로크가 원래 방향으로 위치하도록 역방향으로 회전하고(단계 S706), 그 후 프로세스는 종료된다.
도 30은 스트로크가 서로 평행하지 않는 경우에 스트로크를 분할하는 프로세스(도 24의 단계 S507)의 예를 나타내는 흐름도이다. 스트로크를 분할하기 위해 스트로크의 종점이 산출되면, 스트로크의 각도를, 도 31b에 도시하는 바와 같이 고려해야 한다. 2개의 스트로크가 도 31a에 도시하는 바와 같이 직각으로 교차하면, 스트로크는 단순히 스트로크 폭만큼 분할될 수 있다. 그러나, 2개의 스트로크가 도 31b에 도시하는 바와 같이, 기울어져서 교차하면, 분할 대상 스트로크의 종점을 산출하기 위해 스트로크의 각도를 고려하여야 한다.
도 31a와 도 31b 및 도 32a와 도 32b에 도시하는 바와 같이, 2개의 스트로크를 스트로크 #0, 스트로크 #1이라고 하며, 스트로크 #0은 스트로크 #1에 기초하여(즉, 기준 스트로크로서 이용하여) 분할 또는 단축된다.
도 30에 있어서, 프로세스가 시작되면, 스트로크 #0 상에 있어서 스트로크 #1로부터의 각각의 거리가 스트로크 폭(t)이 되는 점 A0의 좌표와 점 B0의 좌표를 취득한다(단계 S801). 더 구체적으로는 다음의 프로세스가 수행된다.
스트로크 #0(분할 대상)에 대한 직선의 식을 "a0x + b0y + c0 = 0"으로 표현하고, 스트로크 #1(기준)에 대한 직선의 식을 "a1x + b1y + c1 = 0"으로 표현하며, 스트로크 폭은 "t"이다. 또한, 스트로크 #0 상에 있어서, 스트로크 #1로부터의 거리 t를 포함하는 소정의 점을 P(xp, yp)로서 정의한다.
P가 스트로크 #0 상의 점이기 때문에, 다음의 식 (1)을 구할 수 있다.
Figure 112013043026014-pct00001
A0에서 스트로크 #1의 중심에 내린 수선의 발까지의 길이(거리)가 "t"이기 때문에, 점/선 거리 공식에 기초하여 다음의 식 (2)를 구할 수 있다.
Figure 112013043026014-pct00002
상기 식 (1)과 (2)를 연립 방정식으로서 풀면, 스트로크 #0과 #1은 비평행한 것으로 밝혀진다.
즉, 그 결과는 식 "a1b0 - a0b1 ≠ 0"으로 표현된다.
Figure 112013043026014-pct00003
따라서, 상기 식 (3)이 구해지는데, 그 중 하나는 A0에 관한 것이고, 다른 것은 B0에 관한 것이다.
계속해서, 점 A0과 B0으로부터 스트로크 #1에 내린 수선의 발 A1과 B1을 산출한다(단계 S802). 도 32a는 이 경우의 예를 도시하고 있다. 도 32a에 있어서, 스트로크 #0과 #1은 직선으로 도시되고, 스트로크 폭의 한계는 파선으로 도시되어 있다.
보다 구체적으로는, 다음의 프로세스가 수행된다.
수선의 발은 Q(xq, yq)로서 정의된다.
수선의 식이 "a2x + b2y + c2 = 0"으로 표현되면, 수선은 스트로크 #1과 직각으로 교차한다. 그렇기 때문에, 수선의 식 "a2x + b2y + c2 = 0"은 다음의 수식 (4)로 대체된다.
Figure 112013043026014-pct00004
상기 수식 (4)는 점 A0과 B0을 통과하는 수선을 나타내기 때문에, 식 "-b1xp + a1yp + c2 = 0"이 얻어진다. 따라서, c2가 산출되고, 수식 (4)는 다음의 수식 (5)로 대체된다.
Figure 112013043026014-pct00005
수선과 스트로크 #1의 교점이 수선의 발에 해당하기 때문에, 수선의 발의 좌표 (xq, yq)는, 수식 (5)에서 (x, y)를 산출하고 이하의 수식에 나타내는 바와 같이 스트로크 #1의 연립 방정식을 풀어서 구할 수 있다.
Figure 112013043026014-pct00006
따라서, 수선의 발은 다음의 수식 (6)을 산출함으로써 구해진다.
Figure 112013043026014-pct00007
다시 도 30을 참조하면, 수선의 발 A1이 스트로크 #1의 범위 내에 존재하는지의 여부를 판단한다(단계 S803). 스트로크 #1의 종점 좌표는 (x1s, y1s) 및 (x1e, y1e)로서 정의되고, 좌표 (xq, yq)는 스트로크 #1의 종점의 좌표 범위 내에 존재한다.
수선의 발 A1이 스트로크 #1의 범위 내에 존재하면(단계 S803의 "YES"), 점 A0은 분할된 스트로크 #0의 새로운 종점으로서 결정된다(단계 S804).
수선의 발 A1이 스트로크 #1의 범위 내에 존재하지 않으면(단계 S803의 "NO"), 점 A0은 분할 스트로크 #0의 새로운 종점으로서 적절하지 않다. 분할 스트로크 #0이 너무 짧아지기 때문이다. 따라서, 스트로크 #0에 있어서 스트로크 #1의 종점과의 거리 t(스트로크 폭)가 얻어지는 점 A3을 구한다(단계 S805). 보다 구체적으로는, 다음의 프로세스가 수행된다.
스트로크 #1의 종점의 좌표는 H(xh, yh)로서 결정된다. 점 A3의 좌표는 (xr, yr)으로서 결정된다.
점 A3이 분할 대상 스트로크 #0 상에 존재하기 때문에, 다음의 수식 (7)이 구해진다.
Figure 112013043026014-pct00008
또한, 점 A3과 좌표 H(xh, yh) 사이의 거리가 t이기 때문에, 다음의 수식 (8)이 구해진다.
Figure 112013043026014-pct00009
상기 수식 (7)과 (8)을 연립 방정식으로서 풀면, 점 A3의 좌표 (xr, yr)를 산출할 수 있다.
또한, 다음의 수식이 결정된다.
Figure 112013043026014-pct00010
또, 다음의 수식이 결정된다.
Figure 112013043026014-pct00011
상기 조건에서, b0 ≠ 0이면, 다음의 수식이 구해진다.
Figure 112013043026014-pct00012
산출된 xr를 적용하면 다음의 수식을 산출할 수 있다.
Figure 112013043026014-pct00013
b0 ≠ 0, a0 ≠ 0이면, 다음의 수식이 구해진다.
Figure 112013043026014-pct00014
따라서, 점 A3[즉, 산출된 좌표 (xr, yr)]이 분할 스트로크 #0의 새로운 종점으로서 결정된다(단계 S806). 도 32b는 이 경우의 예를 도시하고 있다.
다시 도 30을 참조하면, A측와 마찬가지로, B측에 대응하는 분할 스트로크 #0의 새로운 종점을 산출하고(단계 S807), 삭제된 스트로크의 스트로크 길이를 산출하며(단계 S808), 스트로크 분할 프로세스는 종료된다.
도 33은 소멸 가능성이 있는 스트로크에 마크를 표시하는 프로세스(도 18의 단계 S209)의 예를 나타내는 흐름도이다.
도 33에 있어서, 프로세스가 시작되면, 스트로크 그룹 중 하나가 스트로크 그룹 #0으로서 선택되고(단계 S901), 스트로크 그룹 중 다른 하나가 스트로크 그룹 #1로서 선택된다(단계 S902). 계속해서, 스트로크 그룹 #0로부터 하나의 스트로크가 선택되고, 스트로크 그룹 #1로부터 다른 스트로크가 선택된다(단계 S903). 그 후에, 선택된 2개의 스트로크의 교점이 있는지의 여부를 판단한다(단계 S904).
2개의 스트로크의 교점이 있으면(단계 S904의 "YES"), 2개의 스트로크의 교점의 좌표와 교점 각도를 스트로크 그룹 #0과 연관시켜 2개의 스트로크의 교점의 좌표와 교점 각도가 교점 배열(교점 배열 데이터)에 저장된다(단계 S905와 S906). 2개의 스트로크의 교점이 없다면(단계 S904의 "NO"), 수행되는 프로세스는 없다.
계속해서, 스트로크의 모든 조합에 대해 검사되었는지의 여부를 판단한다(단계 S907). 스트로크의 모든 조합에 대해 검사되지 않았다면(단계 S907의 "NO"), 단계 S903에 있어서 2개의 스트로크의 조합을 선택하는 프로세스가 수행된다(단계 S903으로 복귀).
스트로크의 모든 조합에 대해 검사되었다면(단계 S907의 "YES"), 모든 스트로크 그룹이 스트로크 그룹 #1로서 검사되었는지의 여부를 판단한다(단계 S908). 모든 스트로크 그룹에 대해 검사되지 않았다면(단계 S908의 "NO"), 단계 S902에 있어서 스트로크 그룹 중에서 다른 하나를 스트로크 그룹 #1로서 선택하는 프로세스가 수행된다(단계 S902로 복귀).
한편, 모든 스트로크 그룹이 스트로크 그룹 #1로서 검사되었다면(단계 S908의 "YES"), 취득된 스트로크 그룹 #0의 교점의 좌표의 그룹을, 스트로크 그룹 #1의 시점에 가까운 순서대로 정렬한다(단계 S909).
계속해서, 인접하는 교점 사이의 거리를 산출한다(단계 S910).
계속해서, 인접하는 교점 사이의 하나의 간격에 주목하여, 스트로크 #1이 인접하는 교점 사이에 존재하는지의 여부를 판단한다(단계 S911). 도 34a는 스트로크 #0 상에서 인접하는 교점 A와 B 사이의 중점에 스트로크 #1과 스트로크 #0의 교점 C가 존재하는 예를 도시하고 있다. 이 예에 있어서, 인접하는 교점 A와 C 사이의 간격에 주목할 경우, 스트로크 #1은 좌측 하향으로 경사져 있다. 그렇기 때문에, 스트로크 #1이 인접하는 교점 C와 B 사이에 존재하는 것이 아니라, 주목한 인접하는 교점 A와 C 사이에 존재한다고 판단된다.
다시 도 33을 참조하면, 스트로크 #1이 주목한 인접하는 교점 A와 C 사이에 존재하면(단계 S911의 "YES"), 주목한 인접하는 교점 A와 C 사이의 거리를, 2개의 스트로크 #0과 #1의 교점 각도를 조정하여 보정한다(단계 S912). 도 34a에 도시하는 예와 같이, 스트로크 #1과의 교점 C와 다른 스트로크 #1과의 교점 A 사이의 거리는 스트로크 #1과의 교점 C와 스트로크 #0 상에서 다른 스트로크와의 교점 B 사이의 거리와 같다. 그러나, 각각의 스트로크에는 스트로크 폭이 있고, 도 34b에 도시하는 바와 같이 교점 C와 A 사이의 실제 거리 d1(A측 거리)은 교점 C와 B 사이의 실제 거리 d2(B측 거리)보다 작다. 교점 A와 C 사이의 실제 거리 d1이 0이면, 교점 A와 C 사이의 간격에 존재하는 스트로크는 소멸할 가능성이 있다. 그렇기 때문에, 스트로크 #0과 #1의 교점 각도를 조정하여 실제 거리를 보정하는 것이 중요하다. 인접하는 교점 사이의 산출 거리가 A측 거리라면, A측 거리는 교점 각도를 조정하여 보정될 수 있다. 구체적으로, A측 거리는 인접하는 교점 사이의 원래 거리에서 거리 d3을 차감함으로써 보정될 수 있기 때문에, 교점 각도를 θ, 스트로크 폭을 t라고 하면, 거리 d3은 다음 식에 의해 산출된다.
d3 = t/2sinθ
다시 도 33을 참조하면, 주목한 인접하는 교점 사이에 스트로크 #1이 존재하지 않으면(단계 S911의 "NO"), 스트로크 폭의 반, 즉 t/2를, 주목한 인접하는 교점 사이 거리에서 차감한다(단계 S913). 이 프로세스는 도 34b에 도시하는 주목한 인접하는 교점 C와 B 사이의 실제 거리 d2에 대해 수행된다.
다시 도 33을 참조하면, 보정된 거리가 결정된 스트로크 폭 이하인지의 여부를 판단한다(단계 S914).
주목한 인접하는 교점 사이의 보정 거리가 스트로크 폭 이하이고(단계 S914의 "YES"), 양 교점에서 스트로크 #0이 분할되면, 주목한 인접하는 교점 사이에는 스트로크를 묘화할 수 없다. 따라서, 스트로크 그룹 #0이 소멸 가능성이 있다고 판단하여, 스트로크 그룹 #0에 소멸 가능성 있는 스트로크 그룹으로서 마크 표시한다(단계 S915). 한편, 주목한 인접하는 교점 사이의 보정 거리가 스트로크 폭보다 크다면(단계 S914의 "NO"), 스트로크 그룹 #0에는 마크를 표시하지 않는다.
계속해서, 모든 스트로크 그룹이 스트로크 그룹 #0으로서 검사되었는지의 여부를 판단한다(단계 S916). 모든 스트로크 그룹이 스트로크 그룹 #0으로서 검사되지 않았다면(단계 S916의 "NO"), 단계 S901에 있어서 스트로크 그룹 중 하나를 스트로크 그룹 #0으로서 선택하는 프로세스가 수행된다(단계 S901로 복귀). 한편, 모든 스트로크 그룹이 스트로크 그룹 #0으로서 검사되었다면(단계 S916의 "YES"), 소멸 가능성이 있는 스트로크에 마크 표시하는 프로세스는 종료된다.
도 35와 도 36은 스트로크 그룹 간에 스트로크의 중복 부분을 제거하는 프로세스(도 18의 단계 S210)의 예를 나타내는 흐름도이다.
도 35에 있어서, 스트로크 그룹 간에 스트로크의 중복 부분을 제거하는 프로세스가 시작되면, 스트로크 그룹 중 하나를 스트로크 그룹 #0으로서 선택하고, 스트로크 그룹 중 다른 하나를 스트로크 그룹 #1로서 선택한다(단계 S1001과 S1002).
계속해서, 스트로크 그룹 #0으로부터 하나의 스트로크를 선택하고, 스트로크 그룹 #1로부터 다른 스트로크를 선택한다(단계 S1003).
계속해서, 선택된 2개의 스트로크가 중복 부분을 포함하는지의 여부를 판단한다(단계 S1004).
2개의 스트로크 간에 중복 부분이 있다면(단계 S1004의 "YES"), 그 스트로크 중 하나가 단축 또는 분할 대상이 된다는 가정에 기초하여, 삭제 스트로크 길이 및 잔존 스트로크 길이를 산출한다(단계 S1005). 이 프로세스는 도 24에 나타낸 흐름도와 같다.
다시 도 35를 참조하여, 한편, 2개의 스트로크 사이에 중복 부분이 없다면(단계 S1004의 "NO"), 삭제 스트로크 길이와 잔존 스트로크 길이를 산출하는 프로세스(단계 S1005)는 수행되지 않는다.
계속해서, 스트로크 그룹 #0 및 #1에 연관된 모든 스트로크에 대해 검사되었는지의 여부를 판단한다(단계 S1006). 스트로크 그룹 #0 및 #1에 연관된 모든 스트로크에 대해 검사되지 않았다면(단계 S1006의 "NO"), 단계 S1003에 있어서 스트로크 그룹 #0으로부터 하나의 스트로크를, 그리고 스트로크 그룹 #1로부터 다른 스트로크를 선택하는 프로세스가 수행된다(단계 S1003으로 복귀).
스트로크 그룹 #0 및 #1에 연관된 모든 스트로크에 대해 검사되었다고 판단하면(단계 S1006의 "YES"), 스트로크 그룹 중 하나를 단축 또는 분할할 경우의 총 제거 면적을 산출한다(단계 S1007). 총 제거 면적은 스트로크 길이에 스트로크 폭을 곱해 구할 수 있다.
계속해서, 스트로크 그룹 중 하나가 단축 또는 분할 대상이면, 주목한 스트로크 그룹이 완전히 소멸할 경우에 플래그 "term"에 "2"가 설정되고, 주목한 스트로크 그룹의 선두부가 단축될 경우에 플래그 "term"에 "1"이 설정되며, 주목한 스트로크 그룹이 다른 프로세스의 대상이 될 경우에는 플래그 "term"에 "0"이 설정된다(단계 S1008).
계속해서, 2개의 스트로크 그룹(스트로크 그룹 #0, #1)끼리 중복되는지의 여부를 판단한다(단계 S1009).
2개의 스트로크 그룹끼리 중복되지 않으면(단계 S1009의 "NO"), 다음의 프로세스(단계 S1010 내지 S1015)를 스킵한다(생략한다).
2개의 스트로크 그룹끼리 중복되면(단계 S1009의 "YES"), 스트로크 그룹 중 단축 또는 분할되는 것의 교점과, 소멸 가능성이 있는 스트로크에 마크를 표시(도 33의 프로세스)하여 얻어진 교점열을 대조한다(단계 S1010).
계속해서, 스트로크 그룹 중 단축 또는 분할되는 것의 교점과, 소멸 가능성이 있는 스트로크의 교점열이 일치하면, 플래그 "vanish"에 "1"이 설정된다(단계 S1011).
계속해서, 소멸 가능성이 있는 스트로크가 이미 분할되었다면, 플래그 "flag"에 "1"이 설정된다(단계 S1012).
계속해서, 스트로크 그룹이 소멸 가능성이 있는 다른 스트로크 그룹과 중복되면, 플래그 "other"에 "1"이 설정된다(단계 S1013). 다른 스트로크 그룹이 소멸 가능성이 있는지의 여부는 도 33에 나타내는 프로세스에 부여된 소멸 가능성 마크에 기초하여 판단된다.
다시 도 35를 참조하면, 스트로크 그룹 중 어느 것을 단축 또는 분할할 것인지 선택한다(단계 S1014). 스트로크 그룹 중 어느 것을 단축 또는 분할할 것인지 선택하는 프로세스의 상세 내용은 후술한다.
계속해서, 미리 산출된 데이터에 기초하여, 스트로크 그룹 중 선택된 것을 단축 또는 분할한다(단계 S1015).
계속해서, 스트로크 그룹 #0과 상이한 모든 스트로크 그룹에 대해 검사되었는지의 여부를 판단한다(단계 S1016). 스트로크 그룹 #0과 상이한 모든 스트로크 그룹에 대해 검사되지 않았다면(단계 S1016의 "NO"), 단계 S1002에 있어서 스트로크 그룹 중 하나를 스트로크 그룹 #1로서 선택하는 프로세스가 수행된다(단계 S1002로 복귀).
스트로크 그룹 #0과 상이한 모든 스트로크 그룹에 대해 검사되었다면(단계 S1016의 "YES"), 모든 스트로크 그룹이 스트로크 그룹 #0으로서 검사되었는지의 여부를 판단한다(단계 S1017). 모든 스트로크 그룹이 스트로크 그룹 #0으로서 검사되지 않았다면(단계 S1017의 "NO"), 단계 S1001에 있어서 스트로크 그룹 중 하나를 선택하는 프로세스가 수행된다(단계 S1001로 복귀).
한편, 모든 스트로크 그룹이 스트로크 그룹 #0으로서 검사되었다고 판단하면(단계 S1017의 "YES"), 선택된 스트로크 간에 중복 부분이 있는지의 여부를 판단하고 스트로크 그룹 중 선택된 것을 단축하는 프로세스가 수행된다. 즉, 다른 스트로크와 약간 접촉하는 스트로크가 분할되면, 그 스트로크의 종점과 다른 스트로크의 종점 사이의 거리가 스트로크 폭보다 작을 수 있다. 그러한 경우에, 중복 부분이 2개의 스트로크 그룹 사이에 남아 있을 수 있어, 2개의 스트로크 그룹이 추가 검사되어 단축된다. 예컨대, 도 37a에 도시하는 상측 및 하측 스트로크 그룹 사이의 중복 부분이, 하측 스트로크 그룹을 분할함으로써 제거될 경우, 도 37b에 도시하는 바와 같이 하측 스트로크 그룹의 분할 스트로크 사이에는 새로운 중복 부분이 생긴다. 이 경우에, 하측 스트로크의 분할 스트로크가 단축될 필요가 있다.
도 36에 있어서, 단계 S1014에 있어서 단축 또는 분할 대상 스트로크 그룹으로부터 하나의 스트로크를 스트로크 #0으로서 선택하고(단계 S1018), 마찬가지로 단계 S1014에 있어서 단축 또는 분할 대상 스트로크 그룹으로부터 하나의 스트로크를 스트로크 #1로서 선택한다(단계 S1019).
계속해서, 선택된 스트로크 #0과 #1의 조합이 연속으로 형성되는지의 여부를 판단한다(단계 S1020). 선택된 스트로크 #0과 #1의 조합이 연속으로 형성되지 않는다면(단계 S1020의 "NO"), 스트로크 #0과 #1의 종점 사이의 거리가 스트로크 폭 미만인지의 여부를 추가 판단한다(단계 S1021).
한편, 스트로크 #0과 #1의 종점 사이의 거리가 스트로크 폭보다 작다면(단계 S1021의 "YES"), 스트로크 #1은 단축된다(단계 S1022).
선택된 스트로크 #0과 #1의 조합이 연속으로 형성되고(단계 S1020의 "YES"), 스트로크 #0과 #1의 종점 사이의 거리가 스트로크 폭보다 작지 않다면(단계 S1021의 "NO"), 스트로크 #1을 단축하는 프로세스(단계 S1022)는 수행되지 않는다.
계속해서, 스트로크 #1로서 선택된 모든 스트로크에 대해 검사되었는지의 여부를 판단한다(단계 S1023). 스트로크 #1로서 선택된 모든 스트로크에 대해 검사되지 않았다면(단계 S1023의 "NO"), 단계 S1019에 있어서 단축 또는 분할 대상 스트로크 그룹으로부터 하나의 스트로크를 스트로크 #1로서 선택하는 프로세스가 수행된다(단계 S1019).
스트로크 #1로서 선택된 모든 스트로크에 대해 검사되었다면(단계 S1023의 "YES"), 스트로크 #0으로서 선택된 모든 스트로크에 대해 검사되었는지의 여부를 판단한다(단계 S1024). 스트로크 #0으로서 선택된 모든 스트로크에 대해 검사되지 않았다면(단계 S1024의 "NO"), 단계 S1018에 있어서 단축 또는 분할 대상 스트로크 그룹으로부터 하나의 스트로크를 스트로크 #0으로서 선택하는 프로세스가 수행된다(단계 S1018로 복귀).
한편, 스트로크 #0으로서 선택된 모든 스트로크에 대해 검사되었다면(단계 S1024의 "YES"), 프로세스는 종료된다.
도 38a와 도 38b는 스트로크 그룹 중 하나를 단축 또는 분할 대상 스트로크 그룹으로서 선택하는 프로세스(도 35의 단계 S1014)의 예를 나타내는 흐름도이다.
도 38a와 도 38b에 있어서, 스트로크 그룹 중 하나를 단축 또는 분할 대상으로서 선택하는 프로세스가 시작되면, 스트로크 그룹 #0 내의 모든 스트로크가 완전히 소멸하였는지의 여부를 판단한다(단계 S1101). 플래그 "term"에 기초하여, 스트로크 그룹 #0 내의 모든 스트로크가 완전히 소멸하여 스트로크 그룹 #0에 스트로크가 잔존해 있지 않다고 판단하면(단계 S1101의 "YES"), 스트로크 그룹 #1의 스트로크가 분할 또는 단축된다(단계 S1117).
반대로, 플래그 "term"에 기초하여, 스트로크 그룹 #0에 잔존해 있는 스트로크가 있다고 판단하면(단계 S1102의 "YES"), 스트로크 그룹 #0의 스트로크가 분할 또는 단축된다(단계 S1116).
스트로크 그룹 #0의 종단이 단축 대상이 되면(단계 S1103의 "YES"), 스트로크 그룹 #0이 단축된다(단계 S1116). 이 경우, 스트로크 #0을 단축하는 것은 스트로크 #0을 분할하는 것보다 묘화 대상 문자의 외관에 악영향을 덜 미칠 수 있기 때문에 스트로크 그룹 #0을 단축하는 프로세스가 수행된다.
한편, 스트로크 그룹 #1의 종단이 단축 대상이 되면(단계 S1104의 "YES"), 스트로크 그룹 #1이 단축된다(단계 S1117).
묘화 대상 문자가 볼드체이고(단계 S1105의 "YES"), 스트로크 그룹 #0이 중심 스트로크에 가깝다면(단계 S1106의 "YES"), 스트로크 그룹 #1이 분할 또는 단축된다(단계 S1117). 이 경우, 중심 스트로크에 가까운 스트로크를 남기는 것이 스트로크 그룹 #0을 단축 또는 분할하는 것보다 묘화 대상 문자의 외관이 더 좋기 때문에 스트로크 그룹 #1의 단축 또는 분할이 선택된다. 도 39a와 도 39b는 볼드체 대상 문자의 묘화예를 도시하는데, 도 39a는 중심 스트로크에 가까운 스트로크를 남길 필요가 없는 묘화예이고, 도 39b는 중심 스트로크에 가까운 스트로크를 남겨야 하는 묘화예이다.
다시 도 38a와 도 38b를 참조하여, 스트로크 그룹 #1이 스트로크 그룹 #0보다 중심 스트로크에 가깝다면, 스트로크 #0이 분할 또는 단축된다(단계 S1116).
계속해서, 플래그 "vanish"에 기초하여 스트로크 그룹 #0이 일부 소멸 가능성이 있다고 판단하면(단계 S1108의 "YES"), 스트로크 그룹 #1이 분할 또는 단축된다(단계 S1117).
한편, 플래그 "vanish"에 기초하여 스트로크 그룹 #1이 일부 소멸 가능성이 있다고 판단하면(단계 S1109의 "YES"), 스트로크 그룹 #0이 분할 또는 단축된다(단계 S1116).
플래그 "vanish"에 기초하여 스트로크 그룹 #0과 스트로크 그룹 #1 모두가 일부 소멸 가능성이 있다고 판단하면(단계 S1110의 "YES"), 스트로크 그룹 #0 또는 스트로크 그룹 #1이 이미 분할되어 스트로크 그룹 #0 또는 #1의 일부 소멸로 이어질 수 있는지의 여부를 판단한다. 이것은 인접하는 스트로크 중 하나가 그 교점에서 이미 분할되었고 이들 스트로크 사이의 거리가 소정의 스트로크 그룹 내의 스트로크 폭보다 작은 경우에 해당한다. 이 경우, 인접하는 스트로크 중 다른 하나가 이미 그 교점에서 분할되면, 그 2개의 인접하는 스트로크의 교점 사이에 끼인 스트로크는 소멸 가능성이 있다.
따라서, 스트로크 그룹 #0이 이미 분할되었다면(단계 S1111의 "YES"), 스트로크 그룹 #1이 분할 또는 단축된다(단계 S1117).
한편, 스트로크 그룹 #1이 이미 분할되었다면(단계 S1112의 "YES"), 스트로크 그룹 #0이 분할 또는 단축된다(단계 S1116).
계속해서, 플래그 "other"에 기초해서, 스트로크 그룹 #0만이 다른 스트로크와 교차하여, 그 스트로크 그룹 #0에 의해 교차된 스트로크가 일부 소멸 가능성이 있다고 판단되면(단계 S1113의 "YES"), 스트로크 #1은 분할 대상이 되는 스트로크 그룹으로서 결정된다(단계 S1117). 스트로크 그룹 #0에 의해 교차된 다른 스트로크가 소멸하지 않도록 스트로크 그룹 #0은 추후에 분할 또는 단축되기에 충분한 길이를 갖고 있기 때문에, 스트로크 그룹 #1이 분할 대상 스트로크 그룹으로서 결정된다.
한편, 플래그 "other"에 기초해서, 스트로크 그룹 #1에 의해 교차된 다른 스트로크가 일부 소멸 가능성이 있다고 판단되면(단계 S1114의 "YES"), 스트로크 #0이 분할 또는 단축된다(단계 S1116).
계속해서, 스트로크 그룹 #0과 #1의 각 제거 영역이 비교된다. 스트로크 그룹 #1의 제거 영역이 스트로크 그룹 #1의 제거 영역보다 작다면(단계 S1115의 "YES"), 스트로크 그룹 #0이 분할 또는 단축된다(단계 S1116).
한편, 스트로크 그룹 #1의 제거 영역이 스트로크 그룹 #0의 제거 영역보다 작다면(단계 S1115의 "NO"), 스트로크 그룹 #1이 단축 또는 분할된다(단계 S1117).
도 40a와 도 40b는 종래 기술의 한계와 단점으로 인한 대상 문자의 열화 또는 분리가 개선된 예를 도시하는 도면이다. 즉, 도 3b에 도시하는 바와 같은 종래 기술에서는 2개 이상의 서로 접근하는 스트로크가 분절되어, 묘화 품질이 저하될 수 있다. 그러나, 전술한 실시형태에 따르면, 대상 문자를 형성하는 스트로크 간의 중복 부분은 스트로크 그룹 단위로 제거된다. 따라서, 스트로크의 서로 접근하는 부분이 분리되지 않아, 대상 문자의 미관이 열화되는 것을 방지할 수 있다.
또한, 전술한 실시형태에 따르면, 문자 "α"와 같이, 동일 스트로크 그룹 내의 스트로크 간에 중복 부분이 존재한다. 이 경우에, 대상 문자로 형성된 스트로크의 중복 부분은, 동일 스트로크 그룹 내의 스트로크의 배열 순서에 따라 그 다음에는 다른 스트로크 그룹 내의 스트로크의 배열 순서에 따라 스트로크의 중복 부분을 제거하는 것과 같은 방식으로 삭제된다. 따라서, 하나의 스트로크 그룹 내의 스트로크의 서로 접근하는 부분이 분리되지 않아, 대상 문자의 미관이 열화되는 것을 방지할 수 있다.
전술한 실시형태에 따르면, 2개의 서로 접근하는(가장 가까운) 스트로크가 문자를 형성할 경우에도, 감열식 재기록 매체 상에 화상을 묘화하는 장치, 방법, 및 프로그램을 저장한 컴퓨터 판독 가능한 매체는, 문자를 형성하는 2개 이상의 가장 가까운 스트로크의 분리로 인한 화상 품질의 저하 없이 감열식 재기록 매체 상에 문자를 묘화할 수 있다. 따라서, 문자의 묘화 품질의 저하를 방지할 수 있다.
[총괄]
전술한 바와 같이, 전술한 실시형태에 따르면, 2개 이상의 서로 접근하는(가장 가까운) 스트로크가 문자를 형성할 경우에도, 문자를 형성하는 2개 이상의 가장 가까운 스트로크의 분리로 인한 화상 품질의 저하 없이 2개 이상의 스트로크로 형성된 화상을 감열식 재기록 매체 상에 묘화하는 것이 가능하다. 따라서, 문자의 묘화 품질 저하를 방지할 수 있다.
이상 개시한 장점들은 실시형태들이 제공하는 가장 양호한 것의 예에 지나지 않으며, 따라서 이들 실시형태에 개시한 것들에 한정되지 않는다.
지금까지 본 발명의 실시형태에 대해 예시적으로 설명하였다. 본 발명은 이들 실시형태에 한정되는 것이 아니라, 다양한 변형 및 대안이 본 발명의 범위에서 벗어나지 않고 이루어질 수 있다. 본 발명은 명세서에 개시하고 도면에 도시하는 실시형태에 한정되는 것으로 해석되어서는 안 된다.
본 출원은 일본 특허청에 2010년 11월 24일에 출원한 일본 우선권 출원 제2010-261771호와 2011년 3월 3일에 출원한 일본 우선권 출원 제2011-046861호에 기초하며, 이들 전체 내용은 여기에서의 참조에 의해 원용된다.

Claims (3)

  1. 감열 매체(thermal medium) 상에 화상을 묘화하는 장치에 있어서,
    원하는 묘화 대상 문자의 화상을 형성하는 연속 스트로크를 그룹화하여 그 연속 스트로크로 이루어진 스트로크 그룹을 하나 이상 생성하도록 구성되는 스트로크 그룹 생성 유닛과,
    동일 스트로크 그룹에 속하는 제1 조합의 스트로크들 사이의 제1 중복 부분을 검출하여, 그 동일 스트로크 그룹 내에서의 스트로크의 배열 순서에 따라 상기 제1 중복 부분을 제거하도록 구성되는 제1 중복 부분 제거 유닛과,
    복수의 스트로크 그룹에 속하는 제2 조합의 스트로크들 사이의 제2 중복 부분을 검출하여, 상기 복수의 스트로크 그룹 중 선택된 스트로크 그룹으로부터 상기 제2 중복 부분을 제거하도록 구성되는 제2 중복 부분 제거 유닛
    을 포함하는 묘화 장치.
  2. 감열 매체 상에 화상을 묘화하는 방법에 있어서,
    원하는 묘화 대상 문자의 화상을 형성하는 연속 스트로크를 그룹화하여 그 연속 스트로크로 이루어진 스트로크 그룹을 하나 이상 생성하는 단계와,
    동일 스트로크 그룹에 속하는 제1 조합의 스트로크들 사이의 제1 중복 부분을 검출하여 그 동일 스트로크 그룹 내에서의 스트로크의 배열 순서에 따라 상기 제1 중복 부분을 제거하는 단계와,
    복수의 스트로크 그룹에 속하는 제2 조합의 스트로크들 사이의 제2 중복 부분을 검출하여 상기 복수의 스트로크 그룹 중 선택된 스트로크 그룹으로부터 상기 제2 중복 부분을 제거하는 단계
    를 포함하는 묘화 방법.
  3. 감열 매체 상에 화상을 묘화하는 묘화 제어 프로그램을 저장한 컴퓨터 판독 가능한 기록 매체에 있어서,
    상기 묘화 제어 프로그램은, 프로세서에 의해 처리될 때에, 묘화 장치의 묘화 제어 유닛으로 하여금 그 묘화 제어 프로그램의 명령어 세트를 실행하게 하고,
    상기 명령어 세트는,
    원하는 묘화 대상 문자의 화상을 형성하는 연속 스트로크를 그룹화하여 그 연속 스트로크로 이루어진 스트로크 그룹을 하나 이상 생성하는 단계와,
    동일 스트로크 그룹에 속하는 제1 조합의 스트로크들 사이의 제1 중복 부분을 검출하여 그 동일 스트로크 그룹 내에서의 스트로크의 배열 순서에 따라 상기 제1 중복 부분을 제거하는 단계와,
    복수의 스트로크 그룹에 속하는 제2 조합의 스트로크들 사이의 제2 중복 부분을 검출하여 상기 복수의 스트로크 그룹 중 선택된 스트로크 그룹으로부터 상기 제2 중복 부분을 제거하는 단계
    를 포함하는 것인 묘화 제어 프로그램을 저장한 컴퓨터 판독 가능한 기록 매체.
KR1020137012570A 2010-11-24 2011-11-18 감열 매체 상에 화상을 묘화하는 장치, 방법 및 컴퓨터 프로그램 제품 KR101466528B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2010261771 2010-11-24
JPJP-P-2010-261771 2010-11-24
JPJP-P-2011-046861 2011-03-03
JP2011046861A JP5659871B2 (ja) 2010-11-24 2011-03-03 サーマルリライタブルメディア描画装置、制御方法、および制御プログラム
PCT/JP2011/077272 WO2012070665A1 (en) 2010-11-24 2011-11-18 Apparatus, method and computer program product for drawing image on thermal medium

Publications (2)

Publication Number Publication Date
KR20130088161A KR20130088161A (ko) 2013-08-07
KR101466528B1 true KR101466528B1 (ko) 2014-11-28

Family

ID=46146001

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137012570A KR101466528B1 (ko) 2010-11-24 2011-11-18 감열 매체 상에 화상을 묘화하는 장치, 방법 및 컴퓨터 프로그램 제품

Country Status (8)

Country Link
US (1) US8917298B2 (ko)
EP (1) EP2643158A4 (ko)
JP (1) JP5659871B2 (ko)
KR (1) KR101466528B1 (ko)
CN (1) CN103221220B (ko)
BR (1) BR112013015274A2 (ko)
RU (1) RU2560872C2 (ko)
WO (1) WO2012070665A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5810555B2 (ja) * 2011-03-01 2015-11-11 株式会社リコー レーザ描画装置
JP2016085512A (ja) * 2014-10-23 2016-05-19 株式会社東芝 電子機器、方法及びプログラム
CN106079905A (zh) * 2016-06-28 2016-11-09 广州市铭钰标识科技有限公司 一种激光打标的字体应用
US11292195B2 (en) 2016-09-28 2022-04-05 Hewlett-Packard Development Company, L.P. Operational characteristics of screens in thermal imaging
JP2021035722A (ja) * 2017-10-04 2021-03-04 サトーホールディングス株式会社 包装体の製造方法
CN109387501B (zh) * 2018-11-29 2021-03-02 中国政法大学 利用快速三维拉曼光谱重构技术鉴定交叉笔画顺序的方法
KR20210073196A (ko) * 2019-12-10 2021-06-18 삼성전자주식회사 필기 입력을 처리하는 방법 및 그 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100289866A1 (en) * 2009-05-15 2010-11-18 Fumihiro Hasegawa Information processing device, laser irradiation device, drawing information generating method, control system, and program

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08216480A (ja) * 1995-02-09 1996-08-27 Fuji Xerox Co Ltd パターン発生装置
JP3560310B2 (ja) * 1997-09-26 2004-09-02 キヤノン株式会社 輪郭データ変更装置および方法
JP3603593B2 (ja) * 1998-04-03 2004-12-22 富士ゼロックス株式会社 画像処理方法および装置
JP3725841B2 (ja) 2002-06-27 2005-12-14 株式会社東芝 電子ビーム露光の近接効果補正方法、露光方法、半導体装置の製造方法及び近接効果補正モジュール
JP2004090026A (ja) 2002-08-30 2004-03-25 Inst Of Physical & Chemical Res 情報書込み装置
JP2004200351A (ja) * 2002-12-18 2004-07-15 Hitachi Ltd 露光装置及び露光方法
JP4259920B2 (ja) 2003-05-19 2009-04-30 株式会社リコー 画像形成方法及びその装置
KR101234913B1 (ko) * 2005-03-31 2013-02-19 린텍 가부시키가이샤 비접촉형 리라이트 서멀 라벨의 기록방법
JP2007296670A (ja) * 2006-04-28 2007-11-15 Canon Inc 液滴吐出装置、液滴吐出システム、液滴吐出検出方法、及び液滴吐出検出プログラム
JP5010878B2 (ja) * 2006-09-07 2012-08-29 リンテック株式会社 非接触型書き換え可能記録媒体の記録方法
JP5228471B2 (ja) * 2006-12-26 2013-07-03 株式会社リコー 画像処理方法及び画像処理装置
JP5397070B2 (ja) 2008-08-13 2014-01-22 株式会社リコー 制御装置、レーザ照射装置、最適化フォントデータdb、記録方法、プログラム、記憶媒体
JP5316354B2 (ja) * 2008-12-03 2013-10-16 株式会社リコー 制御装置、レーザ照射装置、記録方法、プログラム、記憶媒体
JP5127775B2 (ja) * 2009-05-15 2013-01-23 株式会社リコー 情報処理装置、レーザ照射装置、制御システム、描画情報記憶装置
JP5699481B2 (ja) 2009-10-27 2015-04-08 株式会社リコー 描画制御装置、レーザ照射システム、描画方法、描画プログラム、及び記憶媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100289866A1 (en) * 2009-05-15 2010-11-18 Fumihiro Hasegawa Information processing device, laser irradiation device, drawing information generating method, control system, and program

Also Published As

Publication number Publication date
EP2643158A4 (en) 2018-03-14
US8917298B2 (en) 2014-12-23
RU2560872C2 (ru) 2015-08-20
RU2013123046A (ru) 2014-12-27
EP2643158A1 (en) 2013-10-02
BR112013015274A2 (pt) 2018-07-17
CN103221220A (zh) 2013-07-24
CN103221220B (zh) 2015-05-06
WO2012070665A1 (en) 2012-05-31
KR20130088161A (ko) 2013-08-07
JP2012126120A (ja) 2012-07-05
US20130242021A1 (en) 2013-09-19
JP5659871B2 (ja) 2015-01-28

Similar Documents

Publication Publication Date Title
KR101466528B1 (ko) 감열 매체 상에 화상을 묘화하는 장치, 방법 및 컴퓨터 프로그램 제품
JP5127775B2 (ja) 情報処理装置、レーザ照射装置、制御システム、描画情報記憶装置
JP5397070B2 (ja) 制御装置、レーザ照射装置、最適化フォントデータdb、記録方法、プログラム、記憶媒体
TWI468963B (zh) 繪圖控制方法、雷射照射裝置、繪圖控制程式、以及記錄繪圖控制程式之記錄媒體
JP5381315B2 (ja) 情報処理装置、レーザ照射装置、描画情報生成方法、制御システム、プログラム
JP2007140597A (ja) 印刷制御プログラム
EP2457733B1 (en) Apparatus, method and computer program product for drawing image on thermal medium
KR101518158B1 (ko) 레이저 묘화 제어 장치, 레이저 묘화 장치, 레이저 묘화 장치의 제어 방법 및 컴퓨터 판독 가능한 기록 매체
JP2006072834A (ja) 画像形成装置および方法
JP6972647B2 (ja) 三次元形状データの編集装置、及び三次元形状データの編集プログラム
JP7407787B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2002056403A (ja) 描画指示装置及び描画指示方法及びコンピュータ読み取り可能な記憶媒体
JP2020201673A (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: 20171109

Year of fee payment: 4