STANDARD ECMA-48

ADDITIONAL CONTROL FUNCTIONS FOR CHARACTER-IMAGING I/O DEVICES

2nd Edition-August 1979

Free copies of this document are available from ECMA, European Computer Manufacturers Association.

114 Rue du Rhone - 1204 Geneva (Switzerland)

BRIEF HISTORY

After having issued its Standard ECMA-35 for the extension of the 7-bit coded character set, the coding committee TC 1 of ECMA set up a task group with a view to developing a set of additional control functions. This work was conducted in close co-operation with the coding committee X3L2 of ANSI. Intermediate results were periodically discussed at the meetings of I1SO/TC97/SC2. The first edition of Standard ECMA-48 was issued in September 1976.

In ISO/TC97/SC2 a working party developed an ISO Draft Proposal based on ECMA-48 and on the contributions presented by the representatives of X3L2. Several versions were drafted, submitted to SC2 and up-dated according to the comments received. Finally, at its May 1978 meeting, SC2 adopted the final text which will be processed as a draft international standard and eventually issued as ISO 6429.

This 2nd edition of ECMA-48 is based on the text of DIS 6429 and is technically identical with it. It has been accepted as an ECMA Standard by the General Assembly of ECMA on June 21, 1979.

THIS 2nd EDITION SUPERSEDES THE VERSION DATED SEPTEMBER 1976.

This version was converted to markdown in June 2019 by Wez Furlong and contains some formatting deviations from the scanned PDF of the original document from 1979 to make it render in a more appealing way. There may be a few OCR transcription issues. Aside from the format/layout adjustments required to bring this document to a searchable and linkable form, there are no intentional textual changes.

1. GENERAL

1.1. Scope and Field of Application

This Standard defines additional control functions for use in an extended 7-bit or 8-bit code structured in accordance with Standard ECMA-35. It comprises a C1 set, control functions derived therefrom and four single control functions.

These control functions are intended to be used, in combination with the CO set defined in Standard ECMA-6, for data interchange with character-imaging devices.

A character-imaging device is a device which is capable of re ceiving a data stream that consists of coded control functions and graphics, and of producing character image output, i.e. output that can be read by a human being. The character image output is, in general, produced in the form of one or more rectangular arrays of characters which are called pages.

If the device is an input/output device rather than merely an output device, it is also capable of transmitting a data stream that consists of coded control functions and graphics; the transmitted data stream is, in general, composed of a combination of data which have been sent to the device and data which have been locally entered into the device, e.g. by an associated keyboard.

The control functions are defined by their effects on a character-imaging input/output device. It is, therefore, necessary to make certain assumptions about the device architecture. These assumptions are as little restrictive as possible; they are specified in 5, DEVICE CONCEPTS.

The intention of this Standard is to facilitate data interchange, not to standardize equipment. The specifications of the architectural device concepts are included only to delimit the field of application of the Standard. The definitions of the control functions may not be applicable to devices which do not conform to the specified concepts.

The structure of this Standard is open-ended, so that more control functions can be included in future versions.

1.2. Conformance

Full conformance to a standard means that all its requirements are met. For such conformance to be unique the standard must contain no options. This is typically the case for hardware standards, for instance Standard ECMA-10 for data interchange on punched tapes.

This Standard ECMA-48 is of a different nature and as a result, it is only practicable to envisage limited conformance to it, as defined hereunder.

This Standard addresses a whole class of devices which can vary greatly from each other depending on the application for which a device has been specifically designed. Obviously, a product which implements all facilities described in this standard - thus being in "full conformance" with it - whilst theoretically possible, would be technically and economically unthinkable.

Under limited conformance the following is required:

  1. The general architecture of the device shall be as described in Section 5S. This section includes many features not all of which need be implemented. The selection made in practice will depend on the applications envisaged.
  2. The device may implement other modes than those described in the Standard, but these shall not be incompatible with those described in the Standard.
  3. The device shall implement control functions described in Section 7 with the same definition and the same coding. It shall not implement other controls which are incompatible with those definitions.
  4. If in addition facilities not provided by the Standard are required they shall be implemented only by means of private use codes, they may not be coded elsewhere. Facilities provided by the Standard may not be implemented by means of such private use codes.
  5. Where a default value of a parameter is specified in the Standard for a given control function a conforming implementation of this control function has to be capable of meeting the default situation.

It is recognized that limited conformance does not ensure necessarily that two devices can always communicate with each other without problems. Any product claiming conformance is required to list the facilities of the Standard which it provides. Until such time that a list of parameter values for the control function DEVICE ATTRIBUTES (7.2.17) is set up internationally, sender and recipient of the data must check whether or not their own device can cope with the other's implementation.

In spite of these limitations which are inherent to its nature and to the aim of fostering data interchange without standardizing equipment, it is believed that this Standard gives strong guidance to device designers, avoiding the development of incompatible hardware and helping to foster standardization.

2. REFERENCES

The following ECMA standards are related to this Standard:

  • ECMA-6 - 7-Bit Input/Output Coded Character Set
  • ECMA-35 - Extension of the 7-Bit Coded Character Set
  • ECMA-43 - 8-Bit Coded Character Set

3. NOTATION AND TERMINOLOGY

3.1. Notational Convention

In this Standard a convention has been adopted to assist the reader. Capital letters are used to refer to a specific control function, mode, mode setting, or graphic character (whether they are defined in this Standard or in ISO 646). This usage was found necessary in order to avoid confusion between the general concepts and the specific encoded control functions, e.g. the concept 'space' and the character SPACE (pos. 2/0).

Clause 7.2 lists the abbreviations, names and characteristics of the control functions defined in this Standard. They are ordered according to the alphabetic order of their abbreviations. It is intended that the abbreviations, names and this convention be retained in all translations of the text.

3.2. Definition of Terms

In this Standard, the following definitions apply:

Area: A set of adjacent character positions in a visual display that are not necessarily on the same line.

Auxiliary device: A device connected to a character-imaging device for the purpose of storing, retrieving, or imaging data.

Character-imaging device: A device that gives a visual representation of data in the form of graphic symbols using any technology, e.g. cathode ray tube or printer.

Character position: That portion of a visual display which is imaging or is capable of imaging a graphic symbol.

Control function: An action that affects the recording, processing, transmission, or interpretation of data.

Default: A value or a state that is to be assumed when no value or state is explicitly specified.

Display: A region for visual presentation of data on any type of character-imaging device, including printer and cathode ray tube devices. A display consists of a series of lines composed of character positions. In this Standard the term display shall not be interpreted to mean a cathode ray tube device exclusively.

Field: An area whose boundaries are specified by horizontal tabulation stops.

Final character: A character whose bit combination terminates an escape sequence or a control sequence.

Graphic rendition: A visual style of displaying a set of graphic symbols.

Intermediate character:

  1. A character whose bit combination occurs between the character ESCAPE and the final character in an escape sequence consisting of more than two bit combinations.
  2. A character, other than a character in a parameter string, whose bit combination occurs between the CONTROL SEQUENCE INTRODUCER and the final character in a control sequence.

Operating system: Software that controls the execution of computer programs and that may provide scheduling, debugging, input/output control, accounting, compilation, storage assignment, data management, and related services.

Private use: A means of representing a non-standardized control function in a manner compatible with the Standard.

Scroll: An action whereby all of the graphic symbols of a visual display are moved in a specified direction.

Tabulation: A technique of identifying character positions in a visual display for the purpose of arranging information systematically.

Tabulation stop: An indication that a character position is to be used for tabulation; a horizontal tabulation stop may also serve as a boundary between fields.

4. CODED REPRESENTATIONS

4.1. General

The set of additional control functions in this Standard consists of more than 32 control functions which can be coded in a C1 set.

Each control function belongs to one of the following cate- gories, depending on the method of representation:

  • Control functions which are elements of the C1 set;
  • Control functions represented by control sequences;
  • Control functions represented by ESC Fs sequences.

This Standard also defines a method of representations of control functions by means of control strings (see 4.6).

4.1.1. Control functions which are elements of the C1 set

As in ECMA-35 such a control function is represented:

  • in a 7-bit code by a 2-character escape sequence of the form ESC Fe, where Fe is a bit combination of column 4 or 53
  • in an 8-bit code by a bit combination of column 08 or 09).

This method of representation permits coding of up to 32 control functions. These bit combinations are defined in 4.2

4.1.2. Control functions represented by control sequences

A control sequence consists of the coded representation of CONTROL SEQUENCE INTRODUCER (CSI) followed by one or more bit combinations which identify the control function and, if applicable, represent the parameters of the control function. The control function CSI itself is an element of the C1 set.

The format of a control sequence is:

CSI P1 ... Pn I1 ... Im F

where:

  • CSI is represented by ESC 5/11 in a 7-bit code and by 09/11 in an 8-bit code (see 4.2).
  • P1 ... Pn are bit combinations of column 3 representing the parameter values; these bit combinations shall be omitted if the control function has no parameter, and may be omitted if the default parameter value is to apply.
  • I1 ... Im are bit combinations of column 2 which, together with the final bit combination F, identify the control function; these bit combinations shall be omitted if the control function is identified by the final bit combination F alone;

NOTE 1: The number of intermediate bit combinations is not limited by this Standard; in practice, at most one intermediate will be sufficient since over one thousand control functions may be identified using not more than one intermediate.

  • F is a bit combination of column 4, 5, 6 or 7 (except 7/15) which terminates the control sequence and, together with the intermediate bit combinations I1 ... Im, if present, identifies the control function (see 9).

The occurrence of any bit combinations which do not conform to the above format is an error condition for which recovery is not specified by this Standard.

The final bit combinations (either used alone or together with intermediates) are classified in two categories:

  • The control functions identified by final bit combinations of columns 4, 5 and 6 are either standardized or reserved for future standardization;
  • the control functions identified by final bit combinations of column 7 (except 7/15) are not standardized and are available for private or experimental use.

There are two types of parameters; numeric and selective (see 4.4). A numeric parameter represents a number; a selective parameter merely represents a character string, the meaning of which depends on the control function.

The final bit combinations of columns 4, 5 and 6 and the intermediate bit combinations are defined in 4.3.

4.1.3. Control functions represented by ESC Fs sequences

As in ECMA-35 the coded representations of these control functions in 7-bit and 8-bit codes are 2-character escape sequences of the form ESC Fs, where Fs is a bit combination from 6/0 to 7/14 (see 4.5). These control functions are not part of the C1 set.

4.2. Elements of the C1 Set

The following 25 control functions are the elements of the C1 set:

AbbreviationName
APCAPPLICATION PROGRAM COMMAND
CCHCANCEL CHARACTER
CSICONTROL SEQUENCE INTRODUCER
DESDEVICE CONTROL STRING
EPAEND OF PROTECTED AREA
ESAEND OF SELECTED AREA
HTJHORIZONTAL TABULATION WITH JUSTIFICATION
HTSHORIZONTAL TABULATION SET
INDINDEX
MWMESSAGE WAITING
NELNEXT LINE
OSGOPERATING SYSTEM COMMAND
PLDPARTIAL LINE DOWN
PLUPARTIAL LINE UP
PMPRIVACY MESSAGE
PU1PRIVATE USE 1
PU2PRIVATE USE 2
RIREVERSE INDEX
SPASTART OF PROTECTED AREA
SS2SINGLE SHIFT 2
SS3SINGLE SHIFT 3
SSASTART OF SELECTED AREA
STSTRING TERMINATOR
STSSET TRANSMIT STATE
VTSVERTICAL TABULATION SET

Their coded representations are defined by Table 1.

The definitions of the control functions are specified in 7.2.

If a control function is represented by a 2-character escape sequence (in a 7-bit code), the table specifies the bit combination of the final character by taking A=4 and B=5.

If a control function is represented by a single 8-bit combination the table specifies this bit combination by taking A=08 and B=09.

The open positions in the table are reserved for future standardization. They are not to be used for private or experimental codes.

Row NoColumn AColumn B
0DCS
1PU1
2PU2
3STS
4INDCCH
5NELMW
6SSASPA
7ESAEPA
8HTS
9HTJ
10VTS
11PLDCSI
12PLUST
13RIOSC
14SS2PM
15SS3APC

Table 1: ALLOCATION OF BIT COMBINATIONS TO THE CONTROL FUNCTIONS OF THE C1 SET.

The 3-character escape sequence designating this C1 set is ESC 2/2 F.

NOTE 2: The final character F of the designating 3-character escape sequence is not known at this moment; it is subject to registration procedures in accordance with International Standard ISO 2375.

4.3. Control Sequences

The 51 control functions listed below are represented by control sequences.

The definitions of the control functions are specified in 7.2. The final bit combinations of the control sequences are defined by Tables 2 and 3.

4.3.1. Control functions with numeric parameters

AbbreviationNameTable
CBTCURSOR BACKWARD TABULATION2
CHACURSOR HORIZONTAL ABSOLUTE2
CHTCURSOR HORIZONTAL TABULATION2
CNLCURSOR NEXT LINE2
CPLCURSOR PRECEDING LINE2
CPRCURSOR POSITION REPORT2
CUBCURSOR BACKWARD2
CUDCURSOR DOWN2
CUFCURSOR FORWARD2
CUPCURSOR POSITION2
CUUCURSOR UP2
CVTCURSOR VERTICAL TABULATION2
DADEVICE ATTRIBUTES2
DCHDELETE CHARACTER2
DLDELETE LINE2
ECHERASE CHARACTER2
FNTFONT SELECTION3
GSMGRAPHIC SIZE MODIFICATION3
GSSGRAPHIC SIZE SELECTION3
HPAHORIZONTAL POSITION ABSOLUTE2
HPRHORIZONTAL POSITION RELATIVE2
HVPHORIZONTAL AND VERTICAL POSITION2
ICHINSERT CHARACTER2
ILINSERT LINE2
NPNEXT PAGE2
PPPRECEDING PAGE2
REPREPEAT2
SDSCROLL DOWN2
SLSCROLL LEFT3
SPISPACING INCREMENT3
SRSCROLL RIGHT3
SUSCROLL UP2
TSSTHIN SPACE SPECIFICATION3
VPAVERTICAL POSITION ABSOLUTE2
VPRVERTICAL POSITION RELATIVE2

4.3.2. Control functions with selective parameters

AbbreviationNameTable
CTCCURSOR TABULATION CONTROL2
DAQDEFINE AREA QUALIFICATION2
DSRDEVICE STATUS REPORT2
EAERASE IN AREA2
EDERASE IN DISPLAY2
EFERASE IN FIELD2
ELERASE IN LINE2
JFYJUSTIFY3
MCMEDIA COPY2
QUADQUAD3
RMRESET MODE2
SEESELECT EDITING EXTENT2
SGRSELECT GRAPHIC RENDITION2
SMSET MODE2
SSUSELECT SIZE UNIT3
TBCTABULATION CLEAR2

Table 2 specifies the final bit combinations of the control sequences without intermediates.

Table 3 specifies the final bit combinations of the control sequences which contain bit combination 2/0 as the single intermediate.

The open positions in the tables, as well as all final bit combinations of columns 4, 5 and 6 which are used with other intermediates than one 2/0 only, are reserved for future standardization. All final bit combinations of column 7 except 7/15 (with or without intermediates) are available as final bit combinations for private or experimental use.

Row No.Column #4Column #5Column #6
0ICHDCHHPA
1CUUSEEHPR
2CUDCPRREP
3CUFSUDA
4CUBSDVPA
5CNLNPVPR
6CPLPPHVP
7CHACTCTBC
8CUPECHSM
9CHTCVTMC
10EDCBT
11EL
12ILRM
13DLSGR
14EFDSR
15EADAQ

Table 2: ALLOCATION OF FINAL BIT COMBINATIONS TO CONTROL SEQUENCES WITHOUT INTERMEDIATES.

Row No.Column #4Column #5Column #6
0SL
1SR
2GSM
3GSS
4FNT
5TSS
6JFY
7SPI
8QUAD
9SSU
10
11
12
13
14
15

Table 3: ALLOCATION OF FINAL BIT COMBINATIONS TO CONTROL SEQUENCES WITH 2/0 AS A SINGLE INTERMEDIATE.

4.4. Parameter Representations

A control sequence may contain a string of bit combinations P1 ... Pn representing one or more parameters to complete the specification of the control function.

The string of bit combinations P1 ... Pn contained in a control sequence is called the parameter string. It consists of bit combinations of column 3 and is interpreted as follows:

  • If the first bit combination of the parameter string is in the range 3/0 to 3/11, the parameter string is interpreted according to the format described below.
  • If the first bit combination of the parameter string is in the range 3/12 to 3/15, the parameter string is available for private or experimental use. Its format and meaning are not specified in this Standard.

4.4.1. Parameter string format

  • A parameter string consists of one or more parameter substrings, each of which represents a parameter value.
  • Each parameter sub-string consists of one or more bit combinations from 3/0 to 3/9, representing the decimal digits ZERO to NINE.
  • Parameter sub-strings are separated by one bit combination 3/11.
  • Bit combination 3/10 is reserved for future standardization as an additional parameter separator.
  • Bit combinations 3/12 to 3/15 shall not be used.
  • In each parameter sub-string, leading bit combinations 3/0 are not significant and may be omitted.
  • If the parameter string starts with the bit combination 3/11, an empty parameter sub-string is assumed preceding | the separator; if the parameter string terminates with the bit combination 3/11, an empty parameter sub-string is assumed following the separator; if the parameter string contains successive bit combinations 3/11, empty parameter sub-strings are assumed between the separators.
  • An empty parameter sub-string or a parameter sub-string which consists of bit combinations 3/0 only represents a default value which depends on the control function.

4.4.2. Types of parameters

There are two types of parameters: numeric parameters and selective parameters.

4.4.2.1. Numeric parameters

In a control sequence representing a control function with numeric parameters, each parameter sub-string corresponds to one parameter.

The number of parameters is fixed and depends on the control function. If the control function has more than one numeric parameter, and some (but not all) parameter sub-strings are omitted, the separators (bit combination 3/11) must still be present. Only if all parameter sub-strings are omitted, are the separators not required.

Each numeric parameter sub-string which contains at least one bit combination from 3/1 to 3/9 represents a number in decimal notation.

4.4.2.2. Selective parameters

In a control sequence representing a control function with a selective parameter, each parameter sub-string represents one value of the selective parameter. These values, whilst expressed by digits, are not quantitative. Each corresponds to one of the actions the control function can perform. Neither the maximum number of values nor the order in which the corresponding actions are performed are prescribed by this Standard. The effect of a sequence of values corresponding to conflicting actions depends on implementation.

A particular parameter value may have the same meaning as a combination of two or more separate values.

4.5. ESC Fs Sequences

The following four control functions are represented by ESC Fs sequences:

AbbreviationName
DMIDISABLE MANUAL INPUT
EMIENABLE MANUAL INPUT
INTINTERRUPT
RISRESET TO INITIAL STATE

The definitions of these control functions are specified in 7.2.

The coded representations are defined by Table 4 which specifies the final bit combinations of the 2-character escape sequences representing these control functions.

The open positions in the table are reserved for standardion of other control functions.

Row #Column #6Column #7
0DMI
1INT
2EMI
3RIS
4
5
6
7
8
9
10
11
12
13
14
15

Table 4: ALLOCATION OF FINAL BIT COMBINATIONS TO ESC Fs SEQUENCES.

4.6. Control Strings

A control string is a delimited string of characters which may occur in the data stream as a logical entity for control purposes. A control string consists of an opening delimiter, followed by a string of graphic characters and SPACEs (bit combinations 2/0 to 7/14 inclusive) and terminated by STRING TERMINATOR (ST). The occurrence of other bit combinations within a control string is an error condition for which recovery is not specified by this Standard (see 9).

The opening delimiter indicates the class of the component of the system which is the sender or recipient of the control string. The interpretation of the contents of the control string is not specified by this Standard, but instead requires prior agreement between the sender and the recipient of the data.

The classes of system components which can be specified by the appropriate opening delimiter are the device, the operating system control program, the privacy discipline, and the application program. The corresponding opening delimiters are:

  • DEVICE CONTROL STRING (DCS)
  • OPERATING SYSTEM COMMAND (OSC)
  • PRIVACY MESSAGE (PM)
  • APPLICATION PROGRAM COMMAND (APC)

Examples of applications of device control strings are:

  • program loading
  • configuration control
  • mode control
  • diagnostics

An example of the use of application program command string is the interjection of application program commands in a data stream or file being processed by the application program as data.

5. DEVICE CONCEPTS

The definitions of the control functions in this Standard are based on general assumptions about the architecture of character- imaging devices. Examples of devices conforming to these concepts are: an alpha-numeric display device, a printer or a microfilm output device.

5.1. The Received Data Stream

The received data stream is considered to be a continuous stream. It may be structured in messages, records and/or blocks, but this does not affect the operation of the device at the abstract level of description in this Standard; the logical or physical units of data are regarded as being concatenated to form a continuous stream.

The device may contain a buffer in which the received data are temporarily stored before they are used to produce the character image output, or in which the received data are permanently stored and continuously used to produce the character image output.

5.2. The Character Image Output

The character image output may consist of one or more pages of a pre-determined size.

A page is composed of a pre-determined number of lines, each being composed of a number of character positions.

The device may have the capability of varying the number of lines per page, the number of character positions per line, and the character spacing during the operation of the device.

If the character image output is not structured in pages, it is regarded as consisting of a single page of an unlimited number of lines.

The lines constituting a page as well as the character positions constituting a line are identified by the natural numbers 1, 2, 3,

Each character position either is erased or images SPACE or a graphic symbol. A graphic symbol represents a graphic character or one of the control functions for which a graphic representation is required.

The initial state of all character positions is "erased".

Depending on implementation, there may or may not be a distinction between an erased character position and a character position imaging SPACE.

Depending on the characteristics of the device, a character position may be capable of imaging a combination of two or more graphic symbols. This would permit the use of BACKSPACE to generate accented letters or other composite graphic symbols.

The width of a character position may be fixed or may depend on the character being imaged.

In this Standard, the character image output is regarded as being produced in the form of a continuous stream, but it may in actual fact be made available character-by-character, line-by-line, or page-by-page.

The character positions are numbered relative to the character image (page) output, not to the buffer (if any).

The character style and font design of the graphic symbols are not defined by this Standard, but their shapes and relative positioning to accomodate overlay of two or more symbols may be influenced by control functions in the received data stream.

5.3. The Active Position

At any time, there is a unique character position which is called the "active position".

The active position is the character position which is to image the graphic symbol representing the next graphic character of the received data stream or the next control function for which a graphic representation is required. The active position is also the reference position against which certain format effectors or editor functions are performed (see 5.4).

The line containing the active position is called the "active line".

Implicit movement

If the active position is not the last character position of a line, it is moved to the following character position of the active line.

An implicit movement is performed when SPACE or a graphic character is received or a control function, for which a graphic representation is required, is executed.

Explicit movement

The active position is moved to a specified character position.

An explicit movement is performed when a control function is executed which causes the active position to be moved to a specified position.

NOTE 3: In the case of an interactive display device it is common practice to mark the active position by means of a special indicator which is called the "cursor".

NOTE 4: In the following situations, the effect of an attempt to move the active position is not defined by this Standard:

  • an attempt to perform an implicit movement when the active position is the last character position of a line,
  • an attempt to perform an explicit movement to a non-existing character position, e.g. beyond the last character position of a line, or beyond the last line of a page.

Depending on implementation, an attempt to perform such an active position movement may:

  • cause a wrap around movement,
  • cause the active position to be blocked (a condition in which no graphic symbol can be entered until a valid explicit active position movement is performed),
  • cause the active position to remain where it is but permit graphic symbols to be entered thereby replacing or overstriking the previously entered character,
  • cause the cursor to disappear from the operator's view,
  • cause the cursor to move to the opposite end of the display but one row or column offset,
  • cause scrolling to occur,
  • cause other implementation-dependent action.

5.4. Format Effectors and Editor Functions

Two classes of control functions have an action on the layout or positioning of information in character-imaging devices. They are format effectors and editor functions. Format effectors are intended to be used on all classes of imaging de- vices while editor functions are supplementary control functions required only in circumstances for a certain class of devices where an action is to be performed on previously entered data. The principal difference between editor functions and format effectors is that the latter are sensitive to the FORMAT EFFECTOR ACTION MODE, whereas the former are not (see Annex A).

5.4.1. Format effectors

Format effectors belong to the data stream and shall be treated as data which happen to have a format representation rather than a graphic representation. Format effectors describe how the originator of the data stream wishes the information to be formatted.

Therefore, if format effectors are not stored by the receiving device they shall be regenerated by the device for subsequent transmission to additional recipients in order to preserve data integrity.

Format effectors are processed as follows depending on the setting of the FORMAT EFFECTOR ACTION MODE (6.2.4) of the device.

If the FORMAT EFFECTOR ACTION MODE is set to EXECUTE, the action specified by the format effector (usually an active position movement) is immediately performed. Depending on implementation a format effector may be stored in addition to being performed.

If the FORMAT EFFECTOR ACTION MODE is set to STORE, the format effector is treated as a graphic and stored in the buffer. In this case, the specified action is intended to be performed by an auxiliary input/output device when the associated data are transferred.

5.4.2. Composite characters

Composite characters not already available shall be obtained using the format effector BACKSPACE rather than editor functions (see Annex A.3). For example small letter e with accent may be obtained as follows:

Wez's note: this section is intended to show the use of BS to implement what we refer to today as combining character display by printing accent characters and then backspacing and printing latin characters, but it didn't translate though the OCR. This section needs fixing up

Data streamDisplayed
~ BS e
“~ BS eé
“ BS ~ BS eé

5.4.3. Editor functions

The main purpose of editor functions is to edit, alter, or transpose the visual arrangement of data.

In most cases, editor functions will be perfomed immediately by the first receiver and then removed from the data stream.

Typical use of editor functions are:

  • Coding of local functions for example encoding keyboard functions when the keyboard is logically uncoupled from the output imaging mechanism of a device.
  • Transposing intended representation to an alternate representation in those cases where the receiving device is unable to display the intended image.

5.5. Editing Operations

This section is applicable primarily to buffered input/output devices. Editing operations (erasure, deletion, and insertion) are performed either in execution of control functions in the received data stream, or under control of a keyboard or another manual entry device.

5.5.1. Erasure

The state of one or more character positions is changed to "erased". Other character positions remain unaffected.

5.5.2. Deletion

The data contained in one or more character positions are removed by shifting the contents of an adjacent string of character positions so that the data to be removed are overwritten. As a result a string of character positions, equal in length to the deleted string, is erased at the beginning or the end of the shifted part.

5.5.3. Insertion

One or more erased positions are inserted by shifting the contents of a string of character positions adjacent to the position where the insertion is to be made. As a result a string of data, equal in length to the inserted string, is removed at the beginning or the end of the shifted part.

5.5.4. Editing modes and insertion/deletion

In case of a deletion or insertion, the string which is shifted either precedes or follows the position where the deletion or insertion is made, depending on the setting of the HORIZONTAL EDITING MODE (6.2.7) and of the VERTICAL EDITING MODE (6.2.17).

5.6. Selected and Qualified Areas

This section is applicable primarily to buffered input/output devices. It may be also applicable to unbuffered input/output devices when the SEND/RECEIVE MODE (6.2.13) is set to SIMULTANEOUS.

5.6.1. Selected areas

A selected area is a string of character positions, the contents of which may be eligible (see 6.3) to be transmitted in the form of a data stream or to be transferred to an auxiliary input/output device (see 5.7).

The beginning of a selected area is established by START OF SELECTED AREA (SSA). The character position which is the active position after receipt of SSA is the first character position of the selected area.

The end of a selected area is established by END OF SELECTED AREA (ESA). The character position which is the active position before receipt of ESA is the last character position of the selected area.

5.6.2. Qualified areas

A qualified area is a string of character positions with which certain characteristics are associated, such as one or a combination of the following:

  • the contents of the character positions are protected against manual alteration;
  • the set of characters which are permitted to be entered is restricted (e.g. to numeric or alphabetic characters only);
  • the character positions are protected against erasure;
  • a tabulation stop is associated with the first character position;
  • the character positions are to be excluded, i.e. guarded (see 5.6.2.2) from transmission of a data stream, or from transfer to an auxiliary input/output device (see 5.7).

The beginning of a qualified area is established by DEFINE AREA QUALIFICATION (DAQ). The character position which is the active position after receipt of DAQ is the first character position of the qualified area. The type of area qualification is specified by the parameter of DAQ. The end of a qualified area is established by the beginning of the following qualified area.

5.6.2.1. Protected area

A protected area is a special case of a qualified area. It is a string of character positions, the contents of which are protected against manual alteration. A protected area may, in general, be either guarded or unguarded.

5.6.2.2. Guarded area

A guarded area is a special case of a qualified area. It is a protected area which is to be excluded from transmission of a data stream and from transfer to an auxiliary input/output device.

An alternative way to establish the beginning and end of a guarded protected area is by means of START OF PROTECTED AREA (SPA) and END OF PROTECTED AREA (EPA).

5.7. Auxiliary Input/Output Devices

This section is applicable primarily to buffered input/output devices. It may be also applicable to unbuffered input/output devices when the SEND/RECEIVE MODE is set to SIMULTANEOUS.

Data transfer from or to an auxiliary input/output device is initiated either by the operation of an appropriate button on a keyboard or by the control function MEDIA COPY (MC) appearing in the received data stream.

If there are more than one auxiliary input/output devices, the relevant device is specified by the parameter of MC.

An input data stream which is received from an auxiliary device is processed in the same way as any other received data stream. The method of terminating the input from the auxiliary device depends on implementation.

6. MODES

6.1. The Concept of Modes

This Standard is intended to be applicable to a very large range of devices. Within that broad range it is recognized that variations exist. Some of these variations have been formalized in this Standard in the form of modes. They deal with the way in which a device transmits, receives, processes, or images data. Each mode is defined as having two states. The initial state of each mode is defined by the implementation.

The modes may be established explicitly within the data stream or by agreement between sender and recipient. In an implementation, some or all of the modes may have a fixed state incapable of being altered.

6.2. Definition of Modes

The modes listed below are defined in this Standard. They are set and reset by the control functions SET MODE (SM) and RESET MODE (RM). The parameter of SM or RM specifies the mode which is affected. In each of the mode definitions below, the first state is caused by RM, the second one by SM.

6.2.1. CONTROL REPRESENTATION MODE

CONTROL:

All control functions are performed as defined, subject to the FORMAT EFFECTOR ACTION MODE in so far as format effectors are concerned, see 6.3.2. In addition to being performed some control functions may have a graphic representation.

GRAPHIC:

All control functions, except RESET MODE (RM), are treated as graphics.

6.2.2. EDITING BOUNDARY MODE

DISPLAY:

The effects of the editing control functions are limited to the displayed portion of a multiple-page buffer.

ALL:

The editing control functions may affect character positions outside the displayed portion of a multiple-page buffer.

6.2.3. ERASURE MODE

PROTECT:

Only unprotected data are affected by an erasure control function.

ALL:

Protected as well as unprotected data are affected by an erasure control function.

6.2.4. FORMAT EFFECTOR ACTION MODE

EXECUTE:

A format effector causes the specified action to be performed immediately. Implementations may store format effectors in a buffer in addition to performing them.

STORE:

A format effector is treated as a graphic.

This mode is significant only if the CONTROL REPRESENTATION MODE is set to CONTROL.

6.2.5. FORMAT EFFECTOR TRANSFER MODE

INSERT:

Format effectors are inserted in a transmitted data stream or in any data transferred to any auxiliary input/output device:

  • the format effectors CARRIAGE RETURN (CR) and LINE FEED (LF), or NEXT LINE (NEL), are inserted in the data stream to separate successive lines;
  • other format effectors may be inserted as appropriate, e.g. HORIZONTAL TABULATION (HT) to represent a string of erased character positions preceding a tabulation stop.

EXCLUDE:

No format effectors other than those received while the FORMAT EFFECTOR ACTION MODE is set to STORE are included in a transmitted data stream or in data transferred to any auxiliary input/output device.

6.2.6. GUARDED AREA TRANSFER MODE

GUARD: Only unguarded data in an eligible area are transmitted.

ALL: Guarded as well as unguarded data in an eligible area are transmitted.

6.2.7. HORIZONTAL EDITING MODE

FOLLOWING:

A character insertion causes a string of following data beginning with the contents of the active position to be shifted forward; a character deletion causes a string of data following the active position to be shifted backward.

PRECEDING:

A character insertion causes a string of preceding data ending with the contents of the active position to be shifted backward; a character deletion causes a string of data preceding the active position to be shifted forward.

6.2.8. INSERTION REPLACEMENT MODE

REPLACE:

The receipt of a graphic character or a control function for which a graphic representation is required causes the appropriate graphic symbol to replace (or, depending on implementation, to be combined with) the graphic symbol currently imaged at the active position.

INSERT:

The receipt of a graphic character or a control function for which a graphic representation is required causes the appropriate graphic symbol to be inserted at the active position.

The operation of inserting a character is performed as described in 5.5

6.2.9. KEYBOARD ACTION MODE

ENABLED: All manual input facilities are enabled to be used.

DISABLED: All or part of the manual input facilities are disabled.

6.2.10. MULTIPLE AREA TRANSFER MODE

SINGLE: Only the selected area which contains the active position is eligible to be transmitted.

MULTIPLE: All selected areas are eligible to be transmitted.

This mode is significant only if the SELECTED AREA TRANSFER MODE is set to SELECT.

6.2.11. POSITIONING UNIT MODE

CHARACTER: The unit for numeric parameters of the positioning format effectors is one character position.

SIZE: The unit for numeric parameters of the positioning format effectors is that established by SELECT SIZE UNIT (SSU).

6.2.12. SELECTED AREA TRANSFER MODE

SELECT: Only selected areas are eligible to be transmitted.

ALL: All data, irrespective of any explicitly defined selected areas, are eligible to be transmitted.

6.2.13. SEND/RECEIVE MODE

MONITOR: Data which are locally entered are immediately imaged.

SIMULTANEOUS:

Local input facilities are logically disconnected from the output mechanism; only data which are sent to the device are imaged.

6.2.14. STATUS REPORT TRANSFER MODE

NORMAL: No device status reports are generated automatically.

DIAGNOSTIC: A device status report in the form of a device control string is automatically included in every transmitted data stream.

6.2.15. TABULATION STOP MODE

MULTIPLE: A horizontal tabulation stop applies to the corresponding character positions of all lines.

SINGLE: A horizontal tabulation stop applies only to the line in which it is set.

NOTE 5: This mode is effective only when setting and clearing horizontal tabulation stops.

6.2.16. TRANSFER TERMINATION MODE

CURSOR: Only data preceding the active position are eligible to be transmitted.

ALL: Data preceding, following and at the active position are eligible to be transmitted.

6.2.17. VERTICAL EDITING MODE

FOLLOWING:

A line insertion causes the contents of the active line and of following lines to be shifted down; a line deletion causes the contents of following lines to be shifted up.

PRECEDING:

A line insertion causes the contents of the active line and of preceding lines to be shifted up. A line deletion causes the contents of preceding lines to be shifted down.

6.3. Interaction Between Modes

Three groups of modes are specified below. Each group contain two or more modes which interact with one another.

6.3.1. GUARDED AREA TRANSFER MODE, MULTIPLE AREA TRANSFER MODE, SELECTED AREA TRANSFER MODE and TRANSFER TERMINATION MODE

These modes have a combined effect on the format of a transmitted data stream or of a data stream transferred to an auxiliary input/output device, as described hereafter.

The term "active selected area'' is used to denote the selected area containing the active position. The term "eligible" is used to denote any area which may be considered for transmitting or transferring.

  • If the TRANSFER TERMINATION MODE is set to CURSOR, the SELECTED AREA TRANSFER MODE to SELECT, and the MULTIPLE AREA TRANSFER MODE to SINGLE, then the contents of the active selected area, up to but excluding the active position, are eligible.

  • If the TRANSFER TERMINATION MODE is set to CURSOR, the SELECTED AREA TRANSFER MODE to SELECT, and the MULTIPLE AREA TRANSFER MODE to MULTIPLE, then the contents of any selected areas, up to but excluding the active position, are eligible.

  • If the TRANSFER TERMINATION MODE is set to CURSOR and the SELECTED AREA TRANSFER MODE to ALL, then the contents of the buffer up to but excluding the active position, are eligible.

  • If the TRANSFER TERMINATION MODE is set to ALL, the SELECTED AREA TRANSFER MODE to SELECT, and the MULTIPLE AREA TRANSFER MODE to SINGLE, then the complete contents of the active selected area are eligible.

  • If the TRANSFER TERMINATION MODE is set to ALL, the SELECTED AREA TRANSFER MODE to SELECT, and the MULTIPLE AREA TRANSFER MODE to MULTIPLE, then the contents of all selected areas are eligible.

  • If the TRANSFER TERMINATION MODE and the SELECTED AREA TRANSFER MODE are both set to ALL, then the complete contents of the buffer are eligible.

  • If the GUARDED AREA TRANSFER MODE is set to GUARD, all of the eligible area or areas are transmitted or transferred, except for guarded areas which are completely contained within the eligible area. Those guarded areas which are only partly contained in eligible areas may be transmitted or not, depending on implementation. Exercise of such an option permits the repeated transmission of a constant part of a field using the control functions START OF PROTECTED AREA (SPA) and END OF PROTECTED AREA (EPA) while preventing it from being changed by the operator. More sophisticated devices may obtain the same effect with the control function DEFINE AREA QUALIFICATION (DAQ).

  • If the GUARDED AREA TRANSFER MODE is set to ALL, guarded as well as unguarded data in an eligible area are transmitted.

If the active position is not within a selected area, the format of the data stream in the first and fourth case above is not defined by this Standard.

6.3.2. CONTROL REPRESENTATION MODE and FORMAT EFFECTOR ACTION MODE

  • If the CONTROL REPRESENTATION MODE is set to GRAPHIC, it overrides the setting of the FORMAT EFFECTOR ACTION MODE.

  • If the CONTROL REPRESENTATION MODE is set to CONTROL, the way format effectors are processed depends on the setting of the FORMAT EFFECTOR ACTION MODE.

6.3.3. HORIZONTAL EDITING MODE and INSERTION REPLACEMENT MODE

  • If the INSERTION REPLACEMENT MODE is set to REPLACE, the HORIZONTAL EDITING MODE influences the control functions DELETE CHARACTER and INSERT CHARACTER only.

  • If the INSERTION REPLACEMENT MODE is set to INSERT then, in addition, the effect of the receipt of a graphic character or a control function for which a graphic representation is required depends on the setting of the HORIZONTAL EDITING MODE.

7. CONTROL FUNCTIONS

7.1. Categories of Control Functions

The following list groups the control functions defined in this Standard. This grouping is intended solely to aid in understanding the Standard and does not restrict the control functions to the indicated categories.

This list also indicates the form of the control function by the following notations following the abbreviation:

NotationMeaning
No signthe control function is an element of the C1 set.
(n)control sequence with one numeric parameter.
(n;m)control sequence with two numeric parameters.
(s)control sequence with selective parameter.
(Fs)ESC Fs sequence.

7.1.1. Control string delimiters

  • APC APPLICATION PROGRAM COMMAND
  • OSC OPERATING SYSTEM COMMAND
  • PM PRIVACY MESSAGE
  • ST STRING TERMINATOR
  • DCS DEVICE CONTROL STRING

7.1.2. Introducers

  • CSI CONTROL SEQUENCE INTRODUCER

7.1.3. Shift functions

  • SS2 SINGLE SHIFT 2
  • SS3 SINGLE SHIFT 3

7.1.4. Format effectors

  • HPA (n) HORIZONTAL POSITION ABSOLUTE
  • HPR (n) HORIZONTAL POSITION RELATIVE
  • HT J HORIZONTAL TABULATION WITH JUSTIFICATION
  • HTS HORIZONTAL TABULATION SET
  • HVP (n;m) HORIZONTAL AND VERTICAL POSITION
  • IND INDEX
  • NEL NEXT LINE
  • PLD PARTIAL LINE DOWN
  • PLU PARTIAL LINE UP
  • RI REVERSE INDEX
  • SGR (s) SELECT GRAPHIC RENDITION
  • TBC (s) TABULATION CLEAR
  • VPA (n) VERTICAL POSITION ABSOLUTE
  • VPR (n) VERTICAL POSITION RELATIVE
  • VTS VERTICAL TABULATION SET

7.1.5. Additional format effectors for text composition devices

  • FNT (n;m) FONT SELECTION
  • GSM (n;m) GRAPHIC SIZE MODIFICATION
  • GSS (n) GRAPHIC SIZE SELECTION
  • JFY (s) JUSTIFY
  • QUAD (s) QUAD
  • SPI (n;m) SPACING INCREMENT
  • SSU (s) SELECT SIZE UNIT
  • TSS (n) THIN SPACE SPECIFICATION

7.1.6. Editor functions for altering the visual display

  • DCH (n) DELETE CHARACTER
  • DL (n) DELETE LINE
  • EA (s) ERASE IN AREA
  • ECH (n) ERASE CHARACTER
  • ED (s) ERASE IN DISPLAY
  • EF (s) ERASE IN FIELD
  • BL (s) ERASE IN LINE
  • ICH (n) INSERT CHARACTER
  • IL (n) INSERT LINE

7.1.7. Editor functions for moving the active position

  • CBT (n) CURSOR BACKWARD TABULATION
  • CHA (n) CURSOR HORIZONTAL ABSOLUTE
  • CHT (n) CURSOR HORIZONTAL TABULATION
  • CNL (n) CURSOR NEXT LINE
  • CPL (n) CURSOR PRECEDING LINE
  • CTC (s) CURSOR TABULATION CONTROL
  • CUB (n) CURSOR BACKWARD
  • CUD (n) CURSOR DOWN
  • CUF (n) CURSOR FORWARD
  • CUP (n;m) CURSOR POSITION
  • CUU (n) CURSOR UP
  • CVT (n) CURSOR VERTICAL TABULATION
  • NP (n) NEXT PAGE
  • PP (n) PRECEDING PAGE
  • SD (n) SCROLL DOWN
  • SL (n) SCROLL LEFT
  • SR (n) SCROLL RIGHT
  • SU (n) SCROLL UP

7.1.8. Form filling

  • DAQ (s) DEFINE AREA QUALIFICATION
  • EPA END OF PROTECTED AREA
  • ESA END OF SELECTED AREA
  • SPA START OF PROTECTED AREA
  • SSA START OF SELECTED AREA

7.1.9. Mode setting

  • RM (s) RESET MODE
  • SM (s) SET MODE

7.1.10. Miscellaneous control functions

  • CCH CANCEL CHARACTER
  • CPR (n;m) CURSOR POSITION REPORT
  • DA (n) DEVICE ATTRIBUTES
  • DMI (Fs) DISABLE MANUAL INPUT
  • DSR (s) DEVICE STATUS REPORT
  • EMI (Fs) ENABLE MANUAL INPUT
  • INT (Fs) INTERRUPT
  • MC (s) MEDIA COPY
  • MW MESSAGE WAITING
  • PU1 PRIVATE USE ONE
  • PU2 PRIVATE USE TWO
  • REP (n) REPEAT
  • RIS (Fs) RESET TO INITIAL STATE
  • SEE (s) SELECT EDITING EXTENT
  • STS SET TRANSMIT STATE

7.2. Definition of Control Functions

The symbol n used hereafter denotes the value of a numeric parameter. If there are two numeric parameters, n denotes the value of the first parameter and the symbol m that of the second parameter. In the absence of a numeric or selective parameter, the default value applies. Unassigned selective parameter values are reserved for future standardization.

7.2.1. APC - APPLICATION PROGRAM COMMAND

Representation: Table 1

APC is the opening delimiter of a command string for an application program. The command string consists of a sequence of bit combinations of columns 2 to 7 (except 7/15) and is closed by STRING TERMINATOR (ST) as a terminating delimiter. The interpretation of the command string depends on the relevant application program. This control function may need to be represented by a graphic symbol.

7.2.2. CBT - CURSOR BACKWARD TABULATION

Representation: Table 2 - one numeric parameter; default value: 1

The active position is moved to the character position corresponding to the n-th preceding horizontal tabulation stop.

7.2.3. CCH - CANCEL CHARACTER

Representation: Table 1

CCH indicates that the preceding graphic or control function of the data stream, represented by a single bit combination, an escape sequence, a single shift sequence or a control sequence, but not by a control string, is to be ignored.

7.2.4. CHA - CURSOR HORIZONTAL ABSOLUTE

Representation: Table 2 - one numeric parameter; default Value: 1

The active position is moved to the n-th character position of the active line.

7.2.5. CHT - CURSOR HORIZONTAL TABULATION

Representation: Table 2 - one numeric parameter; default value: 1

The active position is moved to the character position corresponding to the n-th following horizontal tabulation stop.

7.2.6. CNL - CURSOR NEXT LINE

Representation: Table 2 - one numeric parameter; default value: 1

The active position is moved to the first character position of the n-th following line.

7.2.7. CPL - CURSOR PRECEDING LINE

Representation: Table 2 - one numeric parameter: default value: 1

The active position is moved to the first character position of the n-th preceding line.

7.2.8. CPR - CURSOR POSITION REPORT

Representation: Table 2 - two numeric parameters; default values: 1;1

CPR reports the active position of the sending device as residing on the n-th line at the m-th character position.

CPR may be solicited by a DSR or unsolicited.

7.2.9. CSI - CONTROL SEQUENCE INTRODUCER

Representation: Table 1

CSI is the first character of a control sequence (see 4.3).

7.2.10. CTC - CURSOR TABULATION CONTROL

Representation: Table 2 - selective parameter; default value: 0

CTC causes one or more tabulation stops to be set or cleared, depending on the parameter value:

valuemeaning
0set a horizontal tabulation stop at the active position
1set a vertical tabulation stop at the active line
2clear the horizontal tabulation stop at the active position
3clear the vertical tabulation stop at the active line
4clear all horizontal tabulation stops at the active line
5clear all horizontal tabulation stops
6clear all vertical tabulation stops

In case of parameter values 0,2 or 4, when horizontal tabulation stops are set or cleared, the number of lines affected depends on the setting of the TABULATION STOP MODE.

7.2.11. CUB - CURSOR BACKWARD

Representation: Table 2 - one numeric parameter; default value: 1

The active position is moved to the n-th preceding character position.

7.2.12. CUD - CURSOR DOWN

Representation: Table 2 - one numeric parameter; default value: 1

The active position is moved to the corresponding character position of the n-th following line.

7.2.13. CUF - CURSOR FORWARD

Representation: Table 2 - one numeric parameter; default value: 1

The active position is moved to the n-th following character position.

7.2.14. CUP - CURSOR POSITION

Representation: Table 2 - two numeric parameters; default values: 1;1

The active position is moved to the n-th line at the m-th character position. (The default values define the so-called home position.)

7.2.15. CUU - CURSOR UP

Representation: Table 2 - one numeric parameter; default value: 1

The active position is moved to the corresponding character position of the n-th preceding line.

7.2.16. CVT - CURSOR VERTICAL TABULATION

Representation: Table 2 - one numeric parameter; default value: 1

The active position is moved to the corresponding character position of the line corresponding to the n-th following vertical tabulation stop.

7.2.17. DA - DEVICE ATTRIBUTES

Representation: Table 2 - one numeric parameter; default value: 0

With a parameter value not equal to 0, DA identifies the sending device. The parameter value is a device type identification code according to some register which is to be established. If the parameter value is 0, DA is used to solicit an identifying DA from the receiving device.

7.2.18. DAQ - DEFINE AREA QUALIFICATION

Representation: Table 2 - selective parameter; default value: 0

DAQ indicates that the active position is the first character position of a qualified area. The end of the qualified area is indicated by the beginning of the following qualified area.

The parameter value designates the type of qualified area:

valuemeaning
0unprotected
1guarded (implies protected)
2graphic character input
3numeric input
4alphabetic input
5input to be justified to the right
6fill with ZEROs
7set horizontal tabulation stop at start of area
8protected (unguarded)
9fill with SPACEs

This control function operates independently of the setting of the TABULATION STOP MODE; the horizontal tabulation stop set by parameter value 7 applies to the active line only.

7.2.19. DCH - DELETE CHARACTER

Representation: Table 2 - one numeric parameter; default value: 1

The contents of the active position and the n-1 preceding or following character positions are removed, depending on the setting of the HORIZONTAL EDITING MODE. The contents of an adjacent string of character positions are shifted towards the active position. At the other end of the shifted string n character positions are erased.

The position and the extent of the string affected by the deletion depend on the setting of the EDITING BOUNDARY MODE and of the HORIZONTAL EDITING MODE, and on the extent established by SELECT EDITING EXTENT (SEE).

The effect of this control on the start or end of a selected area, start or end of a qualified area, or a tabulation stop in the shifted string is not defined by this Standard.

7.2.20. DCS - DEVICE CONTROL STRING

Representation: Table 1

DCS is the opening delimiter of a device control string. The device control string consists of a sequence of bit combinations of columns 2 to 7 (except 7/15) and is closed by the terminating delimiter STRING TERMINATOR (ST).

The device control string represents either one or more control commands for the receiving device, or one or more status reports from the sending device. The interpretation of the device control string depends on the sending and/or the receiving device. This control function may need to be representated by a graphic symbol.

7.2.21. DL - DELETE LINE

Representation: Table 2 - one numeric parameter; default value: 1

The contents of the active line and the n-1 preceding or following lines are removed, depending on the setting of the VERTICAL EDITING MODE. The contents of a number of preceding or following lines are shifted towards the active line. At the other end of the shifted part n lines are erased. The extent of the data affected by the deletion depends on the setting of the EDITING BOUNDARY MODE.

Any occurrences of the start or end of a selected area, the start or end of a qualified area, or a tabulation stop in the shifted part are also shifted.

If the TABULATION STOP MODE is set to SINGLE, horizontal tabulation stops in the erased lines are cleared.

The effect of DL on the active position is not defined by this Standard.

7.2.22. DMI - DISABLE MANUAL INPUT

Representation: Table 4

A control function which causes all or part of the manual input facilities of the receiving device to be disabled.

NOTE 6: This control function does not apply to those parts of the manual input facilities which are disabled by the setting of the KEYBOARD ACTION MODE.

7.2.23. DSR - DEVICE STATUS REPORT

Representation: Table 2 - selective parameter; default value: 0

DSR either reports the status of the sending device or requests a status report from the receiving device, depending on the parameter value:

valuemeaning
0ready, no malfunction detected
1busy, another DSR must be requested later
2busy, another DSR will be sent later
3some malfunction detected, another DSR must be requested later
4some malfunction detected, another DSR will be sent later
5a DSR is requested
6a report of the active position in the form of a CPR is requested.

DSR with parameter value 0, 1, 2, 3 or 4 may be sent either unsolicited or as a response to a request such as a DSR with a parameter value 5 or MESSAGE WAITING (MW).

7.2.24. EA - ERASE IN AREA

Representation: Table 2 - selective parameter; default value: 0

Some or all character positions of the active qualified area, i.e. the qualified area in which the active position resides, are erased, depending on the parameter value:

valuemeaning
0the active position and the character positions up to the end of the qualified area are erased
1the character positions from the beginning of the qualified area up to and including the active position are erased
2all character positions of the qualified area are erased.

The extent of the string affected by the erasure depends on the setting of the EDITING BOUNDARY MODE. Whether protected areas are erased, or unprotected areas only, depends on the setting of the ERASURE MODE.

7.2.25. ECH - ERASE CHARACTER

Representation: Table 2 - one numeric parameter; default value; 1

The active position and the n-1 following character positions are erased. The extent of the string affected by the erasure depends on the setting of the EDITING BOUNDARY MODE,

Whether protected areas are erased, or unprotected areas only, depends on the setting of the ERASURE MODE.

7.2.26. ED - ERASE IN DISPLAY

Representation: Table 2 - selective parameter; default value: 0

Some or all character positions of the active page, i.e. the page in which the active position resides, are erased, depending on the parameter value:

valuemeaning
0the active position and the character positions up to the end of the page are erased
1the character positions from the beginning of the page up to and including the active position are erased
2all character positions of the page are erased.

The extent of the string affected by the erasure depends on the setting of the EDITING BOUNDARY MODE.

Whether protected areas are erased, or unprotected areas only, depends on the setting of the ERASURE MODE.

7.2.27. EF - ERASE IN FIELD

Representation: Table 2 - selective parameter, default value: 0

Some or all character positions of the active field, i.e. the field in which the active position resides, are erased, depending on the parameter value:

valuemeaning
0the active position and the character positions up to the end of the field are erased
1the character positions from the beginning of the field up to and including the active positions are erased
2all character positions of the field are erased.

The extent of the string affected by the erasure depends on the setting of the EDITING BOUNDARY MODE.

Whether protected areas are erased, or unprotected areas only, depends on the setting of the ERASURE MODE.

7.2.28. EL - ERASE IN LINE

Representation: Table 2 - selective parameter; default value: 0

Some or all character positions of the active line are erased, depending on the parameter value:

valuemeaning
0the active position and the character positions up to the end of the line are erased
1the character positions from the beginning of the line up to and including the active positions are erased
2all character positions of the line are erased.

The extent of the string affected by the erasure depends on the setting of the EDITING BOUNDARY MODE.

Whether protected areas are erased, or unprotected areas only, depends on the setting of the ERASURE MODE.

7.2.29. EMI - ENABLE MANUAL INPUT

Representation: Table 4

EMI enables the manual input facilities of the receiving device to be used.

NOTE 7: This control function does not apply to those parts of the manual input facilities which are disabled by the setting of the KEYBOARD ACTION MODE.

7.2.30. EPA - END OF PROTECTED AREA

Representation: Table 1

EPA indicates that the active position is the end of a string of character positions, the contents of which are protected against manual alteration and are guarded against transmission. The beginning of this string is indicated by START OF PROTECTED AREA (SPA).

7.2.31. ESA - END OF SELECTED AREA

Representation: Table 1

ESA indicates that the active position is the end of a string of character positions, the contents of which are eligible to be transmitted in the form of a data stream or transferred to an auxiliary input/output device. The beginning of this string is indicated by START OF SELECTED AREA (SSA).

7.2.32. FNT - FONT SELECTION

Representation: Table 3 - two numeric parameters; default values: 0;0.

FNT is a format effector which designates the character font invoked as primary or alternative font by SELECT GRAPHIC RENDITION (SGR). n specifies the primary or alternative font concerned:

valuemeaning
0primary font
1first alternative font
2second alternative font
..
9ninth alternative font

m identifies the character font to be designated according to some register which is to be established.

7.2.33. GSM - GRAPHIC SIZE MODIFICATION

Representation: Table 3 - two numeric parameters; default values: 100;100

GSM is a format effector which causes the height and/or the width of all designated primary and alternative fonts, as established by GRAPHIC SIZE SELECTION (GSS), to be modified, until the following occurrence of either GSM or GSS in the data stream.

n specifies the percentage by which the height is to be multiplied.

m specifies the percentage by which the width is to be multiplied.

GSM affects only those characters which follow it in the data stream, not those previously received.

7.2.34. GSS - GRAPHIC SIZE SELECTION

Representation: Table 3 - one numeric parameter; no default value.

GSS is a format effector which causes the height and the width of all designated primary and alternative fonts to be established, until the following occurrence of GSS in the data stream. Where n specifies the height; the width is implicitly defined by the height. The unit in which n is expressed is that established by SELECT SIZE UNIT (SSU). GSS affects only those characters which follow it in the data stream, not those previously received.

7.2.35. HPA - HORIZONTAL POSITION ABSOLUTE

Representation: Table 2 - one numeric parameter; default value: 1

HPA is a format effector which causes the active position to be moved to the n-th horizontal position of the active line.

The unit in which n is expressed depends on the setting of the POSITIONING UNIT MODE.

7.2.36. HPR - HORIZONTAL POSITION RELATIVE

Representation: Table 2 - one numeric parameter; default value: 1

HPR is a format effector which causes the active position to be moved to the n-th following horizontal position.

The unit in which n is expressed depends on the setting of the POSITIONING UNIT MODE.

7.2.37. HTJ - HORIZONTAL TABULATION WITH JUSTIFICATION

Representation: Table 1

HTJ is a format effector which causes the contents of the string of character positions between the preceding horizontal tabulation stop and the active position to be shifted forward to the following horizontal tabulation stop.

The active position is also moved to the following horizontal tabulation stop. The character positions between the preceding horizontal tabulation stop and the beginning of the shifted string are erased.

7.2.38. HTS - HORIZONTAL TABULATION SET

Representation: Table 1

HTS is a format effector which causes a horizontal tabulation stop to be set at the active position.

The number of lines affected depends on the setting of the TABULATION STOP MODE.

7.2.39. HVP - HORIZONTAL AND VERTICAL POSITION

Representation: Table 2 - two numeric parameters; default values: 1;1

HVP is a format effector which causes the active position to be moved to the n-th vertical position at the m-th horizontal position. The unit in which n and m are expressed depends on the setting of the POSITIONING UNIT MODE.

7.2.40. ICH - INSERT CHARACTER

Representation: Table 2 - one numeric parameter; default value: 1

n erased character positions are inserted at the active position. The previous contents of the active position and an adjacent string of character positions are shifted away from the active position. The contents of n character positions at the other end of the shifted string are removed.

The position and the extent of the string affected by the insertion depend on the setting of the EDITING BOUNDARY MODE and of the HORIZONTAL EDITING MODE, and on the extent established by SELECT EDITING EXTENT (SEE). The effect of this control function on the start or end of a selected area, the start or end of a qualified area, or a tabulation stop in the shifted string is not defined by this Standard.

7.2.41. IL - INSERT LINE

Representation: Table 2 - one numeric parameter; default value: 1

n erased lines are inserted at the active line. The previous contents of the active line and a number of preceding or following lines are shifted away from the active line, depending on the setting of the VERTICAL EDITING MODE. The extent of the part affected by the insertion depends on the setting of the EDITING BOUNDARY MODE. The contents of n lines at the end of the shifted part are removed.

Any occurrences of the start or end of a selected area, the start or end of.a qualified area, or a tabulation stop in the shifted part are also shifted.

If the TABULATION STOP MODE is set to SINGLE, horizontal tabulation stops in the erased lines are cleared.

The effect of this control function on the active position is not defined by this Standard.

7.2.42. IND - INDEX

Representation: Table 1

IND is a format effector which causes the active position to be moved to the corresponding character position of the following line.

7.2.43. INT - INTERRUPT

Representation: Table 4

INT indicates to the receiving device that the current process is to be interrupted and an agreed procedure is to be initiated. This control function is applicable to either direction of transmission.

7.2.44. JFY - JUSTIFY

Representation: Table 3 - selective parameter, default value: 0

JFY is a format effector which indicates the beginning of a string of character positions, the contents of which are to be justified according to the layout specified by the parameter value (see Annex C)

valuemeaning
0end of justification
1word fill
2interword space
3letter space
4hyphenation
5flush to left margin
6centre between margins
7flush to right margin
8Italian hyphenation

JFY affects only those characters which follow it in the data stream, not those previously received. The end of the string to be justified is indicated by the next occurrence of JFY in the data stream.

7.2.45. MC - MEDIA COPY

Representation: Table 2 - selective parameter; default value: 0

MC controls the transfer of data from or to an auxiliary input/output device. It either indicates a transfer of data from or to an auxiliary input/output device or enables or disables the received data stream to be relayed to an auxiliary input/output device depending on the parameter value:

valuemeaning
0initiate transfer to primary auxiliary device
1initiate transfer from primary auxiliary device
2initiate transfer to secondary auxiliary device
3initiate transfer from secondary auxiliary device
4stop relay to primary auxiliary device
5start relay to primary auxiliary device
6stop relay to secondary auxiliary device
7start relay to secondary auxiliary device

This control function is not intended to switch on and off an auxiliary device.

7.2.46. MW - MESSAGE WAITING

Representation: Table 1

MW causes a message waiting indicator to be set in the receiving device. An appropriate acknowledgement to the receipt of MW may be given by DEVICE STATUS REPORT (DSR).

7.2.47. NEL - NEXT LINE

Representation: Table 1

NEL is a format effector which causes the active position to be moved to the first character position of the following line.

7.2.48. NP - NEXT PAGE

Representation: Table 2 - one numeric parameter; default value: 1

The n-th following page of a multiple-page buffer is displayed. The effect of this control function on the active position is not defined by this Standard.

7.2.49. OSC - OPERATING SYSTEM COMMAND

Representation: Table 1

OSC is the opening delimiter of a command string for an operating system. The command string consists of a sequence of bit combinations of column 2 to 7 (except 7/15) and is closed by the terminating delimiter STRING TERMINATOR (ST). The interpretation of the command string depends on the relevant operating system.

This control function may need to be represented by a graphic symbol.

7.2.50. PLD - PARTIAL LINE DOWN

Representation: Table 1

PLD is a format effector which causes the active position to be moved to the corresponding character position of an imaginary line with a partial vertical offset. This offset should be sufficient either to image following characters as subscripts until the first following occurrence of PARTIAL LINE UP (PLU) in the data stream, or, if the immediately preceding character is imaged as a superscript to restore subsequent imaging of characters to the active line.

Any interactions between PLD and vertical format effectors other than PLU are not defined by this Standard.

7.2.51. PLU - PARTIAL LINE UP

Representation: Table 1

PLU is a format effector which causes the active position to be moved to the corresponding character position of an imaginary line with a partial vertical offset. This offset should be sufficient either to image following characters as superscripts until the first following occurrence of PARTIAL LINE DOWN (PLD) in the data stream, or, if the immediately preceding character is imaged as a subscript, to restore subsequent imaging of characters to the active Line.

Any interactions between PLU and vertical format effectors other than PLD are not defined by this Standard.

7.2.52. PM - PRIVACY MESSAGE

Representation: Table 1

PM is the opening delimiter of a privacy message. The privacy message consists of a sequence of bit combinations of columns 2 to 7 (except 7/15) and is closed by the terminating delimiter STRING TERMINATOR (ST). The interpretation of the privacy message depends on the relevant privacy discipline.

This control function may need to be represented by a graphic symbol.

7.2.53. PP - PRECEDING PAGE

Representation: Table 2 - one numeric parameter; default value: 1

The n-th preceding page of a multiple-page buffer is displayed.

The effect of this control function on the active position is not defined by this Standard.

7.2.54. PU1 - PRIVATE USE 1

Representation: Table 1

PU1 is reserved for a function without standardized meaning for private use as required, subject to the prior agreement of the sender and the recipient of the data.

7.2.55. PU2 - PRIVATE USE 2

Representation: Table 1

PU2 is reserved for a function without standardized meaning for private use as required, subject to the prior agreement of the sender and the recipient of the data.

7.2.56. QUAD - QUAD

Representation: Table 3 - selective parameter; default value: 0

QUAD is a format effector which indicates the end of a string of character positions in the data stream, the contents of which are to be positioned on a single line according to the layout specified by the parameter value (see Annex C):

valuemeaning
0flush to left margin
1flush to left margin and fill with leader
2centre between margins
3centre between margins and fill with leader
4flush to right margin
5flush to right margin and fill with leader

The beginning of the string to be positioned is indicated by the preceding occurrence of either QUAD or one of the following vertical format effectors: FF, HVP, IND, LF, NEL, RI, VPA, VPR or VT in the data stream.

7.2.57. REP - REPEAT

Representation: Table 2 - one numeric parameter; default value: 1

The preceding graphic or the effect of the preceding control function in the data stream (if this control function is represented by a single bit combination, an escape sequence, a single shift sequence or a control sequence, but not by a control string) is repeated n times.

7.2.58. RI - REVERSE INDEX

Representation: Table 1

RI is a format effector which causes the active position to be moved to the corresponding character position of the preceding line.

7.2.59. RIS - RESET TO INITIAL STATE

Representation: Table 4

RIS resets a device to its initial state, i.e. the state it has after it is switched on. This may imply, if applicable: remove tabulation stops, remove qualified areas, reset graphic rendition, erase all positions, move active position to first character position of first line.

7.2.60. RM - RESET MODE

Representation: Table 2 - selective parameter, no default value

RM. resets the modes of the receiving device specified by the parameter value (see SET MODE, SM).

7.2.61. SD - SCROLL DOWN

