CONTENTS Title Page Copyright Page Preface 1 Protocol Concepts 1.1 Levels of the Protocol 1.2 Extensions and Exceptions to the Protocol 1.3 Relationship to the Printing Environment 2 Character Processing 2.1 Coded Characters 2.2 Printable Characters 2.2.1 Selecting Graphic Character Sets 2.2.2 Line Terminators 2.3 Control Characters 2.4 Special Characters 2.4.1 Processing 2/0 2.4.2 Processing 7/15 2.4.3 Processing 10/0 2.4.4 Processing 15/15 2.5 Control Functions 2.5.1 Escape Sequence Format 2.5.2 Control Sequence Format 2.5.2.1 Parameter Values in Control Sequences 2.5.2.2 Private Parameters 2.5.2.3 Selectable Modes 2.5.3 Control Strings 2.5.3.1 Device Control String (DCS) Format 2.5.3.2 Application Program Command, Operating System Command, and Privacy Message Control Strings 2.5.4 Special Parsing Requirements 3 Page Coordinate System 3.1 Coordinate System Models 3.1.1 Character Cell Model 3.1.2 Point Model 3.1.3 Conformance to Models 3.1.4 Origin and Extent 3.2 Positioning and Movement 3.2.1 Advance Increments 3.2.1.1 HAI 3.2.1.2 VAI 3.2.2 Positioning Control Functions 3.3 Bounds 3.3.1 Left Margin Position 3.3.2 Right Margin Position 3.3.3 Top Margin Line 3.3.4 Bottom Margin Line 3.4 Mapping Logical Page to Physical Sheet 3.5 Partial Line Motion (PLU and PLD) 3.6 Side Effects of Positioning Controls 3.7 Tabs 3.8 Conditional Form Feed 3.9 Conditional Sheet Feed 4 Fonts 4.1 Character Sets 4.2 Fonts 4.3 Font Repertory 4.3.1 Font Cartridges 4.3.2 Downloaded Fonts 4.3.3 Supported Character Sets 4.4 Font Selection Process 4.4.1 Font Dictionary 4.4.2 Current Font Definition (CFD) 4.4.3 Font Selection and Fallbacks 5 Sixel Graphics 5.1 Terminology and Concepts 5.2 Converting Sixel Data 5.3 Selecting Sixel Graphics Mode 5.4 Protocol Structure 5.4.1 Protocol Selector - Formatting Information 5.4.1.1 Ps1 5.4.1.2 Ps2 5.4.1.3 Pn3 5.4.1.4 q - Sixel Graphics Protocol Selector Final 5.4.2 Picture Data 5.4.3 String Terminator 5.5 Character Processing in Sixel Graphics Mode 5.5.1 Sixel Printable Characters 5.5.2 Sixel Graphics Control Codes 5.5.3 Parameters 5.5.4 Parameter Separator 5.5.5 Exiting Sixel Graphics Mode 5.6 Sixel Graphics and Text Interactions 5.6.1 State upon Entering Sixel Graphics Mode 5.6.2 Interaction with Text Margins 5.6.3 State After Exiting Sixel Graphics Mode 5.7 Graphics Programming Considerations 5.7.1 Parameter Usage and Interactions 5.7.2 Compatibility 5.7.3 Quality 5.7.4 Compatibility or Quality 5.8 Sixel Control Codes DECGCI ( # ) - Graphics Color Introducer DECGCR ( $ ) - Graphics Carriage Return DECGNL ( - ) - Graphics Next Line DECGRA ( " ) - Set Raster Attributes DECGRI ( ! ) - Graphics Repeat Introducer 6 Control Characters 6.1 Control Characters 6.2 C0 Control Characters 6.3 C1 Control Characters 7 Command Dictionary ASCEF - Announce Subset of Code Extension Facilities CRM - Control Representation Mode DA - Device Attributes DAR (generic response) - Device Attributes Report DAR (alias response) - Device Attributes Report DA2 - Secondary Device Attributes DA2R - Secondary Device Attributes Report DECAC1 - Accept C1 Control Characters DECASFC - Automatic Sheet Feeder Control DECAUPSS - Assign User Preference Supplemental Set DECAWM - Autowrap Mode DECBAR - Start or Stop Bar Codes DECCAHT - Clear All Horizontal Tabs DECCAVT - Clear All Vertical Tabs DECCRNLM - Carriage Return /New Line Mode DECDEN - Density Selection DECDLD - Download Font DECFSR - Font Status Report DECHPWA - Set Page Width Alignment DECHTS - Horizontal Tab Set DECIPEM - Enter IBM Proprinter Emulation Mode DECIPEM - Return from IBM Proprinter Emulation Mode DECRFS - Request Font Status DECSBCA - Select Bar Code Attributes DECSCL - Select Conformance Level DECSHORP - Set Horizontal Pitch DECSHTS - Set Horizontal Tab Stops DECSLPP - Set Lines per Physical Page DECSLRM - Set Left and Right Margins DECSTBM - Set Top and Bottom Margins DECSTR - Soft Terminal Reset DECSVTS - Set Vertical Tab Stops DECTC1 - Truncate C1 Control Characters DECUPM - Unidirectional Print Mode DECVERP - Set Vertical Pitch DECVTS - Vertical Tab Set DSR - Device Status Request DSR - Device Status Report HPA - Horizontal Position Absolute HPR - Horizontal Position Relative LNM - Line Feed/New Line Mode LS * /LS * R/SS * - Locking and Single Shifts RIS - Reset to Initial State ROCS - Return from Other Coding System SCS - Select Character Set SGR - Select Graphic Rendition - Selecting Attributes SGR - Select Graphic Rendition - Selecting Fonts SOCS - Select Other Coding System TBC - Tab Clear VPA - Vertical Position Absolute VPR - Vertical Position Relative Command Summary A Character Sets A.1 ASCII Character Set A.2 DEC Supplemental Character Set A.3 DEC Special Graphics Character Set A.4 DEC Technical Character Set A.5 ISO Latin Alphabet No. 1 Supplemental Character Set A.6 National Replacement Character (NRC) Sets A.7 Legal Character Set A.8 Hebrew Character Sets A.9 Greek Character Sets A.10 Turkish Character Sets A.11 Eastern European Character Sets A.12 JIS Katakana Character Set FIGURES 2-1 Standard 8-Bit Code Table (Left Half) 2-2 Standard 8-Bit Code Table (Right Half) 2-3 Designating and Invoking Character Sets 2-4 Escape Sequence Example 2-5 Control Sequence Example 3-1 Bounds in the Page Coordinate System 5-1 Sixel Representation 5-2 Sixel Graphics Device Control String (DCS) Envelope A-1 ASCII Character Set A-2 DEC Supplemental Character Set A-3 DEC Special Graphics Character Set A-4 DEC Technical Character Set A-5 ISO Latin Alphabet No. 1 Supplemental Character Set A-6 British Character Set A-7 DEC Finnish Character Set A-8 French Character Set A-9 DEC French-Canadian Character Set A-10 German Character Set A-11 ISO Italian Character Set A-12 JIS Roman Character Set A-13 DEC Norwegian/Danish Character Set A-14 ISO Spanish Character Set A-15 DEC Swedish Character Set A-16 Norwegian/Danish Character Set A-17 DEC Dutch Character Set A-18 DEC Swiss Character Set A-19 DEC Portuguese Character Set A-20 Legal Character Set A-21 DEC 7-Bit Hebrew Character Set A-22 DEC Hebrew Supplemental Character Set A-23 ISO Latin-Hebrew Supplemental Character Set A-24 DEC Greek Supplemental Character Set A-25 ISO Latin-Greek Supplemental Character Set A-26 DEC 7-Bit Turkish Character Set A-27 DEC 8-Bit Turkish Supplemental Character Set A-28 ISO Latin-5 Supplemental Character Set A-29 ISO Latin-2 Supplemental Character Set A-30 ISO Latin-Cyrillic Supplemental Character Set A-31 JIS Katakana Character Set TABLES 1 Documentation Conventions 2-1 7-Bit and 8-Bit Control Character Equivalence 2-2 Special Character Parsing 3-1 Positioning Controls and Commands 3-2 Side Effects of Vertical Positioning Controls 3-3 Side Effects of Horizontal Positioning Controls 5-1 Macro Parameter Selections 5-2 Printable Dot Patterns for Sixel Graphics Mode 5-3 Sixel Graphics Control Codes 5-4 HLS Color Map Table 5-5 RGB Color Map 7-1 Commands Listed by Function 7-2 Extension Parameters for Generic Primary DA Response 7-3 User Preference Supplemental Character Sets 7-4 DECDLD Selective Parameters 7-5 Page Length Parameters 7-6 SCS Intermediate Characters 7-7 SCS Intermediate (I 2 ) and Final Characters 7-8 SCS Final Characters for Fallback Character Sets 7-9 ESC Sequences Sorted by Final Character 7-10 Control Sequences Sorted by Final Character 7-11 DCS Strings Sorted by Final Character A-1 DEC Technical Character Set Component Characters A-2 National Replacement Character Set Pairing Fallbacks