포스트스크립트 표시

Display PostScript

Display PostScript(또는 DPS)는 PostScript(PS) 이미징 모델과 언어(원래 컴퓨터 인쇄용으로 개발)를 사용하여 화면 그래픽을 생성하는 컴퓨터용 2D 그래픽 엔진 시스템이다.기본 PS 시스템에, DPS는 비트맵 표시장치와의 작업을 용이하게 하고 일부 일반적인 작업의 성능을 향상시키기 위한 많은 기능을 추가한다.

PostScript 디스플레이 시스템의 초기 버전은 Adobe Systems에서 개발되었다.NeXT 컴퓨터 개발 중에 NeXT와 Adobe가 협력하여 1987년에 출시된 공식 DPS 시스템을 생산했다.NeXT는 역사를 통틀어 DPS를 사용했으며, 1980년대와 1990년대에 한때는 Adobe의 버전이 Unix 워크스테이션에서 인기를 끌었다.

디자인

합리적인 성능을 갖춘 대화형 화면 사용을 지원하기 위해 다음과 같은 변경이 필요했다.

  • 여러 실행 컨텍스트:PS 통역사가 한 번에 한 가지 작업을 처리하는 프린터 환경과 달리 DPS는 각각의 설정(색상, 브러시 설정, 스케일 등)이 있는 동시에 여러 개의 창에서 사용될 수 있다.이를 위해서는 여러 "컨텍스트"(상태 데이터의 집합)를 각 프로세스(창)당 하나씩 활성 상태로 유지할 수 있도록 시스템을 수정해야 했다.
  • 인코딩된 이름:PostScript의 많은 절차와 데이터 구조는 이름, 문자열 식별자로 검색된다.DPS에서 이 이름들은 정수로 대체될 수 있다. 정수는 컴퓨터가 찾기에 훨씬 빠르다.[citation needed]
  • 상호작용 지원: 적중 탐지를 포함하여 상호작용을 다루기 위해 많은 절차가 정의되었다.
  • 하프톤 위상:스크롤 성능을 높이기 위해 DPS는 가시화된 창의 작은 부분만 그려 이미지를 다시 그리는 대신 나머지 부분을 이동시켰다.그러나 이는 하프톤이 정렬되지 않아 그래픽 디스플레이에서 가시적인 선과 상자를 생성할 수 있다는 것을 의미했다.DPS는 이러한 사례를 적절히 처리하기 위해 추가 코드를 포함했다.하프톤이 없는 현대의 풀 컬러 디스플레이는 이 아이디어를 대부분 쓸모없게 만들었다.
  • 증분 업데이트:인쇄 애플리케이션에서 PS 코드는 다음이 될 때까지 해석된다.showpage실제로 인쇄되는 시점.이것은 항상 많은 수의 사소한 업데이트가 필요한 디스플레이 상황에서는 적합하지 않다.DPS는 사용자 프로그램으로부터 지시사항을 수신함에 따라 반실시간 디스플레이를 허용하는 모드를 포함했다.
  • 비트맵 글꼴 지원: DPS는 PS 글꼴을 손으로 그린 비트맵 글꼴에 매핑하고 즉시 다른 글꼴로 변경하는 기능을 추가했다.저해상도 기기(300dpi 미만)에 글꼴을 표시하는 Adobe PS의 능력은 매우 형편없었다.예를 들어, NeXT 화면은 96 dpi만 사용했다.이러한 PS 제한은 손으로 만든 비트맵 글꼴을 사용하여 허용 가능한 품질을 제공함으로써 해결되었다.이후 PS(Ghostscript와 같은 호환 가능한 대체품 포함)를 구현하여 그레이스케일이나 컬러 디스플레이에 안티앨리어싱 글꼴을 제공함으로써 품질을 크게 향상시켰다.그러나 이 발전은 너무 늦어서 별로 쓸모가 없었다.현대 디스플레이는 여전히 100dpi 정도지만 비트맵 글꼴을 사용하지 않고서는 글꼴 품질이 매우 우수하다.[needs update]
  • 프로그래밍 언어 지원: DPS는 "의 개념을 도입했다.pswrap". 개발자들이 PostScript 코드를 C 언어 함수로 포장할 수 있게 했고, 이 함수는 애플리케이션에서 호출될 수 있었다.

그러나 DPS는 윈도우 시스템을 추가하지 않았다.그것은 제공하도록 구현에 맡겨졌고, DPS는 기존의 윈도우 설정 엔진과 함께 사용되도록 의도되었다.이것은 종종 X 윈도 시스템이었고, 이 형태에서 Display PostScript는 나중에 IBMSGI와 같은 회사들에 의해 워크스테이션용으로 채택되었다.종종 X 창에서 DPS 컨텍스트로 가져오는 데 필요한 코드는 DPS 인터페이스의 전체보다 훨씬 더 복잡했다.[citation needed]이것은 어떤 대안이 있을 때 DPS의 인기를 크게 제한했다.[citation needed]

역사

NeXT의 개발자들은 NeXT의 객체 지향 운영 체제를 최대한 활용하기 위해 완전히 새로운 윈도우 엔진을 썼다.실제로 창을 만들고 이벤트에 반응하기 위해 DPS에 많은 명령을 추가했는데, NeWS와 비슷하지만 간단하다.단일 API는 상위 레벨에서의 프로그래밍을 훨씬 더 쉽게 만들었고 NeXT는 DPS를 광범위하게 사용하는 몇 안 되는 시스템 중 하나로 만들었다.사용자 공간 창 시스템 라이브러리 NeXTTEP은 PostScript를 사용하여 제목 표시줄과 스크롤러 같은 항목을 그렸다.이것은 차례로 광범위하게 이용되었다.pswrap차례로 오브젝트에 싸여 오브젝트 형식으로 프로그래머에게 제시된 s.

현대 파생상품

애플의 맥 OS X 운영체제는 포스트스크립트 코드를 저장하고 실행하는 대신 윈도우 그래픽을 비트맵으로 캐시하는 중앙 윈도 서버(전적으로 애플이 만든 서버)를 사용한다.[citation needed]Quartz 2D라는 그래픽 라이브러리는 PDF 렌더링 모델(PostScript 모델의 부분집합, 더하기 트윗)을 사용하여 PostScript 스타일 이미징을 제공하지만, 이는 응용 프로그램 프레임워크에 의해 사용된다. Mac OS X 창 서버에는 PostScript가 없다.애플은 DPS에 대한 라이센스 수수료 회피, 기존 카본과 클래식 코드의 보다 효율적인 지원 등 다양한 이유로 이 모델을 선택했다. QuickDraw 기반 애플리케이션은 비트맵 도면을 독점적으로 사용한다.PDF 표준에 적용하기 위해 일부에 의해 언급된 Adobe의 저작권 조항은[citation needed] 따라서 훨씬 덜 제한적이며, 소프트웨어 애플리케이션에서 형식을 무료로 사용할 수 있도록 누구에게나 조건부 저작권 허가를 요청(즉, 여기, 이전 저자에 의해)한 것으로 알려져 있다.[citation needed]

참고 항목

참조

추가 읽기

  • Adobe Systems Incorporated (1990) [1985]. PostScript Language Reference Manual (2nd ed.). Addison-Wesley Publishing Company. (NB. 본판에는 더 이상 제3판에서는 논의되지 않는 Display PostScript에 대한 설명도 포함되어 있다.)

외부 링크