|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 19200 (0x4b00) Types: TextFile Names: »combes«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ. └─⟦b2ec5d50f⟧ └─⟦1a9e12e70⟧ »ccompose« └─⟦this⟧ └─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦25442efea⟧ »ccompose« └─⟦this⟧
*pl ,34,230,21,* *lw 157* *ld15* *pn 4,1* *ps 50* *ct*1. INTRODUCTION. *rj* *nl2* *np* The aim of the system is easy transformation of an erroneus and unjustified text to a correct text with justified lines and page make up, and written in a format corresponding to one of various numerical controlled typesetting machines.*np* The justification of lines to alignment at *0010*the margin is automatically made by calculating the appropriate size of the variable spacing and calling a hyphenation routine if necessary. Underlined and composed characters are correctly treated.*np* The page make up includes automatic pageshift and pagination and insertion af a running head. Foot-notes, place for figures etc. specified in the input text vill be correctly placed automatically. *nl**np* The input is formed so that the typographical information is inserted in the unjustified text as simple mnemonic codes, and the *0020*input can be supplied on 6-7-8-channel papertape, magnetic tape, disc, typewriter and other media corresponding to the peripheral units on the actual RC8000 configuration*np* Similary output can be written on all kinds of existing output media, typesetting machines coupled on-line included.*np* Correction are made with the RC8000 EDITOR program, which is a versalite program for editing and correcting af data in text form, including possibilities for deletion, insertion, substitution, merging of different data etc. *np* The system is designed so that only a minimum of typographical *0030*knowledge is necessary for the users and the typographical units are as far as possible converted to metric units. The operation of the system is made as simple as possible so that the system can be run by people without computer education.*np* The system is primary designed for working with the ISO character set, composed and underlined characters included, but additional characters can easily be included and other types of codes e.g. Flexowriter-code and TTS-code can be accepted. *ps* *ct*2. GENERAL DESCRIPTION. *0040**rh 1,2. GENERAL DESCRIPTION.* *rj**nl**np* The system is shown on the flowchart in appendix A and consists of the following stages: *lm8**ld12**nl2* 1. Writing of textdata for the input program.*nl2* 2. Running the input program.*nl2* 3. Proofreading of the printer output from the input program.*nl2* 4. Correction of*lm14* the output from the input program with the EDITOR program.*lm8**nl2* 5. Running the composing program.*nl2* 6. Proof*lm14*reading of the printer output from the composing program.*lm8**nl2* *0050*7. Composing. *ld15* *lm0* *ns 1,2,2.1 Writing of textdata* The text is written on papertape or magnetic tape, with typographical instruction in mnemonic codes inserted. The instructions are in many cases just a formalizing of the comments which the author writes in his manuscript as information to the typesetter. In appendix C the syntax and the semantics of the Typol command set is described. Appendix B1 shows an example of input illustrating most of the Typol commands. *np* *se/* The page layout command *pl 297,40,210,25,10* denotes /0060/that the page length is 297 mm, the distance from the upper edge of the page to the first line of the text 40 mm, the distance from the first text line to the last is 210 mm, the distance from the upper edge of the paper to the running head and the page number 25 mm and the distance from the lower edge of the page to a page number placed below 10 mm. /np/ The centering command *ct* has the effect that all lines will be centered with respect to the actual left margin and linewidth until the command *rj* (reestablish justification) is met. *nl* and *np* start a new line and a new paragraph respectively. /0070//se*/ *ns 1,2,2.2 Running the input program.* The input program reads the data mentioned above and a new set af data to be used as input to composing program is produced.*np* During this process the following is carried out:*nl2* a. a check of the typographical commands.*nl* b. a listning of the output including possible error messages.*nl* c. insertion of linenumbers for every 10 lines *lm7* facilitating a succeeding correction of errors.*lm0**nl2* In appendix B2 an example of the output listning is shown. *rj* *0080* *0080**ns 1,2,2.3 Proof reading of print-out from input program* The print-out is proof read. If no errors occur the output from the input program is used as input to the composing program otherwise the errors should be corrected with the RC8000 EDITOR program. *ns 1,2,2.4 Corrections* Corrections are, as mentioned above, made with the EDITOR program which includes possibilities of corrections made on-line as well as off-line. More detailed information about this program can be found in Ref. 2. *np* The linenumbers inserted by the input program make it easy to find *0090*the lines where the corrections are to be made, because the inserted linenumbers can be used as identifiers in the search command: line./<identifier>/.*np* If the corrections concern the typographical instructions it is recommended that the input program checks the corrected data before they are used by the composing program. *ns 1,2,2.5 Running the composing program.* The composing program reads the corrected data and carries out the justification and the page make up corresponding to the typographical commands. Normaly the first run of the composing *0100*program is made with a proof reading file as output. This file will have lineshift and page make up corresponding to the justified test but will be without justified right margin because of the lack of indi- vidual spacing on the lineprinter. Appendix B3 contains an example of a proof reading file.*nl**np* If errors are found during proof reading of the file the input to the composing program is corrected as mentioned in par. 2.4 and a new proof reading file is produced. When the proof reading file is correct an object file is produced containing the justified data in a format and on a medium corresponding *0110*to the actual typesetter machine.*np* Hyphenation information will, during production of a proof reading file, normaly be furnished either by an algorithme in the program or manualy from an RC8000 terminal. If the information is supplied from a terminal it can be stored and, after acceptance of the proof reading file, be used during production of the object file.*np* Appendix B4 shows the text used in the previous examples set on a Diablo 1620. *rh* *ps* *ct*3. Program description. *rh 1,3. Program description.* *rj* *ns 1,2,3.1 Input program.* *ns 1,2,3.1.1. Summary.* The input program carries out a syntax check on data to be used in the composing program. A copy of the data is made with numeric names inserted every tenth line which can be used as pointers if the text is to be corrected. (Subsequent runs of the input program or the composing program ignore the names.) The output is in the correct format for the composing program concerning composed graphics.*np* A text file is created, if required, showing output file with numeric names, and error messages, if any. *ns 1,2,3.2.2. Input* There may be one or more input files, the end of a file is recognised when an EM character is received. The end of the input data is recognised when the command EF is read. *np* The input data is text and TYPOL commands as defined in the appendix TYPOL COMMAND SET. *ns 1,2,3.1.3. Output.* The output file is a copy of the input data - several input files may be used to produce one output file.*np* Composed characters are arranged so that the sequence of the elements is*nl* <graphic><backspace><graphic><backspace><graphic>... *np* Numeric names are inserted at the beginning of every tenth line. The names is the line number bracketed by the separator which is used at that time. A line consists of graphic characters terminated by an NL or FF character. *ns 1,2,3.1.4. Text.* The text file consist of the output data and error messages, if any, written so that if the output device is printer there will be 45 lines to a page. A left margin is inserted in every line, and the numeric names are placed in the margin so that they stand out in the text.*np* Tabulating characters are substituted by the character &. Error messages are output after the line containing the error. The error output is defined in appendix E. *ns 1,2,3.1.5. Input table file.* This file required if the user wishes to specify:*lm7**nl2* a. The conversion of input code to ISO code *nl2**lm14* and/or *lm7**nl2* b. The ISO code*lm14* values corresponding to the caracters valid on the equipment for which the composing program is providing input. *lm0**nl2* The standard input table which will be used, if no other is specified, is for ISO code input and Line Printer being used as type- setting equipment.*np* The format of data in the file is*sj* <value of the character on users equipment><delimiter> <ISO value required for this character><delimiter> <class of the character><delimiter> .............. ............... EM <delimiter> is as defined in 2.0.1 of the Algol specification. <value of the character on user equipment> has the range 0-511. <ISO value> has the range 0-127 <class> has the range 0-5. class 0 blind, the character is skipped. class 1 shift character. class 2 simple character. class 3 line terminator. members of the class NL, FF, EM characters class 4 special graphic character. member of the class BS,CR characters class 5 invalide character which must have ISO value 33 *np**rj* A check is made so that characters with ISO value 0,127,10,12,26,8 or 13 are given their respective classes.*np* Any values in the range 0-511 which are not supplied are given the ISO value 33 and class 5.*nl**np* It is recommended that section 9.32 of the algol 6 manual (Ref. 3) is studied, especially with referance to character to be given class 1. *lm13**nl2* *mt 1,N.B.* If the user is to have an input table, he must ensure that there is a character specified which is transformed to the ISO value 25, an EM character. *lm0* *ns 1,4,3.2. Composing program.* *ns 1,2,3.2.1. Summary.* The aim of this program is to transforme a text in ISO-code containing correct typographical commands (typol) to a justified text written in a format corresponding to the selected typesetting machine. *ns 1,2,3.2.2. Input.* To get a well-defined output the input must fulfil the following conditions: *lm7**nl2* a. the format must be ISO*nl2* b. it must contain correct typographical commands(typol)*nl2* c. if composed or*lm14*underlined character are present they must be arranged as defined in the description of the input program. *lm0**nl**np* These conditions are fulfilled if the input is generated as output from the input syntax checking program. *np* All readable external media are allowed for the input file. *ns 1,2,3.2.3. Output.* Output consists primary of two kinds of data:*nl2* a. 0bject file*np* The text justified with respect to line and pages etc. according to the typol commands, the text is written on paper tape, magnetic tape, or another medium corresponding to kind and format of the input medium of the selected typesetting machine.*nl2* b. Proofreading file.*np* The same information ad above written on a document selected by the user. *np**se/* The printout is as near as possible to the output from the typesetting machine, but without a right justification margin because of the lack of individual spacing on for instance a lineprinter. This is also the reason you somtimes observe that the position of the same tabulator mark on two lines is not exactly identical. Font shifts and changes in leading which do not exist on normal peripheral devices are marked by *) and **) respectively. A special symbol defined be substitute command is marked by *d, d being the number of the special symbol corresponding to the Special Symbol Table for the selected typesetting machine. ISO-characters which are not available on the actual typesetting machine will be substituted by *. /se*/ *rh* *ps* *ct*4. PROGRAM CALL. *RH 1,4. Program call.* *rj**nl**np* This chapter descripes the call of the programs. The general rules for the File Processor are given in Ref. 1. *ns 1,3,4.1 Input program**sj* Syntax:*se/* */ld9/ <s><source> <object> = inp <s><modifier> 1/ld15/ table.<table file> <modifier> ::= text.<text file> machine.<machine number> <object> <source> <table file> ::= <name> <text file> <machine number> ::= <integer> /nl2/ Semantic:/nl2//rj//lm35/ /mt 1,<source>/ The list of sources specifies the input files to inp. Source may be any RC8000 text file. At least one source must be present. /nl2/ /mt 1,<object>/ Object may be any RC8000 text file. If the file does not exist, or cannot be used, a temporary file is created. /ps0/ /nl2/ /mt 1,<modifier>/ The list of modifiers is scanned from left to right. Each modifier change a variable that controls inp. When the scan starts, the variables are initialized to the value explained below. /lm55/ /nl2/ /mt 1,table.<table file>/ /lm35/ Inp reads the input table from table file, as explained in 3.1.5./nl/ The initial setting is standard input table. /lm50/ /nl2/ /mt 1,text.<text file>/ /lm35/ Select the output text file (3.1.4) to <text file>, which may be any RC8000 text file. If the does not exist, or cannot be used, a temporary file is created./nl/ The initial setting is no text file. /lm70/ /nl2/ /mt 1,machine.<machine number>/ /lm35/ Select typesetting machine./nl/ 1 Line Printer/nl/ 2 Diablo 1620/nl/ The initial setting is Line Printer. /nl4//lm0/ Error messages after program call:/nl3/ ***inp end. no object/lm35//nl/ Object file missing in program call. /nl/ The program is terminated./lm0//nl2/ ***inp end. no source/lm35//nl/ Source file missing in program call./nl/ The program is terminated./lm0//nl2/ ***inp end. input table data error/lm35//nl/ Data in the character table file is invalde e.g. outside limits for ISO char. value, or class value./nl/ The program is terminated./lm0//nl2/ /ps0/ ***inp end. connect <name>, <result>/lm35//sj/ no ressources malfunction <result> ::= not user, not exist convention error not allowed A file cannot be connected by inp. The program is terminated./nl2//rj//lm0/ ***inp param <invalide param>/lm35//nl/ Invalide parameter in program call./nl/ The program is terminated./lm0/ /ps40/ /ns1,1,4.2 Composing program//sj/ Syntax:/ld9/ 1 1 * <object> = compose <s><source> <s><modifier> 0 0 0 /ld15/ proof.<proofreading file> .c <modifier> ::= hyphen .c.<hyphen file> .<hyphen file> machine.<machine number> <object> <source> <proofreading file> ::= <name> <hyphen file> <machine number> ::= <integer> /nl2/ Semantic:/nl2//rj//lm35/ /mt 1,<object>/ Object may be any RC8000 document. If object does not exist, or cannot be used, a temporary file is created. /nl2/ /mt 1,<source>/ The source specify the input to compose. Source may be any RC8000 text file. I no source is specified, compose reads the source from current input. /nl2/ /mt 1,<modifier>/ The list of modifiers is scanned from left to right. Each modifier change a variable that controls compose. When the scan starts, the values are initialized to the values explained below. /lm70/ /nl2/ /mt 1,proof.<proofreading file>/ Select/lm35/the proofreading file to <proofreading file>, which may be any RC8000 text file. If the file does not exist or cannot be used, a temporary file is created. /nl/Initial setting is no proofreading file. /lm70/ /nl2/ /mt 1,machine.<machine number>/ /lm35/ Select typesetting machine./nl/ 1 Line Printer./nl/ 2 Diablo 1620./nl/ Initial setting is Line printer. /lm70/ /nl2/ /mt 1,hyphen.c.<hyphen file>/ /lm35/ Information for hyphenation is supplied from the terminal (see 4.2.1 for details) and stored in the so-called hyphenation file for possible later use with the same source file after an accepted proofreading. The hyphenation file may be any RC8000 text file. If the file does not exist or cannot be used, a temporary file is created. /nl2/ /mt 1,hyphen.c/ Information is supplied from terminal, but not stored. /lm70/ /nl2/ /mt 1,hyphen.<hyphen file>/ /lm35/ Information is read from hyphenation file. /nl//lm0//np/ The initial setting for hyphenation mode is that information is supplied from the hyphenation algorithm alone whitout any communication with the user. /nl4//lm0/ Error messages after program call: /nl3/ ***compose end. connect <name>, <result> /lm35//nl//sj/ no resources malfunction <result> ::= not user, not exist convention error not allowed A file cannot be connected by compose The program is terminated/nl2//rj//lm0/ ***compose param <param>/lm35//nl/ Invalide parameter in program call./nl/ The program is terminated./nl//lm0/ /ns 1,3,4.2.1 Hyphenation information//se*/ The program has a built-in algorithm for hyphenation, but has a the possibility for an online check of the result from this algorithm by using hyphen.c modifier in the program call of compose. If this is the case the actual word and a proposal for hyphenation is written on the terminal in the following way:*sj* <sting1>/<string2><breakinf><string3>/<string4> +/- *rj* where <string1>,<string2>,<string3> and <string4> are strings of succeeding characters of the word, together containing the whole word. Possible special symbols are printed as stars.*nl2* <breakinf> is a new line character if a natural breakpoint is found, as for instance a period or question mark, or it is a hyphen followed by a new line character if a hyphenation point is found.*nl* If the algorithm has been unable to find a breakpoint <breakinf> is empty.*nl* The slashes indicate the limits for the position of the breakpoint to get the line justified with respect to the values for minimum and maximum allowed word space*nl2* The last line in the message indicate your possibilities for reply expected from the terminal:*nl2* Type a plus sign and a new line character if you accept the proposal.*nl2* Type a minus sign and a new line character if you can not accept the proposal. The message:*nl2* position:*nl2* will follow and an integer followed by a new line character is now expected, denoting the position relative to first slash of the correct breakpoint. <breakinf> character, if present, are ignored. In the case a hyphen has to be inserted the integer should be positiv else negative .*nl* If no breakpoint exist between the slashes a zero can be typed, and no hyphenation takes place. *ef* ▶EOF◀