Printer Files--DBCS Considerations in DDS

This section describes the DBCS considerations for the positional entries and keyword entries for printer files.

DDS Positional Entry Considerations

The following section describes, by position, DDS for describing printer files. Positions not mentioned have no special considerations for DBCS.

DDS Length (Positions 30 through 34)

Specify the length of a field in these positions. The length of a field containing bracketed-DBCS data can range from 4 through 32 767 bytes. The length of a DBCS-graphic field can range from 1 through 16 383 characters. However, because a field cannot span a printed page, the maximum length of a field might not reach the maximum size.

When determining the length of a DBCS field, consider the following:

For example, a bracketed-DBCS field that contains up to 3 DBCS characters, 1 shift-in character and 1 shift-out character, has 8 bytes of data:

(3 characters x 2 bytes) + (shift-out + shift-in) = 8

A DBCS-graphic field that contains up to 3 DBCS characters has 6 bytes of data:

(3 characters x 2 bytes) = 6

DDS Data Type/Keyboard Shift (Position 35)

Type an O in this position to make a field a DBCS-open field. You can use DBCS and alphanumeric data in the same field. Use shift-control characters to distinguish DBCS from alphanumeric data.

Type a G in this position to make a field a DBCS-graphic field.

DDS Decimal Positions (Positions 36 and 37)

Leave these positions blank when using DBCS data.

DDS Keyword Considerations

Do not use the following keywords with DBCS data fields (the data type specified in position 35 is O or G):

BARCODE
BLKFOLD
CDEFNT
CHRID
COLOR
CPI
CVTDTA
DATE
DATFMT
DATSEP
DFT
DLTEDT
EDTCDE
EDTWRD
FLTFIXDEC
FLTPCN
FNTCHRSET
FONT
HIGHLIGHT
MSGCON
PAGNBR
TIME
TIMFMT
TIMSEP
TRNSPY

Do not use the IGCALTTYP and IGCANKCNV keywords on DBCS-graphic data fields (G specified in position 35).

For additional information on the keywords for printer files, refer to the keyword descriptions in Keywords for Printer Files.

DDS CHRSIZ (Character Size) Keyword--DBCS Considerations

Use this record- or field-level keyword to expand the printed characters to twice their normal width, their normal height, or their normal size (width and height). Before expanding the characters, the system performs any formatting operations specified, such as those specified with the DDS keywords EDTCDE and EDTWRD.

The format of this keyword is:

CHRSIZ(width [height])

The valid values for the width and height parameters are 1 and 2. The width parameter is required; the height parameter is optional. If height is not specified, it defaults to 1.

This format is valid only on the 5553 printer.

Consider the following when using CHRSIZ(width [height]):

DDS CHRSIZ (Character Size) Keyword--DBCS Example

Figure 457 shows how to specify the CHRSIZ keyword on the DDS coding form.

Figure 457. Specifying the CHRSIZ Keyword for Printer Files

|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A*
00020A*
00030A          R RECORD1                   CHRSIZ(2 1)
00040A            FIELD1       23O        20SPACEA(2)
00050A            FIELD2       80A        20SPACEA(2) CHRSIZ(1 1)
00060A            FIELD3       41O        20SPACEA(2)
00070A            FIELD4       45O        20SPACEA(2) CHRSIZ(1 2)
00080A            FIELD5       40A        20SPACEA(2) CHRSIZ(1)
00090A            FIELD6       25A        20SPACEA(2) CHRSIZ(2 2)
     A

In Figure 457, the DBCS characters in FIELD1 and FIELD3 expand to twice their normal width when printed. The DBCS characters in FIELD2 and FIELD5 are in their normal size when printed. The DBCS characters in FIELD4 expand to twice their normal height when printed. The DBCS characters in FIELD6 expand to twice their normal size (width and height) when printed.

DDS DFNLIN (Define Line) Keyword--DBCS Considerations

Use this record-level keyword to draw a horizontal or a vertical line. A horizontal line is drawn at the bottom of the character spaces from left to right. A vertical line is drawn on the right edge of the character spaces from top to bottom.

The format of this keyword is:

DFNLIN(direction  start_line  start_position  length)

The direction parameter specifies whether the defined line is horizontal or vertical. The value specified must be one of the following:

*VRT

*HRZ

