ScreenWriter II

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Embedded commands)
Line 72: Line 72:
 
:'''.CS n1,n2,n3,...,n16''' Set column stops
 
:'''.CS n1,n2,n3,...,n16''' Set column stops
 
:'''.CC c''' Set column character (aligns preceding word to next column stop)
 
:'''.CC c''' Set column character (aligns preceding word to next column stop)
 +
 +
:'''.TI n,L,p,''text''''' Sets title #n to ''text'', to be printed at line L, position p. p can be an absolute column number or 'left', 'right', or 'center'.
 +
:'''.TO n''' Turn on title n
 +
:'''.NT n''' Turn off title n
 +
 +
:'''.DT n,L,p,''text''''' Sets dateline #n to ''text'', to be printed at line L, position p. p can be an absolute column number or 'left', 'right', or 'center'.
 +
:'''.DA n''' Turn on dateline n
 +
:'''.ND n''' Turn off dateline n
 +
 +
:'''.PG L,p,''text''''' Sets page numbering to ''text'' (followed by page number), to be printed at line L, position p. p can be an absolute column number or 'left', 'right', or 'center'.
 +
:'''.NU''' Turn on page number printing
 +
:'''.NN''' Turn off page number printing
 +
 +
:'''.SR''' Set Roman numerals for page numbers
 +
:'''.SD''' Set decimal numerals for page numbers
 +
 +
:'''.PN n''' Set current page number to n
 +
:'''.IP''' Increment page number
 +
:'''.DP''' Decrement page number

Revision as of 04:36, 11 November 2012

File Format
Name ScreenWriter II
Ontology
Extension(s) .text

ScreenWriter II (formerly SuperScribe II) was a word processor for the Apple II series, first published in 1981 by On-Line Systems (later Sierra On-Line). The description here is based on a version released in May 1982.

Files were saved to Apple DOS disks as text files (type T). Apple didn't formally use file extensions to identify file types, but sample files mentioned in the manual used a .text extension as part of their names.

The file format was plain ASCII text, with some embedded commands. Line breaks were stored in the usual Apple II fashion, with the CR character (#13 decimal). Some of the commands set "token" characters to be used to trigger various modes (e.g., underline or paragraph break), so depending on what characters were set this way, various different characters might have special meaning in a particular document.

Commands consisted of lines starting with a period (.), meaning that regular text lines couldn't begin with periods.

Embedded commands

These commands affected how the document was to be printed (those were the days before WYSIWYG editing). It seemed that word processor users in those days were expected to have quite a computer-science background to understand the complex command structures needed.

.LM n Set left margin to n (e.g., .LM 3 to set margin to character position 3)
.RM n Set right margin to n (as character position from the left; must be greater than left margin)
.TM n Set top margin to n (as line number from top of page)
.BM n Set bottom margin to n (as line number from top of page; must be greater than top margin)

The left and right margin commands could be set separately for each line of the page by giving multiple numbers separated by commas:

.LM 10,5,6 sets the left margin to 10 characters for line 1, 5 for line 2, and 6 for line 3. You then have to specify a margin for each and every line of the page. Or you can just insert multiple .lm command lines at each point where you want to change the margin.
.FL n Set form length to n (total number of lines in a page)
.SS n Set line spacing to n
.PA Indicates a paragraph break
.PS n Skip n extra lines between paragraphs
.SP c Set paragraph token to character c (that character then can be used to signify a paragraph break in place of .PA)
.NP Start new page
.SK n Skip n lines
.TP n Test page
.FG n Leave n lines at this point for a figure
.FT n Leave n lines at bottom of page for a footnote starting here
! On line by itself marks the end of the footnote that started with the .FT command
.SL n Sets line counter to n
.LI Increment line counter
.LD Decrement line counter
.FF Formfeed now
.UC Print following text in uppercase
.LC Print following text in lowercase
.MC Print following text in mixed case
.US Underlines should include all text including spaces
.UO Underlines should include only words (not spaces)
.UL c Set underline token to character c (when it occurs, underlining starts, and ends with next occurrence of character)
.BF c Set boldface token to character c, similarly to underline token above
.LJ Left-justify
.RJ Right-justify
.JU Full-justify
.NJ Turn off justification
.PM 0 Proportional spacing: full spaces
.PM 1 Proportional spacing: partial spaces
.HO Hyphenation on
.NH Hyphenation off
.MH Manual hyphenation (pauses printing and asks user to show hyphen spot when one is needed)
.AH Automatic hyphenation
.SH c Set hyphenation token to character c (used to mark spots where automatic hyphenation can be done if needed)
.CE Center next line
.ID n Indent next line n spaces (can be negative)
.TS n1,n2,n3,...,n16 Set positions of normal tab stops relative to left margin
.TC c Set normal tab character to c
.AS n1,n2,n3,...,n16 Set absolute tab stops relative to column 0
.TA c Set absolute tab character to c
.CS n1,n2,n3,...,n16 Set column stops
.CC c Set column character (aligns preceding word to next column stop)
.TI n,L,p,text Sets title #n to text, to be printed at line L, position p. p can be an absolute column number or 'left', 'right', or 'center'.
.TO n Turn on title n
.NT n Turn off title n
.DT n,L,p,text Sets dateline #n to text, to be printed at line L, position p. p can be an absolute column number or 'left', 'right', or 'center'.
.DA n Turn on dateline n
.ND n Turn off dateline n
.PG L,p,text Sets page numbering to text (followed by page number), to be printed at line L, position p. p can be an absolute column number or 'left', 'right', or 'center'.
.NU Turn on page number printing
.NN Turn off page number printing
.SR Set Roman numerals for page numbers
.SD Set decimal numerals for page numbers
.PN n Set current page number to n
.IP Increment page number
.DP Decrement page number
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox