본문으로 이동

HP-GL

한울위키, 우리 모두의 백과사전.
Hewlett-Packard Graphics Language
인터넷 미디어 타입
application/vnd.hp-HPGL

HP-GL휴렛 팩커드 그래픽스 언어(Hewlett-Packard Graphics Language)의 약자로, 흔히 HPGL로 표기되며 휴렛 팩커드(HP)가 개발한 프린터 제어 언어이다. HP-GL은 HP 플로터에서 사용되는 주요 프린터 제어 언어였다.[1] 1977년 플로터 HP-9872와 함께 도입되었으며, 거의 모든 플로터의 표준이 되었다. 휴렛 팩커드의 프린터 또한 일반적으로 PCL 외에 HP-GL/2를 지원한다.[2]

설계

이 언어는 일련의 두 글자 코드(기억술)와 그 뒤에 오는 선택적 매개변수로 구성된다. 예를 들어, 페이지에 를 그리려면 다음과 같은 문자열을 보낸다:

AA100,100,50;

이는 절대 호(Arc Absolute)를 의미하며, 매개변수는 페이지의 절대 좌표 100,100에 호의 중심을 배치하고, 시작 각도는 반시계 방향으로 50 로 측정된다. 네 번째 선택적 매개변수(여기서는 사용되지 않음)는 호가 얼마나 계속되는지 지정하며, 기본값은 5도이다.

처음 도입되었을 때 HP-GL에는 다음 명령이 포함되어 있었다.

명령어 의미
벡터 그룹
PA x,y{,x,y{...}} 플롯 절대 [i]
PR x,y{,x,y{....}} 플롯 상대 [i]
PD 펜 내리기
PU 펜 올리기
문자 그룹
CA n 대체 문자 집합 n 지정 [i]
CP spaces, lines 문자 플롯 [d]
CS m 표준 집합 m 지정 [i]
DI run, rise 절대 방향 [d]
DR run, rise 상대 방향 [d]
LB c, ..., c 라벨 ASCII 문자열 [c]
SA 대체 문자 집합 선택
SI wide, high 절대 문자 크기 [d]
SL tan θ 절대 문자 기울기 (수직으로부터) [d]
SR wide, high 상대 문자 크기 [d]
SS 표준 문자 집합 선택
UC x, y, pen{, ...} 사용자 정의 문자 [i]
선 종류 그룹
LT t{,l} 선 종류 t 및 길이 l 지정 [d]
SM c 기호 모드 [c]
SP n 펜 선택 [i]
VA 적응 속도
VN 일반 속도
VS v{,n} 펜 n의 속도 v 선택 [i]
디지털화 그룹
DC 디지털화 지우기
DP 디지털화 지점
OC 현재 위치 및 펜 상태 출력
OD 디지털화된 지점 및 펜 상태 출력
TL tp{,tn} 눈금 길이 [d]
XT X축 눈금
YT Y축 눈금
설정 그룹
IP p1x,p1y,p2x,p2y p1 및 p2 입력 [i]
IW xlo,ylo,xhi,yhi 입력 창 [i]
OP p1 및 p2 출력 [i]
구성 상태
AP 자동 펜 픽업 [i]
DF 기본값 설정
IM e{,s{,p}} e, s 및 p 마스크 입력 [i]
IN 초기화
OE 오류 출력 [i]
OS 상태 출력 [i]
추가된 명령 (언제?)
SI w,h 문자 너비와 높이 설정

형식:

  • [i]: -32767에서 32768 사이의 정수 형식. 소수점 없음.
  • [d]: +/- 127.9999 사이의 십진 형식. 선택적 소수점.
  • [c]: ASCII 문자

예시

일반적인 HP-GL 파일은 몇 가지 설정 명령으로 시작하여 긴 그래픽 명령 문자열로 이어진다. 파일은 ASCII(텍스트 파일) 형식이었다. 예를 들면:

HP-GL 파일 예시
명령어 의미
IN; 초기화, 플로팅 작업 시작
IP; 스케일링 지점 (P1과 P2)을 기본 위치로 설정
SP1; 펜 1 선택
PU0,0; 펜을 올리고 다음 동작의 시작점으로 이동
PD100,0,100,100,0,100,0,0; 펜을 내리고 다음 위치로 이동 (페이지 주변에 상자 그리기)
PU50,50; 펜을 올리고 X,Y 좌표 50,50으로 이동
CI25; 반지름 25인 원 그리기
SS; 표준 문자 집합 선택
DT*,1; 텍스트 구분 기호를 별표로 설정하고 출력하지 않음 (1은 "참"을 의미)
PU20,80; 펜을 올리고 20,80으로 이동
LBHello World*; 라벨 그리기

좌표계는 HP 플로터가 지원할 수 있는 최소 단위를 기반으로 했으며, 25 μm (즉, 밀리미터당 40 단위, 인치당 1016 단위)로 설정되었다. 좌표 공간은 양수 또는 음수 부동소수점 숫자, 특히 ±230이었다.

HP-GL/2

원래의 HP-GL 언어는 선 너비 정의를 지원하지 않았는데, 이 매개변수는 플로터에 장착된 펜에 의해 결정되었기 때문이다. 최초의 잉크젯 플로터가 등장하면서, HP-GL 파일 내에 지정된 "펜"의 선 너비를 프린터에서 설정해야만 어떤 선 너비로 인쇄해야 할지 알 수 있었고, 이는 번거롭고 오류가 발생하기 쉬운 과정이었다. 휴렛 팩커드 그래픽스 언어/2HP-GL/2가 등장하면서, 선 너비 정의가 언어에 도입되어 이 단계를 없앨 수 있었다. 또한, 다른 개선 사항 중에서도 더 작은 파일과 더 짧은 파일 전송 시간을 허용하는 이진 파일 형식이 정의되었고, 최소 해상도가 감소되었다.

HP-GL/2 명령 예시
명령어 의미
NPx 펜 수; x=1..256
PCx,r,g,b 펜 색상; x=펜, r=빨강, g=녹색, b=파랑, 0..255
PWw,x 펜 너비; w=소수점 있는 mm 단위 펜 너비, x=펜

AGL

HP-GL은 베이직 프로그래밍 언어의 확장인 AGL (A Graphics Language)과 관련이 있다. AGL은 휴렛 팩커드 미니컴퓨터에 구현되어 플로터 제어를 단순화했다. AGL 명령은 원하는 그래픽 플로팅 기능을 설명하며, 컴퓨터는 이를 여러 HP-GL 명령으로 플로터에 전달한다.

같이 보기

  • DMPL, 휴스턴 인스트루먼트의 다른 플로터 언어
  • 거버 포맷은 또 다른 플롯 설명 형식이다.
  • 로고, HP-GL과 유사한 그리기 명령을 가진 컴퓨터 언어

각주

  1. Daniels, Thomas H.; Hennessee, Larry W. (September 1977). 《Easy-to-Use Interface Language Controls HP-IB Plotter》 (PDF). 《Hewlett-Packard Journal29. 5쪽. 2017년 2월 27일에 원본 문서 (PDF)에서 보존된 문서. 2016년 9월 12일에 확인함. 
  2. 《PCL 5 Printer Language Technical Reference Manual》 1판. Hewlett-Packard Company. September 1990. HP Part No. 33459-90903.  (NB. Chapter 15-21 also contain a description of HP-GL/2.)

더 읽어보기

외부 링크

모듈:Authority_control 159번째 줄에서 Lua 오류: attempt to index field 'wikibase' (a nil value).