===== Kommandos ===== Da bei der Beschreibung der IPDS-Kommandos viele Fachbegriffe notwendig werden, die sich nur sehr schwer in verständliches Deutsch übersetzen lassen, sind die nachfolgenden Seiten bewusst in Englisch abgefasst. Dadurch wird auch der Zugriff auf die weiterführenden IBM-Handbücher um vieles erleichtert. Following command sets are contained in the IPDS architecture: * (sp)(sp)**''Device Control''** - to initialize the environment, to manage resources, to handle the acknowledgement protocol * (sp)(sp)**''Text''** - to present text information in a page, an overlay or a page segment * (sp)(sp)**''IM Image''** - to present images in a page, an overlay or a page segment * (sp)(sp)**''IO Image''** - to present images, compressed images and grayscales in a page, an overlay or a page segment * (sp)(sp)**''Graphics''** - to present graphics in a page, an overlay or a page segment * (sp)(sp)**''Bar Code''** - to present bar code information in a page, an overlay or a page segment * (sp)(sp)**''Page Segment''** - to store and present text, image, graphics and bar code information * (sp)(sp)**''Overlay''** - to store and present text, image, graphics and bar code information * (sp)(sp)**''Loaded Font''** - to load font information \\ ==== Device Control Command Set ==== === $D6AF === Begin Page (BP) - identifies the beginning of the page. === $D64F === Deactivate Font (DF) - deactivates one or more coded fonts. === $D65D === End (END) - represents the ending of some objects (image, graphics, bar code, downloaded font). === $D6BF === End Page (EP) - marks the end of a page, an overlay, or a page segment. === $D69F === Load Copy Control (LCC) - initializes the printer to a new sheet and defines the generation of the output from received page data. * Maximum of 128 copy groups * Maximum of 10 overlays per copy group * Maximum of 10 suppression IDs per copy group, suppression IDs $01 through $FF * Entry byte count values are $02 through $48 === $D63F === Load Font Equivalence (LFE) - defines the mapping of font local identifiers to coded font Host-Assigned ID. * Local font IDs: * $00 through $FE * $FF is invalid * Font inline sequence values: * $0000 and $5A00 are supported for resident fonts * Graphic Character Set Global ID (GCSGID) is ignored * Code page values CPGID: * $0000 - no value supplied * $0001 to $FFFE * $FFFF - CPGID default as specified by configuration * Font Selection FGID: * $0000 - no value supplied * $0001 to $FFFE * $FFFF is the default for FGID * The printer selects a font in a number of ways based upon the requested FGID, FW and font attributes. A list of resident fonts is supplied in the RRL response * When an FGID is requested for which no resident font exists in the printer, the printer attempts to satisfy the request through substitution * Font/Code Page Combinations: * The printer allows any combination of font and valid code page without reporting an exception * Font Attributes: * If attributes can not be applied to the requested FGID, the FGID is printed without modification * For some fonts, attributes may not be supported. In these cases, no error exception is reported * The printer is a coded-font printer; fonts might not be present in the printer for all combinations of pitches and styles requested. In these cases, the printer will select a similar font from those present and can also electronically alter characters to best approximate the desired output * The font attribute field is bit encoded. The ignored bits should be set to 0. The following bits are supported: ^ Bit ^ Value ^ Definition ^ | 0 - 3 | 0 |Ignored| | 4 | 0 - 1 |Italicized Print| | 5 | 0 - 1 |Bold| | 6 | 0 - 1 |Double Strike| | 7 | 0 - 1 |Double Wide| * Font Width (FW): * $0000 - no value supplied * $0001 to $7FFE * $FFFF - default for a given FGID * For typographic fonts, the FW parameter must be used within the IPDS Load Font Equivalence or Load Resource Equivalence commands to uniquely specify which point size within an FGID is being requested * The FW parameter for nontypographic type styles is the width of the space character in 1440ths of an inch. For typographic type styles, the font width is 1/3 of the point size converted into 1440ths of an inch. The formula used for this conversion is (point size x 20) /3. All fractional units after this conversion are rounded up, if they are .5 or greater, or rounded down, if they are less than .5. === $D6CF === Logical Page Descriptor (LPD) - defines the characteristics of the current logical page for a sent page or overlay. * The printer accepts LPD commands using the full 43-byte data field * L-units per unit-base are: * $0960 / 2400 L-units per 10 inches * $3840 / 14400 L-units per 10 inches * $03B1 / 945 L-units per 10 centimeters * $1626 / 5670 L-units per 10 centimeters * Colors are identical to those in the Set Text Color (STC) text control of the Write Text (WT) command * If all ordered data flags are set, text will be directly passed to the printer; graphics, bar codes and images are always buffered. If one of the flags is reset, all data is buffered. * I-axis orientation: * $0000, $2D00, $5A00 and $8700 * $FFFF specifies default * B-axis orientation: * $0000, $2D00, $5A00 and $8700 * $FFFF specifies default === $D66D === Logical Page Position (LPP) - defines the position of the logical page origin with respect to the origin of the medium presentation space. * The valid range of the values for Xm and Ym is $FF8000 to $007FFF === $D603 === No Operation (NOP) - has no effect on the presentation environment. === $D6E4 === Sense Type and Model (STM) - requests the printer to respond with informations about its characteristics. === $D697 === Set Home State (SHS) - causes the printer to return to home state from any state. === $D633 === Execute Order Anystate (XOA) - defines a set of orders (subcommands) that are immediately processed. * $0A00 - Alternate Offset Stacker (AOS) * $0C00 - Control Edge Marks (CEM) * $F200 - Discard Buffered Data (DBD) * $F600 - Exception-Handling Control (EHC) * $F800 - Print-Quality Control (PQC) * $F400 - Request Resource List (RRL) * Printer Resource Types for Query and/or Reply: * $04 Page segments * $05 Overlays * $06 Code Pages * $07 Font Character Sets * Printer Resource Types for Reply Only: * $86 Nondeletable code page * $87 Nondeletable font character set * Printer Resource ID Formats: * $00 Host-Assigned Resource ID * $03 IBM Global Resource ID * Entry length $03 through $FF; only one RRL query per RRL command === $D68F === Execute Order Home State (XOH) - defines a set of orders (subcommands) that can be processed in the home state only. * $0400 - Define Group Boundary (DGB) * $1300 - Eject to Front Facing (EFF) * $0700 - Erase Residual Font Data (ERFD) * $0500 - Erase Residual Print Data (ERPD) * $F300 - Obtain Printer Characteristics (OPC) * $0100 - Print Buffered Data (PBD) * $F500 - Page Counters Control (PCC) * $1500 - Select Input Media Source (SIMS) * $00 Primary paper tray * $01 Secondary paper tray * $02 Third paper tray * $20 Fanfold paper * $40 Envelope * $63 Manual feed * $0E00 - Select Medium Modifications (SMM) * $1600 - Set Media Origin (SMO) * $1700 - Set Media Size (SMS) * L-units per unit-base are: * $0960 / 2400 L-units per 10 inches * $3840 / 14400 L-units per 10 inches * $03B1 / 945 L-units per 10 centimeters * $1626 / 5670 L-units per 10 centimeters * Valid SMS values are compared to the configuration settings for paper size. The smaller of each dimension is used as that physical page dimension. * $0300 - Specify Group Operation (SGO) \\ ==== Text Command Set ==== === $D61D === Load Equivalence (LE) - allows text suppression internal values to be referenced externally using different values. === $D62D === Write Text (WT) - defines a set of control sequences (listed below in alphabetical order): * $D2 - Absolute Move Baseline (AMB) * $C6 - Absolute Move Inline (AMI) * $D8 - Begin Line (BLN) * $F2 - Begin Suppression (BSU) * $E6 - Draw B-Axis Rule (DBR) * $E4 - Draw I-Axis Rule (DIR) * $F4 - End Suppression (ESU) * $F8 - No Operation (NOP) * $72 - Overike (OVS) * $D4 - Relative Move Baseline (RMB) * $C8 - Relative Move Inline (RMI) * $EE - Repeat String (RPS) * $D0 - Set Baseline Increment (SBI) * $F0 - Set Coded Font Local (SCFL) * $C0 - Set Inline Margin (SIM) * $C2 - Set Intercharacter Adjustment (SIA) * $74 - Set Text Color (STC) * $0000 Black (default) * $0001 Blue * $0002 Red * $0003 Pink / Magenta * $0004 Green * $0005 Turquoise / Cyan * $0006 Yellow * $0008 Black * $0010 Brown * $FF00 Black (default) * $FF07 Black (default) * $FF08 Color of medium * $FFFF Default (from LPD command) * $F6 - Set Text Orientation (STO) * I-axis orientation: * $0000, $2D00, $5A00 and $8700 * $FFFF specifies default * B-axis orientation: * $0000, $2D00, $5A00 and $8700 * $FFFF specifies default * $C4 - Set Variable Space Character Increment (SVI) * $78 - Temporary Baseline Move (TBM) * $DA - Transparent Data (TRN) * $76 - Underscore (USC) \\ ==== IM Image Command Set ==== === $D63D === Write Image Control (WIC) - activates the IM image state and defines the image size and the necessary information to process the input data: * Pels per scan line in the output image range from $0001 through $7FFF * Number of scan lines in the output image range from $0001 through $7FFF * Pels per scan line in the input image range from $0001 through $7FFF * Number of scan lines in the input image range from $0001 through $7FFF * Scan line directions: * $0000 * $2D00 * $5A00 * $8700 * Image Color * $0000 Black (default) * $0001 Blue * $0002 Red * $0003 Pink / Magenta * $0004 Green * $0005 Turquoise / Cyan * $0006 Yellow * $0008 Black * $0010 Brown * $FF00 Black (default) * $FF07 Black (default) * $FF08 Color of medium * $FFFF Default (from LPD command) === $D64D === Write Image (WI) - sends image data to the printer. \\ ==== IO Image Command Set ==== === $D63E === Write Image Control 2 (WIC2) - activates the IO image state and defines parameters for the image processing using self-defining fields: * $AC6B - Image Area Position (IAP) * Orientation values of the image block are $0000, $2D00, $5A00 and $8700 * $A66B - Image Output Control (IOC) * Supports L-units in the range of $0001 through $7FFF * Unit base values are $00 (ten inches) and $01 (ten centimeters) * X and Y offset values are $8000 through $7FFF * $A6FB - Image Data Descriptor (IDD) * Unit base values are $00 and $01 === $D64E === Write Image 2 (WI2) - sends the image parameters and data to the printer using self-defining fields (listed below in alphabetical order): * $70 - Begin Segment (BS) * $71 - End Segment (ES) * $91 - Begin Image Content (BIC) * $93 - End Image Content (EIC) * $94 - Image Size Parameter (ISP) * $95 - Image Encoding Parameter (IEP) * $01 MMR compression, CCITT group 3 * $03 no compression * $82 MMR compression, CCITT group 4 * $96 - Image Data Elements Size Parameter (IDESP) * Number of bits per image point is $01 or $08. * If 1 is specified, the image is binary, with bit 1 representing black pels and bit 0 representing pels unchanged in the page map. If the image is uncompressed, each raster scan in the image data must be padded so that it is an integral number of bytes. * $FE92 - Image Data \\ ==== Graphics Command Set ==== === $D684 === Write Graphics Control (WGC) - activates the graphics state and defines parameters for the graphics processing using self-defining fields: * $AC6B - Graphic Area Position (GAP) * Orientation of the graphics blocks are $0000 and $2D00 * $A66B - Graphic Output Control (GOC) * Supports L-units in the range of $0001 through $7FFF * Unit base values are $00 (ten inches) and $01 (ten centimeters) * X and Y offset values are $8000 through $7FFF * $A6BB - Graphic Data Descriptor (GDD) * Supports Xg and Yg L-units in the range of $0001 through $7FFF * Unit base value are $00 through $01 * Drawing order defaults self-describing instructions are ignored === $D685 === Write Graphics (WG) - sends the graphics data consisting of graphics segments, which can contain the orders listed below in alphabetical order: * $68 - Begin Area * $D1 - Begin Image * $91 - Begin Image at Current Position * $70 - Begin Segment introducer * $C3 - Character String * $83 - Character String at Current Position * $60 - End Area * $93 - End Image * $C5 - Fillet * $85 - Fillet at Current Position * $C7 - Full Arc * $87 - Full Arc at Current Position * $92 - Image Data * $C1 - Line * $81 - Line at Current Position * $C2 - Marker * $82 - Marker at Current Position * $00 - No Operation * $E1 - Relative Line * $A1 - Relative Line at Current Position * $22 - Set Arc Parameters * $34 - Set Character Angle * $33 - Set Character Cell * $38 - Set Character Set * $0A - Set Color * $21 - Set Current Position * $26 - Set Extended Color * $18 - Set Line Type * $19 - Set Line Width * $29 - Set Marker Symbol * $28 - Set Pattern Symbol \\ ==== Bar Code Command Set ==== === $D680 === Write Bar Code Control (WBCC) activates the bar code state and defines parameters for the bar code processing using self-defining fields: * $AC6B - Bar Code Area Position (BCAP) * Orientation of the bar code blocks are $0000, $2D00, $5A00 and $8700 * $A66B - Bar Code Output Control (BCOC) * Supports X and Y offsets of $8000 through $7FFF * $A6EB - Bar Code Data Descriptor (BCDD) * Unit base values are $00 (ten inches) and $01 (ten centimeters) * Following bar code types are supported: * $01 Code 39 (3-of-9 Code), AIM USS-39 * $02 MSI (modified Plessey code) * $03 UPC/CGPC—Version A * $05 UPC/CGPC—Version E * $06 UPC—Two-digit Supplemental * $07 UPC—Five-digit Supplemental * $08 EAN-8 * $09 EAN-13 * $0A Industrial 2-of-5 * $0B Matrix 2-of-5 * $0C Interleaved 2-of-5, AIM USS-I 2/5 * $0D Codabar, 2-of-7, AIM USS-Codabar * $11 Code 128, AIM USS-128 * $16 EAN Two-digit Supplemental * $17 EAN Five-digit Supplemental * $18 POSTNET * $1C Data Matrix (2D bar code) * $1D MaxiCode (2D bar code) * $1E PDF417 (2D bar code) * Color field uses the same color values as the control sequence STC of the WT command * Module width range values in mils (thousandths of an inch) are: * $01 through $FE (depends on bar code type) * $FF default * Wide/narrow ratio values are: * $0000 bar code does not use wide to narrow ratio * $0001 to $7FFF (depends on bar code type) * $FFFF default (depends on bar code type) === $D681 === Write Bar Code (WBC) - sends the bar code parameters and data to the printer. * Default Human-Readable Interpretation (HRI) positioning is done according to industry standards for each bar code type \\ ==== Overlay Command Set ==== === $D6DF === Begin Overlay (BO) - activates the overlay state in which the IPDS commands that follow, until the End Page (EP) command occurs, are saved as an overlay resource for later using. === $D67D === Include Overlay (IO) - presents a previously activated overlay on the current logical page at the specified position. === $D6EF === Deactivate Overlay (DO) - deactivates either a single overlay or all activated overlays. \\ ==== Page Segment Command Set ==== === $D65F === Begin Page Segment (BPS) - activates the page segment state in which the IPDS commands that follow, until the End Page (EP) command occurs, are saved as a page segment resource for later using. === $D67F === Include Page Segment (IPS) - processes a previously activated page segment as though its commands had just been received. === $D66F === Deactivate Page Segment (DPS) - deactivates either a single page segment or all activated page segments. \\ ==== Loaded Font Command Set ==== === $D61F === Load Font Control (LFC) - activates the font state and provides control information for a fully described font. === $D62F === Load Font (LF) - sends character raster patterns to a printer. === $D60F === Load Font Index (LFI) - transmits one complete index table with font informations to the printer \\ ==== Acknowledge Reply ==== === $D6FF === Acknowledge Reply (ACK) * Printer Acknowledge Reply Types * $00 or $40 - None * $01 or $41 - Sense Type and Model * $04 or $44 - Request Resource List * $06 or $46 - Obtain Printer Characteristics * $80 or $C0 - Sense Bytes * Four- or Eighteen-Byte page and copy counters * 24 sense bytes in Negative Acknowledge Reply (NACK) \\