The start line parameter specifies the line number, from the top of the page, where the defined line starts. The possible values are 1 through 255, but the value specified must not exceed the page length value specified on the PAGESIZE parameter of the Create Printer File (CRTPRTF) command.

The start position parameter specifies the position number, from the left margin of the page, where the defined line starts. The possible values are 1 through 378, but the value specified should not exceed the page width value specified on the PAGESIZE parameter of the CRTPRTF command.

The length parameter specifies the length in number of lines when the defined line is vertical or in number of characters when the defined line is horizontal.

The length specified must be greater than zero. For a vertical line, the sum of the length and the value of the start line parameter cannot exceed 255. Although 255 is the maximum value of this sum, valid values must not exceed the page length specified on the PAGESIZE parameter of the CRTPRTF command.

For a horizontal line, the sum of the length and the value of the start position parameter cannot exceed 378. Although 378 is the maximum value of this sum, valid values must not exceed the page width specified on the PAGESIZE parameter of the CRTPRTF command.

All parameters are required.

A warning message will be issued at create time if:

The DFNLIN keyword can be specified more than once at the record level.

Option indicators are allowed for this keyword.

The DFNLIN keyword cannot be specified on a record that also contains keywords that are valid only on IPDS printers (such as COLOR, BARCODE, and LPI). If DFNLIN is specified with any of those keywords, a severe error (severity 30) message will be issued.

If the DFNLIN keyword is specified when a printer file is created with DEVTYPE(*IPDS), a warning (severity 10) message is issued but the keyword is not ignored at creation time. However, the keyword is ignored and a message is issued when the printer file is used.

If the DFNLIN keyword is specified with a printer file created with DEVTYPE(*AFPDS), the keyword is ignored and a warning message is issued.

DDS DFNLIN (Define Line) Keyword--DBCS Example

Figure 458 shows how to specify the DFNLIN keyword on the DDS coding form.

Figure 458. Specifying the DFNLIN Keyword for Printer Files

|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A*
00020A*
00030A          R RECORD1                   DFNLIN(*HRZ  4  12  20)
00040A                                      DFNLIN(*VRT  5  12  6)
00050A                                      DFNLIN(*HRZ  10 12  20)
00060A                                      DFNLIN(*VRT  5  32  6)
     A

The output of RECORD1 format is a box.

The output of the first DFNLIN keyword is a horizontal line. The line is drawn to the right from the twelfth character position on the fourth line for a length of 20 characters.

The output of the second DFNLIN keyword is a vertical line. The line is drawn down from the twelfth character position on the fifth line for a length of 6 lines.

The output of the third DFNLIN keyword is a horizontal line. The line is drawn to the right from the ending point of the second line (10 = 4 + 6) for a length of 20 characters.

The output of the fourth DFNLIN keyword is a vertical line. The line is drawn down from the ending point of the first line (32 = 12 + 20) for a length of 6 lines.

DDS IGCALTTYP (Alternative Data Type) Keyword

Use this field-level keyword to change alphanumeric character fields to the DBCS fields of data type O.

This keyword has no parameters.

Put the keyword function into effect by changing the IGCDTA parameter value in the file description, using the CRTPRTF, CHGPRTF, or OVRPRTF command. Fields specified with this keyword are alphanumeric character fields when you specify IGCDTA(*NO) and are DBCS fields of data type O when you specify IGCDTA(*YES). For example, create the file by specifying IGCDTA(*NO) on the CRTPRTF command. When using the file to print DBCS data, override the file with the OVRPRTF command, specifying IGCDTA(*YES). To override the printer file IGCPRTF, type:

OVRPRTF FILE(IGCLIB/IGCPRTF) IGCDTA(*YES)

Consider the following when using the IGCALTTYP keyword.

DDS IGCALTTYP (Alternative Data Type) Keyword--Example

Figure 459 shows how to specify the IGCALTTYP keyword on the DDS coding form.

Figure 459. Specifying the IGCALTTYP Keyword for Printer Files

|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A*
00020A*
00030A          R TITLER                    SKIPB(3)
00040A            FLD1          40        47SPACEA(2) UNDERLINE
00050A  30        FLD2          40A       47SPACEA(2) UNDERLINE IGCALTTYP
     A

When the IGCALTTYP keyword is put into effect, FLD2 can contain DBCS data.

DDS IGCANKCNV (Alphanumeric-to-DBCS Conversion) Keyword

Use this field-level keyword to convert alphanumeric characters to equivalent DBCS characters (Japanese only). Each DBCS character is printed twice as wide as a printed alphanumeric character.

This keyword has no parameters.

In addition to converting alphanumeric characters, the system adds shift-control characters at the beginning and end of converted character strings.

For example, the string

ABCDE

appears as:

0EA B C D E0F

after it is converted. Notice that shift-control characters were added to the string (0E=shift-out, 0F=shift-in).

You may specify IGCANKCNV for any named field.

Consider the following when using the IGCANKCNV keyword:

DDS IGCANKCNV (Alphanumeric-to-DBCS Conversion) Keyword--Example

Figure 460 shows how to specify the IGCANKCNV keyword on the DDS coding form.

Figure 460. Specifying the IGCANKCNV Keyword for Printer Files

|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A*
00020A*
00030A          R RECORD                    CHRSIZ(2) SKIPB(3)
00040A            FLDA          400       20SPACEA(2)
00050A            FLDB          80A       20SPACEA(2) CHRISIZ(1)
00060A            FLDC          20A       20SPACEA(2) IGCANKCNV
     A

The alphanumeric characters printed from FLDC are converted to equivalent DBCS characters. These converted characters are then expanded because the record was specified with the DDS keyword CHRSIZ(2).

DDS IGCCDEFNT (DBCS Coded Font) Keyword

Use this record- or field-level keyword to specify the DBCS coded font for printing a named or constant field or fields.

The format of this keyword is:

IGCCDEFNT([library-name/]coded-font [point-size])

The coded-font parameter is required and must be the name of an AS/400 DBCS coded font. It can be up to 8 characters long.

Use the optional library-name parameter to further qualify the coded-font. If the library name is not specified, *LIBL is used to search for the coded font at print time.

Note:
If an application uses private resources (for example, fonts, page segments, overlays, or GDF files not distributed with the system), be aware of the following. When referencing these resources, if you specify *LIBL or you do not specify a library name, the resources must be available through the library list used by the application creating the spooled file.

Use the optional point-size parameter to further define a numeric font that specifies a point size. Specify the point-size paramter as an expression of the form (*POINTSIZE value). The valid values for this parameter are 0.1 through 999.9.

Notes:

  1. If you specify a value other than *NONE for raster fonts, PSF/400 ignores the value. It does not validate at spool intercept time or issue any error messages.

  2. If you specify a value of *NONE for an outline font, PSF/400 is unable to print the spooled file. The spooled file will be held at writer time. No validation is done at spool intercept time.

The coded font value is validated at print time. An error message is issued if the value is not valid.

Option indicators are valid for this keyword.

DDS IGCCDEFNT (DBCS Coded Font) Keyword--Example

Figure 461 shows how to specify the IGCCDEFNT keyword.

Figure 461. Specifying the IGCCDEFNT Keyword

|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
A*
A          R REC
A            FLD1          24O     2 14IGCCDEFNT(XOG16B)
A            FLD2          24O     3 14IGCCDEFNT(USERLIB/XOG16C +
A                                      (*POINTSIZE 999.9))

FLD1 in REC specifies coded font XOG16B. *LIBL is used to locate the DBCS resource. FLD2 specifies DBCS font XOG16C from library QFNTCPL. FLD2 will be printed with a point size of 10.1.

DDS IGCCHRRTT (DBCS Character Rotation) Keyword

This field- or record-level keyword rotates each DBCS character 90 degrees counterclockwise before printing. Rotation allows the system to print the characters so the printout can be read vertically. Use this keyword only for printer files to be printed with 5553 printers or IPDS AFP(*YES) printers.

This keyword has no parameters.

Consider the following when using this keyword:

DDS IGCCHRRTT (DBCS Character Rotation) Keyword--Example

Figure 462 shows how to specify the IGCCHRRTT keyword on the DDS coding form.

Figure 462. Specifying the IGCCHRRTT Keyword for Printer Files

|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A*
00020A*
00030A          R TITLER                    SKIPB(3)
00035A                                      IGCCHRRTT
00040A            FLD1          400       47SPACEA(2) UNDERLINE
     A

The printer prints DBCS characters from this format 90 degrees counterclockwise. The DBCS output can be read vertically.

DDS Additional Considerations for Describing Printer Files

Consider the following when describing a printer file that contains DBCS data: