KR100196394B1 - 프린터의 자동 에뮬레이션 모드 절환방법 - Google Patents

프린터의 자동 에뮬레이션 모드 절환방법 Download PDF

Info

Publication number
KR100196394B1
KR100196394B1 KR1019950056852A KR19950056852A KR100196394B1 KR 100196394 B1 KR100196394 B1 KR 100196394B1 KR 1019950056852 A KR1019950056852 A KR 1019950056852A KR 19950056852 A KR19950056852 A KR 19950056852A KR 100196394 B1 KR100196394 B1 KR 100196394B1
Authority
KR
South Korea
Prior art keywords
emulation mode
control code
printer
data
buffer
Prior art date
Application number
KR1019950056852A
Other languages
English (en)
Inventor
임형용
Original Assignee
구자홍
엘지전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구자홍, 엘지전자주식회사 filed Critical 구자홍
Priority to KR1019950056852A priority Critical patent/KR100196394B1/ko
Application granted granted Critical
Publication of KR100196394B1 publication Critical patent/KR100196394B1/ko

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

본 발명은 프린터가 전송된 데이터에 일치하는 에뮬레이션 모드를 자동으로 선택 절환시키는 프린터의 자동 에뮬레이션 모드 절환방법에 관한 것으로서, 각 제어코드 테이블이 상호 공유성이 없는 고유의 제어코드로만 구성되고, 임의의 카운팅 버퍼의 값이 사전 설정된 값과 같아지면 상기 제어코드 테이블의 검색을 종료하며, 비트 맵 이미지 데이터에 대한 상기 제어코드 테이블의 검색을 하지 않기 때문에 상기 제어코드 테이블의 검색시간을 단축시키고, 상기 검색 결과 정확성을 향상시켜 프린터로 전송되는 데이터에 일치하는 에뮬레이션 모드를 빠른 시간내에 선택 절환시킬 수 있는 잇점이 있다.

Description

프린터의 자동 에뮬레이션 모드 절환방법
제1도는 본 발명에 의한 프린터의 자동 에뮬레이션 모드 절환방법에 관한 것으로서,
a는 프린터의 펌 웨어(firm-ware)부의 개략적인 흐름도.
b는 a에 포함된 자동 에뮬레이션 모드 절환루틴을 나타내는 흐름도.
c는 b에 도시된 자동 에뮬레이션 모드 절환 실행루틴을 나타내는 흐름도임.
본 발명은 프린터의 자동 에뮬레이션 모드 절환방법에 관한 것으로서, 특히 프린터가 전송된 데이터에 일치하는 에뮬레이션 모드를 자동으로 선택 절환시키는 프린터의 자동 에뮬레이션 모드 절환방법에 관한 것이다.
일반적으로 프린터의 에뮬레이션이라 함은 다른 프린터의 기계적인 명령을 수행할 수 있는 기능 즉, 다른 프린터의 기능을 흉내내는 것을 말한다.
종래 기술에 의한 프린터의 자동 에뮬레이션 모드 절환방법은 크게 두가지 방법이 있었다.
그 첫 번째 방법은 프린터 공급회사에서 개발된 프린터 드라이버가 데이터의 선두에 해당 에뮬레이션 모드의 제어코드를 추가하여 상기 프린터로 전송시키면 상기 프린터가 추가된 상기 제어코드를 인식하여 이전의 에뮬레이션 모드를 해당 에뮬레이션 모드로 절환시키는 것이었다.
그 두 번째 방법은 프린터가 지원하는 각 에뮬레이션 모드별로 제어코드 테이블을 구성하고 카운팅 버퍼를 지정한 다음 프린터로 전송되는 모든 데이터에 대해 상기 각 제어코드 테이블을 각각 검색하여 상기 각 데이터가 해당되는 에뮬레이션 모드의 카운팅 버퍼값을 증가시키고, 모든 데이터에 대한 검색이 종료되면 가장 큰 값을 가지는 카운팅 버퍼에 대응되는 에뮬레이션 모드를 상기 데이터에 일치하는 에뮬레이션 모드로 결정한 다음 이전의 에뮬레이션 모드를 결정된 에뮬레이션 모드로 절환시키는 것이었다.
그러나, 상기 두가지 방법 중 그 첫 번째 방법은 윈도우나 한글과 같이 프린터 드라이버 개발 툴이 프린터 공급회사에 제공되는 경우에만 상기 프린터 공급회사가 자체 프린터 드라이버의 개발을 할 수 있기 때문에 범용적인 방법이 될 수 없는 문제점이 있었다.
또한, 상기 두 번째 방법은 각 제어코드 테이블에 서로 반복적으로 지원되는 제어코드 즉, 상호 공유성이 있는 제어코드도 포함되어 있고, 프린터로 전송되는 데이터의 종류에 관계없이 상기 모든 데이터에 대한 상기 제어코드 테이블의 검색을 실행하기 때문에 상기 제어코드 테이블의 검색에 많은 시간이 소요되고, 검색 결과의 정확성도 낮아지는 문제점이 있었다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 상호 공유성이 없는 고유의 제어코드를 이용하여 각 제어코드 테이블을 구성하고, 임의의 카운팅 버퍼의 값이 일정값이 되면 입력 데이터에 대한 상기 제어코드 테이블의 검색을 종료하고, 상기 입력 데이터가 비트 맵 이미지 데이터이면 상기 비트 맵 이미지 데이터에 대한 상기 제어코드 테이블의 검색을 하지 않음으로써 상기 제어코드 테이블의 검색 시간을 줄일 수 있고, 상기 검색 결과의 정확성을 향상시킬 수 있는 프린터의 자동 에뮬레이션 모드 절환방법을 제공함에 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 의한 프린터의 자동 에뮬레이션 모드 절환방법은 상호 공유성이 없는 고유의 제어코드를 이용하여 프린터가 지원하는 각 에뮬레이션 모드별로 제어코드 테이블을 지정하고, 상기 각 에뮬레이션 모드별로 카운팅 버퍼를 지정하며, 상기 프린터로 전송되는 데이터가 입력되는 입력버퍼를 지정하는 단계와; 상기 입력버퍼 내의 데이터가 제어코드이면 상기 각 제어코드를 검색하여 상기 데이터가 해당되는 에뮬레이션 모드의 카운팅 버퍼값을 증가시키는 단계와; 상기 각 카운팅 버퍼 중 하나의 카운팅 버퍼값이 사전 설정된 값과 같아지면 이전의 에뮬레이션 모드를 상기 카운팅 버퍼에 대응되는 에뮬레이션 모드로 절환시키는 단계로 이루어진 것을 특징으로 한다.
이하, 본 발명에 의한 프린터의 자동 에뮬레이션 모드 절환방법의 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
본 발명에 의한 프린터의 자동 에뮬레이션 모드 절환방법을 제1도의 a-c에 도시된 흐름도를 참조하여 설명하면 다음과 같다.
먼저 상호 공유성이 없는 고유의 제어코드를 이용하여 프린터가 지원하는 각 에뮬레이션 모드 즉, KS 모드, KSSM 모드, HP LJ2 모드, GDI 모드별로 제어코드 테이블을 구성하고, 상기 각 에뮬레이션 모드별로 카운팅 버퍼를 지정하며, 상기 프린터로 전송되는 데이터가 입력되는 입력버퍼를 지정한다.
상기와 같은 상태에서 프린터의 펌 웨어(firm-ware)부는 제1도의 a에 도시된 바와 같이 매 페이지의 선두마다 3초 이전에 데이터가 입력버퍼로 입력되면 이전의 에뮬레이션 모드로 상기 데이터를 인자하고, 매 페이지의 선두마다 3초 후 데이터가 입력버퍼로 입력되면 상기 데이터에 대한 자동 에뮬레이션 모드 절환루틴을 실행한다.
한편, 포인터 inbfipt는 입력버퍼로 입력된 데이터의 끝 지점에 있는 데이터를 나타내고, 포인터 inbfdpt는 상기 데이터의 검색 종료 위치에 있는 데이터를 나타낸다.
상기 자동 에뮬레이션 모드 절환루틴은 제1도의 b에 도시된 바와 같이 먼저 각 에뮬레이션 모드별로 지정된 카운팅 버퍼를 초기화시킨 다음 입력버퍼로 입력된 데이터의 개수가 2개 이상인 지를 판단하여 상기 데이터의 개수가 2개 미만이면 공장 출하시의 에뮬레이션 모드로 상기 데이터를 인자하고, 2개 이상이면 상기 데이터에 대한 자동 에뮬레이션 모드 절환 실행루틴을 실행한다.
즉, 입력 데이터의 개수가 최소 2이상이어야 자동 에뮬레이션 모드 절환이 가능하다.
상기 자동 에뮬레이션 모드 절환 실행루틴은 제1도 c에 도시된 바와 같이 inbfdpt가 나타내는 데이터가 제어코드인 지를 판단하여 제어코드가 아니면 상기 inbfdpt의 값을 하나 증가시키고 cmd_cnt를 오프시킨 다음 상기 자동 에뮬레이션 모드 절환루틴으로 리턴하고, 제어코드이면 KS 모드, KSSM 모드, HPLJ2 모드, GDI 모드 순으로 각 제어코드 테이블을 검색한 다음 상기 데이터가 해당되는 에뮬레이션 모드가 있는 지를 판단한다.
상기에서 inbfdpt가 나타내는 데이터가 어떤 에뮬레이션 모드에도 해당되지 않으면 상기 inbfdpt의 값을 하나 증가시키고 cmd_cnt를 오프시킨 다음 상기 자동 에뮬레이션 모드 절환루틴으로 리턴하고, 상기 데이터가 해당되는 에뮬레이션 모드가 있으면 상기 에뮬레이션 모드에 대응되는 카운팅 버퍼의 버퍼값을 하나 증가시킨 다음 상기 데이터가 비트 맵 이미지 데이터의 전송을 위한 제어코드(일반적으로 GDI 모드에 포함되는 CSI로 시작되는 제어코드임)인 지를 판단하여 상기 데이터가 비트 맵 이미지 데이터의 전송을 위한 제어코드가 아니면 상기 inbfdpt의 값을 하나 증가시키고 상기 cmd_cnt를 오프시킨 다음 상기 자동 에뮬레이션 모드 절환루틴으로 리턴한다.
한편, 상기 데이터가 비트 맵 이미지 데이터의 전송을 위한 제어코드이면 inbfdpt의 값을 비트 맵 이미지 데이터의 개수만큼 증가시킨 다음 상기 inbfdpt의 값을 inbfipt의 값과 비교하고, 비교 결과 상기 inbfdpt의 값이 inbfipt의 값보다 작으면 상기 cmd_cnt를 오프시키고 크거나 같으면 상기 cmd_cnt를 온시킨 다음 상기 자동 에뮬레이션 모드 절환루틴으로 리턴한다.
즉, 상기 입력버퍼 내에 포함된 비트 맵 이미지 데이터는 일일이 검색할 필요가 없으므로 그 데이터 개수만큼 건너뛰어 검색하지 않는다.
그 후, 자동 에뮬레이션 모드 절환루틴은 제1도의 b에 도시된 바와 같이4 종료조건 검사를 위하여 자동 에뮬레이션 모드 절환 실행루틴에서 처리된 cmd_cnt의 상태를 판단하고, 판단 결과 사이 cmd_cnt가 온이면 이전의 에뮬레이션 모드를 가장 큰 값을 가지는 카운팅 버퍼에 대응되는 에뮬레이션 모드로 절환시킨 다음 제1도의 a에 도시된 바와 같이 절환된 에뮬레이션 모드로 상기 데이터를 인자한다.
상기에서 종료조건은 첫째 검색 중 inbfipt = inbfdpt일 경우, 둘째 자동 에뮬레이션 모드 절환을 위한 데이터 영역을 모두 검색한 경우, 셋째 카운팅 버퍼의 값이 지정된 수에 도달하는 경우이다.
한편, 상기 cmd_cnt가 오프이면 버퍼값이 3인 카운팅 버퍼가 있는 지를 판단하여(여기서 3은 임의로 지정된 수이며 지정된 수가 클수록 검사시간은 길어지고, 모드 지정 신뢰도는 높아짐) 있으면 이전의 에뮬레이션 모드를 상기 버퍼값이 3인 카운팅 버퍼에 대응되는 에뮬레이션 모드로 절환시킨 다음 제1도의 a에 도시된 바와 같이 절환된 에뮬레이션 모드로 데이터를 인자하고, 없으면 종료조건의 검사를 위하여 inbfdpt의 값이 inbfipt의 값보다 작은 지를 판단하고, 판단 결과 inbfdpt의 값이 inbfipt의 값보다 크거나 같을 경우 이전의 에뮬레이션 모드를 가장 큰 값을 가지는 카운팅 버퍼에 대응되는 에뮬레이션 모드로 절환시킨 다음 제1도의 a에 도시된 바와 같이 절환된 에뮬레이션 모드로 상기 데이터를 인자하고, 상기 inbfdpt의 값이 inbfipt의 값보다 작을 경우 inbfipt의 값에서 inbfdpt의 값을 뺀 결과치가 2보다 큰 지를 판단한다.
상기에서 inbfipt의 값에서 inbfdpt의 값을 뺀 결과치가 2보다 크면 제1도의 c에 도시된 자동 에뮬레이션 모드 절환 실행루틴을 다시 실행하고(최소한 2이상이어야 자동 에뮬레이션 모드 절환이 가능함), 2보다 작거나 같으면 이전의 에뮬레이션 모드를 가장 큰 값을 가지는 카운팅 버퍼에 대응되는 에뮬레이션 모드로 절환시킨 다음 제1도의 a에 도시된 바와 같이 절환된 에뮬레이션 모드로 상기 데이터를 인자한다.
이와 같이 본 발명에 의한 프린터의 자동 에뮬레이션 모드 절환방법은 각 제어코드 테이블이 상호 공유성이 없는 고유의 제어코드로만 구성되고, 임의의 카운팅 버퍼의 값이 사전 설정된 값과 같아지면 상기 제어코드 테이블의 검색을 종료하며, 비트 맵 이미지 데이터에 대한 상기 제어코드 테이블의 검색을 하지 않기 때문에 상기 제어코드 테이블의 검색시간을 단축시키고, 상기 검색 결과 정확성을 향상시켜 프린터로 전송되는 데이터에 일치하는 에뮬레이션 모드를 빠른 시간내에 선택 절환시킬 수 있는 잇점이 있다.

Claims (4)

  1. 상호 공유성이 없는 고유의 제어코드를 이용하여 프린터가 지원하는 각 에뮬레이션 모드별로 제어코드 테이블을 지정하고, 상기 각 에뮬레이션 모드별로 카운팅 버퍼를 지정하며, 상기 프린터로 전송되는 데이터가 입력되는 입력버퍼를 지정하는 단계와; 상기 입력버퍼 내의 데이터가 제어코드이면 상기 각 제어코드를 검색하여 상기 데이터가 해당되는 에뮬레이션 모드의 카운팅 버퍼값을 증가시키는 단계와; 상기 각 카운팅 버퍼 중 하나의 카운팅 버퍼값이 사전 설정된 값과 같아지면 이전의 에뮬레이션 모드를 상기 카운팅 버퍼에 대응되는 에뮬레이션 모드로 절환시키는 단계로 이루어진 것을 특징으로 하는 프린터의 자동 에뮬레이션 모드 절환방법.
  2. 제1항에 있어서, 상기 입력버퍼 내의 데이터가 비트 맵 이미지 데이터의 전송을 위한 제어코드이면 상기 입력버퍼 내에 포함된 비트 맵 이미지 데이터의 영역에 대해서는 상기 각 제어코드 테이블을 검색하지 않는 것을 특징으로 하는 프린터의 자동 에뮬레이션 모드 절환방법.
  3. 제2항에 있어서, 상기 비트 맵 이미지 데이터의 영역이 상기 입력버퍼의 크기를 초과하는 경우 이전의 에뮬레이션 모드를 가장 큰 값을 가지는 카운팅 버퍼에 대응되는 에뮬레이션 모드로 절환시키는 것을 특징으로 하는 프린터의 자동 에뮬레이션 모드 절환방법.
  4. 제1항에 있어서, 상기 입력버퍼 내의 모든 데이터에 대한 상기 각 제어코드 테이블의 검색이 종료되어도 카운팅 버퍼값이 사전 설정된 값과 같아진 카운팅 버퍼가 없을 경우 이전의 에뮬레이션 모드를 가장 큰 값을 가지는 카운팅 버퍼에 대응되는 에뮬레이션 모드로 절환시키는 것을 특징으로 하는 프린터의 자동 에뮬레이션 모드 절환방법.
KR1019950056852A 1995-12-26 1995-12-26 프린터의 자동 에뮬레이션 모드 절환방법 KR100196394B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950056852A KR100196394B1 (ko) 1995-12-26 1995-12-26 프린터의 자동 에뮬레이션 모드 절환방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950056852A KR100196394B1 (ko) 1995-12-26 1995-12-26 프린터의 자동 에뮬레이션 모드 절환방법

Publications (1)

Publication Number Publication Date
KR100196394B1 true KR100196394B1 (ko) 1999-06-15

Family

ID=19444549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950056852A KR100196394B1 (ko) 1995-12-26 1995-12-26 프린터의 자동 에뮬레이션 모드 절환방법

Country Status (1)

Country Link
KR (1) KR100196394B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013077487A1 (en) * 2011-11-22 2013-05-30 Lg Electronics Inc. Electronic device and method of operating the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013077487A1 (en) * 2011-11-22 2013-05-30 Lg Electronics Inc. Electronic device and method of operating the same
US9171105B2 (en) 2011-11-22 2015-10-27 Lg Electronics Inc. Electronic device and method of operating the same

Similar Documents

Publication Publication Date Title
JP3039152B2 (ja) 自動エミュレーション切換え機能付き印字装置
JP2615137B2 (ja) 印字装置
US5295233A (en) Controller for printing apparatus
KR100196394B1 (ko) 프린터의 자동 에뮬레이션 모드 절환방법
EP0611657A2 (en) Printer
JP2595855B2 (ja) 印字装置の制御装置
JP2002127570A (ja) プリンタ装置
US4933875A (en) Bi-directional printer for efficient of stored data and real-time input data
JPH04363268A (ja) ページプリンタ
KR0155082B1 (ko) 프린터 드라이버의 데이타 변환방법
KR100334102B1 (ko) 프린터의 이력 관리방법
JPH04239315A (ja) 印刷装置
JP3022905B2 (ja) 印字装置
EP0492639B1 (en) Printer having dumping function
JP3092327B2 (ja) プリンタ
KR100509455B1 (ko) 자동에뮬레이션스위칭(a.e.s)을지원하는프린터및인쇄방법
JPH10114127A (ja) プリンタ
JPH05341927A (ja) プリンタ
JP2615137C (ko)
JPH082067A (ja) 印刷装置及びその制御方法
KR20010075999A (ko) 재프린터 장치 및 그의 방법
JPH01304978A (ja) 印刷装置
KR19990019434A (ko) 특정 페이지 인쇄 방법
JPH0373894B2 (ko)
JPH11272434A (ja) 画像形成装置

Legal Events

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

Payment date: 20021227

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee