複製鏈接
請複製以下鏈接發送給好友

troff

鎖定
troff是一款由AT&T為Unix開發的文字處理軟件
中文名
troff
開發商
AT&T
簡    介
文字處理軟件

troff簡介

troff是一個由AT&TUnix開發的文字處理軟件。troff的歷史能夠回溯到一個叫做RUNOFF的排版程序,在20世紀六十年代中期由Jerome H. Saltzer為MIT的CTSS操作系統編寫。(其名稱據傳是來自於當時一個短語I'll run off a document的縮寫。)
Robert Morris把它移植到GE 635體系結構上並稱其roff(runoff的縮寫)。它為了能在PDP-7上運行被重寫為rf,與此同時,Douglas McIlroy用BCPL編程語言重寫了一個roff的擴展和簡化了的版本。

troff第一個版本

Unix的第一個版本是在貝爾實驗室裏的一台PDP-7上開發出來的。在1971年開發者們為了能在操作系統上做進一步的工作想獲得一台PDP-11。為了能夠協調這台設備的成本,他們建議説他們應該為AT&T的專利部門開發一個文檔處理系統。第一個處理程序是對McIlroy的roff的重新編寫,由Joe F. Ossanna完成。

troff發展進程

當他們需要一個更加靈活的語言時,編寫了一個roff的新版本叫做nroff(Newer ‘roff’)。該版本有着更加複雜的句法,但是它為未來的版本奠定了基礎。當他們獲得了一個圖像設備CAT照相排版機時,為了能夠驅動它,Ossanna又編寫了nroff的一個版本。這個版本被叫做troff,因為它是排字機(typesetter)的roff。為此,troff的發音應該是t-roff而不是trough。 隨troff而來的有nroff,它是為針式打印機和字符終端設備產生輸出的。它理解troff所理解的任何事情,並且不再使用不合適的命令(比如字體改變)。
不幸的是,Ossanna的troff是用PDP-11彙編語言編寫的,所以只能產生CAT照相排版機的輸出。他用C語言進行了重寫,儘管這變成了7000行無註釋的代碼並且仍然依賴CAT。隨着CAT越來越不常見,並且不再受到製造商的支持,使troff支持其他設備就成為了一個要優先解決的問題。可是在這被完成之前Ossanna就去世了。Brian Kernighan接手了重寫troff的工作。新寫的版本產生了一個與設備無關的帶代碼,這讓後繼者非常容易容易閲讀並改寫成適合其他打印機的代碼。同時,這個新版本的troff(因為是device independent troff被稱為ditroff)具有了幾項擴展,其中包含了繪圖函數。該版在貝爾實驗室的一篇題為《一個與排版機無關的troff》的計算機科學技術報告中得到描述,該報告經gzip壓縮的PostScript版可在計算機科學技術網這裏獲得。該文章定義了ditroff的輸出格式,改格式被像GNUgroff這樣的許多現代troff的克隆版本所使用。
troff的工具集最終被稱作Documenter's WorkBench(DWB),並且直到1994年還在貝爾實驗室和後來抽資脱離貝爾實驗室的UNIX系統實驗室(USL)中繼續開發。當時,SoftQuad公司接管了維護任務,儘管Kernighan自己還在改進troff。因此現在有四個起初貝爾實驗室的troff的變體:
一個由Bill Joy編寫的古老變體,現在仍然由Sun公司掌管
SoftQuad的DWB,基於USL1994年的DWB 2.0
朗訊的DWB 3.4
troff,Plan 9中的版本
troff及其家族的使用在20世紀九十年代有了某種程度的減少,但是仍然被廣泛地使用着。雖然troff正在被像InterleafFrameMakerLaTeX這樣的其他程序所取代,但它仍然是Unix手冊的缺省格式。 始於1990年的GNU項目重新編寫了該軟件,起名為groff。另外,由於早期Unix版本的開源化,以及其現代的後繼者OpenSolaris和9號計劃,AT&T的troff的幾個版本均可在不同的開源許可證下獲得。