KR950011806B1 - 폰트롬데이타 회전방법 - Google Patents

폰트롬데이타 회전방법 Download PDF

Info

Publication number
KR950011806B1
KR950011806B1 KR1019880012821A KR880012821A KR950011806B1 KR 950011806 B1 KR950011806 B1 KR 950011806B1 KR 1019880012821 A KR1019880012821 A KR 1019880012821A KR 880012821 A KR880012821 A KR 880012821A KR 950011806 B1 KR950011806 B1 KR 950011806B1
Authority
KR
South Korea
Prior art keywords
data
font
bit
rotated
bits
Prior art date
Application number
KR1019880012821A
Other languages
English (en)
Other versions
KR900005342A (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 엘지전자주식회사
Priority to KR1019880012821A priority Critical patent/KR950011806B1/ko
Publication of KR900005342A publication Critical patent/KR900005342A/ko
Application granted granted Critical
Publication of KR950011806B1 publication Critical patent/KR950011806B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

내용 없음.

Description

폰트롬데이타 회전방법
제1도는 폰트롬의 데이타 형태도.
제2도는 제1도의 폰트롬데이타를 90°회전한 형태도.
제3도는 제1도의 폰트롬데이타를 180°회전한 형태도.
제4도는 제1도의 폰트롬데이타를 270°회전한 형태도.
제5도는 폰트롬데이타의 전체를 회전시키는 방법을 보인 흐름도.
제6도는 폰트롬데이타의 1비트를 회전시키는 방법을 보인 흐름도.
제7도는 및 제8도는 폰트롬데이타를 90°회전을 설명하는 도면.
제9도는 X비트에 따른 오어링 이미지를 나타낸도.
본 발명은 폰트롬데이타를 회전시키는 방법에 관한 것으로, 특히 레이저프린터 콘트롤러에 있어서 하드웨어를 추가하지 않고 폰트롬데이타를 소프트웨어적으로 처리하여 90°, 180°또는 270°회전시킬 수 있는 처리 방법에 관한 것이다.
종래 레이저 프린터콘트롤러에서 폰트롬데이타를 확대, 축소 및 여러가지 다른 모형으로 변화시켜서 인자하는 방법이 알려져 있다. 또한 폰트롬데이타를 90°, 180°, 270°등으로 회전시키는 처리방법도 알려져 있으나 상기 종래의 방법에 있어서는 상기의 처리를 행하기 위하여 하드웨어를 추가한 것으로 이에 따른 부피증가 및 비용증가를 피할 수 없었다.
따라서 본 발명은 폰트롬데이타를 회전시키는 처리를 행함에 있어서, 이를 소프트웨어적으로 처리함으로서 별도의 하드웨어를 필요로 하지 않는 폰트롬데이타 처리방법을 제공하고자 한 것이다.
제1도는 폰트롬에 저장되어 있는 데이타 형태를 나타낸 것이고 제2도, 제3도 및 제4도는 제1의 폰트롬데이타를 본 발명에 따라 각각 90° , 180°, 270°회전시켜서 메모리에 저장한 데이타 형태를 나타내고 있다.
제5도는 폰트롬데이타를 회전시키기 위한 흐름도를 나타내며 이를 구체적으로 설명하면 다음과 같다.
명세서 전반에 걸쳐서 회전시키고자 하는 폰트롬의 가로축 좌표를 X라 하고 세로축좌표를 Y라 한다. 또 폰트롬데이타를 회전시켜서된 데이타의 가로축자표를 X' 세로축좌표를 y'라 한다.
우선 회전시키고자 하는 폰트롬의 가로측 비트의 폭(W)과 세로측비트의 높이(h) 및 가로측의 바이트수(wid)를 판독하고 버퍼에서 회전된 폰트데이타가 차지할 새로운 비트의 폭과 비트의 높이 및 바이트수를 계산하여 메모리를 클리어 시킨다. 폰트롬의 1바이트 데이타를 읽어서 비트별로 비트데이타가 '1'인지를 판단하여 비트가 '1'이면 비트를 90° ,180° 또는 270°회전시켜서 버퍼의 해당번지에 세이브시킨다. 각 비트를 90° ,180°또는 270°로 회전시키는 방법은 후술한다. 하나의 바이트에 대한 모든 비트를 회전시켜서 버퍼에 세이트하였으면 다음 바이트에 대하여 같은 처리를 행하여 버퍼와 해당번지에 세이브시키고 이와 같은 처리를 모든 폰트롬의 데이타열에 대하여 행하면 폰트데이타의 변형없이 데이타를 90°,180° 또는 270°로 회전시킬 수 있다. 제5도에 있어서, 1는 폰트롬외 세로상의 몇번째열인가를 나타내고, J는 폰트롬의 가로상으로 몇번째 바이트인지를 나타내며, K는 해당 바이트에서 몇번째 비트인지를 나타낸다. 따라서 I가 0부터 시작하여 계속 증가하다 폰트롬의 높이(h)와 같아지면 폰트 1자의 이미지 회전이 끝나게 된다. K는 1바이트외 데이타가 8비트로 구성되어 있기 때문에 0에서 시작하여 8이 되면 끝나게 되고, J는 폰트롬의 1열에 존재하 는 바이트수(wid)만큼 처리를 행한 후 다음열을 처리하는 식으로 진행한다. 1바이트의 데이타를 비트별로 비교하는 방법은 다음과 같다. 폰트롬으로부터 1바이트를 읽어서 16진수의 80(100 000002)을 각 비트별로 앤딩한다. 이는 그 바이트의 최상 비트(MSB)가 '0'인지 '1'인지를 판단하기 위한 것이며. 만일 '1'이면 이를 회전시켜서 버퍼에 세이브한 후 각 비트를 좌측으로 1비트씩 쉬프트한 다음 다시 80h를 앤딩하고 만일 '0'이면 그 비트를 회전시킬 필요없이 그대로 쉬프트하면 된다. 이는 포트를 회전시켜 세이브할 버퍼외 모든 번지를 미리 클리어 시켜서 '0'을 세이브하는 것은 무의미하기 때문이다.
쉬프트가 끝난 후 최하위 비트자리에는 '0'을 넣고 처리한다. 이와 같은 처리를 8회 시행하면 1바이트에 대한 데이타를 버퍼의 해당번지에 세이브하게 된다.
제6도는 제5도의 흐름도에 있어서 폰트롬의 1비트데이타를 90°,180° 또는 270° 회전시키는 방법을 흐름도로 나타내고있다. 여기서 가로좌표(X)는 회전할 데이타가 존재하는 비트가 그 열의 최초비트로부터 몇번째 비트인가에 의하여(X=J×8+K ), 세로좌표(y)는 회전할 비트가 몇번째열에 속해있는가에 의하여(Y=I) 그 값이 주어질 수 있다. 폰트데이타를 90°회전시키고자 한 경우에 그 회전된 테이타가 버퍼에 세이브될 좌표를 제2도와 같이 x', y'라 하면 x'는 원래폰트의 열과 같고(x'=I), y'는 원래폰트의 폭에서 x좌표값을 빼고 다시 1을 뺌으로서(y'=w-1-x) 계산할 수 있다. 다음에 폰트데이타를 180°회전시키고자 한 경우에는 버퍼에 세이브 될 좌표를 x", y"라 할 때 x"는 원래폰트의 폭(w)에서 x좌표값 및 1을 뺌으로서 (x"=w-1- x) 구해지고, y"는 원래폰트의 높이(h)에서 y좌표값 및 1을 뺌으로서(y"=h-1-y) 구해진다.
또 270°회전시키고자 한 경우에는 그 좌표를 x"',y"'라 하면 x"'는 원래폰트의 높이에서 y좌표값 및 1을 뺌으로서(x"'=h-1-y) 구해지고, y"'「는 원래폰트의 x좌표값(y"'-x)으로서 그 값이 주어질 수 있다.
이와 같이 변형된 좌표를 버퍼에 세이브하기 위하여 세이브할 번지를 구하는 방법은 상기 구해진 새로운 가로좌표(x', x" 또는 x"')를 8로 나누어 그 몫을 당해 바이트(x-wid)로 하고 그 나머지를 그 바이트의 비트(x-bit)로 하면 된다. 이를 최초의 번지로부터 구할 때는 최초의 번지에 변형된 세로운 데이타의 가로상의 바이트수에 새로운 y좌표를 곱한 값을 더하고, 다시 위에서 구한 바이트값(x-wid)을 더하면 된다.
상기와 같이 폰트데이타를 회전시켜 세이브할 번지가 결정되었으면 그 번지의 비트값에 따라서 그 번지의 데이타를 소정의 값과 오어링하는데, 예를들어 산출된 비트가 0비트이면 16진값으로 80을, 1비트이면, 16진값 40을, 2비트이면 16진값 20을, 3비트이면 16진값 10을, 4비트이면 16진값 08을, 5비트이면 16진값 04를, 6 비트이면 16진값 02를, 7비트이면 16진값 01을 해당번지의 데이타와 오어링하여 최종적으로 기록하게 된다.
이와같이 하여 폰트롬데이타의 1비트데이타가 회전되어 버퍼에 저장된다.
이해를 돕기 위하여 수치를 지정하고 제7도와 제8도를 참조하여 설명한다. 가로상으로 3바이트(24비트). 세로상으로 32비트로된 폰트롬에 있어서, 제7도에 도시된 바와같이 세로상으로 3번째열(y=3)의 2번째 바이트의 세번째비트(A점)을 90°회전시킨다고 가정한다. 이때 가로좌표(X)는 10, 세로좌표(y)는 2가 된다. 상기 식(1)에 의하여 폰트데이타를 90°회전시킨 새로운 좌표(x', y')는 각각 2와 13이 된다.
상기 좌표가 버퍼의 세로상의 13번째 열에서 가로상으로 몇번째 비트에 해당되는지를 알기 위하여 x'를 8로 나누어 그 몫과 나머지를 구한다. 이 때 그 몫이 0이고 나머지는 2이므로 13번째열의 첫번째 바이트(0바이트) 3번째 비트(2비트)에 해당한다(제8도). 이것이 세이브될 메모리어드레스는 죄초 어드레스(x',y' : 0.0)로부터 52바이트 다음의 메모리가 새로운 데이타가 들어설 메모리어드레스(제8도의 B점)가 된다. 이때 예를들어서 B정에 세이브할 번지에 있는 데이타가 '10001100'이라 할 때 현재들어 있는 데이타를 깨뜨리지 않고 B점을 세팅해야 하므로 x비트값에 따라 상기 설명한 소정의 값(제9도)을 오어링 한다. 이 실시예에서는 x비트값이 2이므로 오어링 이미지는 16진값 20(2진수로는 00100000)이 된다. 따라서 B점의 데이타 '10001100'에 상기 '00100000'을 비트별로 오어링한 값 '10101100'이 최종적으로 메모리어드레스에 세이브된다. 폰트데이타를 180°또는 270°회전시키는 방법에 대하여도 상기한 방법을 적용하면 된다.
상기 설명한 바와 같이 본 발명에 의하면 폰트롬데이타를 90°,180° 또는 270° 회전시키는데 있어서, 하드웨어가 아닌 소프트웨어적으로 처리함으로 부피증가 및 이에 따른 생산비 증가가 없이 효과적으로 처리할 수 있다. 또한 폰트데이타중 화상이 존재하는 비트만을 선택하여 회전시키므로 회전속도가 빨라진다.

Claims (5)

  1. 폰트롬 가로비트수(w)와 세로비트수(h)및 가로상의 바이트수(wid)를 판독하는 단계와 : 회전된 폰트데이타가 저장될 버퍼의 메모리 영역을 클리어시키는 단계와, 폰트롬으로부터 1바이트 데이타를 읽어서 각 비트별로 화상이 존재하는 비트인지 화상이 존재하지 않는 비트인지를 판단하는 단계와, 화상이 존재하는 비트만을 선택적으로 회전시켜서 메모리외 해당번지에 세이브하는 단계를 포함하는 것을 특징으로 하는 폰트롬데이타 회전방법.
  2. 제1항에 있어서, 상기 폰트데이타를 90° 회전시키는 경우 새로운 좌표(x',y')는 각각 원래폰트의 회전할 데이타가 존재하는 열(x'=I)과 원래폰트의 폭(w)에서 x좌표값과 1을 빼어서(y=w-1-x) 구하는 것을 특징으로 하는 폰트롬데이타 회전방법 .
  3. 제1항에 있어서, 상기 폰트데이타를 180°회전시키는 경우 세로운 좌표(x",y")는 각각 원래폰트의 폭(w)에서 x좌표값과 1을 빼어서(x"=w-1-x)과 원래폰트의 높이(h)에서 y좌표값과 1을 빼어서 구한값 (y"=h-1-y)으로 하는 것을 특징으로 하는 폰트롬데이타 회전방법.
  4. 제1항에 있어서, 상기 폰트데이타를 270°회전시키는 경우 새로운 좌표(x"', y"')는 각각 원래폰트의 높이(h)에서 y좌표값과 1을 빼어서 구한값(x"'=h-1-y)과 원래폰트의 x좌표간(y"'=x)으로 하는 것을 특징으로 하는 폰트롬데이타 회전방법.
  5. 하나의 회전된 폰트데이타를 메모리에 저장할 때에, 회전된 비트가 몇번째비트 (x-bit)인가에 따라서, 0, 1, 2, 3, 4, 5, 6, 7비트에 대하여 각각 16진 값으로 80, 40, 20, 10, 08, 04, 02, 01을 논리합하고 그 결과치를 메모리어드레스에 세이브하는 폰트롬데이타 회전방법.
KR1019880012821A 1988-09-30 1988-09-30 폰트롬데이타 회전방법 KR950011806B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019880012821A KR950011806B1 (ko) 1988-09-30 1988-09-30 폰트롬데이타 회전방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019880012821A KR950011806B1 (ko) 1988-09-30 1988-09-30 폰트롬데이타 회전방법

Publications (2)

Publication Number Publication Date
KR900005342A KR900005342A (ko) 1990-04-14
KR950011806B1 true KR950011806B1 (ko) 1995-10-10

Family

ID=19278176

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880012821A KR950011806B1 (ko) 1988-09-30 1988-09-30 폰트롬데이타 회전방법

Country Status (1)

Country Link
KR (1) KR950011806B1 (ko)

Also Published As

Publication number Publication date
KR900005342A (ko) 1990-04-14

Similar Documents

Publication Publication Date Title
US3936664A (en) Method and apparatus for generating character patterns
JPH06342403A (ja) 予測キャッシングシステム
JP2681398B2 (ja) 記憶装置
EP0306920B1 (en) Data processor having expanded operating functions
EP0280320A2 (en) Graphics display controller equipped with boundary searching circuit
KR950011806B1 (ko) 폰트롬데이타 회전방법
JPH0553909A (ja) 画像データ処理におけるキヤツシユメモリ制御方式
EP0986005A1 (en) FIFO memory device and method for controlling same
JPH0562348B2 (ko)
US4638454A (en) Digital data storage apparatus
US5566131A (en) Memory circuit for display apparatus
JPS6148174B2 (ko)
JPH09101915A (ja) キャッシュメモリの制御方法
JPH0233158B2 (ko)
JP3224050B2 (ja) 可変長符号復号器、プロセッサ、および可変長符号復号テーブル
KR100215903B1 (ko) 메모리의리드/라이트회로
JP3091382B2 (ja) キーボード入力読み取り方法
JPH0120514B2 (ko)
KR100281102B1 (ko) 플래쉬메모리를사용한에이티에이(ata)카드
KR100237390B1 (ko) 비터비 복호기에서 상태 매트릭스 메모리 어드레싱 방법
KR900005491B1 (ko) 컴퓨터의 문자 저장 및 재현방법
JP2704043B2 (ja) 画像処理装置
JPS638951A (ja) 情報記憶装置
JPH0756805A (ja) メモリアクセス方法
JPH07320045A (ja) 画像処理装置

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee