KR970008546B1 - 문자 또는 도형의 처리방법 - Google Patents

문자 또는 도형의 처리방법 Download PDF

Info

Publication number
KR970008546B1
KR970008546B1 KR1019920018646A KR920018646A KR970008546B1 KR 970008546 B1 KR970008546 B1 KR 970008546B1 KR 1019920018646 A KR1019920018646 A KR 1019920018646A KR 920018646 A KR920018646 A KR 920018646A KR 970008546 B1 KR970008546 B1 KR 970008546B1
Authority
KR
South Korea
Prior art keywords
character
window
output
processing system
determining
Prior art date
Application number
KR1019920018646A
Other languages
English (en)
Other versions
KR930008664A (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
Priority claimed from JP3263885A external-priority patent/JPH05108294A/ja
Priority claimed from JP3263880A external-priority patent/JPH05108293A/ja
Priority claimed from JP3263886A external-priority patent/JPH05108295A/ja
Priority claimed from JP3263879A external-priority patent/JPH05108292A/ja
Application filed by 캐논 가부시기가이샤, 야마지 게이조 filed Critical 캐논 가부시기가이샤
Publication of KR930008664A publication Critical patent/KR930008664A/ko
Application granted granted Critical
Publication of KR970008546B1 publication Critical patent/KR970008546B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • 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/14Display of multiple viewports
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

없음

Description

문자 또는 도형의 처리방법
제1도는 본 발명의 실시예에 의한 문자처리시스템의 기본적인 구성을 도시한 블록도,
제2도는 실시예에 의한 이벤트구동형의 구조(event-driven structure)를 가진 윈도우시스템의 기본적인 데이터의 흐름을 도시한 도면,
제3도는 제2도의 시스템에서 사용되는 대표적인 서브루틴의 그룹을 도시한 도면,
제4도는 제3도의 시스템에서 데이터가 윈도우에 출력될때까지의 기본적인 데이터의 흐름을 도시한 도면,
제5도는 실시예에서 평면에 도트를 형성하는 방법을 도시한 도면,
제6도는 실시예에서 평면에 도트를 형성하는 방법을 도시한 도면,
제7도는 실시예에서 페인팅방법을 도시한 도면,
제8도는 실시예에서 페인팅방법을 도시한 도면,
제9도는 실시예의 시스템에서 사용가능한 개개의 처리계의 특징을 속도와 품위의 관점에서 표의 형태로 도시한 도면,
제10도(A), (B)는 실시예의 시스템에서 윈도우의 액티브상태(active state)가 변화한 경우 표시의 변화를 도시한 도면,
제11도는 실시예의 시스템에서 3종류의 요구명세서에 대응하는 특징의 변동을 도시한 도면,
제12도는 실시예의 시스템에서 사용되는 9종류의 요구명세와 3개의 처리계와의 대응을 도시한 표,
제13도는 실시예의 제어수순을 도시한 순서도.
제14도는 제1변형예의 시스템에서 사용가능한 개개의 처리계의 특징을, 데이터 형식, 전개문자의 사이즈, 속도, 품위의 관점에서 표의 형태로 도시한 도면,
제15도는 제1변형예의 시스템에서, 3종류의 요구명세에 대응하는 특징의 변동을 도시한 도면,
제16도는 제1변형예의 제어수순을 도시한 순서도,
제17도는 제2변형예의 시스템에서 사용가능한 개개의 처리계의 특징을, 데이터 형식, 필요메모리용량, 전개문자의 사이즈, 속도, 품위, 추천된 서체(recommended font)의 관점에서 표의 형태로 도시한 도면,
제18도는 제2변형예의 시스템에서 3종류의 요구명세에 대응하는 특징의 변화를 도시한 도면,
제19도, 제20도는 제2변형예의 제어수순을 도시한 순서도.
* 도면의 주요부분에 대한 부호의 설명
(1) : CPU(중앙처리장치)(2) : ROM(판독전용메모리)
(3) : RAM(랜덤액세스 메모리)(4) : KBC(키보드 제어부)
(5) : KB(키보드)(6) : CRTC(디스플레이제어부)
(7) : CRT(디스플레이장치)(8) : DKC(디스크제어부)
(9) : FD 또는 HD(외부기억장치)(10) : PRTC(프린터제어부)
(11) : PRT(프린터장치)(12) : 시스템버스
본 발명은, 멀티윈도우표시기능(multwindow display function)을 가진 시스템에 있어서, 각 윈도우중에 벡터형식(vector format)으로 표현된 문자 또는 도형 비트맵형식(bit-map format)으로 변환해서 출력하도록 하는 문자 또는 도형의 처리방법에 관한 것이다.
종래, 멀티윈도우 또는 멀티타스크의 환경(multi-task environment)에서 벡터화된 패턴을 비트맵형식으로 변환해서 복수의 윈도우중에 출력할때는, 곡선발생, 발생된 곡선에 따른 도트의 형성, 페인팅을 포함하는 일연의 처리를 전부 동일한 1개의 처리계(one precessing scheme)에 포함된 소프트웨어로 행하고 있었다.
그러나, 복수의 윈도우에 대해서, 곡선발생, 발생된 곡선에 따른 도트의 형성, 페인팅 등의 처리를 전부 소프트웨어로, 또한 동일한 한 개의 처리계에서 행하면, 상당히 길게되고, 그 결과, 벡터형식의 데이터를 비트맵형식의 데이터로 변환하는 것이 상당히 길게된다. 그래서, 처리시간을 짧게하려고 시도하면, 곡선발생 등의 처리를 거칠게 하지 않을 수 없고, 그 결과, 출력품위(output quality)를 떨어지게 한다고 하는 문제점이 발생한다. 또, 각 화면의 처리에 대한 요구사항이 다르게 되는 경우에도, 1개의 처리계만을 이용하도록 하고 있기 때문에, 각 윈도우의 요구사항에 따른 처리를 할 수 없다고 하는 문제가 있다.
이상과 같은 점에 비추어, 본 발명의 목적은, 복수의 처리계(processing schem)를 가지고, 상기 처리계중 어느것을 사용해서, 복수의 윈도우에 문자패턴을 출력하는 문자처리방법에 있어서, 각 윈도우의 요구사항을 판별하고, 그 요구사항에 따라서 복수의 처리계로부터 특정한 윈도우에 적합한 처리계를 선택하고, 윈도우마다 윈도우에 대해서 선택한 처리계에 의해 처리한 문자 또는 도형을 출력하는 문자처리방법을 제공하는데 있다.
본 발명에 의하면, 상기 목적은, 복수의 문자나 도형을 가지고, 복수의 처리계의 각각을 사용하여 복수의 윈도우에 문자나 도형을 출력하는 처리방법에 있어서, 특정한 윈도우의 출력모드에 관한 요구사항을 각 윈도우로부터 얻는 단계와, 요구사항에 의거하여 각각의 윈도우에 대해서 복수의 처리계중 하나를 선택하는 단계를 포함하는 처리방법을 제공함으로써 달성된다.
본 발명의 다른 특징 및 장점은 첨부도면을 참조한 이하의 상세한 설명에 의해 명백할 것이며, 상기 도면에 있어서, 같이 참조부호는 동일하거나 유사한 부재를 나타낸다.
이하, 첨부도면을 참조하면서, 본 발명의 실시예에 대해서 상세히 설명한다.
제1도는, 본 발명을 적용한 문자처리시스템(character processing system)의 기본적인 구성을 표시한 블록도이다. 또한, 본 문자처리시스템은 일본어(또는 영문)워드프로세서, 워크스테이션(work station) 또는 컴퓨터시스템이다.
제1도에 있어서, (1)은 장치전체를 제어하고 또한 각종 연산처리를 행하는 CPU(central procesing unit)(중앙처리장치)이다. (2)는 시스템기동프로그램 , 문자패턴 데이터등의 기억영역인 ROM(read-only memory)(판독전용메모리)이다. 이 패턴데이터는, 윈도우시스템이 메뉴등의 문자를 출력할 때 사용된다. (3)는 ROM이나 외부기억장치로부터 윈도우시스템이 로우드된 후에, 제2도는 표시한 어플리케이션큐(application cue)나 시스템큐(system cue)의 기억영역으로서 또는 사용제한이 없는 데이터의 기억영역으로서 사용되는 RAM(random-access memory)이다. 이들 영역에는, 각종처리마다, 각각 대응하는 프로그램(뒤에 설명하는 순서도에 의해서 표시되어 있다)이나 데이터가 로우드된다. (4)는, 키보드(KB)(5)로부터 키입력데이타를 받아서 CPU(1)에 전송하는 KBC(keyboard controller)(키보드제어부)이다.
이 입력된 데이터는 제2도에 표시된 RAM(3)의 시스템큐를 경유해서 어플리케이큐에 설정된다. (6)은 윈도우시스템으로부터 표시요구가 있으면 CRT(디스플레이장치)(7)위에 표시를 나타내는 CRTC(디스플레이제어부)이다. 프로그램 및 데이터를 미리 기억해놓고, 프로그램 및 데이터는 필요에 따라 참조되어 RAM(3)로 로우드되는 FD(플로피디스크) 또는 HD(하드 디스크) 등의 외부기억장치이다. (8)은 FD(또는 HD)와의 데이터전송을 제어하는 DKC(디스크제어부)이다. (10)은 PRTC(프린터제어부)이고, (11)은 PRT(프린터장치)이다. (12)는 상기의 구성요소를 연결하는 데이터의 통로를 형성하는 시스템버스이다.
이상의 구성으로 이루어진 본 실시예의 상세에 대하여 이하에 설명한다.
제2도에 도시한 순서도는 제1도의 문자처리시스템에 사용되고 있는 윈도우시스템의 기본적인 데이터의 흐름을 개략적으로 표시하고 있다. 이 윈도우시스템은 이벤트구동형 구조(event-driven structure)를 가진다.
제2의 스텝(204) 내지 스텝(206)은, 일예로서 하드웨어를 통하여 입력이 있는 경우 윈도우시스템 내부에서 처리의 흐름을 표시하고 있다. 제2도의 스텝(201) 내지 스텝(203)은, 윈도우시스템에서 사용되는 어플리케이션 프로그램(예를 들면, 워드프로세서의 소프트웨어)를 표시하고 있다. 윈도우시스템은 OS로 생각해도 된다.
스텝(201)에서 어플리케이션프로그램의 초기화가 행하여진다. 스텝(202)에서, RAM(3)내의 어플리케이션영역으로부터 메시지가 획득되고, 다음에 스텝(203)에서는 스텝(202)에서 획득한 메시지에 대응하는 서브루틴이 호출된다. 그후는, 윈도우시스템이 종료할때까지, 스텝(202), 스텝(203)이 반복된다.
한편, 스텝(204)에서 키보드(제1도의 KB5), 마우스등의 하드웨어로부터 데이터를 획득한다. 획득된 데이터는 스텝(205)에서 시스템큐에 일시적으로 저장된다. 스텝(206)에서 데이터를 어플리케이션에 의해 사용될 수 있는 형식(format)으로 변호나한 후에 어플리케이션큐에 데이터를 설정한다. 이후, 입격디바이스로부터 있을 때마다 스텝(204) 내지 (206)의 처리를 반복한다.
제3도는 사기 스텝(202)에서 획득한 메시지에 대응하는 대표적인 서브루틴의 그룹을 표시한다. 제3도에서, 예를 들면 1개의 윈도우가 액티브상태(active state)로부터 인액티브상태(inactive state)로 이행되는 1개의 윈도우에 응답하여 대응하는 1개의 서브루틴이 기동한다.
문자가 윈도우에 표시되기까지의 처리
다음에, 문자가 윈도우에 출력되기까지의 기본적인 데이터의 흐름에 대하여 제4도를 참조하면서 설명한다.
제4도의 순서도는 윈도우시스템쪽에 존재하는 폰트드라이버(font driver)(도시되지 않음)의 기능을 표시한다. 이 기능은 제2도의 스텝(203)에서 서브루틴코올(subroutine call)에 의해 호출된다. 보다 상세하게는 스텝(401)이 실행될때까지, 제2도의 어플리케이션프로그램쪽의 스텝(202), 스텝(203)의 서브루틴코올에 의해 윈도우생성서브루틴이 호출되고, 입력파라미터가 어플리케이션(스텝 206)로부터 획득되고, 문자출력서부루틴(character-output subroutine)이 호출된다. 스텝(401)에서 제어가 폰트드라이버(도시되지 않음)에 이동된다. 입력파라미터는, 뒤에 설명하는 제13도, 제16도, 제19도, 제20도의 입력파라미터로서 사용된다. 이들의 파라미터의 종류로서는, "문자코드(chracter code)", "출력크기(output size)", "서체(font)의 종류", "수식의 종류(type of emellishment)" 및 "출력형식(output format)" 등이 있다. 또, 이들의 파라미터는, 텍스트처리가 행하여 질것인지 여부를 표시하는 플래그를 포함한다. 이 플래그는, 제11도, 제12도 등의 요구명세를 판단하는 기준으로 사용된다.
제4도의 스텝(402)에서, 스텝(401)으로부터 얻은 문자코드로부터, ROM 또는 하드디스크(9) 등에 저장되어 있는 벡터형식의 폰트데이터중에서 처리대상이 되는 폰트데이터의 선두어드레스 및 데이터길이를 계산해서, 이들을 자체 RAM 영역에 저장한다. 이때의 폰트데이터의 형식은, 좌표열, 곡선 정보 및 힌트정보(hint information) 등이 포함되어 있는 형식이다. 이 힌트정보란, 출력문자를 고품위화하는 보조정보이다. 또, 데이터량을 감축하기 위해 폰트데이터에 압축이 실시되어 있는 경우도 있다.
스텝(403)에서 힌드정보 등을 해석함으로써, 폰트데이터를 좌표열과 직선/곡선정보만을 포함하도록 한다. 또한, 판독한 데이터가 런렝기법(run-length technique) 등의 수단에 의해 압축되는 경우는, 스텝(403)에서 해석하기전에 압축을 풀 필요가 있다.
스텝(404)에서, 스텝(401)으로부터 얻은 대상문자의 사이즈와 이미 알고 있는 폰트데이터의 외형사이즈로부터 확대하거나 축소해야될 세로방향의 각각의 배율을 결정한다. 그리고, 그 세로방향과 가로방향의 확대/축소배율을 스텝(403)으로부터 얻은 좌표열의 모든 좌표값에 곱하기 위하여 사용되고, 이에 의해 요구하는 쪽에 대해 탐색한 크기의 좌표열을 작성한다. 또한, 스텝(401)에서 이탤릭체(italic)/거울상의 등의 문자수식(character embellishment)이 있는 경우에는, 상기 확대/축소배율과 문자수식을 표현하는 행렬식을 포함한 파인변환(fine ttransformation)을 행하여 소망의 좌표값을 구한다.
스텝(405)에서는, 스텝(403)까지 작성된 좌표열 및 직선/곡선정보로부터 구해야될 문자에 대한 비트맵형식(bit-map format)의 폰트데이터를 작성한다. 폰트데이터의 작성과정에서, 직선정보로부터 폰트데이터를 작성하는 경우는, DDA(digital differential analyzer) 발생 알고리즘으로부터 소망의 점을 구하고, 이점은 메모리에 도트데이터로서 형성된다. 곡선정보에 대해서는, 그후 B스플라인함수(B spline function)를 이 정보로부터 발생하고 일시적으로 짧은 직선의 집합으로 변환한 후에 직선에 대한 것과 마찬가지의 DDA 발생 알고리즘에 의해 소망의 점을 구하고, 이 점은 메모리에 도트로서 형성된다. 또는, 상기 곡선정보의 B 스플라인을 구성하는 점을 3차원베제(three-dimensional bezier)를 구성하는 점으로 변환하고, 이것으로부터 3차원베제의 함수를 발생한다. B스플라인 함수의 경우와 마찬가지로 짧은 직선의 집합으로 변환한 후에, 직선에 대한 것과 마찬가지의 DDA 발생알고리즘으로부터 소망의 점을 구하고, 이 점은 메모리에 도트로서 형성된다.
메모리에 도트를 형성하는 방법으로서는, 각각 별개의 방법에 의해 2개의 메모리 평면(memory plane)에 형성된다. 1개의 평면에 도트를 형성하는 방법은, 1개의 선을 긋는 경우에, 제5도에 표시한 바와 같이, 동일한 Y좌표치를 가진 2개이상의 도트가 형성되지 않도록 도트를 형성하는 것을 포함한다. 도트형성의 이 방법에 의하면, 배타적 논리합(XOR)에 의해 도트를 형성한다. 보다 상세하게는, 형성될 도트가 이미 타점되어 있는 경우에는(흑색도트인 경우에는), 이 도트는 없어진다(백색도트가 된다). 도트가 타점되지 않은 경우에는(백색도트인 경우에는), 도트가 타점된다(흑색도트가 된다). 또, 다른 1개의 평면에 도트를 형성하는 방법에 대해서는, 제6도에 도시한 바와 같이, 도트중 1개의 도트도 분리되지 않도록 즉, 도트가 연속적으로 부여되도록 도트를 형성한다. 도트형성의 이 방법은 논리합(OR)에 의존한다. 보다 상세하게는, 형성될 도트가 이미 타점되어 있거나 타점되어 있지않는 경우에 관계없이 도트를 타점한다.
이와같이 해서 모든 데이터에 대해서 도트형성의 처리가 종료되면, 다음에 페인팅처리를 행한다. 이 처리에서는, 도트형성의 처리시에 XOR의 연산에 의해 도트형성을 행하였던 평면(제5도와 같은 평면)에서만 처리를 행한다. 페인팅방법에 의하면, 제7도에 도시한 바와 같이, Y방향(가로방향)으로 주사하고 1개의 타점에 의해 형성된 도트와 이전에 형성된 도트 사이의 공간전체를 도트로 채운다. 그리고, 또 Y방향(가로방향)으로 주사할때에 도트가 발견되면, 이 도트와 다음에 발견된 도트사이의 공간을 도트로 채운다. 이와같은 처리를 모든 Y좌표에 대해서 좌단으로부터 우단까지 행하면, 페인트처리가 종료된다. 또한, 제7도에 있어서, 설명의 편의상, XOR의 기법에 의해 형성된 도트를 2종의 원으로 표시한다.
스텝 S(405)에서, 제8도에 표시한 바와같이, 페인팅을 행한 평면과 상기 OR 연산에 의해서 도트형성을 행한 평면사이의 OR을 취한다. 제8도에서, (a)는 제7도에 관련해서 설명한 페인팅에 의해 얻은 폰트패턴의 일부이고, (b)는 제7도에 관련해서 설명한 OR방법에 의해 얻은 폰트패턴의 일부이다. 이 OR 합성처리를 종료함으로써 스텝(405)의 처리를 종료한다.
스텝(406)에서는, 스텝(405)에서 작성된 흑색패턴의 문자에 스텝(401)에서 얻은 수식의 종류에 따라서 음영(shading)이나 네팅(netting)등의 패턴수식을 행한다.
스텝(507)에서 요구하는 쪽에 데이터를 전송하는 처리를 행한다. 이것은, 요구하는 쪽의 스캔형식(ROW 혹은 COLUMN)에 의존하여 주사변환(scan conversion)을 적용함으로써 처리를 행한다.
상기 설명은, 제1도, 제2도에 도시한 문자처리시스템에 있어서의 문자처리의 일반적인 흐름의 설명이다.
윈도우대응의 문자처리
다음에, 이 문자처리시스템을 멀티윈도우시스템에 적용한 경우의 특징적인 동작에 대해서 한층 더 상세히 설명한다. 제9도는 본 문자처리시스템에 대해서 미리 구비된 처리계(processing schemes)의 각각의 특징(품위, 처리속도)을 도시한 도면이다. 제9도에서, ○은 품위, 처리속도 등의 특징이 양호한 것을, ×는 이들의 특징이 불량한 것을, △은 이들의 특징이 보통인 것을 표시하고 있다. 본 시스템에서는, 어느 1개의 처리계를 윈도우마다 선택할 수 있는 점에 특징이 있다. 처리계 A는, 상기한 워드프로세서등의 어플리케이션 소프트웨어에 사용되고, 또한 벡터형식의 데이터를 비트맵형식의 데이터로 소프트웨어에 의해 변환하는 처리이다. 이 처리계 A에서는, 입력데이터형식으로서 직선 +B스플라인 함수로 표현된 데이터 또는 직선 +3차원베제함수로 표현된 데이터를 처리할 수 있다. 이 처리계가, 품위면에서는, 뛰어나지만, 속도면에서는 다소 느리다. 이 처리계의 특징은, 종래에는, 머시인 인디펜던트의 처리(machine-independent processing)를 실현하고자하는 경우에 일반적으로 발생하는 특징이다.
처리계 B는 처리계 C는, 처리계 A의 결점을 해소하기 위해 새로이 추가한 처리계이고, 3차원베제의 전계처리를 단순화하고 있다. 이들의 처리계 B, C도 하드웨어 또는 소프트웨어에 의해 실행된다. 처리계 B에서는, 입력데이터 형식으로서 직선 +3차원베제함수로 표현된 데이터를 처리할 수 있다. 정수연산처리를 행하기 때문에 품위가 떨어지나, 이 처리계는 여기서 취급하는 처리계중에서 가장 빠른 속도를 가진다. 처리계 C에서는, 입력데이터형식으로서 직선 +3차원베제함수형식으로 표현된 데이터를 처리할 수 있다. 품위가 처리계 A의 품위만큼 좋지는 않으나, 고정소수점연산을 행하기 때문에 처리계 B보다 좋은 품위를 가지고, 이 처리계는 속도면에서도 빠르다. 이들이 처리계의 기능은 도시되지 않은 상기 폰트드라이버에 추가되는 기능이다.
윈도우의 요구사양
제10도 A, 10도는 B는, 제1도의 시스템의 CRT(7)위에 표시된 2개의 윈도우의 예를 표시한다. 상기한 바와 같이, 이들의 윈도우가 표시될때까지, 제2도에서 표시된 윈도우시스템이 기동되어야 한다. 제10A, 제10도B, 제11도, 제12도를 참조하면서 윈도우에 설정될 각 윈도우의 요구명세에 대해서 설명한다.
제10도 A에 있어서, 윈도우(1001)는 액티브윈도우(편집될 수 있는 상태의 윈도우)이다. 이 윈도우에서는, 다수의 한자 및 가나문자로 구성된 일본어의 문장이 표시되어 있다. 이 윈도우에서는, 일본어 문자의 입력이 행해진다. 내부에서는, 입력된 문자데이터는 텍스트로서 처리된다. 윈도우(1001)에서 요구되는 사양에 대해서는, 문자를 쉽게 판별할 수 있는 레벨이면 품위는 문제되지 않는다. 그러나, 처리속도가 최우선으로 부여된다. 윈도우(1002)는 인액티브윈도우(편집될 수 없는 상태의 윈도우)이다. 여기서는, 레이아우트의 변경처리를 행한다. 윈도우(1002)의 요구명세는, 윈도우가 편집될 수 없는 상태에 있기 때문에 속도가 다소 감소되어도 문제되지 않는다.
그러나, 레이아우트를 변경하는 처리를 행하는 사실에 기인하여 다소의 위치조정이 행해지므로, 품위가 양호하지 않으면 이 윈도우는 무의미하게 된다.
제10도B에서, 윈도우(1003)와 윈도우(1004)는 윈도우(1001), (1002)의 관계와 반대로 되어있다. 즉, 윈도우(1003)는 액티브로되어 있고, 윈도우(1004)는 인액티브로되어 있다. 그 결과, 이것은 품위와 속도가 모두 우선되는 윈도우이고, 따라서 어느한쪽이 부족해도 윈도우는 무의미하게 된다. 그러나, 윈도우(1004)는 인액티브(편집될 수 없는 상태)이기 때문에, 품위, 속도가 모두 특정한 문제를 제거하지 않는 처리계로 충분하다.
이와같이, 윈도우는, 그 내부에서 행해지는 처리에 따른 요구명세를 가진다. 또한 이들 윈도우의 양쪽에 대한 요구명세는, 윈도우가 놓여진 상태에 따라, 변화한다.
제11도는, 이와같은 요구명세의 3종류를 표로서 도시한 도면이다. 요구명세 a는 품위를 우선하고, 속도는 우선하지 않은 명세이다. 예를 들면, 이것은 제10도의 윈도우(1002)에 대응한다. 요구명세 b는 품위/속도가 모두 상당히 양호하고 또한 제10도의 윈도우(1003)에 대응한다. 명세 c는 속도가 우선되고, 품위는 우선되지 않는 것으로, 예를 들면 제10도의 윈도우(1001)에 대응한다.
제12도는, 품위와 속도 등의 2개의 요소(각 요소는 ○, △, × 등의 3개의 레벨을 가진다)에 의해 표시될 수 있는 9가지의 요구명세의 각각에 대한 요구명세와 처리계(processing sheme) 사이의 대응을 표시한 표(요구명세/처리계의 대응표로 칭함)이다. 이와같은 표는 제1도의 RAM(3)에 저장된다. 제12도에 표시된 각 요구명세와 제9도에 표시된 각 처리계의 특징을 미리 비교하고, 각 요구명세마다, 이 요구명세에 적합하는 처리계를 "선택된 처리계"로서 제12도의 표의 오른쪽 컬럼에 표시하고 있다.
또한, 여기서는, 처리계를 선택하는 기준으로서, 상기한 파라미터중에서 텍스트처리를 나타내는 플래그를 사용하고 있음은 물론이다.
제12도의 표에서, 예를 들면, 처리계 c는 요구명세 1, 2, 4, 5, 8을 만족한다. 이에대한 이유는 다음과 같다. 처리계 c에서는, 제9도에 도시한 바와 같이, 명세는 품위=△, 속도=○이라고 하는 능력을 가진다. 상기 파라미터에 구속되는 처리계의 선택에는, 예를 들면 처리계 c는, 품위, 속도=○○, ○△, △○, △△, ×△라고 하는 요구사항도 만족하고 있는 것으로 조작자가 간주하고, 그 결과로서 제12도의 표를 작성하였다.
여기서, 특정한 윈도우가 제11도에 도시한 요구명세 a, b, c중 어느 것을 요구하고 있을 때 어느 처리계가 선택되는가에 대해서 제12도에 도시된 표에 따라서 설명하면, 이 윈도우가 명세 a(=○×)를 요구할 때, 제12도로부터 명백한 바와 같이 처리계 A가 선택된다. b(=△△)를 요구하면, 처리계 c가 선택된다. 명세 c(=×○)를 요구하면 처리계 B를 선택한다. 이들의 선택순서는 뒤에 설명한다.
요구명세의 결정과 처리계의 선택
상기한 개의 처리계 A, B, C를 가진 시스템에서, 윈도우의 요구명세가 결정되고, 적합한 처리계가 선택될 때까지의 흐름을, 제13도의 순서도를 일예로서, 설명한다. 또한, 제13도는 윈도우시스템의 폰트드라이버를 기동하고, 폰트드라이버가 처리계를 선택하는 과정을 나타낸다.
제13도는, 벡터형식을 도트형식으로 변환하는 스텝(405)(제4도)의 변환처리에서 벡터/도트 변환을 행하는 능력을 가진 3개의 처리계가 있는 경우에 처리계가 선택되는 방식을 도시한 흐름도이다.
제13도의 스텝(1301)에서, 표시된 윈도우가 액티브(예를 들면, 제10도의 윈도우(1001) 또는 윈도우(1003)에 대응하는 윈도우)인지의 여부에 대해 결정한다. 윈도우가 액티브이면 프로그램은 스텝(1302)으로 진행하고, 그렇지 않으면(윈도우(1002) 또는 (1004)에 대응하는 경우에는)프로그램은 스텝(1305)으로 진행한다.
윈도우가 액티브로 결정되었기 때문에 프로그램이 스텝(1302)으로 진행하는 경우에는, 이 윈도우에서 편집하는 대상이 텍스트인지의 여부 즉, 윈도우(1001)에 대응하는지의 여부를 결정한다. 스텝(1302)에서 텍스트가 편집되어야할 것으로 판단되면, 스텝(1303)에서 윈도우의 요구명세서로서 속도를 중시하고, 품위를 경시하는 것으로 설정된다. 다음에 프로그램은 스텝(1308)으로 진행한다. 또, 스텝(1302)에서 편집대상이 텍스트가 아닌 것으로 즉 윈도우(1003)에 대응하는 것으로 판단되면, 스텝(1304)에서 요구명세로서, 속도와 품위를 모두 중시하는 것으로 설정된다.
한편, 스텝(1301)에서 윈도우가 액티브가 아니라고 판단된 경우에는 프로그램은 스텝(1305)으로 진행된다. 여기서, 스텝(1302)의 경우에서와 같이, 텍스트가 편집되는 것으로 즉, 윈도우(1004)에 대응하는 것으로 판단되면, 스텝(1306)에서 품위와 속도가 모두 경시해도 되는 요구명세가 설정된다. 편집대상이 텍스트가 아닌 것으로 즉, 윈도우(1003)에 대응하는 것으로 판단되면 스텝(1307)에서 품위를 중시하고, 속도를 경시해도 좋다고 하는 설정이 이루어진다.
이와같이해서, 특정 윈도우의 요구명세가 결정되었다. 다음에 스텝(1308) 내지 스텝(1316)으로 진행하고, 이들 스텝은 처리계의 선택을 제어하는 순서를 구성한다.
다음에 스텝(1308)에서, 스텝(1301) 내지 스텝(1307)에서 설정된 요구명세를 품위면에서 만족시키는 처리계가 존재하는지 여부의 판정을 행한다. 다음에, 제12도의 표와 윈도우의 요구명세에 의거한 품위면에 있어서의 요구명세를 만족시키는 처리계가 적어도 1개 존재하면, 프로그램은 스텝(1309)으로 진행한다. 요구명세를 만족시키는 처리계가 1개도 존재하지 않는 경우에는 프로그램은 스텝(1313)으로 진행한다.
품위면에 대한 요구명세를 만족시키는 처리계가 적어도 1개 존재하는 경우에, 스텝(1309)에서, 속도면에 대한 요구명세를 만족시키는 처리계가 존재하는지의 여부를 스텝(1309)에서 판정한다. 스피드면에 대한 요구명세를 만족시키는 처리계가 적어도 1개 존재하면, 프로그램은 스텝(1310)으로 진행한다. 요구명세를 만족시키는 처리계가 1개도 존재하지 않는 경우에는, 프로그램은 스텝(1312)으로 진행한다.
상기 처리의 결과로서, 스텝(1310)은, 품위 및 속도면에 대한 요구명세를 모두 만족시키는 처리계가 적어도 1개 존재하는 경우에는, 이와같은 처리계가 복수 존재하는지의 여부를 판정한다. 1개만 있는 경우에는, 이 1개의 처리계로 결정하고, 프로그램은 스텝(1317)으로 진행한다. 2개이상의 처리계가 존재하는 경우에는, 프로그램은 스텝(1311)으로 진행한다.
스텝(1311)에서, 요구명세를 만족시키는 복수의 처리계가 존재하는 경우에, 처리계중 어느 것을 선택하여야 하는지를 결정한다. 처리계를 선택하기 위해 사용될 수 있는 여러 가지의 기법이 있으나, 여기서는 요구명세를 만족하는 최초에 출현되는 처리계를 선택하는 것으로 가정한다. 여기서 언급한 최초에 출현하는 처리계란, 제12도에 도시된 표를 검색할 때, 최초에 조건을 만족하는 처리계이거나 또는 최후에 조건을 만족하는 처리계이어도 됨은 물론이다.
속도면에서 대한 요구명세를 만족시키는 처리계가 1개도 존재하지 않는다고 스텝(1309)에서 판단된 경우에는, 프로그램은 스텝(1312)으로 진행한다. 품위면의 요구를 만족시킨다고 판단된 경우에는, 스텝(1308)에서 판단된 처리계가 스텝(1312)에서 선택되고, 다음에 프로그램은 스텝(1317)으로 진행한다.
품위면의 요구명세를 만족시키는 처리계가 1개 존재하지 않는다고 스텝(1308)에서 판단된 경우에는, 스피드면에 대한 요구명세를 만족시키는 처리계가 존재하는지의 여부를 스텝(1313)에서 판정한다. 속도면예 대한 요구명세를 만족시키는 처리계가 적어도 1개 존재하면, 프로그램은 스텝(1314)으로 진행한다. 요구명세를 만족시키는 처리계가 1개도 존재하지 않는 경우에는, 프로그램은 스텝(1316)으로 진행한다.
스텝(1313)에서 NO라고 판단된 경우, 즉, 요구명세를 만족시키는 처리계가 1개도 존재하지 않는다고 판단된 경우에는, 존재하는 처리계중에서 최초로 출현하는 처리계를 스텝(1316)에서 선택하고, 다음에 프로그램(1317)으로 진행한다.
스텝(1313)에서 속도에 대한 요구명세를 만족시키는 처리계가 적어도 1개 존재한다고 판단된 경우에는, 이와같은 처리계가 복수 존재하는지 여부를 스텝(1314)에서 판정한다. 1개만 존재하는 경우는, 이 1개의 처리계로 결정하고 프로그램은 스텝(1317)으로 진행한다. 이와같은 처리계가 복수 존재하는 경우, 예를 들면 제12도에서, 속도를 중시하는 경우에 선택 가능한 처리계가 C와 B인 복수의 선택후보가 존재하는 경우에는, 프로그램은 스텝(1315)으로 진행한다. 스텝(1315)은, 속도면에 대한 요구명세를 만족시키는 복수의 처리계가 존재하는 경우에는, 어느 처리계를 선택하는가를 스텝(1315)에서 결정한다. 여기서는 요구명세를 만족시키는 최초에 출현하는 처리계를 선택하고, 다음에 프로그램은 스텝(1317)으로 진행한다.
제4도의 스텝(405)의 처리와 마찬가지의 처리를 선택된 처리계에 의해서 스텝(1317)에서 행한다. 처리계에 따라서 약간의 방법차이가 있는 경우에도 여기서는 어떤 문제에도 직면하지 않는 것에 유의하여야 한다.
이상과 같이 선택될 처리계를 윈도우 요구명세와 처리계의 특징에 의거해서 결정함으로써, 요구명세를 만족시키는 가장 가까운 처리계로 전개할 수 있고, 품위면과 속도에 대한 출력장치에 일치하는 소망의 데이터를 출력할 수 있다.
변형예 : 요구사양으로서 데이터형식과 최대사이즈를 부가
제11도∼제13도에 표시한 기법에서는, 품위와 속도의 요구요소에 의거해서 처리계를 결정한다. 지금부터 설명하는 변형예에서는, 데이터형식과 문자의 최대사이즈가 처리계를 결정하는 요소로서의 기준에 부가한 경우를 예로 들어 설명한다. 또한, 이 변형예에 따른 처리의 기본적인 흐름은 상기 실시예에 준하고 있다.
제14도는, 이 변형예에서 구비한 4종류의 처리계의 특징을 표시한 도면이다.
여기서는, 처리계 A는 입력데이터형식으로서 직선 +B스플라인함수에 의해 표현된 데이터 또는 직선 +3차원베제함수에 의해서 표현된 데이터를 처리할 수 있다. 이 처리계는, 품위면에서 우수하고, 속도면에서 상당히 느리고, 문자를 충분히 큰 크기로 전개할 수 있다.
처리계 B는 직선 +3차원베제함수에 의해 표현된 데이터를 입력데이터형식으로서 처리할 수 있다. 정수연산처리를 행하기 때문에 품위는 떨어지지만, 이 처리계는 여기서 취급한 처리계 중에서 최고의 속도를 가진다. 문자가 전개될 수 있는 사이즈는 작다.
처리계 C는 직선 +3차원베제함수에 의해 표현된 형식의 데이터를 입력데이터형식으로서 처리할 수 있다. 이 처리계는 처리계 A의 품위만큼 양호한 품위를 나타내지 않지만, 고정소수점 연산을 행하기 때문에 처리계 B의 품위보다 좋은 품위를 가지고, 이 처리계는 속도면에서도 신속하다. 문자가 전개될 수 있는 사이즈는 작다.
처리계 D는 직선 +원호에 의해 표현된 형식의 데이터를 입력데이터형식으로서 처리할 수 있다. 이 처리계는 처리계 A의 속도만큼 높지는 않지만, 이 처리계의 처리속도는 높고 또한 문자를 큰 사이즈까지 전계가능하다. 또한, 이들은 상기한 제11도에 준하고 있다.
제15도는, 이 변형예에서 3개의 요구명세의 예(a, b, c)를 입력데이터형식, 전개가능한 문자사이즈, 품위 및 속도의 관점에서 표에 표시한 것이다. 또한, 이 변형예에서도, 제12도에 도시한 바와 같이 종류를 선택하기 위한 표가 있음은 물론이다.
명세 a에 대해서는 입력데이터형식에 대한 요구는 직선 +3차원베제함수이고, 출력기에 대한 요구는 품위를 최우선으로 하고, 이와같은 요구를 가진 윈도우는 처리스피드가 다소 희생되어도 높은 출력품위를 요구하는 윈도우이다. 그리고, 명세 a는, 출력명세로서, 큰 사이즈까지의 출력을 행한다.
명세 b에 대해서는, 입력데이터형식으로서 직선 +3차원베제함수를 요구한다. 또, 명세 b의 윈도우는 품위가 속도가 모두 우선할 것을 요구하는 윈도우이다. 이 윈도우로부터 출력되는 출력장치는, 품위 또는 속도가 부족해도 무의미하게 된다. 그리고, 출력명세로서, 작은 사이즈만의 출력을 행한다.
명세 c에 대해서는, 입력데이터형식은 직선 +원호이다. 윈도우의 요구명세에 대해서는 품위를 그다지 문제시하지 않으나, 속도를 최우선하는 윈도우이다. 그리고, 출력명세로서 큰 사이즈까지의 출력을 행한다.
이상의 처리계를 가진 변형예의 시스템에 있어서의 처리의 흐름에 대하여 제16도의 순서도를 예로 들어 설명한다. 제16도는, 제4도의 스텝(405)에서 처리계가 4개 존재하는 경우에 처리계를 선택하는 흐름을 표시한 흐름도이다.
스텝(1601)에서, 표시를 행하는 윈도우가 액티브(사용자로부터의 받아들이는 윈도우)인가를 판단한다. 윈도우가 액티브이면, 프로그램은 스텝(1602)으로 진행하고, 그렇지 않으면, 프로그램은 스텝(1605)으로 진행한다. 스텝(1602)에서 편집대상이 텍스트인지의 여부를 판단하고, 텍스트이면, 스텝(1603)에서, 윈도우의 요구명세로서 속도를 중시하고 품위를 경시하도록 설정되고, 다음에 프로그램은 스텝(1608)으로 진행한다. 또, 스텝(1602)에서 편집대상이 텍스트가 아니라고 판단되면, 스텝(1604)에서 요구명세로서 속도와 품위를 모두 중시하도록 설정된다.
한편, 스텝(1601)에서 윈도우가 액티브가 아니라고 판단된 경우에는, 프로그램은 스텝(1605)로 진행한다. 스텝(1605)에서, 스텝(1602)의 경우에서와 같이, 편집대상이 텍스트인지의 여부를 판단한다. 텍스트라고 판단되면, 스텝(1606)에서 품위와 속도를 모두 경시한다고 하는 요구명세가 설정된다. 스텝(1605)에서 텍스트가 아니라고 판단되면 스텝(1607)에서 품위를 중시하고 속도를 경시한다고 하는 요구명세가 설정된다.
스텝(1608)에서는, 입력의 폰트데이터형식이 부여된 처리계중에서 처리가능한 데이터형식과 일치하는 처리가 있는지의 여부를 판정한다. 일치하는 것이 적어도 1개 존재하면, 프로그램은 스텝(1610)으로 진행하고, 일치하는 것이 존재하지 않으면, 프로그램은 스텝(1609)으로 진행한다.
프로그램이 스텝(1609)으로 스텝(1609)으로 진행하면, 이것은, 부여된 처리계에는 입력의 폰트데이터형식에 대해서 처리가능한 데이터형식이 1개도 존재하지 않는다고 하는 경우를 나타낸다. 그러나, 처리가능한 데이터형식이 1개도 존재하지 않는 경우에도, 데이터형식의 변환에 의해 처리가능하게 되는 경우가 있다. 따라서, 스텝(1609)에서, 입력의 폰트데이터형식으로부터 처리계가 가진 데이터형식까지 포오맷변환이 가능한 처리계가 존재하는지의 여부를 판정한다. 포오맷변환이 가능한 처리계가 존재하면, 프로그램은 스텝(1610)으로 진행한다. 이와같은 처리계가 존재하지 않으면, 처리가 불가능한 것으로 판정해서 에러를 출력한다. 스텝(1609)으로부터 스텝(1610)으로 까지 프로그램이 진행하는 경우의 포오맷변환에 의해 제15도에 도시한 품위와 속도의 변화가 발생하면, 그 표의 값을 재기록한다.
프로그램이 스텝(1610)까지 진행하면, 이것은, 입력의 폰트데이터형식의 데이터를 처리할 수 있는 처리계가 적어도 1개 존재한다는 것을 의미한다. 스텝(1610)에서는, 대상으로 하는 문자의 사이즈를 전재할 수 있는 처리계가 존재하는지 여부를 판정한다. 문자의 사이즈가 전개가능하면, 프로그램은 스텝(1612)으로 진행하고, 그렇지 않으면, 프로그램은 스텝(1611)으로 진행한다. 스텝(1610)에서 대상으로 하는 데이터사이즈를 전개할 수 없다고 판정된 경우에는, 프로그램은 스텝 (1611)으로 진행한다. 이 스텝의 시점에서 대상이 되는 처리계중에서, 분할처리가 가능한 처리계가 존재하는지의 여부를 판정한다. 분할처리 가능한 처리계가 적어도 1개 존재하면, 프로그램은 스텝(1612)으로 진행하고, 분할 처리가능한 처리계가 1개도 존재하지 않으면 에러메시지를 출력한다.
다음에 스텝(1612)에서, 스텝(1601) 내지 스텝(1607)에서 설정된 요구명세가 품위면에서 만족하는 처리계가 존재하는지의 여부를 판정한다. 품위면에 대한 요구명세를 만족시키는 처리계가 적어도 1개 존재하면, 프로그램은 스텝(1613)으로 진행한다. 요구명세를 만족시키는 처리계가 1개도 존재하지 않는 경우에는, 프로그램은 스텝(1617)으로 진행한다.
스텝(1612)에서, 품위면에 대한 요구명세를 만족시키는 처리계가 존재하는 경우에는, 스텝(1613)에서, 속도면에 대한 요구명세를 만족시키는 처리계가 존재하는지의 여부를 판정한다. 속도면에 대한 요구명세를 만족시키는 처리계가 적어도 1개 존재하면, 프로그램은 스텝(1614)으로 진행한다. 요구명세를 만족시키는 처리계가 1개도 존재하지 않는 경우는, 프로그램은 스텝(1616)으로 진행한다.
스텝(1613)에서 품위면과 속도면의 요구명세를 모두 만족시키는 처리계가 적어도 1개 존재한다고 판단된 경우에는, 스텝(1614)에서 이와같은 처리계가 복수 존재하는지의 여부를 판정한다. 1개만이 있는 경우는, 이 1개의 처리계가 결정하고, 프로그램은 스텝(1621)으로 진행한다. 2개이상의 처리계가 존재하는 경우에는, 프로그램은 스텝(1615)을 진행한다.
스텝(1615)에서는, 요구명세를 만족시키는 복수의 처리계가 존재하는 경우에 어느 처리계를 선택하는가를 결정한다. 여기서는, 요구명세를 만족시키는 최초에 출현하는 처리계를 선택한다.
스텝(1616)에서는, 속도면에 대한 요구명세를 만족시키는 처리계가 1개도 존재하지 않는 것으로 결정되는 경우, 품위면의 요구를 만족시키는 처리계가 선택되고, 프로그램은 스텝(1621)으로 진행한다.
스텝(1617)에서는, 품위면의 요구명세를 만족시키는 처리계가 1개도 존재하지 않은 경우에는, 속도면에 대한 요구명세를 만족시키는 처리계가 존재하는지의 여부를 판정한다. 속도면에 대한 요구명세를 만족시키는 처리계가 적어도 1개 존재하면, 프로그램은 스텝(1618)으로 진행한다. 요구명세를 만족시키는 처리계가 1개도 존재하지 않는 경우에는, 프로그램은 스텝(1620)으로 진행한다.
스텝(1620)에서는, 요구명세를 만족시키는 처리계가 1개도 존재하지 않는 것으로 판정되는 경우에, 어느 처리계를 선택하는가를 결정한다. 여기서는, 존재하는 처리중에서 최초에 출현하는 처리계를 선택하고, 다음에 프로그램은 스텝(1621)으로 진행한다.
속도면의 요구명세를 만족시키는 처리계가 적어도 1개 존재하는 경우에는, 스텝(1618)에서, 이와같은 처리계가 복수 존재하는지의 여부를 판정한다. 1개만 있는 경우는, 이 1개의 처리계로 결정하고, 프로그램은 스텝(1612)으로 진행한다. 2개이상의 처리계가 존재하는 경우에는, 프로그램은 스텝(1619)으로 진행한다.
스텝(1619)에서는, 속도면에 대한 요구명세를 만족시키는 복수의 처리계가 존재하는 경우, 어느 처리계를 선택하는가를 결정한다. 여기서는, 요구명세를 만족시키는 최초로 출현하는 처리계를 선택하고, 다음에 프로그램은 스텝(1621)을 진행한다.
스텝(1621)에서는, 선택된 처리계에 의해서 제4도의 스텝(405)과 마찬가지의 처리를 행한다. 처리계에 의해서 약간의 방법의 차이가 있어도 여기서는 문제삼지 않는 것에 유의하여야 한다.
이상과 같이, 입력데이터형식, 입력명세, 요구명세 및 처리계의 특징에 의거하여 어느 처리계를 선택할 것인가를 결정함으로써, 입력데이터형식, 입력명세, 요구명세를 만족시키는데 가장 가까운 처리계로 전개할 수 있고, 또한 품위면 및 스피드면에 대한 소망의 데이터를 출력할 수 있다.
다른변형예(제2변형예)
상기 제1변형예에 있어서는, 입력데이터형식, 입력명세, 출력장치의 요구명세에 관해서 처리계의 결정방법을 상세히 설명하였다.
이 제2변형예에서는 프린터(11) 등의 출력장치나 본체장치의 RAM(3)중에서 처리계가 사용가능한 메모리량이라고 하는 요인, 또는 출력서체에 대한 처리계의 적합/부적합이라고 하는 요인을, 처리계를 결정하는 요인으로서, 부가한 경우를 예로들어 설명한다.
제17도는, 제2변형예에서 사용가능한 4개의 처리계(A, B, C, D)의 각각의 특징을 표시한다.
동도면에 있어서, 처리계 A는 직선 +B스플라인에 의해 표현된 데이터 또는 직선 +3차원베제함수에 의해 표현된 데이터를 처리할 수 있다. 이 처리계는 품위면에서는 우수하고, 속도면에서는 다소 느리고, 문자를 충분히 큰 크기로 전개할 수 있다. 또한, 이 처리계 A의 추천된 서체는, 명조체 또는 고딕체이다.
처리계 B는 직선 +3차원베제함수에 의해 표현된 데이터를 입력데이터형식으로서 처리할 수 있다. 정수연산처리를 행하기 때문에 품위가 떨어지지만, 이 처리계는 여기서 취급하는 처리계중에서 가장 빠른 속도를 가진다. 문자가 전개될 수 있는 사이즈는 작다. 또한, 이 처리계 B의 추천된 서체는 명조체뿐이다.
처리계 C는 입력데이터형식으로서 직선 +3차원베제함수에 의해 표현된 형식의 데이터를 처리할 수 있다. 이 처리계는 처리계 A의 품위만큼 좋지는 않으나, 고정소수점연산을 행하기 때문이 이 처리계의 품위는 처리계 B의 품위보다 양호하고, 또한 이 처리계는 속도면에서도 빠르다. 문자가 전개될 수 있는 크기는 작고, 또한 처리계 C는 추천된 서체는 고딕체뿐이다.
처리계 D는 직선 +원호의 함수에 의해서 표현된 형식의 데이터를 입력데이터 형식으로서 처리할 수 있다. 이 처리계는 품위면에서는 양호하지만, 속도면에서는 처리계 A의 속도만큼 빠르지 않다. 그러나, 이 처리계의 속도는 높고 또한 문자를 큰 사이즈까지 전개할 수 있다. 또, 이 처리계 d의 추천된 서체는 붓글씨체뿐이다.
제18도는 이 제2변형예에서 요구되는 명세의 3가지 예(a, b, c)를 표시한 도면이다. 이와같이, 이 제2변형예에 의하면, 명세의 요소는, 입력데이터의 형식, 사용가능한 메모리의 용량, 전개가능한 문자사이즈, 품위, 속도 등의 6가지가 있다.
상기한 4개의 처리계와, 3종류의 요구명세 및 조건을 가진 시스템에 있어서, 제어의 흐름을 제19도의 흐름도를 예로들어 설명한다.
제19도는, 제4도의 스텝(405)에서 처리계가 4개 존재한 경우에 처리계를 선택하는 흐름을 도시한 흐름도이다.
스텝(1901)에서, 표시를 행하는 윈도우가 액티브(사용자로부터 입력을 받아들이는 윈도우)인가의 여부를 판단한다. 윈도우가 액티브이면, 프로그램은 스텝(1902)으로 진행하고, 그렇지않으면, 프로그램은 스텝(1905)으로 진행한다. 스텝(1902)에서 윈도우의 편집대상이 텍스트인지의 여부를 판단한다. 편집대상이 텍스트이면, 스텝(1903)에서 윈도우의 요구명세로서 속도가 중시되고 품위가 경시되도록 설정된다. 프로그램은 스텝(1908)으로 진행한다. 또, 윈도우(1902)에서 편집대상이 텍스트가 아니라고 판단되면, 스텝(1904)에서 요구명세로서 속도와 품위가 모두 중시되도록 설정된다.
한편, 스텝(1901)에서 윈도우가 액티브가 아니라고 판단된 경우에는, 프로그램은 스텝(1905)으로 진행된다. 스텝(1902)의 경우에서와 같이, 편집대상이 텍스트인지의 여부를 판단한다. 편집대상이 텍스트라고 판단되면, 스텝(1906)에서, 품위와 속도가 모두 경시된다고 하는 요구명세가 설정된다. 편집대상이 텍스트가 이나라고 판단되면, 스텝(1907)에서 품위가 중시되고 속도가 경시된다고 하는 요구명세가 설정된다.
스텝(1908)에서 부여된 처리계중에서 입력의 폰트데이터형식이 처리가능한 데이터형식과 일치하는 처리계를 포함하는 여부를 판정한다. 일치하는 처리계가 적어도 1개 존재하면, 프로그램은 스텝(1910)으로 진행한다. 일치하는 처리계가 존재하지 않으면, 프로그램은 스텝(1909)으로 진행한다.
프로그램이 스텝(1909)으로 진행하면, 부여된 처리계는 입력의 폰트데이터형식에 대해서 처리가능한 단일의 데이터형식으로 포함하지 않는다. 그러나, 처리가능한 데이터형식의 1개도 존재하지 않는 경우에도, 데이터형식의 변환에 의해 처리가 가능하게 되는 경우가 있다. 따라서, 스텝(1909)에서, 입력의 폰트데이터형식으로부터 처리계가 가진 데이터형식으로 포맷변환할 수 있는 처리계가 존재하는지의 여부를 판정한다. 포오맷변환이 가능한 처리계가 존재하면, 프로그램은 스텝(1910)으로 진행한다. 이러한 처리계가 존재하지 않으면, 처리가 불가능하다고 판정해서 에러를 출력하다. 프로그램이 스텝(1909)으로부터 스텝(1910)까지 진행하는 경우의 포오맷변환에 으해 제17도에 도시한 품위와 속도 등의 변화가 발행하면, 표의 값이 재기록된다.
프로그램이 스텝(1910)까지 진행하면, 이것은, 입력의 폰트데이터형식의 데이터를 처리할 수 있는 처리계가 적어도 1개 존재한다고 하는 것을 의미한다. 스텝(1910)에서는, 윈도우시스템에 대해서 사용가능한 메모리의 크기를 조회하고, 사용가능하다고 생각되는 전개메모리(development memory)의 허용용량내에서, 현시점에서 전개가능한 처리계가 전개할 수 있는지의 여부를 판정한다. 허용치의 범위내에서 문자를 전개할 수 있는 처리계가 적어도 1개 존재하면, 프로그램은 스텝(1911)으로 진행한다. 전개 가능한 처리계가 1개도 존재하지 않는 경우에는, 처리가 불가능한 것으로 판정해서 판정의 메시지를 에러메시지로서 출력한다.
입력의 폰트데이터형식의 데이터를 처리하는 처리계가 적어도 1개 존재하고, 또한 메모리용량도 만족하고 있다고 스텝(1910)에서 판단된 경우에는, 스텝(1911)에서 대상으로 하는 사이즈가 처리가능한 처리계중에서 전개가능한지의 여부를 판정한다. 전개가 가능하면, 프로그램은 스텝(1913)으로 진행하고, 전개가 불가능하면, 프로그램은 스텝(1912)으로 진행한다.
스텝(1911)에서 대상으로 하는 데이터사이즈가 전개될 수 없는 것으로 판정된 경우에는, 프로그램은 스텝(1912)으로 진행한다. 이 스텝의 시점에서 대상이 되는 처리계가 분할처리가능한 처리계를 포함하는지의 여부를 판정한다. 분할처리 가능한 처리계가 적어도 1개 존재하면, 프로그램은 스텝(1913)으로 진행하고, 분할처리가능한 처리계가 1개도 존재하지 않으면, 에러메시지를 출력한다.
다음에 스텝(1913)에서는, 스텝(1901) 내지 스텝(1907)에서 설정된 요구명세를 품위면에서 만족시키는 처리계가 존재하는지의 여부를 판정한다. 품위면에 대한 요구명세를 만족시키는 처리계가 적어도 1개 존재하면, 프로그램은 스텝(1914)으로 진행한다. 요구명세를 만족시키는 처리계가 1개도 존재하지 않는 경우에는, 프로그램은 스텝(1924)으로 진행한다.
스텝(1914)에서는, 품위면에 대한 요구명세를 만족시키는 처리계가 존재하는 경우에는, 속도면에 대한 요구명세를 만족시키는 처리계가 존재하는지의 여부를 판정한다. 속도면에 대한 요구명세를 만족시키는 처리계가 적어도 1개 존재하면, 프로그램은 스텝(1915)으로 진행한다. 요구명세를 만족시키는 처리계가 1개도 존재하지 않는 경우에는, 프로그램은 스텝(1920)으로 진행한다.
스텝(1915)에서는, 품위면 및 속도면의 요구명세를 모두 만족시키는 처리계가 적어도 1개 존재하는 경우에는, 이 처리계가 복수 존재하는지의 여부를 판정한다. 1개뿐인 경우는, 이 1개의 처리계로 결정하고 프로그램은 스텝(1934)으로 진행한다. 2개이상의 처리계가 존재하는 경우에는, 프로그램은 스텝(1916)으로 진행한다.
스텝(1916)에서는, 이 시점에서 처리가능한 복수의 처리계가 존재하는 경우, 각각의 처리계에 대해서 서체에 의거한 처리의 적합/부적합을 판정한다. 적어도 1개의 처리계에서 출력하고자 하는 서체에 적합한 처리계가 존재하면, 프로그램은 스텝(1917)으로 진행한다. 출력하고자 하는 서체로 적합한 처리계가 1개도 존재하지 않는 경우에는, 프로그램은 스텝(1919)으로 진행한다.
스텝(1917)에서는, 품위면, 속도면 및 서체에 대한 요구명세를 모두 만족하는 처리계가 적어도 1개 존재하는 경우에는, 처리계가 복수 존재하는지의 여부를 판정한다. 1개만 있는 경우는, 이 1개의 처리계로 결정하는 프로그램은 스텝(1934)으로 진행한다. 2개이상의 처리계가 존재하는 경우에는, 프로그램은 스텝(1910)으로 진행한다.
스텝(1918)에서는, 요구명세를 만족시키는 복수의 처리계가 존재하는 경우에 어느 처리계를 선택하는가를 결정한다. 여기서는, 요구명세를 만족시키는 최초에 출현하는 처리계를 선택한다.
스텝(1919)에서는, 품위면 및 속도면의 요구명세를 모두 만족시키는 복수의 처리계가 존재하는 경우이고, 요구명세를 만족시키는 최초에 출현하는 처리계를 선택하고, 프로그램은 스텝(1934)으로 진행한다.
스텝(1921)에서 출현하고자 하는 서체에 적합한 처리계가 1개도 존재하지 않는 경우에도, 프로그램은 스텝(1923)으로 진행한다. 품위면의 요구명세를 만족시키는 처리계중에서, 최초에 출현하는 처리계를 선택하고, 프로그램은 스텝(1934)으로 진행한다.
스텝(1921)에서는, 품위면 및 서체의 요구명세를 모두 만족시키는 처리계가 적어도 1개 존재하는 경우 이 처리계가 복수 존재하는지의 여부를 판정한다. 1개뿐인 경우에는, 이 1개의 처리계로 결정하고, 프로그램은 스텝(1934)을로 진행한다. 2개이상의 처리계가 존재하는 경우에는, 프로그램은 스텝(1922)으로 진행한다. 스텝(1922)에서는, 품위면 및 서체의 요구명세를 모두 만족시키는 복수의 처리계가 존재하는 경우에는, 요구명세를 만족시키는 최초에 출현하는 처리계를 선택하고, 프로그램은 스텝(1934)으로 진행한다.
스텝(1924)에서는, 속도면에 대한 요구명세를 만족시키는 처리계가 존재하는지의 여부를 판정한다. 속도면에 대한 요구명세를 만족시키는 처리계가 적어도 1개 존재하면, 프로그램은 스텝(1925)으로 진행한다. 요구명세를 만족시키는 처리계가 1개도 존재하지 않는 경우에는, 프로그램은 스텝(1930)으로 진행한다.
스텝(1925)에서는, 속도면의 요구명세를 만족시키는 처리계가 적어도 1개 존재하는 경우에는, 이 처리계가 복수 존재하는지의 여부를 판정한다. 1개뿐인 경우에는, 이 1개의 처리계로 결정하고, 프로그램은 스텝(1934)으로 진행한다. 2개이상의 처리계가 존재하는 경우에는, 프로그램은 스텝(1926)으로 진행한다.
스텝(1926)에서는, 이 시점에서 처리가능한 복수의 처리계가 존재하는 경우에는, 각각의 처리계에 대해서 서체에 의한 처리의 적합/부적합을 판정한다. 적어도 1개의 처리계에서 출력하고자하는 서체에 적합한 처리계가 존재하면, 프로그램은 스텝(1927)으로 진행한다. 출력하고자하는 서체에 적합한 처리계가 1개도 존재하지 않는 경우에는, 프로그램은 스텝(1929)으로 진행한다.
스텝(1927)에서는, 속도면 및 서체의 요구명세를 모두 만족시키는 처리계가 적어도 1개 존재하는 경우에는, 이 처리계가 복수 존재하는지의 여부를 판정한다. 1개뿐인 경우는, 이 1개의 처리계로 결정하고 프로그램은 스텝(1934)으로 진행한다. 2개이상의 처리계가 존재하는 경우에는, 프로그램은 스텝(1928)으로 진행한다.
스텝(1928)에서는, 요구명세를 만족시키는 복수의 처리계가 존재하는 경우에, 어느 처리계를 선택할 것인가를 결정한다. 여기서는, 요구명세를 만족시키는 최초에 출현하는 처리계를 선택한다.
스텝(1929)에서는, 속도면의 요구명세를 만족시키는 복수의 처리계가 존재하는 경우에는, 요구명세를 만족시키는 최초에 출현하는 처리계를 선택하고, 프로그램은 스텝(1934)으로 진행한다.
스텝(1930)에서는, 출력하고자하는 서체에 적합한 처리계가 존재하면, 프로그램은 스텝(1931)으로 진행한다. 출력하고자 하는 서체에 적합한 처리계가 1개도 존재하지 않는 경우에는, 프로그램은 스텝(1933)으로 진행한다. 여기서는, 품위면의 요구명세를 만족시키는 처리계중에서, 최초로 출현하는 처리계를 선택하고, 다음에 프로그램은 스텝(1934)으로 진행한다.
스텝(1931)에서는, 품위면 및 서체의 요구명세를 모두 만족시키는 처리계가 적어도 1개 존재하는 경우에는, 이 처리계가 복수 존재하는지의 여부를 판정한다. 1개뿐인 경우는, 이 1개의 처리계로 결정하고, 프로그램은 스텝(1934)으로 진행한다. 2개이상의 처리계가 존재하는 경우에는, 프로그램은 스텝(1932)으로 진행한다.
스텝(1932)에서는, 품위면 및 서체의 요구명세를 모두 만족시키는 복수의 처리계가 존재하는 경우에는, 요구명세를 만족시키는 최초로 출현한 처리계를 선택하고 프로그램은 스텝(1934)으로 진행한다.
스텝(1934)에서는, 선택된 처리계에 의해서 제4도의 스텝(405)과 마찬가지의 처리를 행한다. 처리계에 의해서 약간의 방법차이가 이어도 여기서는 문제삼지 않음에 유의하여야 한다.
이상과 같이, 복수의 처리계가 있고 또한 이 처리계중 어느것을 사용하여 복수의 윈도우에 문자패턴을 출력하는 경우에, 각 윈도우의 요구를 판정한다. 다음에, 이 요구에 대응해서, 품위, 속도, 입력데이터형식, 메모리용량, 출력사이즈 또는 서체를 각 윈도우에 대해서 기준으로 사용해서, 복수의 처리개중 1개를 선택한다. 또한, 그 결과로서, 특정한 상황에 따른 최적의 조건하에서 각 윈도우에 대한 문자를 출력할 수 있다. 또는, 각 윈도우가 액티브인지 인애티브인지에 따라서 최적의 가변조건하에서 문자를 출력할수 있다.
본 발명은 클레임의 범위내에서 여러 가지로 변형할 수 있다.
에를 들면, 상기 실시예나 변형예에서는, 일본어를 처리하는 시스템에 본 발명을 적용한 것이나, 본 발명은 당연히, 다른 언어(예를들어, 영어)를 사용하는 시스템에도 적용가능하다. 이 경우에, 서체는, 예를 들면, Courier, Times 등이 있다.
또, 상기의 실시예나 변형예는, 1개의 표시장치나 인쇄장치로 이루어진 시스템에 본 발명을 적용한 것이나, 본 발명은 복수의 표시장치나 인쇄장치로 구성되는 시스템에 적용해도 된다. 또, 본 발명은 시스템이나 장치에 프로그램을 공급함으로써 달성되는 경우에도 적용될 수 있음은 물론이다.
본 발명은 상기 실시예에 한정되지 않고, 본 발명의 기술적 사상 및 기술적 범위를 일탈함이 없이 각종 변형과 수정이 가능하다. 따라서, 본 발명의 범위를 일반에 알리기 위한 청구의 범위는 다음과 같다.

Claims (40)

  1. 표시된 윈도우의 상태를 판별하는 제1판별수단과 ; 제1판별수단에 의한 판별에 의거하여 윈도우에 요구되는 출력명세를 결정하는 결정수단과 ; 문자폰트데이터(character font data)에 의거하여 문자패턴을 발생하는 복수의 발생수단중 하나를, 결정수단에 의해 결정된 출력명세에 의거하여, 선택하는 선택수단을 구비하고, 윈도우에 표시된 문자를 출력하기 위하여 출력장치를 제어하는 출력제어기에 있어서, 상기 결정수단은, 윈도우가 액티브(active)인 경우에 패턴의 신속한 발생이 중요한 것으로, 간주되는 명세를 출력명세로서 설정하는 것을 특징으로 하는 출력제어기.
  2. 제1항에 있어서, 윈도우를 표시하는 표시수단을 부가하여 구비한 것을 특징으로 하는 출력제어기.
  3. 제1항에 있어서, 출력제어기는 선택수단에 의해 선택된 한 발생수단을 사용하여 문자패턴을 출력하는 것을 특징으로 하는 출력제어기.
  4. 제1항에 있어서, 제1판별수단은 윈도우가 액티브인지의 여부를 결정하는 것을 특징으로 하는 출력제어기.
  5. 제1항에 있어서, 출력명세는, 한층 더 중요한 것으로 간주되는 것으로서, 문자서체데이터를 사용하여 문자패턴을 발생하는 동안의 신속성이나 발생된 문자패턴이 품질을 명세하는 것을 특징으로 하는 출력제어기.
  6. 제1항에 있어서, 윈도우에 표시될 편집대상물을 판별하는 제2판별수단을 부가하여 구비하고, 결정수단은 제1, 2판별수단에 의해 형성된 판별결과에 의거하여 윈도우용 출력명세를 결정하는 것을 특징으로 하는 출력제어기.
  7. 제1항에 있어서, 선택수단은, 문자패턴발생의 신속성과 발생된 문자패턴의 품질을 고려하여 복수의 발생수단중 하나를 선택하는 것을 특징으로 하는 출력제어기.
  8. 제7항에 있어서, 선택수단은, 문자서체데이터의 형식과 발생될 문자의 크기를 고려하여 복수의 발생수단중 하나를 선택하는 것을 특징으로 하는 출력제어기.
  9. 제8항에 있어서, 선택수단은, 문자패턴의 발생시에 요구되는 메모리의 양과 발생될 문자의 서체를 고려하여 복수의 발생수단은 하나를 선택하는 것을 특징으로 하는 출력제어기.
  10. 윈도우에 요구되는 출력명세를 결정하는 제1판별수단과 ; 상기 제1판별수단에 의해 얻은 판별결과에 의거하여 윈도우에 요구되는 출력명세를 결정하는 결정수단과 ; 문자서체데이터에 의거하여 문자패턴을 발생하는 복수의 발생수단중 하나를, 결정수단에 의해 결정된 출력명세에 의거하여, 선택하는 선택수단을 구비하고, 윈도우에 표시된 문자를 출력하기 위하여 제어되는 출력제어기에 있어서, 상기 결정수단은, 편집된 대상물이 텍스트인 경우에 패턴의 신속한 발생이 중요한 것으로 간주되는 명세를 출력명세로서 설정하는 것을 특징으로 하는 출력제어기.
  11. 제10항에 있어서, 윈도우를 표시하는 표시수단을 부가하여 구비한 것을 특징으로 하는 출력제어기.
  12. 제10항에 있어서, 출력제어기는 선택수단에 의해 선택된 발생수단을 사용하여 출력패턴을 출력하는 것을 특징으로 하는 출력제어기.
  13. 제10항에 있어서, 제1판별수단은 편집된 대상물이 텍스트이지의 여부를 결정하는 것을 특징으로 하는 출력제어기.
  14. 제10항에 있어서, 출력명세는, 한층더 중요한 것으로 간주되는 것으로서, 문자서체데이터를 사용하여 문자패턴을 발생하는 동안의 신속성이나 발생하는 문자패턴의 품질을 명세하는 것을 특징으로 하는 출력제어기.
  15. 제10항에 있어서, 윈도우에 표시될 편집대상물을 판별하는 제2판별수단을 부가하여 구비하고, 결정수단은 제1, 2판별수단에 의해 얻은 판별결과에 의거하여 윈도우의 출력명세를 설정하는 것을 특징으로 하는 출력제어기.
  16. 제10항에 있어서, 선택수단은, 문자패턴발생의 신속성과 발생하는 문자패턴의 품질을 고려하여 복수의 발생수단중 하나를 선택하는 것을 특징으로 하는 출력제어기.
  17. 제16항에 있어서, 선택수단은, 문자서체데이터의 형식과 발생될 문자의 크기를 고려하여 복수의 발생수단중 하나를 선택하는 것을 특징으로 하는 출력제어기.
  18. 제17항에 있어서, 선택수단은, 문자패턴의 발생시에 요구되는 메모리의 양과 발생될 문자의 서체를 고려하여 복수의 발생수단중 하나를 선택하는 것을 특징으로 하는 출력제어기.
  19. 제2항에 있어서, 출력제어기는 선택수단에 의해 선택된 발생수단을 사용하여 문자패턴을 출력하는 것을 특징으로 하는 출력제어기.
  20. 제14항에 있어서, 선택수단은, 문자패턴발생의 신속성과 발생된 문자패턴을 고려하여 복수의 발생수단중 하나를 선택하는 것을 특징으로 하는 출력제어기.
  21. 표시된 윈도우의 상태를 판별하는 단계와 ; 판별단계에서 얻은 판별에 의거하여 윈도우에 대해 요구되는 출력명세를 결정하는 단계와 ; 문자서체데이터에 의거하여 문자패턴을 발생하는 복수의 발생수단중에서 하나를, 결정단계에서 얻은 출력명세에 의거하여, 선택하는 단계를 구비하고, 윈도우에 표시된 문자를 출력하는 방법에 있어서, 결정단계에서, 윈도우가 액티브인 경우에 패턴의 신속한 발생이 한층더 중요한 것으로 간주되는 것을 특징으로 하는 문자출력방법.
  22. 제21항에 있어서, 표시시에 윈도우를 표시하는 단계를 부가하여 구비한 것을 특징으로 하는 문자출력방법.
  23. 제21항에 있어서, 선택단계에서 선택된 발생수단을 사용하여 문자패턴을 출력하는 단계를 부가하여 구비한 것을 특징으로 하는 문자출력방법.
  24. 제21항에 있어서, 판별단계에서, 윈도우가 액티브인지의 여부를 결정하는 것을 특징으로 하는 문자출력방법.
  25. 제21항에 있어서, 출력명세는 한층더 중요한 것으로 간주되는 것으로서, 문자서체데이터를 사용하여 문자패턴을 발생하는 동안의 신속성이나 발생된 문자패턴의 품질을 명세하는 것을 특징으로 하는 문자출력방법.
  26. 제21항에 있어서, 윈도우에 표시될 편집대상물을 판별하는 단계를 부가하여 구비하고, 또한 윈도우용 출력명세를 결정하는 단계는 판별단계에서 얻은 판별결과에 의거하여 행해지는 것을 특징으로 하는 문자출력방법.
  27. 제21항에 있어서, 선택단계에서, 문자패턴발생의 신속성과 발생된 문자패턴을 고려하여 복수의 발생수단중 하나를 선택하는 것을 특징으로 하는 문자출력방법.
  28. 제27항에 있어서, 선택단계에서, 문자서체데이터의 형식과 발생될 문자의 크기를 고려하여 복수의 발생수단중 하나를 선택하는 것을 특징으로 하는 문자출력방법.
  29. 제28항에 있어서, 선택단계에서, 문자패턴의 발생시에 요구되는 메모리의 양과 발생될 문자의 서체를 고려하여 복수의 발생수단중 하나를 선택하는 것을 특징으로 하는 문자출력방법.
  30. 윈도우에 표시된 편집대상물을 판별하는 단계와 ; 판별단계에서 얻은 판별결과에 의거하여 윈도우에 필요한 출력명세를 결정하는 단계와 ; 문자폰트데이터에 의거하여 문자패턴을 발생하는 복수의 발생수단중 하나를 결정단계에서 결정된 출력명세에 의거하여, 선택하는 단계를 구비하고, 윈도우에 표시된 문자를 출력하기 위한 제어방법에 있어서, 결정단계는, 편집된 대상물이 텍스트인 경우, 패턴의 신속한 발생이 한층더 중요한 것으로 간주되는 명세를 출력명세로서 결정하는 단계를 포함하는 것을 특징으로 하는 제어방법.
  31. 제30항에 있어서, 표시상에 윈도우를 표시하는 단계를 부가하여 구비한 것을 특징으로 하는 제어방법.
  32. 제30항에 있어서, 선택단계에서 선택된 발생수단을 사용하여 문자패턴을 출력하는 단계를 부가하여 구비한 것을 특징으로 하는 제어방법.
  33. 제30항에 있어서, 편집된 대상물이 텍스트인지의 여부를 판정하는 것을 특징으로 하는 제어방법.
  34. 제30항에 있어서, 출력명세는, 한층더 중요한 것으로 간주되는 것으로서, 문자서체데이터를 사용하여 문자패턴을 발생하는 동안의 신속성이나 발생된 문자패턴의 품질을 명세하는 것을 특징으로 하는 제어방법.
  35. 제30항에 있어서, 윈도우에 표시될 편집대상물을 판별하는 단계를 부가하고, 또한 결정단계는 판별단계에서 얻은 판별결과에 의거하여 출력명세윈도우를 결정하는 것을 특징으로 하는 제어방법.
  36. 제30항에 있어서, 선택단계에서, 문자패턴발생의 신속성과 발생된 문자패턴의 품질을 고려하여 복수의 발생수단중 하나를 선택하는 것을 특징으로 하는 제어방법.
  37. 제36항에 있어서, 선택단계에서, 문자서체데이터의 형식과 발생될 문자의 크기를 고려하여 복수의 발생수단중 하나를 선택하는 것을 특징으로 하는 제어방법.
  38. 제37항에 있어서, 선택단계에서, 문자패턴의 발생시에 요구되는 메모리의 양과 발생될 문자의 서체를 고려하여 복수의 발생수단중 하나를 선택하는 것을 특징으로 하는 제어방법.
  39. 제22항에 있어서, 선택단계에서 선택된 발생수단을 사용하여 문자패턴을 출력하는 단계를 부가하여 구비한 것을 특징으로 하는 문자출력방법.
  40. 제25항에 있어서, 선택단계에서, 문자패턴발생의 신속성과 발생된 문자패턴의 품질을 고려하여 복수의 발생수단중 하나를 선택하는 것을 특징으로 하는 문자출력방법.
KR1019920018646A 1991-10-11 1992-10-10 문자 또는 도형의 처리방법 KR970008546B1 (ko)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP91-263886 1991-10-11
JP3263885A JPH05108294A (ja) 1991-10-11 1991-10-11 文字処理方法
JP91-263885 1991-10-11
JP3263880A JPH05108293A (ja) 1991-10-11 1991-10-11 文字処理方法
JP91-263879 1991-10-11
JP3263886A JPH05108295A (ja) 1991-10-11 1991-10-11 文字処理方法
JP3263879A JPH05108292A (ja) 1991-10-11 1991-10-11 文字処理方法
JP91-263880 1991-10-11

Publications (2)

Publication Number Publication Date
KR930008664A KR930008664A (ko) 1993-05-21
KR970008546B1 true KR970008546B1 (ko) 1997-05-27

Family

ID=27478670

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920018646A KR970008546B1 (ko) 1991-10-11 1992-10-10 문자 또는 도형의 처리방법

Country Status (4)

Country Link
US (1) US5524198A (ko)
EP (1) EP0537030B1 (ko)
KR (1) KR970008546B1 (ko)
DE (1) DE69222255T2 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3486467B2 (ja) 1993-10-21 2004-01-13 キヤノン株式会社 画像記録装置及びその制御方法
DE4341367C1 (de) * 1993-12-04 1995-06-14 Harald Dr Med Dr Med Eufinger Verfahren zur Herstellung von Endoprothesen
US5959634A (en) * 1993-12-09 1999-09-28 Canon Kabushiki Kaisha Character generating system employing thickening or narrowing of characters
GB2299419A (en) * 1995-03-25 1996-10-02 Ibm Message queuing for a graphical user interface
JP3862336B2 (ja) 1996-12-26 2006-12-27 キヤノン株式会社 画像編集方法及び装置
US7257528B1 (en) 1998-02-13 2007-08-14 Zi Corporation Of Canada, Inc. Method and apparatus for Chinese character text input
US6204887B1 (en) * 1998-12-11 2001-03-20 Hitachi America, Ltd. Methods and apparatus for decoding and displaying multiple images using a common processor
US6384846B1 (en) 1998-12-11 2002-05-07 Hitachi America Ltd. Methods and apparatus for rendering multiple images using a limited rendering resource
US6801882B1 (en) 2000-03-22 2004-10-05 General Electric Company Methods and systems for generating profile curves of solid models
US7024341B2 (en) 2000-10-19 2006-04-04 General Electric Company Methods and apparatus for electronically modeling aircraft engine harnesses
US7050960B2 (en) 2000-11-30 2006-05-23 General Electric Company Methods and apparatus for generating drawings from computer generated models
US8026944B1 (en) * 2001-04-12 2011-09-27 Sony Corporation Method and apparatus for hosting a network camera with image degradation
US6922655B2 (en) * 2002-12-18 2005-07-26 General Electric Company Method and apparatus for coupling a conduit
JP2008070831A (ja) * 2006-09-15 2008-03-27 Ricoh Co Ltd 文書表示装置及び文書表示プログラム
JP6589642B2 (ja) * 2016-01-07 2019-10-16 富士ゼロックス株式会社 データ処理装置およびプログラム
US10025550B2 (en) * 2016-03-15 2018-07-17 Intel Corporation Fast keyboard for screen mirroring

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484302A (en) * 1980-11-20 1984-11-20 International Business Machines Corporation Single screen display system with multiple virtual display having prioritized service programs and dedicated memory stacks
JPS60234856A (ja) * 1984-05-09 1985-11-21 Canon Inc 記録装置
US4688167A (en) * 1984-09-27 1987-08-18 Wang Laboratories, Inc. Screen manager for data processing system
US5251293A (en) * 1987-09-02 1993-10-05 Ascii Corporation Character display apparatus
JPH01196096A (ja) * 1988-02-01 1989-08-07 Canon Inc 出力装置
US5109352A (en) * 1988-08-09 1992-04-28 Dell Robert B O System for encoding a collection of ideographic characters
JPH02232690A (ja) * 1989-03-04 1990-09-14 Brother Ind Ltd データ変換装置
US5228121A (en) * 1989-09-29 1993-07-13 Digital Equipment Corporation Document generation using information engineering
JPH03196188A (ja) * 1989-12-26 1991-08-27 Nec Corp 情報処理装置の表示方式
US5226117A (en) * 1990-05-15 1993-07-06 International Business Machines Corporation Method for simultaneous update and change in parent and child windows
US5233685A (en) * 1990-06-12 1993-08-03 Wordperfect Corporation Method and apparatus for integrated graphical and textual character printing

Also Published As

Publication number Publication date
EP0537030A2 (en) 1993-04-14
KR930008664A (ko) 1993-05-21
US5524198A (en) 1996-06-04
EP0537030A3 (en) 1993-12-15
DE69222255D1 (de) 1997-10-23
DE69222255T2 (de) 1998-01-29
EP0537030B1 (en) 1997-09-17

Similar Documents

Publication Publication Date Title
KR970008546B1 (ko) 문자 또는 도형의 처리방법
US5715473A (en) Method and apparatus to vary control points of an outline font to provide a set of variations for the outline font
KR100306862B1 (ko) 문자 패턴 생성 장치 및 문자 패턴 생성 장치 제어 프로그램을 기억한 매체
JP3037854B2 (ja) 文字生成方法及びその装置
JPH06328785A (ja) 文字生成方法及びその装置
JP4492082B2 (ja) 画像出力制御方法および装置並びにプログラム
JPH02270019A (ja) 高品質文字パターン発生方式
JP2806679B2 (ja) 文字発生装置
JPH06274303A (ja) マルチウィンドウ表示方法
JPH0934434A (ja) 文字生成装置
JP3814330B2 (ja) 文字処理装置、文字処理方法、及び、メモリ
JP2806790B2 (ja) 文字発生装置およびその方法
JPH04348388A (ja) 文字出力方式
JPH06175639A (ja) 文字生成方法及びその装置
JP2835056B2 (ja) 高品質文字パターン発生方式
JP3040624B2 (ja) パターン発生装置
JPH05108292A (ja) 文字処理方法
JPH05108293A (ja) 文字処理方法
JP2976671B2 (ja) データ展開方法
JP4080470B2 (ja) 文字パターン生成装置
JP3099556B2 (ja) データ変換装置
JPH05108295A (ja) 文字処理方法
JPH05108294A (ja) 文字処理方法
JP2000148734A (ja) 文字修飾方法
JPH0561451A (ja) 文字出力装置

Legal Events

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

Payment date: 20030924

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee