PSF for z/OS: User's Guide
Previous topic | Next topic | Contents | Index | Contact z/OS | Library | PDF


Shift-out, shift-in (SOSI) codes

PSF for z/OS: User's Guide
S550-0435-04

Shift-out, shift-in (SOSI) codes

A data set that contains both single-byte and double-byte character codes can necessitate coding the structured fields in the data set to change from one kind of character code to the other. To avoid doing this, you can instruct PSF to provide special processing by specifying SOSI1, SOSI2, SOSI3, or SOSI4.

The data set can then contain the shift-out code, X'0E', and the shift-in code, X'0F', to indicate to PSF when a font change is required. PSF converts the shift-out and shift-in codes to Set Coded Font Local text controls, described in Presentation Text Object Content Architecture Reference, SC31-6803.

The conversion for SOSI1 is as follows:

  1. Each X'0E' is replaced with a blank (X'40'), followed by a PTOCA structure that contains a Set Coded Font Local text control for the second font.
  2. Each X'0F' is replaced with a PTOCA structure that contains a Set Coded Font Local text control for the first font, followed by a blank (X'40').

The conversion for SOSI2 is as follows:

  1. Each X'0E' is replaced with a PTOCA structure that contains a Set Coded Font Local text control for the second font.
  2. Each X'0F' is replaced with a PTOCA structure that contains a Set Coded Font Local text control for the first font.

The conversion for SOSI3 is as follows:

  1. Each X'0E' is replaced with a PTOCA structure that contains a Set Coded Font Local text control for the second font.
  2. Each X'0F' is replaced with a PTOCA structure that contains a Set Coded Font Local text control for the first font, followed by two blanks (X'4040').

The conversion for SOSI4 is the same as for SOSI2.

PSF assumes that each line starts with a single-byte font, which means that the data is scanned for the codes one byte at a time. After PSF processes a shift-out code, PSF scans the data two bytes at a time, examining only the first byte of each pair. Because the scan starts one byte at a time on each line, if a line starts with double-byte font data, the first byte in the line must be a shift-out code, so that scanning is done two bytes at a time.

See Specifying shift-out, shift-in (SOSI) codes for information about the methods of specifying SOSI codes and examples of specifying SOSI codes.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014