Representation: Table 2 - one numeric parameter, default value: 1

The displayed portion of a multiple-page buffer is moved by n lines such that the displayed data appear to move down.

The effect of this control function on the active position is not defined by this Standard.

7.2.62. SEE - SELECT EDITING EXTENT

Representation: Table 2 - selective parameter; default value: 0

SEE establishes the editing extent for character insertion or deletion, depending on the parameter value:

valuemeaning
0The affected string consists of the entire buffer, or the displayed portion, depending on the setting of the EDITING BOUNDARY MODE
1The affected string consists of the active line
2The affected string consists of the data between the preceding and the following horizontal tabulation stop
3The affected string consists of the qualified area containing the active position

7.2.63. SGR - SELECT GRAPHIC RENDITION

Representation: Table 2 - selective parameter; default value: 0

SGR is a format effector which indicates the beginning of a string of character positions in the data stream, the contents of which are to be rendered in a discernable, uniformly different way. The end of this string is indicated by the following occurrence of SGR in the data stream. The graphic rendition is specified by a parameter value:

valuemeaning
0default rendition (implementation-defined)
1bold or increased intensity
2faint, decreased intensity or second color
3italics
4underlined
5slowly blinking (less than 150 per minute)
6rapidly blinking (150 per minute or more)
7negative image
8concealed data
9(reserved for future standardization)
10primary font
11first alternative font
..
19ninth alternative font
20fraktur
21 to 29(reserved for future standardization)
30black display
31red display
32green display
33yellow display
34blue display
35magenta display
36cyan display
37white display
38(reserved for future standardization)
39(reserved for future standardization)
40black background
41red background
42green background
43yellow background
44blue background
45magenta background
46cyan background
47white background
7.2.64. SL - SCROLL LEFT

Representation: Table 3 - one numeric parameter; default value: 1

The displayed portion of a multiple-page buffer is moved by n character positions such that the displayed data appear to move to the left.

The effect of this control on the active position is not defined by this Standard.

7.2.65. SM - SET MODE

Representation: Table 2 - selective parameter; no default value

SM sets the modes of the receiving device specified by the parameter value:

valuemeaning
1GUARDED AREA TRANSFER MODE
2KEYBOARD ACTION MODE
3CONTROL REPRESENTATION MODE
4INSERTION - REPLACEMENT MODE
5STATUS REPORT TRANSFER MODE
6ERASURE MODE
7VERTICAL EDITING MODE
8(reserved for future standardization)
9(reserved for future standardization)
10HORIZONTAL EDITING MODE
11POSITIONING UNIT MODE
12SEND/RECEIVE MODE
13FORMAT EFFECTOR ACTION MODE
14FORMAT EFFECTOR TRANSFER MODE
15MULTIPLE AREA TRANSFER MODE
16TRANSFER TERMINATION MODE
17SELECTED AREA TRANSFER MODE
18TABULATION STOP MODE
19EDITING BOUNDARY MODE

7.2.66. SPA - START OF PROTECTED AREA

Representation: Table 1

SPA indicates that the active position is the first of a string of character positions, the contents of which are protected against manual alteration and are guarded against transmission. The end of this string is indicated by END OF PROTECTED AREA (EPA).

7.2.67. SPI - SPACING INCREMENT

Representation: Table 3 - two numeric parameters; no default values

SPI is a format effector which causes the interline spacing and the width of a horizontal space to be established, for characters following in the data stream, until the next occurrence of SPI in the data stream.

n specifies the interline spacing; m specifies the width of a fixed horizontal space.

The unit in which n and m are expressed is that established by SELECT SIZE UNIT (SSU).

7.2.68. SR - SCROLL RIGHT

Representation: Table 3 - one numeric parameter; default Value: 1

The displayed portion of a multiple-page buffer is moved by n character positions such that the displayed data appear to move to the right.

The effect of this control function on the active position is not defined by this Standard.

7.2.69. SS2 - SINGLE SHIFT 2

Representation: Table 1

SS2 alters the meaning of the single bit combination following it. That bit combination must be one of those from columns 2 to 7 except 2/0 and 7/15 (however, see 9). The meaning of the bit combination concerned is derived from an appropriately designated G2 graphic set.

7.2.70. SS3 - SINGLE SHIFT 3

Representation: Table 1

SS3 alters the meaning of the single bit combination following it. That bit combination must be one of those from columns 2 to 7 except 2/0 and 7/15 (however, see 9). The meaning of the bit combination concerned is derived from an appropriately designated G3 graphic set.

7.2.71. SSA - START OF SELECTED AREA

Representation: Table 1

SSA indicates that the active position is the first of a string of character positions, the contents of which are eligible to be transmitted in the form of a data stream or transferred to an auxiliary input/output device. The end of this string is indicated by END OF SELECTED AREA (ESA). The string of characters actually transmitted or transferred depends on the setting of the GUARDED AREA TRANSFER MODE and on any guarded areas established by START OF PROTECTED AREA (SPA) or DEFINE AREA QUALIFICATION (DAQ). (See 6.3).

7.2.72. SSU - SELECT SIZE UNIT

Representation: Table 3 - selective parameter; no default value

SSU is a format effector which establishes the unit in which the numeric parameters of the positioning format effectors are expressed when the POSITIONING UNIT MODE is set to SIZE. SSU also establishes the unit for GSS, SPI and TSS. The unit established remains effective until the occurrence of another SSU in the data stream. The parameter values are:

valuemeaning
1INTERNATIONAL TYPOGRAPHIC STANDARD - (This unit is not yet standardized)
2DECIPOINT - 0,0353 mm (1/720 inch)
3DIDOT - 0,0376 mm
4MIL - 0,0254 mm (1/1000 inch)
5METRIC - 0,01 mm

7.2.73. ST - STRING TERMINATOR

Representation: Table 1

ST is the closing delimiter of a string opened by APPLICATION PROGRAM COMMAND (APC), DEVICE CONTROL STRING (DCS), OPERATING SYSTEM COMMAND (OSC), or PRIVACY MESSAGE (PM).

This control function may need to be represented by a graphic symbol.

7.2.74. STS - SET TRANSMIT STATE

Representation: Table 1

STS causes the transmit state to be established in the receiving device. In this state the transmission of data from the device is possible.

The actual initiation of transmission of data is performed by a data communication or input/output interface control procedure which is outside the scope of this Standard.

The transmit state is established either by the operation of an appropriate button on a keyboard or by SET TRANSMIT STATE (STS) appearing in the received data stream.

7.2.75. SU - SCROLL UP

Representation: Table 2 - one numeric parameter, default value: 1

The displayed portion of a multiple-page buffer is moved by n lines such that the displayed data appear to move up.

The effect of this control function on the active position is not defined by this Standard.

7.2.76. TBC - TABULATION CLEAR

Representation: Table 2 - selective parameter, default value: 0

TBC is a format effector which causes one or more tabulation stops to be cleared, depending on the parameter value:

valuemeaning
0clear the horizontal tabulation stop at the active position
1clear the vertical tabulation stop at the active line
2clear all horizontal tabulation stops at the active line
3clear all horizontal tabulation stops
4clear all vertical tabulation stops

In the case of parameter values 0 or 2, when horizontal tabulation stops are cleared, the number of lines affected depends on the setting of the TABULATION STOP MODE.

7.2.77. TSS - THIN SPACE SPECIFICATION

Representation: Table 3 - one numeric parameter; no default value

TSS is a format effector which establishes the width of thin spaces following in the data stream, until the next occurrence of TSS (see Annex C).

n specifies the width in units as established by SELECT SIZE UNIT (SSU).

7.2.78. VPA - VERTICAL POSITION ABSOLUTE

Representation: Table 2 - one numeric parameter; default value: 1

VPA is a format effector which causes the active position to be moved to the corresponding horizontal position at vertical position n. The unit in which n is expressed depends on the setting of the POSITIONING UNIT MODE.

7.2.79. VPR - VERTICAL POSITION RELATIVE

Representation: Table 2 - one numeric parameter; default value: 1

VPR is a format effector which causes the active position to be moved to the corresponding horizontal position at the n-th following vertical position. The unit in which n is expressed depends on the setting of the POSITIONING UNIT MODE.

7.2.80. VTS - VERTICAL TABULATION SET

Representation: Table 1

VTS is a format effector which causes a vertical tabulation stop to be set at the active line.

8. RELATIONS BETWEEN MODES AND CONTROL FUNCTIONS

The relations between modes and control functions are summarized in Table 5.

The modes FORMAT EFFECTOR TRANSFER MODE, GUARDED AREA TRANSFER MODE, MULTIPLE AREA TRANSFER MODE, SELECTED AREA TRANSFER MODE, STATUS REPORT TRANSFER MODE and TRANSFER TERMINATION MODE do not affect the interpretation of control functions. They have an effect on the format of the transmitted data stream and on the format of the data transferred to an auxiliary input/output device:

In the case of the modes INSERTION REPLACEMENT MODE, KEYBOARD ACTION MODE and SEND/RECEIVE MODE there is no interaction with specific control functions. These modes have a uniform effect on all characters received.

The CONTROL REPRESENTATION MODE affects all control functions except RESET MODE (RM).

Those modes which uniformly apply to format effectors defined in this Standard also apply to the format effectors of the C0 set.

EDITING BOUNDARY MODEERASURE MODEFORMAT EFFECTOR ACTION MODEHORIZONTAL EDITING MODEPOSITIONING UNIT MODETABULATION STOP MODEVERTICAL EDITING MODE
CTCX
DCHXX
DLXXX
EAXX
ECHXX
EDXX
EFXX
ELXX
FNTX
GSMX
GSSX
HPAXX
HPRXX
HTJX
HTSXX
HVPXX
ICHXX
ILXXX
INDX
JFYX
NELX
PLDX
PLUX
QUADX
RIX
SEEX
SGRX
SPIX
SSUXX
TBCXX
TSSX
VPAXX
VPRXX
VTSX

Table 5: RELATIONS BETWEEN MODES AND CONTROL FUNCTIONS

9. TRANSFORMATION BETWEEN 7-BIT AND 8-BIT CODED REPRESENTATIONS

The control functions defined in this Standard can be coded in a 7-bit code as well as in an 8-bit code; both forms of coded representation are equivalent and in accordance with ECMA-35.

However, when data containing these control functions are transformed from a 7-bit to an 8-bit coded representation or vice versa, the transformation algorithm specified in ECMA-35 may produce results which are formally in disagreement with this Standard.

In order to make allowance for such unintended but unavoidable deviations, the format rules are extended in the manner described below.

In an 8-bit code, the bit combinations of columns 10 to 15 (except 10/0 and 15/15) are permitted to represent:

  • parameters, intermediates and finals of a control sequence;
  • the contents of a control string;
  • the operand of a single-shift character.

In these situations, the bit combinations in the range 10/1 to 15/14 have the same meanings as the corresponding bit combinations in the range 2/1 to 7/14.

In a 7-bit code, the control characters SHIFT-OUT (SO) and SHIFT-IN (SI) are permitted to occur:

  • between the CONTROL SEQUENCE INTRODUCER (CSI) and the final bit combination of a control sequence;
  • between the opening delimiter of a control string and the STRING TERMINATOR (ST);
  • between a single-shift character and its operand.

SHIFT-OUT and SHIFT-IN have no effect on the interpretation of a control sequence, a control string or the operand of a single-shift character, but they may indeed affect the meanings of bit combinations following in the data stream.

APPENDIX A: EDITOR FUNCTIONS AND FORMAT EFFECTORS

A.1 Correspondence between editor functions and format effectors

Table 6 shows on the same line editor functions and format effectors with similar functions. The notation (s), (n) or (n;m) following an abbreviation indicates that the control function is represented by a control sequence with a selective parameter, one numeric parameter, or two numeric parameters. An abbreviation without such a notation indicates that the control function is an element of the CO or C1 set. Format effectors from Standard ECMA-6 are also included. Where there is only one entry on a single line, there is no control function corresponding to the one shown.

Editor FunctionFormat Effector
CBT (n)
CHA (n)CR, HPA (n)
CHT (n)HT
CNL (n)NEL, NL
CPL (n)
CTC (s)HTS, TBC (s), VTS
CUB (n)BS
CUD (n)IND, LF, VPR (n)
CUF (n)HPR (n), SP
CUP (n;m)HVP (n;m)
CUU (n)RI
CVT (n)VT
DCH (n)
DL (n)
EA (s)
ECH (n)
ED (s)
EF (s)
EL (s)
FNT (n;m)
GSM (n;m)
GSS (n)
HTJ
ICH (n)
IL (n)
JFY (s)
NP (n)FF
PLD
PLU
PP (n)
QUAD (s)
SGR (s)
SPI (n;m)
SD (n)
SL (n)
SR (n)
SSU (s)
SU (n)
TSS (n)
VPA (n)

TABLE 6: CORRESPONDENCE BETWEEN EDITOR FUNCTIONS AND FORMAT EFFECTORS

A.2 Differences between editor functions and format effectors

The contrast between editor functions and format effectors, together with their interaction with certain modes, is illustrated by the following example of the use of the control functions CURSOR NEXT LINE (CNL) and NEXT LINE (NEL).

In the example it is assumed that the string of capital letters:

A B C D E F

has been entered or received, and that the active position has been moved back to the letter D, e.g. by-means of CURSOR BACKWARDS (CUB). Starting from this situation, the following cases are considered.

Case 1: A CURSOR NEXT LINE (CNL) is received. In this case, the active position is moved to the beginning of the next line without affecting the previously received data.

Case 2: The FORMAT EFFECTOR ACTION MODE being set to EXECUTE, a NEXT LINE (NEL) is received. This has the same effect as in case 1).

Case 3: The FORMAT EFFECTOR ACTION MODE being set to STORE and the INSERTION REPLACEMENT MODE to REPLACE, a NEXT LINE (NEL) is received. In this case, the letter D is replaced by NEL. If the data is subsequently forwarded to another device operating with the FORMAT EFFECTOR ACTION MODE being set to EXECUTE, the effect is:

A B C
E F

Case 4: The FORMAT EFFECTOR ACTION MODE being set to STORE and the INSERTION REPLACEMENT MODE to INSERT, a NEXT LINE (NEL) is received. In this case, the NEL is inserted between the letters C and D. If the data is subsequently forwarded to another device operating with the FORMAT EFFECTOR ACTION MODE being set to EXECUTE, the effect is:

A B C
D E F

Format effectors which have been received while the FORMAT EFFECTOR ACTION MODE is set to STORE can be operated upon with editing functions.

For example, the NEL which has been inserted between A B C and D E F in case 4) can be deleted using DELETE CHARACTER (DCH), resulting in the initial situation being restored.

A.3 Composite graphic characters

Because the format effectors can be stored in a receiving device, as opposed to the editor functions which are immediately performed, format effectors rather than editor functions should be used for the construction of composite graphics.

For example, if the symbol is to be composed using = (EQUALS SIGN) and / (SOLIDUS), the sequence:

= CUB /

does not produce the desired effect if received by a device which has no overstrike capability. Such a device may, however, process the sequence:

= BS /

in such a way that it is preserved and can be forwarded to a device which can indeed produce the intended composite symbol.

APPENDIX B CODING EXAMPLES

B.1 Examples of complete control sequences

The general format of a control sequence is:

CSI P1 ... Pn I1 ... Im F

In an 8-bit environment the control function CURSOR FORWARD by one position can be represented in many ways. Examples are:

9/11 3/1 4/3
9/11 3/0 3/1 4/3
9/11 4/3
9/11 3/0 4/3

The second example shows that leading ZEROs (3/0) are not significant. The third and fourth examples use the fact that a default value for CUF is defined and is equal to l.

In a 7-bit enviroment the corresponding examples are:

1/11 5/11 3/1 4/3
1/11 5/11 3/0 3/1 4/3
1/11 5/11 4/3
1/11 5/11 3/0 4/3

In an 8-bit environment SCROLL RIGHT by 28 positions can be represented for instance by:

9/11 3/2 3/8 2/0 4/1

In a 7-bit environment the corresponding representation is:

1/11 5/11 3/2 3/8 2/0 4/1

In an 8-bit environment DEFINE. AREA QUALIFICATION permitting numeric and alphabetic data to be entered into an input area can be represented by:

9/11 3/3 3/11 3/4 6/15

In a 7-bit environment the corresponding representation is:

1/11 5/11 3/3 3/11 3/4 6/15

B.3. Examples of parameter strings

Character FormBit Combination FormExplanation
73/7A parameter having the value 7.
983/9 3/8A parameter having value 98.
4;23/4 3/11 3/2Two parameters having values 4 and 2 respectively.
<33/12 3/3A private parameter string.
2;3/2 3/11Two parameters, the first having the value 2 and the second taking the default value.
;53/11 3/5Two parameters, the first taking the default value and the second having the value 5.
1;;43/1 3/11 3/11 3/4Three parameters, the first having the value 1, the second taking the default value, and the third having the value 4.
00073/0 3/0 3/0 3/7A parameter having the value 7.

APPENDIX C TEXT COMPOSITION DEVICE CONCEPTS

Display devices and systems involving text composition may utilize the control functions JUSTIFY and QUAD. When working in the field of text composition several words are used with quite specialized meaning. Those words have been used in this Standard with the meaning from the terminology of the printing and publishing industry. Explanation is provided in this Annex in terms compatible with coded information interchange and the concepts of character-imaging devices.

Both QUAD and JUSTIFY deal with the positioning of text (printed graphics and free spaces) between "margins". Margins are areas protected against display at the boundaries of which lines of text may start and terminate. In the general case of a display device with a multiple-page buffer (capable of the QUAD or JUSTIFY functions) the margin(s) would be set at arbitrary absolute horizontal positions. No control functions are provided in this Standard to set margins (left, right, intermediate). The QUAD function deals with single lines of text from the data stream, while the JUSTIFY function may deal with more than one line. In both cases it is possible to "flush" text. When text is flush, it starts or ends, as applicable, against a marginal boundary. Flush to left margin means start text at the left margin (or first margin to the left in columnar texts). Similarly, flush to right margin means end text at the right margin. In the process of making text flush, open spaces may be generated.

The action to "fill" open spaces involves a concept particular to the JUSTIFY and QUAD functions. The open spaces may be filled with a "leader" in the QUAD function. A leader is a pattern (most often a repeated string of graphic characters) which is inserted into the open area. In the use of the JUSTIFY function the fill operation is far more complicated and will be described below.

Having considered margins and flush text it is necessary to consider text which is not intended to be flush to the margins. Text which meets this criterion falls into two categories. They are centred text and ragged text. This Standard deals explicitly with centred text and implicitly with ragged text. Centred text is arranged between margins such that the open space to the left and right margin are as equal as possible. Ragged is the term applied when text is neither centred nor flush to a margin.

The process utilizing the JUSTIFY function involves the arrangement of text between margins either being flush (explicitly) or ragged (implicitly). In order to accomplish flush left and right, fill may be required. The fill may consist of SPACEs, Thin Spaces, words, or part of words. For the purposes of this description a word is considered as including the graphic characters of the word itself and the punctuation or space terminating the word. The rules regarding a specific justification process depend on the combination of the parameter values used. A line which is to be justified left and right with word fill will first be adjusted in length by the addition or removal of text in the form of words until the remaining words fit between the established margins. Words added to a line by such a process will be obtained from the data stream from its following line(s). Words removed from the line will be returned to the data stream in its following line(s). Subsequent to having sufficient words to fit between margins the open space (between words) may be adjusted to accomplish the combined flush-to-left-margin and flush to-right-margin action. This ‘spacing is adjusted by the intervals, or variable-size spaces according to the implementation. When the interword space parameter value has been used, the spacing adjustment is applicable between words. When the letter space parameter value has been used the spacing adjustment is applicable between adjacent graphic characters. When either or both interword space and letter space parameter values have been used the strategy for selecting which positions are to be widened is implementation-dependent. Special cases of the above involve the use of partial words in the full process. In these cases a hyphenation process is used. If the hyphenation parameter value is used, words may be subdivided according to an implementation strategy at language intervals often corresponding to syllables. If the Italian hyphenation parameter value is used the first word which will not fit between the margins is truncated, the last character of the line is underlined and the remainder of the word is inserted in the data stream for use in the next line.

APPENDIX D IMPLEMENTATION-DEPENDENT FEATURES

The following introduces, but does not exhaustively list those matters left to the implementors.

  1. The control functions which will be selected for implementation.
  2. The number of bits, number of characters, and form of the bit combination or bit combinations generated by a single or multiple key depression.
  3. Whether characters entered become immediately visible or are processed (partially or fully) prior to becoming visible.
  4. If there is a buffer, whether it has a capacity larger than, identical to, or smaller than, the display area.
  5. Whether a control function occupies buffer space, display space or both.
  6. At what point(s) in the processing of the data stream control functions are to be executed.
  7. What the representation of an erased state may be.
  8. Whether certain control sequences remain in their encoded state or are transformed into data in special registers and tables.
  9. Whether or not there are implementation-defined values for parametric functions when the Standard does not specify a standardized default value.
  10. What action will be taken in error recovery.
  11. The initial state of a device upon power-up, including the settings of the modes.
  12. Whether the width of a displayed character position is fixed or variable (depending on the character occupying the position).
  13. The action to be taken by a device if a control function or a graphic character is received which the device cannot implement, because of design limitation or temporary functional disablement.
  14. Whether a change of the setting of the CONTROL REPRESENTATION MODE affects the appearance of control functions already entered into, or received by, the device or whether only those entered or received subsequently.
  15. Whether or not the characters in an eligible area are transmitted in the data stream or transferred to an auxiliary device when the eligible area begins in the middle of a guarded area.