Digital ANSI-Compliant Printing Protocol ------------------------------------------------------------ Level 2 Programming Reference Manual Order Number: EK-PPLV2-PM. B01 This document describes level 2 of Digital's ANSI-Compliant Printing Protocol (DEC PPL2). It contains information pertaining to all level 2 printers. Revision/Update Information: This is a revised manual. Digital Equipment Corporation Maynard, Massachusetts ------------------------------------------------------------ First Printing, September 1991 Revised, August 1994 The information in this document is subject to change without notice and should not be construed as a commitment by Digital Equipment Corporation. Digital Equipment Corporation assumes no responsibility for any errors that may appear in this document. Any software described in this document is furnished under a license and may be used or copied only in accordance with the terms of such license. No responsibility is assumed for the use or reliability of software or equipment that is not supplied by Digital Equipment Corporation or its affiliated companies. Restricted Rights: Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013. © Digital Equipment Corporation 1991, 1994. All rights reserved. Printed in U.S.A. The Reader 's Comments form at the end of this document requests your critical evaluation to assist in preparing future documentation. The following are trademarks of Digital Equipment Corporation: DEC, DEClaser, LA50, LA70, LA75, LA310, LA600, LN01, LN03, LN03 PLUS, PrintServer, PrintServer 20, PrintServer 40, PrintServer 40 Plus, and the DIGITAL Logo. ANSI is a registered trademark of the American National Standards Institute, Inc. PCL is a registered trademark of Hewlett-Packard Company. IBM and Proprinter are registered trademarks of International Business Machines Corporation. PostScript is a registered trademark of Adobe Systems, Inc. S2695 This document was prepared using VAX DOCUMENT Version 2.1. ------------------------------------------------------------ Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi 1 Protocol Concepts 1.1 Levels of the Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 1.2 Extensions and Exceptions to the Protocol . . . . . . . . . . . . . . . . . . 1-2 1.3 Relationship to the Printing Environment . . . . . . . . . . . . . . . . . . 1-2 2 Character Processing 2.1 Coded Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 2.2 Printable Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6 2.2.1 Selecting Graphic Character Sets . . . . . . . . . . . . . . . . . . . . . 2-6 2.2.2 Line Terminators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7 2.3 Control Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8 2.4 Special Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 2.4.1 Processing 2/0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9 2.4.2 Processing 7/15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 2.4.3 Processing 10/0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 2.4.4 Processing 15/15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 2.5 Control Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 2.5.1 Escape Sequence Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10 2.5.2 Control Sequence Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11 2.5.2.1 Parameter Values in Control Sequences . . . . . . . . . . . . . . 2-12 2.5.2.2 Private Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13 2.5.2.3 Selectable Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14 2.5.3 Control Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14 2.5.3.1 Device Control String (DCS) Format . . . . . . . . . . . . . . . . 2-15 2.5.3.2 Application Program Command, Operating System Command, and Privacy Message Control Strings . . . . . . . 2-15 2.5.4 Special Parsing Requirements . . . . . . . . . . . . . . . . . . . . . . . . 2-16 iii 3 Page Coordinate System 3.1 Coordinate System Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 3.1.1 Character Cell Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 3.1.2 Point Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 3.1.3 Conformance to Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 3.1.4 Origin and Extent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2 3.2 Positioning and Movement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 3.2.1 Advance Increments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 3.2.1.1 HAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 3.2.1.2 VAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3 3.2.2 Positioning Control Functions . . . . . . . . . . . . . . . . . . . . . . . . 3-3 3.3 Bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5 3.3.1 Left Margin Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 3.3.2 Right Margin Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6 3.3.3 Top Margin Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7 3.3.4 Bottom Margin Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 3.4 Mapping Logical Page to Physical Sheet . . . . . . . . . . . . . . . . . . . 3-8 3.5 Partial Line Motion (PLU and PLD) . . . . . . . . . . . . . . . . . . . . . . 3-9 3.6 Side Effects of Positioning Controls . . . . . . . . . . . . . . . . . . . . . . . 3-9 3.7 Tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10 3.8 Conditional Form Feed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 3.9 Conditional Sheet Feed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11 4 Fonts 4.1 Character Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 4.2 Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1 4.3 Font Repertory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 4.3.1 Font Cartridges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2 4.3.2 Downloaded Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 4.3.3 Supported Character Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3 4.4 Font Selection Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 4.4.1 Font Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4 4.4.2 Current Font Definition (CFD) . . . . . . . . . . . . . . . . . . . . . . . . 4-4 4.4.3 Font Selection and Fallbacks . . . . . . . . . . . . . . . . . . . . . . . . . 4-5 iv 5 Sixel Graphics 5.1 Terminology and Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1 5.2 Converting Sixel Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3 5.3 Selecting Sixel Graphics Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3 5.4 Protocol Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4 5.4.1 Protocol Selector -- Formatting Information . . . . . . . . . . . . . 5-4 5.4.1.1 Ps1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 5.4.1.2 Ps2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 5.4.1.3 Pn3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 5.4.1.4 q -- Sixel Graphics Protocol Selector Final . . . . . . . . . . . 5-6 5.4.2 Picture Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 5.4.3 String Terminator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 5.5 Character Processing in Sixel Graphics Mode . . . . . . . . . . . . . . . 5-6 5.5.1 Sixel Printable Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6 5.5.2 Sixel Graphics Control Codes . . . . . . . . . . . . . . . . . . . . . . . . . 5-8 5.5.3 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 5.5.4 Parameter Separator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 5.5.5 Exiting Sixel Graphics Mode . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 5.6 Sixel Graphics and Text Interactions . . . . . . . . . . . . . . . . . . . . . . 5-10 5.6.1 State upon Entering Sixel Graphics Mode . . . . . . . . . . . . . . . 5-10 5.6.2 Interaction with Text Margins . . . . . . . . . . . . . . . . . . . . . . . . 5-10 5.6.3 State After Exiting Sixel Graphics Mode . . . . . . . . . . . . . . . . 5-10 5.7 Graphics Programming Considerations . . . . . . . . . . . . . . . . . . . . 5-10 5.7.1 Parameter Usage and Interactions . . . . . . . . . . . . . . . . . . . . . 5-11 5.7.2 Compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11 5.7.3 Quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12 5.7.4 Compatibility or Quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12 5.8 Sixel Control Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12 DECGCI ( # ) -- Graphics Color Introducer . . . . . . . . . . . . . . . . . 5-13 DECGCR ( $ ) -- Graphics Carriage Return . . . . . . . . . . . . . . . . . 5-22 DECGNL ( - ) -- Graphics Next Line . . . . . . . . . . . . . . . . . . . . . . 5-23 DECGRA ( " ) -- Set Raster Attributes . . . . . . . . . . . . . . . . . . . . . 5-24 DECGRI ( ! ) -- Graphics Repeat Introducer . . . . . . . . . . . . . . . . 5-26 v 6 Control Characters 6.1 Control Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 6.2 C0 Control Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 6.3 C1 Control Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-5 7 Command Dictionary ASCEF -- Announce Subset of Code Extension Facilities . . . . . . 7-6 CRM -- Control Representation Mode . . . . . . . . . . . . . . . . . . . . . 7-7 DA -- Device Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9 DAR (generic response) -- Device Attributes Report . . . . . . . . . . 7-10 DAR (alias response) -- Device Attributes Report . . . . . . . . . . . . 7-12 DA2 -- Secondary Device Attributes . . . . . . . . . . . . . . . . . . . . . . 7-13 DA2R -- Secondary Device Attributes Report . . . . . . . . . . . . . . . 7-14 DECAC1 -- Accept C1 Control Characters . . . . . . . . . . . . . . . . . 7-15 DECASFC -- Automatic Sheet Feeder Control . . . . . . . . . . . . . . 7-16 DECAUPSS -- Assign User Preference Supplemental Set . . . . . . 7-17 DECAWM -- Autowrap Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-19 DECBAR -- Start or Stop Bar Codes . . . . . . . . . . . . . . . . . . . . . . 7-20 DECCAHT -- Clear All Horizontal Tabs . . . . . . . . . . . . . . . . . . . 7-22 DECCAVT -- Clear All Vertical Tabs . . . . . . . . . . . . . . . . . . . . . . 7-23 DECCRNLM -- Carriage Return /New Line Mode . . . . . . . . . . . 7-24 DECDEN -- Density Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-25 DECDLD -- Download Font . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-26 DECFSR -- Font Status Report . . . . . . . . . . . . . . . . . . . . . . . . . . 7-35 DECHPWA -- Set Page Width Alignment . . . . . . . . . . . . . . . . . . 7-36 DECHTS -- Horizontal Tab Set . . . . . . . . . . . . . . . . . . . . . . . . . . 7-38 DECIPEM -- Enter IBM Proprinter Emulation Mode . . . . . . . . . 7-39 DECIPEM -- Return from IBM Proprinter Emulation Mode . . . . 7-40 DECRFS -- Request Font Status . . . . . . . . . . . . . . . . . . . . . . . . . 7-41 DECSBCA -- Select Bar Code Attributes . . . . . . . . . . . . . . . . . . 7-42 DECSCL -- Select Conformance Level . . . . . . . . . . . . . . . . . . . . . 7-44 DECSHORP -- Set Horizontal Pitch . . . . . . . . . . . . . . . . . . . . . . 7-45 DECSHTS -- Set Horizontal Tab Stops . . . . . . . . . . . . . . . . . . . . 7-47 DECSLPP -- Set Lines per Physical Page . . . . . . . . . . . . . . . . . . 7-48 DECSLRM -- Set Left and Right Margins . . . . . . . . . . . . . . . . . . 7-50 DECSTBM -- Set Top and Bottom Margins . . . . . . . . . . . . . . . . . 7-52 vi DECSTR -- Soft Terminal Reset . . . . . . . . . . . . . . . . . . . . . . . . . 7-54 DECSVTS -- Set Vertical Tab Stops . . . . . . . . . . . . . . . . . . . . . . 7-55 DECTC1 -- Truncate C1 Control Characters . . . . . . . . . . . . . . . . 7-56 DECUPM -- Unidirectional Print Mode . . . . . . . . . . . . . . . . . . . 7-57 DECVERP -- Set Vertical Pitch . . . . . . . . . . . . . . . . . . . . . . . . . . 7-58 DECVTS -- Vertical Tab Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-61 DSR -- Device Status Request . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-62 DSR -- Device Status Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-64 HPA -- Horizontal Position Absolute . . . . . . . . . . . . . . . . . . . . . . 7-66 HPR -- Horizontal Position Relative . . . . . . . . . . . . . . . . . . . . . . 7-67 LNM -- Line Feed/New Line Mode . . . . . . . . . . . . . . . . . . . . . . . 7-68 LS*/LS*R/SS* -- Locking and Single Shifts . . . . . . . . . . . . . . . . . 7-69 RIS -- Reset to Initial State . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-71 ROCS -- Return from Other Coding System . . . . . . . . . . . . . . . . 7-72 SCS -- Select Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-73 SGR -- Select Graphic Rendition - Selecting Attributes . . . . . . . . 7-77 SGR -- Select Graphic Rendition - Selecting Fonts . . . . . . . . . . . 7-81 SOCS -- Select Other Coding System . . . . . . . . . . . . . . . . . . . . . 7-82 TBC -- Tab Clear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-83 VPA -- Vertical Position Absolute . . . . . . . . . . . . . . . . . . . . . . . . 7-84 VPR -- Vertical Position Relative . . . . . . . . . . . . . . . . . . . . . . . . 7-85 Command Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-86 A Character Sets A.1 ASCII Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-2 A.2 DEC Supplemental Character Set . . . . . . . . . . . . . . . . . . . . . . . . A-2 A.3 DEC Special Graphics Character Set . . . . . . . . . . . . . . . . . . . . . . A-4 A.4 DEC Technical Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-6 A.5 ISO Latin Alphabet No. 1 Supplemental Character Set . . . . . . . A-8 A.6 National Replacement Character (NRC) Sets . . . . . . . . . . . . . . . . A-9 A.7 Legal Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-26 A.8 Hebrew Character Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-28 A.9 Greek Character Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-32 A.10 Turkish Character Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-35 A.11 Eastern European Character Sets . . . . . . . . . . . . . . . . . . . . . . . . A-39 A.12 JIS Katakana Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-42 vii Index Figures 2-1 Standard 8-Bit Code Table (Left Half) . . . . . . . . . . . . . . . . . . 2-4 2-2 Standard 8-Bit Code Table (Right Half) . . . . . . . . . . . . . . . . . 2-5 2-3 Designating and Invoking Character Sets . . . . . . . . . . . . . . . 2-7 2-4 Escape Sequence Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11 2-5 Control Sequence Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12 3-1 Bounds in the Page Coordinate System . . . . . . . . . . . . . . . . . 3-6 5-1 Sixel Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 5-2 Sixel Graphics Device Control String (DCS) Envelope . . . . . . 5-4 A-1 ASCII Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-3 A-2 DEC Supplemental Character Set . . . . . . . . . . . . . . . . . . . . . A-4 A-3 DEC Special Graphics Character Set . . . . . . . . . . . . . . . . . . . A-5 A-4 DEC Technical Character Set . . . . . . . . . . . . . . . . . . . . . . . . . A-7 A-5 ISO Latin Alphabet No. 1 Supplemental Character Set . . . . A-9 A-6 British Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-12 A-7 DEC Finnish Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . A-13 A-8 French Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-14 A-9 DEC French-Canadian Character Set . . . . . . . . . . . . . . . . . . A-15 A-10 German Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-16 A-11 ISO Italian Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . A-17 A-12 JIS Roman Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . A-18 A-13 DEC Norwegian/Danish Character Set . . . . . . . . . . . . . . . . . A-19 A-14 ISO Spanish Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . A-20 A-15 DEC Swedish Character Set . . . . . . . . . . . . . . . . . . . . . . . . . A-21 A-16 Norwegian/Danish Character Set . . . . . . . . . . . . . . . . . . . . . . A-22 A-17 DEC Dutch Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . A-23 A-18 DEC Swiss Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . A-24 A-19 DEC Portuguese Character Set . . . . . . . . . . . . . . . . . . . . . . . A-25 A-20 Legal Character Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-27 A-21 DEC 7-Bit Hebrew Character Set . . . . . . . . . . . . . . . . . . . . . A-29 A-22 DEC Hebrew Supplemental Character Set . . . . . . . . . . . . . . A-30 A-23 ISO Latin-Hebrew Supplemental Character Set . . . . . . . . . . A-31 A-24 DEC Greek Supplemental Character Set . . . . . . . . . . . . . . . . A-33 A-25 ISO Latin-Greek Supplemental Character Set . . . . . . . . . . . . A-34 viii A-26 DEC 7-Bit Turkish Character Set . . . . . . . . . . . . . . . . . . . . . A-36 A-27 DEC 8-Bit Turkish Supplemental Character Set . . . . . . . . . . A-37 A-28 ISO Latin-5 Supplemental Character Set . . . . . . . . . . . . . . . A-38 A-29 ISO Latin-2 Supplemental Character Set . . . . . . . . . . . . . . . A-40 A-30 ISO Latin-Cyrillic Supplemental Character Set . . . . . . . . . . . A-41 A-31 JIS Katakana Character Set . . . . . . . . . . . . . . . . . . . . . . . . . A-43 Tables 1 Documentation Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . xiii 2-1 7-Bit and 8-Bit Control Character Equivalence . . . . . . . . . . . 2-8 2-2 Special Character Parsing . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-18 3-1 Positioning Controls and Commands . . . . . . . . . . . . . . . . . . . 3-4 3-2 Side Effects of Vertical Positioning Controls . . . . . . . . . . . . . 3-9 3-3 Side Effects of Horizontal Positioning Controls . . . . . . . . . . . 3-10 5-1 Macro Parameter Selections . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 5-2 Printable Dot Patterns for Sixel Graphics Mode . . . . . . . . . . 5-7 5-3 Sixel Graphics Control Codes . . . . . . . . . . . . . . . . . . . . . . . . . 5-9 5-4 HLS Color Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-14 5-5 RGB Color Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-19 7-1 Commands Listed by Function . . . . . . . . . . . . . . . . . . . . . . . . 7-2 7-2 Extension Parameters for Generic Primary DA Response . . . 7-10 7-3 User Preference Supplemental Character Sets . . . . . . . . . . . 7-18 7-4 DECDLD Selective Parameters . . . . . . . . . . . . . . . . . . . . . . . 7-27 7-5 Page Length Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-49 7-6 SCS Intermediate Characters . . . . . . . . . . . . . . . . . . . . . . . . 7-73 7-7 SCS Intermediate (I 2 ) and Final Characters . . . . . . . . . . . . . 7-74 7-8 SCS Final Characters for Fallback Character Sets . . . . . . . . 7-75 7-9 ESC Sequences Sorted by Final Character . . . . . . . . . . . . . . 7-86 7-10 Control Sequences Sorted by Final Character . . . . . . . . . . . . 7-88 7-11 DCS Strings Sorted by Final Character . . . . . . . . . . . . . . . . . 7-90 A-1 DEC Technical Character Set Component Characters . . . . . . A-8 A-2 National Replacement Character Set Pairing Fallbacks . . . . A-11 ix ------------------------------------------------------------ Preface Purpose This document describes the printer functions that comprise level 2 of Digital's ANSI-Compliant Printing Protocol (DEC PPL2). It contains information pertaining to all level 2 printers. Use the Digital ANSI-Compliant Printing Protocol Level 2 Programming Supplement to reference information specific to a particular device. Organization This manual contains the following chapters and appendixes. · Chapter 1, Protocol Concepts, provides an overview of the levels of the protocol and describes the relationship to the printing environment. · Chapter 2, Character Processing, describes character processing concepts, character sets, and control function formats. · Chapter 3, Page Coordinate System, describes the page coordinate system. · Chapter 4, Fonts, contains general information on fonts and the font selection process. · Chapter 5, Sixel Graphics, describes sixel graphics commands and concepts. · Chapter 6, Control Characters, describes the C0 and C1 control characters used in DEC PPL2. · Chapter 7, Command Dictionary, describes the DEC PPL2 commands and reports, including side effects and error handling. · Appendix A, Character Sets, describes the supported character sets. xi For More Information This manual is associated with the Digital ANSI-Compliant Printing Protocol Level 2 Programming Supplement (referred to in this manual as the Programming Supplement), which supplies information about particular level 2 devices. The following table lists the titles and order numbers of DEC PPL2 documentation and other Digital ANSI-Compliant Printing Protocol manuals. For ordering information, see ``How to Order Additional Documentation'' at the end of this book. ------------------------------------------------------------ Manual Comments Order Number ------------------------------------------------------------ Digital ANSI-Compliant Printing Protocol Level 2 Programming Reference Manual Information relating to all DEC PPL2 devices EK-PPLV2-PM Digital ANSI-Compliant Printing Protocol Level 2 Programming Supplement Information specific to particular DEC PPL2 devices EK-PPLV2-PS DEC PPL2 Documentation Kit Set containing both DEC PPL2 manuals EK-PPLV2-DK Digital ANSI-Compliant Printing Protocol Level 3 Programming Reference Manual Information relating to all DEC PPL3 devices EK-PPLV3-PM Digital ANSI-Compliant Printing Protocol Level 3 Programming Supplement Information specific to particular DEC PPL3 devices EK-PPLV3-PS DEC PPL3 Documentation Kit Set containing both DEC PPL3 manuals EK-PPLV3-DK Font File Format User 's Manual Technical font file information for use with DEC PPL3 devices EK-CFFFM-UG ------------------------------------------------------------ xii Conventions Used in This Manual Table 1 shows conventions used in this manual. Table 1 Documentation Conventions ------------------------------------------------------------ Control Functions Characters used in control functions appear in monospaced type. Below each character is a column/row number that indicates the coded character 's position in a standard code table such as the one shown in Figure 2-1 and Figure 2-2. ESC # 6 ASCII character form 1/11 2/3 3/6 Column/Row form Both the ASCII character form and the Column/Row form of the control function coding are provided. Note that if a character set other than ASCII is in use on the input device, the input character form is different. Spaces appear between characters in sequences for clarity; they are not part of the format. Space is designated as SP when it is part of the format of a command or sequence. Ps The term Ps indicates a selective parameter. See also Section 2.5.2.1 Pn The term Pn indicates a numeric parameter. See also Section 2.5.2.1 Boldface text Boldface text represents the introduction of a new term. Italic text Italic text indicates items for which the software supplies a value. ------------------------------------------------------------ xiii 1 ------------------------------------------------------------ Protocol Concepts This chapter describes the following topics: · Levels of the protocol, Section 1.1 · Extensions and exceptions to the protocol, Section 1.2 · Relationship to the printing environment, Section 1.3 1.1 Levels of the Protocol The Digital ANSI-Compliant Printing Protocol is divided into three functional levels. Digital printers support one or more levels of the protocol, implementing all of the functions defined by that level. Each higher level includes all of the functions defined by the lower levels. This manual describes level 2 of the Digital ANSI-Compliant Printing Protocol (DEC PPL2). · Digital ANSI-Compliant Printing Protocol Level 1 (DEC PPL1) includes the functions for a basic character cell printer (for example, the LA50). Basic character cell printers are monospaced devices and may support different horizontal pitches. Functions for backwards vertical movement, vertical margins, or vertical tabs are not included in this level. · Digital ANSI-Compliant Printing Protocol Level 2 (DEC PPL2) includes the functions for an advanced character cell printer (for example, the LA75). Advanced character cell printers are also monospaced devices and support different horizontal pitches and fonts. Functions for limited backwards vertical movement, vertical margins, and vertical tabs are included in this level. · Digital ANSI-Compliant Printing Protocol Level 3 (DEC PPL3) includes the functions for a page printer (for example, the LN03). In page-oriented printers, positions on the page can be addressed in any order. Functions for proportionally spaced text are included in this level. Protocol Concepts 1-1 Printers are categorized by the highest level of the protocol that they support. For example, the LA75 is categorized as a level 2 printer because it supports level 1 and level 2 of the protocol. Level 1 and level 2 printers are addressed in terms of columns and lines, similar to setting tabs on a typewriter. In order to be compatible with level 1 and level 2 printers, level 3 printers can also be addressed in terms of columns and lines. A level 3 printer can also be addressed in smaller units, such as centipoints, to use the advanced level 3 functions. 1.2 Extensions and Exceptions to the Protocol The Digital ANSI-Compliant Printing Protocol also includes a number of functions that are specified as either extensions or exceptions to the protocol. Extensions to the protocol are defined to allow additional features not provided on all printers to be used in a device-independent manner. Applications taking advantage of these functions are portable only among those devices that provide the additional feature. For example, paper tray selection functions are an extension to the protocol because not all devices support more than one paper tray. However, the protocol extension allows those devices that have more than one paper tray to be addressed in the same manner. Exceptions are functions that allow applications to take advantage of unique or device-specific hardware features. Applications taking advantage of these functions are generally not portable from printer to printer. Refer to the Programming Supplement for information on which extensions and exceptions to the protocol are supported by a particular device. 1.3 Relationship to the Printing Environment The Digital ANSI-Compliant Printing Protocol recognizes a separation between document creation and printer management. In some printing environments, an application communicates directly with a printer connected to a port on a host computer. Sometimes, however, there is an intermediate entity called a driver, spooler, or symbiont between the application and the printer. This is often the case when several users share a device. · The application is typically concerned with document creation, including page composition, font selection, and other document description, independent of the physical characteristics of the printer. The application may store the created document for later printing. 1-2 Protocol Concepts · The symbiont is any code or device that controls print-time functions, such as the physical configuration, printer memory configuration, and other printer management operations. The symbiont receives the printer 's device attributes report, informs the user to load paper when necessary, or selects the proper paper tray, for example. A separate symbiont or printer driver allows applications to drive several printers without requiring each application to manage the different physical characteristics of the printers. In Chapter 7 of this document, each control function is labeled Symbiont or Application to specify which component should send the control function to perform the desired function. ------------------------------------------------------------ Note ------------------------------------------------------------ Digital does not recommend using symbiont commands in an application. Since the symbiont should be updated whenever a printer is released, the application can avoid making changes by not implementing symbiont functions in the application itself, or by putting the symbiont functions in a module that can be released in a separate revision when it is desirable to support another printer. ------------------------------------------------------------ Protocol Concepts 1-3 2 ------------------------------------------------------------ Character Processing In the Digital ANSI-Compliant Printing Protocol, text and control information is represented by coded characters. Coded characters consist of a series of binary digits or bits. Older devices use 7 bits to encode each character. Newer devices use 8 bits, which provide more characters. The newer devices can also use 7-bit characters. This chapter describes how coded characters are processed. The following topics are covered in this chapter: · Coded characters, Section 2.1 · Printable characters, Section 2.2 · Control characters, Section 2.3 · Special characters, Section 2.4 · Control functions, Section 2.5 The American National Standards Institute (ANSI) and the International Organization for Standardization (ISO) specify standards for character encoding. This protocol is compatible with the following ANSI , JIS, and ISO standards: ANSI X3.4-1986 American National Standard Code for Information Interchange (ASCII) ANSI X3.32-1973 Graphic Representation of the Control Characters of the American National Standard Code for Information Interchange ANSI X3.64-1979 Additional Controls for Use with the American National Standard Code for Information Interchange JIS X 0201-1976 Japanese Industrial Standard Katakana character set ISO 646:1983 Information processing -- ISO 7-bit coded character set for information interchange Character Processing 2-1 ISO 2022:1986 Information processing -- ISO 7-bit and 8-bit coded character sets -- Code extension techniques ISO 4873:1986 Information processing -- ISO 8-bit code for information interchange -- Structure and rules for implementation ISO 6429:1988 Information processing -- Control functions for 7-bit and 8-bit coded character sets ISO 8859 Information processing -- 8-bit, single-byte coded graphic character sets -- See individual ISO character sets in Appendix A. ISO 8859-8:1988 Information processing -- 8-bit, single-byte coded graphic character sets -- Part 8: Latin-Hebrew Alphabet ISO/IEC DIS 10538 Information technology -- Control functions for text communication 2.1 Coded Characters Character processing is described in terms of the standard 8-bit coded character set that is divided into the following categories of coded characters: · A set of 32 control characters called the C0 control set (0/0-1/15, inclusive). · A set of 94 graphic characters called the GL (Graphics Left) graphics set (2/1-7/14, inclusive). · A set of 32 control characters called the C1 control set (8/0-9/15, inclusive). · A set of 94 graphic characters called the GR (Graphics Right) graphics set (10/1-15/14, inclusive). · A set of special characters outside of these categories: 2/0, 7/15, 10/0, and 15/15. 2-2 Character Processing Figure 2-1 and Figure 2-2 illustrate the Standard 8-Bit Code Table, using ASCII as the GL character set and DEC Supplemental as the GR character set. The Standard 8-Bit Code Table shows the character allocated to each position in the standard 8-bit coded character set. In an 8-bit environment, the low-order 7 bits determine whether the character is printable or is a control character. The eighth bit of the character specifies the following active character sets: ------------------------------------------------------------ Eighth Bit Active Character Set ------------------------------------------------------------ 0 GL or C0 1 GR or C1 ------------------------------------------------------------ In some environments, only 7 bits are used to encode characters, using the standard 7-bit coded character set. The standard 7-bit set includes only the C0 and GL character sets and special characters 2/0 and 7/15. Figure 2-1, alone, is an example of the Standard 7-Bit Code Table. Character Processing 2-3 Figure 2-1 Standard 8-Bit Code Table (Left Half) 2-4 Character Processing Figure 2-2 Standard 8-Bit Code Table (Right Half) Character Processing 2-5 2.2 Printable Characters The characters in GL in a 7-bit environment and the characters in GL and GR in an 8-bit environment are interpreted as printable characters whenever they are not part of a control function. Both a font and a graphic character set must be specified to print a character. The graphic character set specifies what character (for example, a capital letter A) is printed. Each set is an ordered group of 94 or 96 characters, and is described by the code table for that graphic character set. The font specifies the size, style, and design used to print the character. For example, a Courier 10-point font describes the type family (Courier) and size (10 point) of the character. See Appendix A for the code tables of the character sets supported by DEC PPL2 devices. See Chapter 4 for more information on fonts. 2.2.1 Selecting Graphic Character Sets Several graphic character sets reside in the device. Additional sets may be downline loaded or provided by font cartridges. See the Programming Supplement to determine whether cartridges or downline loading are available in a particular device. A graphic character set need not be selected every time the device is used; default character sets can be used. ASCII, DEC Supplemental, DEC Technical, and DEC Special Graphics are examples of graphic character sets. Graphic character sets are selected for printing as follows: 1. Designate the set as one of the logical G0, G1, G2, or G3 sets. 2. Map (invoke) one of the G-sets into the graphic left (GL) or graphic right (GR) logical set. (In a 7-bit environment, only the GL set is available.) Figure 2-3 shows the process of designating and invoking character sets. The Select Character Set (SCS) command designates the graphic character set (see Chapter 7). The Locking Shift and Single Shift commands map the logical sets into the GL or GR set. See Locking and Single Shifts (LS*/LS*R/SS*) in Chapter 7. In addition, the User Preference logical character set provides an extra level of indirection. This allows any one of several different character sets to be selected using the same designating command. See Assign User Preference Supplemental Set (DECAUPSS) in Chapter 7 for more information on the User Preference character set. 2-6 Character Processing Figure 2-3 Designating and Invoking Character Sets 2.2.2 Line Terminators In order to minimize print operations, optimize print quality, and optimize print speed, the device may buffer information. In this case, the device does not perform a print operation until a line terminator has been received. See the Programming Supplement for more information. Character Processing 2-7 2.3 Control Characters The characters in C0 in a 7-bit environment and the characters in C0 and C1 in an 8-bit environment are interpreted as control characters. They are processed as described in Chapter 6. All C1 control characters abort an incomplete escape sequence, control sequence, or control string. In a 7-bit environment, C1 control characters in the range 8/0-9/15 can be accessed by using an equivalent 2-character escape sequence with a final character in the range 4/0-5/15. For example, the escape sequence ESC K (1/11 4/11) is equivalent to the 8-bit control character PLD (8/11). Another example is CSI, which may be encoded as ESC [ (1/11 5/11) or as CSI (9/11). Table 2-1 provides these equivalent sequences. Table 2-1 7-Bit and 8-Bit Control Character Equivalence ------------------------------------------------------------ 8-Bit Column/Row Mnemonic 7-Bit Equivalent Sequence ------------------------------------------------------------ 8/0 Reserved ESC @ 1/11 4/0 8/1 Reserved ESC A 1/11 4/1 8/2 BPH ESC B 1/11 4/2 8/3 NBH ESC C 1/11 4/3 8/4 IND ESC D 1/11 4/4 8/5 NEL ESC E 1/11 4/5 8/6 SSA ESC F 1/11 4/6 8/7 ESA ESC G 1/11 4/7 8/8 HTS ESC H 1/11 4/8 8/9 HTJ ESC I 1/11 4/9 8/10 VTS ESC J 1/11 4/10 8/11 PLD ESC K 1/11 4/11 8/12 PLU ESC L 1/11 4/12 8/13 RI ESC M 1/11 4/13 8/14 SS2 ESC N 1/11 4/14 8/15 SS3 ESC O 1/11 4/15 9/0 DCS ESC P 1/11 5/0 (continued on next page) 2-8 Character Processing Table 2-1 (Cont.) 7-Bit and 8-Bit Control Character Equivalence ------------------------------------------------------------ 8-Bit Column/Row Mnemonic 7-Bit Equivalent Sequence ------------------------------------------------------------ 9/1 PU1 ESC Q 1/11 5/1 9/2 PU2 ESC R 1/11 5/2 9/3 STS ESC S 1/11 5/3 9/4 CCH ESC T 1/11 5/4 9/5 MW ESC U 1/11 5/5 9/6 SPA ESC V 1/11 5/6 9/7 EPA ESC W 1/11 5/7 9/8 SOS ESC X 1/11 5/8 9/9 Reserved ESC Y 1/11 5/9 9/10 SCI ESC Z 1/11 5/10 9/11 CSI ESC [ 1/11 5/11 9/12 ST ESC \ 1/11 5/12 9/13 OSC ESC ] 1/11 5/13 9/14 PM ESC ^ 1/11 5/14 9/15 APC ESC _ 1/11 5/15 ------------------------------------------------------------ 2.4 Special Characters Special characters are characters that are part of the 8-bit code table but not part of the C0, GL, C1, or GR character sets. The special characters are: · 2/0 · 7/15 · 10/0 · 15/15 In a 7-bit environment, only 2/0 and 7/15 are available. 2.4.1 Processing 2/0 If a 94-character graphic character set is selected into GL, 2/0 always prints a Space (SP). If a 96-character graphic character set resides in GL, 2/0 prints the specified character from that set. If 2/0 is undefined in that set, the error character is printed. Character Processing 2-9 2.4.2 Processing 7/15 If a 94-character graphic character set is selected into GL, 7/15 is always ignored. If a 96-character graphic character set resides in GL, 7/15 prints the specified character from that set. If 7/15 is undefined in that set, the error character is printed. 2.4.3 Processing 10/0 If a 94-character graphic character set is selected into GR, 10/0 prints the error character. If a 96-character graphic character set is selected into GR, 10/0 prints the specified character from that set. If 10/0 is undefined in that set, the error character is printed. 2.4.4 Processing 15/15 If a 94-character graphic character set is selected into GR, 15/15 is always ignored. If a 96-character graphic character set is selected into GR, 15/15 prints the specified character from that set. If 15/15 is undefined in that set, the error character is printed. 2.5 Control Functions Control functions consist of control characters, escape sequences, control sequences, and control strings. This section describes the format and processing of escape sequences, control sequences, and control strings, collectively termed commands. The device recognizes the control function formats and ignores all commands that are not listed in Chapter 7 or the Programming Supplement. 2.5.1 Escape Sequence Format The format of an escape sequence is: ESC I . . . I F 1/11 2/0-2/15 3/0-7/14 Escape Sequence Introducer Intermediate Characters (0 or more characters) Final Character (1 character) The ESC control character (1/11) is the Escape Sequence Introducer. After ESC is received, all characters received within the proper range are not printed but are stored as part of the sequence. 2-10 Character Processing Intermediate characters are characters in the range 2/0-2/15 received after ESC. Escape sequences with a maximum of three intermediate characters are recognized and stored. If a fourth intermediate character is received, the event is noted and when the final character arrives, the entire escape sequence is ignored. The final character is the character in the range 3/0-7/14 received after ESC and after 0 or more intermediate characters. The final character indicates the end of the escape sequence. The intermediate characters (if any) and the final character together define the function of the sequence. Figure 2-4 shows an example of an escape sequence. Figure 2-4 Escape Sequence Example ESC ( B 1/11 2/8 4/2 | | | | | -----Final Character | ------------Intermediate Character --------------------Escape Sequence Introducer 2.5.2 Control Sequence Format The format of a control sequence is: CSI P . . . P I . . . I F 9/11 3/0-3/15 2/0-2/15 4/0-7/14 Control Sequence Introducer Parameter Characters (0 or more characters) Intermediate Characters (0 or more characters) Final Character (1 character) The CSI control character is the Control Sequence Introducer. CSI has an 8-bit code of 9/11. This is equivalent to the escape sequence consisting of the ESC (1/11) and ``['' (5/11) characters. Both encodings are recognized as CSI. After CSI is received, all characters up to and including the final character are not printed but are stored as part of the sequence. Parameter characters are characters in the range 3/0-3/15, received after CSI and before any intermediate characters or the final character. A parameter character modifies the action or interpretation of the sequence. Generally, a parameter character is an ASCII digit and modifies the sequence as a numerical index. Parameter characters are grouped to form parameters. The occurrence of the ? character (3/15) or > character (3/14) at the beginning of a parameter string indicates Digital private parameters. See Section 2.5.2.2 for more information. Character Processing 2-11 If the : character (3/10), < character (3/12), or = character (3/13) is received during processing of a parameter string, or if 3/14 or 3/15 is received after the first character of a parameter string, the event is noted and when the final character arrives, the entire sequence is ignored. Intermediate characters are characters in the range 2/0-2/15, received after CSI and after the parameter characters, if any. Only control sequences with 0 or 1 intermediate character are recognized by the device. The final character is the character in the range 4/0-7/14, received after the CSI and after the parameter or intermediate characters, if any. The final character indicates the end of the control sequence. The parameters and intermediate characters (if any) and the final character together define the function of the sequence. Figure 2-5 shows an example of a control sequence. Figure 2-5 Control Sequence Example ESC [ 1 0 ; 6 0 " s 1/11 5/11 3/1 3/0 3/11 3/6 3/0 2/2 7/3 | | | | | | +-------+ +-----------------+ | | | | | | Control Sequence Introducer | | | | | | Parameters | | | | Intermediate Character | | Final Character 2.5.2.1 Parameter Values in Control Sequences There are two types of parameters: numeric and selective. · A numeric parameter is interpreted as a number of units that specify a distance or quantity pertaining to the control function. In this document Pn is used to denote a numeric parameter value. · A selective parameter is interpreted as identifying an entry from a list of options pertaining to the control function. In this document Ps is used to denote a selective parameter value. Parameters are interpreted as unsigned decimal integers, with the most significant digit sent first. Leading zeros are allowed but are ignored. Plus and minus signs are not allowed. 2-12 Character Processing If no value is received for a parameter in a sequence, a value of zero is assumed for that parameter. The maximum value for a numeric parameter is at least as great as the greatest value needed by any supported control sequence. Any larger value received is replaced by the maximum value. If multiple parameters are encoded in a single sequence, they are separated by a ; (semicolon, 3/11). A maximum of 16 parameters is allowed. If more than 16 parameter values are received, only the first 16 are evaluated. The extra parameters do not invalidate the entire control sequence. Some sequences require a fixed number of selective parameters. Others accept a variable number. Unless otherwise stated, if one of a variable-length string of selective parameters is out of range for a particular control function, the parameter is ignored. See individual control functions in Chapter 7 for error handling of fixed-length selective parameter strings. Side effects of commands are performed even if one or more parameters are out of range for that function. 2.5.2.2 Private Parameters If the ? character (3/15) or the > character (3/14) occurs at the beginning of a string of parameters, the parameters that follow are Digital private parameters. The device notes this event. When the final character is received, the presence or absence of ? or > contributes to determining the validity and meaning of the parameter. If ? or > occurs in the control sequence, other than as the first character of the parameter string, the entire sequence is discarded. The following example shows a valid control sequence using private parameters: CSI ? 6 ; 4 m The following example shows an invalid control sequence: CSI ? 6 ; ? 4 m A string of parameters preceded by ? or > where no preceding character is expected is considered out of range. The device ignores the parameters, but processes any side effects related to the sequence. ------------------------------------------------------------ Note ------------------------------------------------------------ The ? and > characters are not interchangeable. They signify different types of private parameters. ------------------------------------------------------------ Character Processing 2-13 2.5.2.3 Selectable Modes Selectable modes control the way data is transmitted, interpreted, or imaged, instead of causing some action or printing to occur. For example, Line Feed /New Line Mode (LNM) controls how the Line Feed (LF) control character is interpreted: either as a line feed or a new line. The Set Mode (SM) and Reset Mode (RM) control sequences that toggle the state of each selectable mode are listed in Chapter 7. To use one SM or RM sequence to turn several selectable modes on or off at the same time, send the control sequence introducer, followed by the list of the parameters for each mode, separated by semicolons, followed by the appropriate final character: h (6/8) for set, or l (6/12) for reset. An SM or RM control sequence with multiple selective parameters is treated as multiple SM or RM sequences, each with one parameter. There are two types of selectable modes: ANSI and Digital private. The ? character (3/15) or > character (3/14) is used to indicate a private parameter string. When you combine multiple selectable modes in a single sequence, all parameters must be of the same type. Some mode switch parameters set the device to an emulation protocol. Any parameters received after a protocol mode switch parameter are ignored. Parameters received in DEC PPL2 mode before the protocol mode switch parameter are valid. When using a mode switch command to exit an emulation protocol, do not send extra parameters. 2.5.3 Control Strings Control strings are used to pass variable length data strings. The format of a control string is: Control string introducer Protocol selector D . . . D ST The following C1 control characters are the control string introducers: Application Program Command (APC), Device Control String (DCS), Operating System Control (OSC), or Privacy Message (PM). The protocol selector specifies the meaning of the data and consists of parameter characters (optional), intermediate characters (optional), and a final character. The protocol selector format is unique for each type of control string. D . . . D is data to be passed with the control string. This data string must be made up of characters in the range 0/8-0/13 and 2/0-7/14. ST is the C1 control character String Terminator. 2-14 Character Processing 2.5.3.1 Device Control String (DCS) Format The format of a device control string is: DCS P . . . P I . . . I F D . . . D ST 9/0 3/0-3/15 2/0-2/15 7/0-7/14 9/12 Device Control String Parameter Characters (0 or more characters) Intermediate Characters (0 or more characters) Final Character (1 character) Data (0 or more characters) String Terminator ------------------------------------------------------------ Introducer ------------------------------------------------------------ Protocol Selector The DCS control character is the Device Control String introducer. DCS has an 8-bit code of 9/0. This is equivalent to the escape sequence consisting of the ESC (1/11) and P (5/0) characters. Both encodings are recognized as DCS. After DCS is received, all characters received up to and including the String Terminator (ST) are not printed but are stored as part of the control string. The protocol selector consists of parameter characters (P . . . P), intermediate characters (I . . . I), and the final character. These characters are processed identically to the format of a control sequence (See Section 2.5.2). The intermediate characters, if any, and the final character, specify the meaning of the data. If present, the parameter string can further elaborate the interpretation of the data. If the protocol selector is parsed but not recognized, all data that follows is ignored until it is either terminated by ST or aborted. 2.5.3.2 Application Program Command, Operating System Command, and Privacy Message Control Strings The device recognizes the start of Application Program Command (APC), Operating System Command (OSC), and Privacy Message (PM) control strings, but it ignores the protocol selector and data that follows until the control string is either aborted or terminated by ST. See Table 2-2 for further information. Character Processing 2-15 2.5.4 Special Parsing Requirements When an error occurs during character processing, for example, when invalid parameters are specified or when control characters are embedded in control functions, the device recovers from the condition by performing the appropriate action listed in this section. · Escape sequences, control sequences, and control strings not recognized by the device are ignored. · Unless otherwise stated, up to 16 parameters can be received with any control sequence or device control string. Any parameter beyond those specified for the command is ignored, regardless of its value, and the remainder of the command is processed. · Unless otherwise stated, a selective parameter in a valid position but with an invalid value is ignored. The remaining valid parameters are processed, and any side effects of the control sequence take effect. · Unless otherwise stated, when a numeric parameter (Pn) exceeds the specified maximum, the maximum allowable value for that parameter is used. · Unless otherwise stated, when a numeric parameter (Pn) is less than the specified minimum, the minimum allowable value for that parameter is used. · Unless otherwise stated, if a required parameter is omitted or a semicolon (;) is received without a parameter, a parameter value of zero is assumed. · Incomplete control strings are generally ignored. There is one exception: in Sixel Graphics mode, any sixels received are processed. · If a C0 or C1 control character is received after a Single Shift control character (SS2 or SS3), the control character is processed and the single shift flag remains set. If an escape sequence, control sequence, or control string is received after SS2 or SS3, the sequence is processed and the single shift flag remains set. 2-16 Character Processing · If the special characters 2/0 or 7/15 are received after SS2 or SS3, the following occurs: ------------------------------------------------------------ If a 94-character graphic character set resides in the set being accessed, G2 or G3, 2/0 or 7/15 is processed normally and the single shift flag remains set. (Refer to Section 2.4.) ------------------------------------------------------------ If a 96-character graphic character set resides in the set being accessed, G2 or G3, the corresponding graphic character 2/0 or 7/15 is imaged and then the single shift flag is reset. · If a GR character is received after SS2 or SS3, the eighth bit is ignored. The single shift function is then applied to the remaining seven bits, which define a GL character, and the single shift flag is reset. ------------------------------------------------------------ Note ------------------------------------------------------------ Do not use a GR character after SS2 or SS3. This is an error. ------------------------------------------------------------ · If the special characters 10/0 or 15/15 are received after SS2 or SS3, the following occurs: ------------------------------------------------------------ If a 94-character graphic character set resides in the set being accessed, G2 or G3, 10/0 or 15/15 is processed normally and the single shift flag is reset. (Refer to Section 2.4.) ------------------------------------------------------------ If a 96-character graphic character set resides in the set being accessed, G2 or G3, the corresponding graphic character 10/0 or 15/15 is imaged and then the single shift flag is reset. Table 2-2 summarizes the special parsing rules for the interaction of control characters and graphic characters with escape sequences, control sequences, and control strings. Character Processing 2-17 Table 2-2 Special Character Parsing ------------------------------------------------------------ Sequences 1 ------------------------------------------------------------ Control String Data (D . . . D) ------------------------------------------------------------ Received Character Sixel Graphics DECAUPSS DECDLD Undefined Control String ------------------------------------------------------------ ESC See a. See a. See a. See a. See a. CAN See b. See b. See b. See b. See b. SUB See b. See g. See b. See g. See b. Format Effectors 2 See c. Ignore Ignore Ignore Ignore Other C0 3 See c. See c. Ignore Ignore See c. 2/1-7/14 See d. See d. See d. See d. Ignore 8/0-9/15 See b. See b. See b. See b. See b. 10/1-15/14 See e. See e. See e. See e. See e. 2/0 See f. Ignore See f. See h. Ignore 10/0 See f. Ignore See f. Ignore Ignore 7/15 Ignore Ignore Ignore Ignore Ignore 15/15 Ignore Ignore Ignore Ignore Ignore ------------------------------------------------------------ 1 Includes escape sequences, control sequences and protocol selectors (See Section 2.5.3). 2 Includes Horizontal Tab (HT), Backspace (BS), Line Feed (LF), Vertical Tab (VT), Form Feed (FF), and Carriage Return(CR). 3 Includes Bell (BEL), Shift In (SI), and Shift Out (SO). Action taken: a.--Character aborts the command, then introduces a new command. b.--Character aborts the command, then the control character is processed. c.--Character is processed as if received before the command, then command processing resumes. d.--Character is processed as a printable character. e.--Eighth bit of character is ignored, then processed as a GL printable character. f.--Character processed as 2/0 (Space, SP). g.--Character processed as ? (3/15). h.--Character ignored unless part of a character set designator. ------------------------------------------------------------ 2-18 Character Processing 3 ------------------------------------------------------------ Page Coordinate System This chapter covers the following topics: · Coordinate system models, Section 3.1 · Active position, positioning controls, and advance increments, Section 3.2 · Coordinate system bounds, Section 3.3 · Mapping the logical page onto the physical sheet , Section 3.4 · Partial line motion (PLU and PLD), Section 3.5 · Positioning controls and partial line motion, Section 3.6 · Tabs, Section 3.7 · Conditional Form Feed, Section 3.8 · Conditional Sheet Feed, Section 3.9 The page coordinate system is a rectangular array of addressable positions specified by a positive X-coordinate and a positive Y-coordinate. The positive X direction is to the right, the positive Y direction is down. The page coordinate system defines the logical page. The physical sheet (that is, the sheet of paper) is described by the actual paper size and orientation. These factors also determine certain aspects of the logical page. See Section 3.4 for more details. 3.1 Coordinate System Models There are two coordinate system models: The character cell model and the point model. · In the character cell model, a position covers an entire character. Therefore, the whole character is the smallest addressable unit. · In the point model, a position is a dimensionless location, and the unit of addressing is not directly related to characters. Page Coordinate System 3-1 3.1.1 Character Cell Model The character cell model specifies the coordinates of a character cell position as the line and character number, starting with character 1 of line 1. This is a simple model used for monospaced presentation. The character cell model is not used for proportionally spaced characters. The monospaced character cells of the character cell model are placed on a grid, which is defined by the current character and line spacing. Changes in character or line spacing result in changes in the currently selected grid size. Whenever the grid size changes, the device adjusts the coordinates of certain key reference points (such as margins or active position) so that they always fall on even grid boundaries. The character box is the size of the character as stored in the font. In level 2 printers, the software can vary the width of the character box (by changing the width of the current character spacing, which in turn scales the character size), but it cannot vary the height of the character box. The character cell is the distance from one character to another. The host software can vary this distance by changing the height of the current line spacing and the width of the current character spacing. In level 2 printers, the width of the character cell is always the same as the width of the character box, but the host software can set the height of the character cell larger than, equal to, or smaller than the height of the character box of a font being used. 3.1.2 Point Model In the point model, the coordinates of a position are specified in units of decipoints (exactly 1/720 in.), centipoints (exactly 1/7200 in.), or device- dependent pixels (the smallest addressable dot on the device). 3.1.3 Conformance to Models Level 2 devices support only the character cell model. Point addressing is not supported. 3.1.4 Origin and Extent The page coordinate system origin is at (1,1), not (0,0). All values in the coordinate system are referenced to the origin. The exact placement of the origin with respect to the physical sheet depends on the imaging capabilities of the printer. For example, the device may place the first line of text lower on single sheets than on fanfold paper. In some devices host software can also partially control the placement of the origin, by using 3-2 Page Coordinate System the Horizontal Page Width Alignment (DECHPWA) command. This allows the user to vary the position of the paper horizontally within the paper-handling mechanism. 3.2 Positioning and Movement The active horizontal position and the active vertical position together represent the position on the logical page where the next character is printed. After each character is printed, the active position is updated. In addition, there are several control functions that can change the active position. The control functions are listed in Table 3-1. 3.2.1 Advance Increments After each character is printed, the active horizontal position is updated according to the current Horizontal Advance Increment (HAI). After each line is printed, the active vertical position is updated according to the current Vertical Advance Increment (VAI). The values of HAI and VAI can be changed by control functions. In level 2 devices, HAI and VAI are always of fixed width, that is, they do not automatically change based upon the character being printed or the font in use. 3.2.1.1 HAI Fixed horizontal motion does not vary from character to character or font to font. The HAI is explicitly defined by Set Horizontal Pitch (DECSHORP). When an HAI is in use that has a different width from the stored character box of the currently selected font, the device modifies the width of the character box to obtain the desired pitch. 3.2.1.2 VAI Fixed vertical motion does not vary from font to font. The VAI is explicitly defined by Set Vertical Pitch (DECVERP). When a VAI is in use that is shorter than the character box, the device overlaps the character boxes. When a VAI is in use that is taller than the character box, the device adds more white space between lines. 3.2.2 Positioning Control Functions The control functions that change the active position are listed in Table 3-1. In general, Absolute positioning requires no knowledge of the active position to correctly specify a new position. Relative positioning requires knowledge of the active position to execute correctly. Page Coordinate System 3-3 Table 3-1 Positioning Controls and Commands ------------------------------------------------------------ Control Function Type Motion ------------------------------------------------------------ Autowrap Relative Vertical, Horizontal Backspace (BS) Relative Horizontal Carriage Return (CR) Absolute Vertical 1 , Horizontal Graphics Carriage Return (DECGCR) Absolute Horizontal Graphics Next Line (DECGNL) Relative Vertical, Horizontal Form Feed (FF) Absolute Vertical Horizontal Position Absolute (HPA) Absolute Horizontal Horizontal Position Relative (HPR) Relative Horizontal Horizontal Tab (HT) Absolute Horizontal Index (IND) Relative Vertical Line Feed (LF) Relative Vertical, Horizontal 2 Next Line (NEL) Relative Vertical, Horizontal Partial Line Down (PLD) Relative Vertical Partial Line Up (PLU) Relative Vertical Vertical Position Absolute (VPA) Absolute Vertical Vertical Position Relative (VPR) Relative Vertical Vertical Tab (VT) Absolute Vertical ------------------------------------------------------------ 1 Performs vertical motion only if Carriage Return/New Line Mode (DECCRNLM) is set. 2 Performs horizontal motion only if Line Feed/New Line Mode (LNM) is set. ------------------------------------------------------------ ------------------------------------------------------------ Note ------------------------------------------------------------ Other sequences or actions can set or modify the active position as a side effect. ------------------------------------------------------------ The units for many control functions are defined as lines or columns. A line is defined as one VAI. Therefore, VPR with a parameter value of 3 would modify the active vertical position by (3 * VAI). A column is defined as one 3-4 Page Coordinate System HAI. Therefore, HPR with a parameter value of 5 would modify the active horizontal position by (5 * HAI). 3.3 Bounds Before imaging a character, the device determines if the active position is legal, by testing to see if the character cell to be imaged is within the page coordinate system bounds. The page coordinate system bounds are also known as limit bounds or margins. A limit bound constrains the movement of the active position. The limit bounds are: · Top Margin Line · Bottom Margin Line · Left Margin Position · Right Margin Position Figure 3-1 illustrates the relationship of limit bounds to the page coordinate system. Page Coordinate System 3-5 Figure 3-1 Bounds in the Page Coordinate System 3.3.1 Left Margin Position The horizontal positioning control functions are constrained to keep the active position to the right of the Left Margin Position. If a control function attempts to move the active horizontal position to the left of the Left Margin Position, or attempts to set the Left Margin Position to the right of the active position, the active horizontal position is set to the Left Margin Position. 3.3.2 Right Margin Position The horizontal positioning control functions are constrained to allow text to be printed only to the left of the Right Margin Position. If a right margin violation occurs, the printer enters a state indicated in this document by a flag called the Right Margin Flag (RMF). 3-6 Page Coordinate System The Right Margin Flag is set under the following conditions: · A horizontal positioning control function attempts to exceed the right margin. · An attempt is made to image a character beyond the right margin. If text is received when the RMF is set and autowrap is enabled, the RMF is cleared, autowrap occurs, and the text is printed from the Left Margin Position on the next line. If the RMF is set and autowrap is disabled, the device ignores printable data and enters an error state. Use an absolute horizontal positioning command (for example, Carriage Return) to return the active position to a point where characters can be imaged. If a character is imaged that exactly fills the last position on a line, the device does not set the Right Margin Flag. Instead, the active horizontal position advances to the first value that exceeds the Right Margin Position. The character cell is entirely outside the Right Margin Position (column 81 when the right margin is set at 80). · If a Backspace (BS) is received, the active position moves backward to allow overstrike of the last character. · If autowrap is off and more graphic characters or Space (SP) are received, the device ignores the character and sets the Right Margin Flag. · If autowrap is on and more graphic characters or SP are received, autowrap occurs and the text is printed from the Left Margin Position on the next line. 3.3.3 Top Margin Line The vertical positioning control functions are constrained to keep the active position below or equal to the Top Margin Line. The only exception is Partial Line Up (PLU). If a vertical positioning command attempts to move the active vertical position above the Top Margin Line or an attempt is made to set the Top Margin Line below the current active position, the device sets the active vertical position to the Top Margin Line. PLU can set the active vertical position above the Top Margin Line. This allows superscripts on the first line. See Section 3.5. Form Feed (FF), whether explicit (caused by receipt of an FF control character) or implicit (caused by a wrap from the previous page or a conditional FF, for example) sets the active position to the Top Margin Line. Form Feed does not modify the active horizontal position. Page Coordinate System 3-7 3.3.4 Bottom Margin Line The vertical relative and absolute positioning control functions are constrained to keep the active position above or equal to the Bottom Margin Line. If a Vertical Position Absolute (VPA) or Vertical Position Relative (VPR) positioning command attempts to move the active position below the Bottom Margin Line, the device sets the active vertical position to the Bottom Margin Line. If any other vertical positioning command attempts to move the active position below the Bottom Margin Line or an attempt is made to set the Bottom Margin Line above the current active position, the device performs a Form Feed. Partial Line Down (PLD) can set the active position below the Bottom Margin Line. This allows subscripts on the bottom line. See Section 3.5. Whenever a character box exceeds the bottom margin, the device executes a Form Feed before it images the character. If, however, the Top Margin Line and the Bottom Margin Line are less than one character box apart, the device images one line that extends over the bottom margin, then wraps as usual. 3.4 Mapping Logical Page to Physical Sheet Software can define the logical page length using Set Lines per Physical Page (DECSLPP). The logical page size so defined is the basis for the page coordinate system described in this chapter. The physical sheet size is determined by one or all of the following input mechanisms (depending on the device capabilities and the input mechanism selected): · Horizontal Page Width Alignment (DECHPWA) · Page length user setup input · Page width user setup input -- same as width component of DECHPWA · Initial state values (see the Programming Supplement). If the paper that you insert into the machine does not match the physical sheet size, the alignment of the physical sheet onto the paper is device dependent. For example, if fanfold paper is installed that does not match the user setup page length selection, the device prints over the perforation. If the paper is narrower than the setup width selection, the device usually prints off the paper onto the platen. 3-8 Page Coordinate System The logical page length is determined by Set Lines per Physical Page (DECSLPP). There is no input mechanism for the logical page width, which is therefore always the same as the physical sheet width. The logical page size is constrained to be less than or equal to the physical sheet size on the device. 3.5 Partial Line Motion (PLU and PLD) Partial Line Up (PLU) and Partial Line Down (PLD) provide simple superscript and subscript capability by applying a vertical offset of 1/12 in. to the current font. The device counts current outstanding unmatched PLU and PLD sequences to determine the amount of motion for subsequent corresponding PLD and PLU sequences. The count is maintained for up to 255 unmatched PLU and PLD sequences. One PLU level is allowed beyond the top margin, and one PLD level is allowed below the bottom margin. The control functions and activities that reset the PLU/PLD count are listed in Table 3-2. 3.6 Side Effects of Positioning Controls Table 3-2 summarizes the vertical positioning controls and commands and their effect on the PLU/PLD count. Table 3-2 Side Effects of Vertical Positioning Controls ------------------------------------------------------------ Vertical Motion PLU/PLD Count ------------------------------------------------------------ Next Line (NEL) Reset Line Feed (LF) Reset Graphics New Line (DECGNL) Reset Form Feed (FF) Reset Vertical Position Absolute (VPA) Reset Vertical Position Relative (VPR) Reset Index (IND) Reset Partial Line Down (PLD) Modified Partial Line Up (PLU) Modified (continued on next page) Page Coordinate System 3-9 Table 3-2 (Cont.) Side Effects of Vertical Positioning Controls ------------------------------------------------------------ Vertical Motion PLU/PLD Count ------------------------------------------------------------ Vertical Tab (VT) Reset Autowrap Reset Conditional Form Feed Reset Set Top and Bottom Margins (DECSTBM) Reset ------------------------------------------------------------ For the horizontal components of Next Line (NEL) and Line Feed (LF) when Line Feed New Line Mode (LNM) is set, see Carriage Return (CR) in Table 3-3. Table 3-3 summarizes the horizontal positioning controls and commands and their effect on the Right Margin Flag (RMF). Table 3-3 Side Effects of Horizontal Positioning Controls ------------------------------------------------------------ Horizontal Motion Right Margin Flag ------------------------------------------------------------ Backspace (BS) Unchanged Carriage Return (CR) Cleared Horizontal Position Absolute (HPA) Cleared 1 Horizontal Position Relative (HPR) Unchanged 1 Horizontal Tab (HT) Unchanged 1 ------------------------------------------------------------ 1 If the resulting active position is to the right of the right margin, the RMF is then set. ------------------------------------------------------------ For the vertical component of CR when DECCRNLM is set, see LF in Table 3-2. 3.7 Tabs Tab stops are stored relative to the origin. If the origin is moved for any reason, for example, with Horizontal Page Width Alignment (DECHPWA), the tabs are moved relative to the paper, but remain unchanged with respect to the page coordinate system. Stored coordinate values remain the same. 3-10 Page Coordinate System A Vertical Tab (VT) control function causes the active position to advance to the next tab stop, even if the motion is less than the current line size. This can occur due to the action of Partial Line Up (PLU) or Partial Line Down (PLD). The only exception occurs when there is a bottom margin violation. Changes in horizontal pitch can affect print positions set by tab characters. Refer to the description of Set Horizontal Pitch (DECSHORP) in Chapter 7. 3.8 Conditional Form Feed A number of control functions, such as Soft Terminal Reset (DECSTR), implicitly ``complete'' a current page in process. This action is referred to as a conditional Form Feed. A conditional Form Feed causes a Form Feed (FF) if there has been a marking operation on the current page, or if the current active position is not line 1, column 1. Marking operations consist of printable characters or graphics. A page is considered marked by a printable character even when the graphic character has a blank glyph. In this context Space (SP) acts like a printable character. 3.9 Conditional Sheet Feed A number of control functions, such as Select Conformance Level (DECSCL), implicitly ``complete'' a current sheet in process. This action is referred to as a conditional Sheet Feed and is used to control the output on duplex page printers. On level 2 devices a conditional Sheet Feed is processed as a conditional Form Feed. Page Coordinate System 3-11 4 ------------------------------------------------------------ Fonts This chapter covers the following topics: · Character sets, Section 4.1 · Fonts, Section 4.2 · Font repertory, Section 4.3 · Font selection process, Section 4.4 4.1 Character Sets A graphic character set is a set of coded characters in which each character is specified by an abstract name or names that indicate the general appearance of the character, but are independent of the font or type design. Two graphic character sets are considered different sets even if only one character is different. Each character is given a code in the code table for that graphic character set. For example, the ASCII character set consists of 94 graphic characters. In the ASCII character set, the Exclamation Point is specified as 2/1, the Double Quotation Mark as 2/2, the Number Sign is specified as 2/3, and so on. (See Section 4.3.3 and Appendix A for further information on supported character sets.) 4.2 Fonts A font is the visual representation of characters, independent of graphic character sets. The description of a font consists of a single instance of typestyle and density. For example, the following would comprise a single font: Courier Letter quality Fonts 4-1 This font could be used for imaging the characters of the ASCII, DEC Supplemental, or other graphic character sets. The graphic character set specifies what character is to be imaged, and the font specifies how that character is to be imaged. A font may support many character sets, but has only one density and typestyle. Level 2 printers apply algorithms as necessary to provide attributes for emphasis, lining, and so on. 4.3 Font Repertory Each instance of a character set in a given combination of style and density is called a font file. It contains 94 or 96 character images, called glyphs. The font repertory of the device may include font files from the following sources: · Built-in fonts See the Programming Supplement for a list of built-in fonts. These fonts are coded as best suited to the internal design of the device. · Standard font cartridges available for the device. See Section 4.3.1 for information on font cartridge font files. · Font files developed by customers (Download Font -- DECDLD) See DECDLD in Chapter 7 for information on downloading font files. ------------------------------------------------------------ Note ------------------------------------------------------------ To determine whether a particular printer supports DECDLD (and thus has downloadable fonts capability), refer to the Digital ANSI- Compliant Printing Protocol Level 2 Programming Supplement. ------------------------------------------------------------ Regardless of the source, all font files are selected by specifying typestyle, density, and character set, as described in Section 4.4. 4.3.1 Font Cartridges Font cartridges are used to provide alternate typestyles, alternate character sets, or both for built-in fonts. In order to provide font files for imaging, a font cartridge supports font assignments to Select Graphic Rendition (SGR) font selection parameters. These assignments allow the default font assignments to be redefined to a cartridge-dependent value as part of printer initialization. 4-2 Fonts 4.3.2 Downloaded Fonts Each downloaded font file contains information identifying its density and character set, as well as an assignment to a Select Graphic Rendition (SGR) font selection parameter. This assignment allows the default font assignment to be redefined to a download-dependent value at the time of the download. See Download Font (DECDLD) in Chapter 7 for more information on the download process. ------------------------------------------------------------ Note ------------------------------------------------------------ To determine whether a particular printer supports DECDLD (and thus has downloadable fonts capability), refer to the Digital ANSI- Compliant Printing Protocol Level 2 Programming Supplement. ------------------------------------------------------------ 4.3.3 Supported Character Sets The printer supports font files with any valid character set designator, including 96-character graphic character sets, whether they are built in, downloaded, or provided with a cartridge. Refer to the the Programming Supplement for the character set repertory provided by the built-in fonts. Each font file includes a field that represents the designating escape sequence for the character set. ------------------------------------------------------------ Note ------------------------------------------------------------ This field should represent the actual designating escape sequence. Do not use the User Preference Supplemental Set designator (<) as a downloaded font file character set designator. ------------------------------------------------------------ See the Select Character Set (SCS) command in Chapter 7 for further information on character set designating escape sequences. See Download Font (DECDLD) in Chapter 7 for further information on downloading. The printer derives font files to support the National Replacement Character (NRC) sets defined in Section A.6. Font files for NRC sets are derived whenever an ASCII font file exists with either a DEC Supplemental or ISO Latin-1 Supplemental font file. If font files for both DEC Supplemental and ISO Latin-1 Supplemental exist, the ISO Latin-1 Supplemental font file is used. In either case, the font files to be paired must be identical in typestyle and density and must come from the same source. For example, both must be from the same cartridge or both must be built-in fonts. Fonts 4-3 The process of combining font files is called pairing. Pairing of NRC sets does not increase the number of glyphs; rather, the printer selects characters from two separate font files according to the NRC set definition. 4.4 Font Selection Process A font is selected after a series of evaluations and comparisons of each font file in the font dictionary (font file repertory) against a set of font selection criteria called the Current Font Definition. The font file required for character imaging can change every time any of the font selection criteria change. 4.4.1 Font Dictionary The printer supports a font dictionary, composed of the available font files from the font repertory, and a system to manage them. The font dictionary provides the list of available font files for selection algorithms to work on. Font files from the built-in fonts (main board ROM) and cartridge fonts are included in the font dictionary. Downline loaded font files are added to the font dictionary on receipt. The font dictionary can also contain fonts created by combining different font files together to construct a font file for a National Replacement Character (NRC) set. The font dictionary is initialized at startup for built-in fonts. Font cartridges are also detected at startup. Entries from the cartridges take precedence over built-in fonts. If several slots exist, entries from cartridge slot 1 take precedence over entries from cartridge slot 2, and so on. Downline loaded fonts have precedence over all other sources. 4.4.2 Current Font Definition (CFD) The collection of font selection criteria is referred to as the Current Font Definition, or CFD. The CFD consists of the following components: · Typestyle · Character set · Density The typestyle component is always defined by the active font selection parameter, Select Graphic Rendition (SGR) 10-19. 4-4 Fonts The character set component is taken from either the GL or GR character set, based on the character code. In either case, the GL and GR sets map to one of the G-sets (G0 . . . G3). The G-sets are associated to a character set as defined by Select Character Set (SCS) or the initial state. If the current G-set is defined as the User Preference Supplemental set, the character set defined by Assign User Preference Supplemental Set (DECAUPSS) or the initial state is referenced. Density is defined by Density Selection (DECDEN). 4.4.3 Font Selection and Fallbacks The device assigns the current font file based on the following order of priority: 1. Character set (highest) 2. Typestyle 3. Density (lowest) The device compares each font file in the font dictionary to the CFD, noting the files that satisfy the highest priority attribute. Among multiple files that satisfy equal priority levels, the device selects the files satisfying the next highest level, and so on. If the end result is a list of multiple font files, the device selects one font file according to the order of precedence given in Section 4.4.1. For example, if the DEC Technical character set and a cartridge typestyle are requested, and DEC Technical is not available in that cartridge typestyle, the device uses the built-in Courier DEC Technical. If ASCII Orator Draft is requested and only letter quality is available in the Orator typestyle, the device prints ASCII Orator letter quality (LQ). ------------------------------------------------------------ Note ------------------------------------------------------------ For any additional information on the font selection mechanism for a particular device, refer to the Digital ANSI- Compliant Printing Protocol Level 2 Programming Supplement. ------------------------------------------------------------ If a requested character set is not available at all, the device images the error character for each character from the set. This is known as a character set fault. Fonts 4-5 The error character is taken from the ASCII character set. The processing of 2/0 and 7/15 is based on the character set requested, not the fallback character set. For example, if a 96-character graphic character set is requested, 2/0 and 7/15 are imaged as the error character. 4-6 Fonts 5 ------------------------------------------------------------ Sixel Graphics This chapter describes the Sixel Graphics protocol. You use sixels to transmit and print black and white or color bitmap data to create a graphics image. This chapter covers the following topics: · Terminology and concepts -- Section 5.1 · Converting Sixel Graphics data for transmission -- Section 5.2 · Selecting Sixel Graphics mode -- Section 5.3 · Protocol structure -- Section 5.4 · Character processing in Sixel Graphics mode -- Section 5.5 · Graphics and text interactions -- Section 5.6 · Programming considerations -- Section 5.7 · Sixel control codes -- Section 5.8 5.1 Terminology and Concepts To print a graphics picture in Digital Sixel Graphics protocol, you send the picture to the device in bitmap form. The bitmap data for the picture, known as the raster, is divided into horizontal scan lines, each of which is six bitmap elements high. Before sending the data, you can define the horizontal and vertical spacing between elements. Small spacing provides a fine-grained picture. Larger spacing produces a coarse-grained picture, but requires less time to transmit. The bitmap elements that you send to the device are known as pixels. A pixel is the logical rectangular image area defined by each bit of graphics data that you send. Six pixels arranged vertically on the page and grouped together for transmission are known as a sixel. Sixels are in turn arranged into horizontal rows known as scan lines. Sixel Graphics 5-1 The positions on the page where the device places pixels is known as the grid. When you change the grid size using the parameters given in this chapter, you are changing the spacing (horizontally, vertically, or both) between adjacent pixels. The pixel aspect ratio is the ratio of the length of the pixel to its width. For example, a square pixel has an aspect ratio of 1 to 1 (or 100 to 100) and a pixel twice as high as wide has an aspect ratio of 2 to 1 (or 200 to 100). The actual area imaged for each pixel is known as a pixel-spot. The shape and size of a pixel-spot is device-dependent and may vary. Pixel-spots are, however, spaced to coincide with the grid size. Therefore, there may be overlap or white space between adjacent pixel-spots. The exact relationship between pixel-spot and grid size varies from device to device and from one set of parameters to the next on the same device. The smallest unit that can be displayed on a particular device is known as a dot. Dots can be round, oval, square, or rectangular, and small or large. A device may use several dots to represent a single pixel as a pixel-spot, and to ensure good coverage of an entire grid position. The data describing the image, including colors, grid size, pixel aspect ratio, and the encoded raster, is known as the picture data. The picture data does not include formatting information, such as position or actual size when printed. Within the picture data are sixel control codes that provide additional information beyond the encoded raster, such as line breaking. Figure 5-1 illustrates the relationship between sixels, pixels, and dots. Figure 5-1 Sixel Representation In the Sixel Graphics protocol the software sets the context and attributes for the pixels and then prints the sixels consecutively on adjacent grid positions. The device images sixels from left to right, top to bottom. 5-2 Sixel Graphics The graphics left margin marks the left edge of the picture. The graphics active position keeps track of the current grid position. Sixel Graphics mode is selected using the device control string shown in Figure 5-2. Upon entering Sixel Graphics mode, the device sets the graphics active position and graphics left margin as described in Section 5.6.1. After each sixel is printed, the graphics active position advances to the next horizontal grid position. A Graphics Carriage Return (DECGCR) control code or a Graphics Next Line (DECGNL) control code moves the graphics active position to the graphics left margin. In addition, a Graphics Next Line (DECGNL) control code moves the graphics active position down to the next scan line (six vertical grid positions below the current active position). See these control codes in Section 5.8 for further information. The String Terminator (ST) control character causes the device to exit Sixel Graphics mode and return to text mode. Other control characters may cause an abnormal termination of Sixel Graphics mode. See Table 2-2 for more information. 5.2 Converting Sixel Data Sixels are coded as 7-bit or 8-bit bytes. Each byte is represented in this document as an ASCII character code. When Sixel Graphics mode is selected, the device interprets the bytes as sixel data. The device processes printable sixel data as bits of information. A bit value of 1 means print the pixel. A bit value of 0 means do not print the pixel (leave a space). To create a byte of printable sixel data, first determine the sixel you want to print, as described in Section 5.5.1. Then add 3F hexadecimal to form a coded character between 3F and 7E hexadecimal. 5.3 Selecting Sixel Graphics Mode The device control string envelope defined by DEC PPL2 contains the graphics introducer and all graphics data. This envelope is initiated using the Device Control String introducer (DCS) control character and is terminated with the String Terminator (ST) control character. The following components make up the Device Control String for the sixel protocol: · String introducer · Protocol selector Sixel Graphics 5-3 · Picture data · String terminator Figure 5-2 shows the control string format. Figure 5-2 Sixel Graphics Device Control String (DCS) Envelope 5.4 Protocol Structure The structure of the Sixel Graphics protocol supports a layered system approach, whereby several independent processes define or interpret portions of the total data. Thus the size of an image can be described independently of the actual image definition. The primary data and command fields include: · Picture data -- This is the body of the protocol. Software that creates or edits the graphic picture uses the picture data part of the protocol, either with no formatting information or with default formatting information, to describe the graphics image. · Formatting information -- The protocol selector provides formatting information only. Page-composition software adds the formatting information to the picture data to define the size of the picture. 5.4.1 Protocol Selector -- Formatting Information The page composition software includes formatting information in the sixel protocol selector. The format of the protocol selector is: Ps1 ; Ps2 ; Pn3 q *** 3/11 *** 3/11 *** 7/1 5-4 Sixel Graphics 5.4.1.1 Ps1 Ps1 is a macro parameter that selects the horizontal grid size and pixel aspect ratio. These implicitly define the vertical grid size. Table 5-1 lists the Ps1 parameter macro values. These values are compatibile with devices that use a native grid size of 1/660 inch. Some devices may use slight variations of these grid sizes to provide high-quality approximations. See the Programming Supplement for the table that relates directly to a particular device. Table 5-1 Macro Parameter Selections ------------------------------------------------------------ Ps1 True Horiz. Grid Size (1/660 in.) Approx. Horiz. Grid Size (Centipoints) Aspect Ratio True Vert. Grid Size (Centipoints) ------------------------------------------------------------ 0 (default) 5 50 200:100 100 1 5 50 200:100 100 2 2 22 450:100 100 3 3 33 300:100 100 4 4 40 250:100 100 5 5 54 183:100 100 6 6 66 150:100 100 7 7 77 130:100 100 8 8 89 112:100 100 9 9 100 100:100 100 > 9 5 50 200:100 100 ------------------------------------------------------------ 5.4.1.2 Ps2 Ps2 selects a background color. The device ignores this parameter. Software can include Ps2 for compatibility with video devices. 5.4.1.3 Pn3 Pn3 selects the horizontal grid size explicitly, in decipoints (1/720 inch). Any value other than 0 overrides the Ps1 value for horizontal grid size. The maximum horizontal grid size is 99 decipoints. Sixel Graphics 5-5 Together, the Pn3 value and the pixel aspect ratio define the vertical grid size. The vertical grid size equals the horizontal grid size times the pixel aspect ratio. The pixel aspect ratio may be defined by Ps1 (Section 5.4.1.1) or the Set Raster Attributes sixel control code (see Table 5-3). The maximum value for the vertical grid size is 99,000 decipoints. These are the device-independent maximum values. Level 2 devices have a more limited range. See the Programming Supplement for Sixel Graphics mode fallbacks. 5.4.1.4 q -- Sixel Graphics Protocol Selector Final The character q identifies this protocol selector as the Sixel Graphics envelope and places the device in Sixel Graphics mode. 5.4.2 Picture Data Picture data includes sixel printable characters and sixel control codes. These are processed as defined in Section 5.5. 5.4.3 String Terminator The String Terminator (ST) control character is used to exit Sixel Graphics mode and return to text mode. 5.5 Character Processing in Sixel Graphics Mode Sixel printable characters and sixel control codes, including the aspect ratio, form the picture data. Sixel printable characters comprise the encoded graphics image raster. Sixel control codes further define how the device images the raster. 5.5.1 Sixel Printable Characters Characters in the range 3/15-7/14 are interpreted as sixel printable characters. The device subtracts the offset (3F hexadecimal) from the received code, assigning each of the remaining low-order six bits to a grid position. The six pixels are arranged vertically, as follows: Top pixel Bit 0 (LSB) Bit 1 Bit 2 Bit 3 Bit 4 Bottom pixel Bit 5 (MSB) 5-6 Sixel Graphics For example, if the device receives the character code 43 hexadecimal (01000011 binary), it subtracts the offset value (3F hexadecimal) from the code value. The resulting value of 4 maps into the scan line, as follows: MSB LSB 5 4 3 2 1 0 +---+---+---+---+---+---+ 4 = | 0 | 0 | 0 | 1 | 0 | 0 | +---+---+---+---+---+---+ Sixel: o (top --- LSB) o x o o o (bottom --- MSB) The letter ``x'' indicates a printed pixel-spot, and the letter ``o'' indicates an unprinted pixel-spot. Table 5-2 shows the printable dot patterns for a select group of representative character codes. Table 5-2 Printable Dot Patterns for Sixel Graphics Mode ------------------------------------------------------------ Character Hexadecimal Value Dot Pattern Action ------------------------------------------------------------ ? 3F o o o o o o Advance by a sixel space @ 40 x o o o o o Print only top pixel (continued on next page) Sixel Graphics 5-7 Table 5-2 (Cont.) Printable Dot Patterns for Sixel Graphics Mode ------------------------------------------------------------ Character Hexadecimal Value Dot Pattern Action ------------------------------------------------------------ A 41 o x o o o o Print second-from-top pixel y 79 o x o x x x Print second-from-top pixel and bottom three pixels ~ 7E x x x x x x Print one full column ------------------------------------------------------------ See also Section 2.5.4 for error handling. 5.5.2 Sixel Graphics Control Codes Sixel control codes provide further definition of the encoded graphics image raster, beyond that provided by the protocol selector, as well as line breaks and color information. Table 5-3 summarizes sixel control codes and functions. Specific sixel control codes (commands) consist of a code in the range 2/1-3/14 (except parameter characters 3/0-3/9 and the parameter separator 3/11), followed by zero or more parameters. Sixel commands are terminated by any non-parameter character. See Section 5.8 for details on each control code. 5-8 Sixel Graphics Table 5-3 Sixel Graphics Control Codes ------------------------------------------------------------ Name Abbreviation Code Function ------------------------------------------------------------ Set Raster Attributes DECGRA " 2/2 Sets raster attributes. Graphics Repeat Introducer DECGRI ! 2/1 Begins repeat sequence. Graphics Carriage Return DECGCR $ 2/4 Returns active position to graphics left margin. Graphics Next Line DECGNL - 2/13 Returns active position to graphics left margin and increments to next graphics line. Graphics Color Introducer DECGCI # 2/3 Specifies color. Monochrome devices ignore DECGCI. All sixel data is printed in black. Parameter Characters 0-9 3/0-3/9 Parameters. Parameter Separator ; 3/11 Separates parameters. ------------------------------------------------------------ Other codes in the range 2/1-3/14 are reserved for future use. 5.5.3 Parameters Sixel Graphics control codes are sometimes followed by one or more numeric parameters. Each parameter value is encoded as a decimal number using the characters in the range 0-9 (3/0-3/9). A numeric value is terminated by any non-digit value. 5.5.4 Parameter Separator The parameter separator (;) is used to separate a series of numeric parameters. If a number does not precede the separator, a value of zero is assumed. If a number does not follow the separator, a value of zero is assumed. 5.5.5 Exiting Sixel Graphics Mode To exit Sixel Graphics mode, use the String Terminator (ST) control character. Sixel Graphics 5-9 5.6 Sixel Graphics and Text Interactions Interactions between the Sixel Graphics protocol and text mode occur in the area of the active position and margins. 5.6.1 State upon Entering Sixel Graphics Mode Upon entering Sixel Graphics mode, the device sets the graphics horizontal active position to the text active horizontal position. The device sets the graphics vertical position so that the top dot of the first sixel falls 700 centipoints above the baseline of adjacent text. The device also sets the graphics left margin to the text active horizontal position. 5.6.2 Interaction with Text Margins There is no horizontal autowrap in Sixel Graphics mode. Sixels that extend beyond the right margin are ignored. The Graphics Carriage Return (DECGCR) sixel control code brings the horizontal position back to the graphics left margin, not the text left margin. If the bottom pixel would fall below the bottom margin, the device performs a Form Feed before printing the sixel (Section 3.3.3). 5.6.3 State After Exiting Sixel Graphics Mode After exiting Sixel Graphics mode, the device returns to text mode with the following conditions: · The text active horizontal position is the same as just before entering Sixel Graphics mode. · The text active vertical position is the same as the graphics active vertical position. As a result, the baseline of subsequent text is contiguous with a point 700 centipoints below the top pixel of the last sixel line. In addition, the first text mode vertical motion command (LF, VT, and so on) causes the device to advance to the next text mode line (get back on grid) before executing the vertical motion command. · All text attributes, font selections, pitches, margins, and so on are restored to the state that existed before the device entered Sixel Graphics mode. 5.7 Graphics Programming Considerations Because different devices have different native resolutions (dot sizes), be sure to take issues of compatibility and quality into account when determining the parameters of the protocol selector and the Set Raster Attributes (DECGRA) sixel control code. 5-10 Sixel Graphics 5.7.1 Parameter Usage and Interactions This section uses a generic Sixel Graphics envelope to explain the relationships and interactions between parameters, as follows: DCS Ps1 ; Ps2 ; Pn3 q " Pn4 ; Pn5 ; Pn6 ; Pn7 picture_data ST Ps1 A selective parameter that specifies horizontal grid size and aspect ratio. Ps1 is the only parameter recognized by older impact printers. Ps2 A selective parameter for background color. Digital printers ignore Ps2. However, software can include Ps2 for compatibility with video terminals. Pn3 A numeric parameter that specifies the horizontal grid size in centipoints. Pn3 overrides the horizontal grid size in Ps1. It does not override the aspect ratio. Pn4 and Pn5 Numeric parameters that together specify the aspect ratio. For example, 100;250 gives a 1:2.5 aspect ratio. These parameters override the aspect ratio defined by Ps1. To ensure maximum device-independence of the graphics image, specify the aspect ratio with Pn4 and Pn5 as well as Ps1 . Pn6 and Pn7 Numeric parameters that together specify the extent (size) of the picture in pixels. The device ignores Pn6 and Pn7. However, page composition software can include these parameters for compatibility with video terminals. 5.7.2 Compatibility Problems of device compatibility may occur if application programs use an incompatible graphics string for the grid size calculation. This is most likely when software is designed to be used without modification on level 3 devices as well as level 2 devices. See the Digital ANSI-Compliant Printing Protocol-- Level 3 Programming Reference Manual for suggestions for mixed-level programming. Level 2 devices do vary in their native resolutions. The fallbacks listed in this chapter allow the devices to maintain a relatively high degree of compatibility. Older level 2 devices, however (for example, the LA100), ignore Ps2-Pn7. When compatibility with older devices is desired, use Ps1 only, or use Ps1 along with equivalent values for Ps2-Pn7. Sixel Graphics 5-11 5.7.3 Quality Follow these suggestions to ensure highest graphics quality. · Ensure that the grid size is an integral number of dots. This helps eliminate beat frequencies or undesirable secondary patterns. Such patterns are especially noticeable in grey scale or cross-hatching. · Use lines at least two dots in thickness. Dots on some devices are irregular in shape. Depending on the orientation of the line, this can result in lines that vary in width. Increasing the thickness of the lines lessens this visual effect. 5.7.4 Compatibility or Quality There are tradeoffs in choosing between compatibility and quality. Choosing compatibility can force the device to emulate a grid size that is not a multiple of its native dot size, causing problems with print quality. This does, however, allow one figure to have a similar size and shape when printed on two very different devices. Choosing quality implies either of the following: · The page composition software calls the creating software with different parameters for different devices to get both the correct size and quality. · The page composition software adjusts the size of the image to find a match between the natural grid of the printer, the pixel aspect ratio, and the desired size. The page composition software controls the Sixel Graphics introducer (DCS through q). The creating software controls the picture data (the pixel aspect ratio, extent, and the actual sixels). 5.8 Sixel Control Codes This section describes each sixel control code in detail, organized as follows: Format Description Error Handling 5-12 Sixel Graphics DECGCI ( # ) -- Graphics Color Introducer ------------------------------------------------------------ DECGCI ( # ) -- Graphics Color Introducer Assigns a color to a color number or selects a predefined color number. Format # Pc ; Pu ; Px ; Py ; Pz 2/3 *** 3/11 *** 3/11 *** 3/11 *** 3/11 *** Description DECGCI parameters are as follows: ------------------------------------------------------------ Parameter Description ------------------------------------------------------------ Pc Color number parameter Pu Universal coordinate system selector Px System color coordinate Py System color coordinate Pz System color coordinate ------------------------------------------------------------ Pc indicates the color number (from 0-255) to be used for subsequent sixel data. Pu, Px, Py, and Pz indicate a specific color to be assigned to Pc. Up to 256 different color numbers can be assigned to different colors to make up a color map. Once the assignment has been made, Pc can be specified alone to select a color for printing. ------------------------------------------------------------ Note ------------------------------------------------------------ Color numbers remain assigned even after leaving and reentering Sixel Graphics mode. At power-up, Soft Terminal Reset (DECSTR), Select Conformance Level (DECSCL), and Reset to Initial State (RIS), the device assigns all color numbers to black. Upon entering Sixel Graphics mode, the device selects color 0. ------------------------------------------------------------ Monochrome devices ignore DECGCI. Any subsequent sixel data is printed in black. Sixel Graphics 5-13 DECGCI ( # ) -- Graphics Color Introducer Some devices support 64 colors. Others support only 8 colors. Both color systems are given in Table 5-4 and Table 5-5. To support 64 colors, the selected grid size must provide 4 dots per sixel. Otherwise the device chooses from an 8-color palette. Pu names the universal color coordinate system as follows: ------------------------------------------------------------ Value Coordinate System ------------------------------------------------------------ 1 HLS (hue/lightness/saturation) 2 RGB (red/green/blue) Other Ignore sequence ------------------------------------------------------------ Px ; Py ; Pz together select the color coordinates in the specified system, as follows: ------------------------------------------------------------ Meaning, Range if HLS Selected Meaning, Range if RGB Selected ------------------------------------------------------------ Px Hue angle, 0-360 Red, 0-100 Py Lightness, 0-100 Green, 0-100 Pz Saturation, 0-100 Blue, 0-100 ------------------------------------------------------------ HLS Color Map Table 5-4 defines the HLS color map. Table 5-4 HLS Color Map ------------------------------------------------------------ HLS Range 8-Color Map Designation 64-Color Map Designation ------------------------------------------------------------ For Saturation 0 and Hue 0-359 ------------------------------------------------------------ L = 0-24 Black Black L = 25-49 Black Dim grey L = 50-74 White Bright grey L = 75-100 White White (continued on next page) 5-14 Sixel Graphics DECGCI ( # ) -- Graphics Color Introducer Table 5-4 (Cont.) HLS Color Map ------------------------------------------------------------ HLS Range 8-Color Map Designation 64-Color Map Designation ------------------------------------------------------------ ------------------------------------------------------------ For Saturation 1-100 and Hue 0-359 ------------------------------------------------------------ L = 0-14 Black Black L = 86-100 White White ------------------------------------------------------------ For Lightness 15-28 and Saturation 1-100 ------------------------------------------------------------ H = 330-29 Blue Medium blue H = 30-89 Blue Violet H = 90-149 Red Indian red H = 150-209 Green Dark olive green H = 210-269 Green Dark green H = 270-329 Cyan Dark slate grey ------------------------------------------------------------ For Lightness 29-42 and Saturation 1-49 ------------------------------------------------------------ H = 300-59 Blue Cornflower blue H = 60-179 Magenta Salmon H = 180-299 Green Medium sea green ------------------------------------------------------------ For Lightness 29-42 and Saturation 50-100 ------------------------------------------------------------ H = 340-19 Cyan Navy blue H = 20-59 Blue Dark slate blue H = 60-99 Magenta Maroon H = 100-139 Red Firebrick H = 140-179 Yellow Sienna H = 180-219 Green Medium forest green H = 220-259 Green Forest green H = 260-299 Green Sea green H = 300-339 Cyan Steel blue (continued on next page) Sixel Graphics 5-15 DECGCI ( # ) -- Graphics Color Introducer Table 5-4 (Cont.) HLS Color Map ------------------------------------------------------------ HLS Range 8-Color Map Designation 64-Color Map Designation ------------------------------------------------------------ For Lightness 43-57 and Saturation 1-33 ------------------------------------------------------------ H = 360-119 Blue Violet blue H = 120-239 Yellow Khaki H = 240-359 Cyan Cadet blue ------------------------------------------------------------ For Lightness 43-57 and Saturation 34-66 ------------------------------------------------------------ H = 340-19 Cyan Medium blue H = 20-59 Blue Dark orchid H = 60-99 Magenta Violet red H = 100-139 Red Orange H = 140-179 Yellow Gold H = 180-219 Green Yellow green H = 220-259 Green Lime green H = 260-299 Cyan Medium aquamarine H = 300-339 Cyan Sky blue (continued on next page) 5-16 Sixel Graphics DECGCI ( # ) -- Graphics Color Introducer Table 5-4 (Cont.) HLS Color Map ------------------------------------------------------------ HLS Range 8-Color Map Designation 64-Color Map Designation ------------------------------------------------------------ ------------------------------------------------------------ For Lightness 43-57 and Saturation 67-100 ------------------------------------------------------------ H = 345-14 Blue Blue H = 15-44 Blue Medium slate blue H = 45-74 Magenta Magenta H = 75-104 Magenta Orange red H = 105-134 Red Red H = 135-164 Red Coral H = 165-194 Yellow Yellow H = 195-225 Green Medium spring green H = 225-254 Green Green H = 255-284 Green Spring green H = 285-314 Cyan Cyan H = 315-344 Cyan Slate blue ------------------------------------------------------------ For Lightness 58-71 and Saturation 1-49 ------------------------------------------------------------ H = 300-59 Cyan Light steel blue H = 60-179 Magenta Pink H = 180-299 Green Pale green (continued on next page) Sixel Graphics 5-17 DECGCI ( # ) -- Graphics Color Introducer Table 5-4 (Cont.) HLS Color Map ------------------------------------------------------------ HLS Range 8-Color Map Designation 64-Color Map Designation ------------------------------------------------------------ ------------------------------------------------------------ For Lightness 58-71 and Saturation 50-100 ------------------------------------------------------------ H = 360-39 Blue Medium orchid H = 40-79 Magenta Orchid H = 80-119 Magenta Medium violet red H = 120-159 Yellow Tan H = 160-199 Yellow Goldenrod H = 200-239 Green Green yellow H = 240-279 Cyan Aquamarine H = 280-319 Cyan Medium turquoise H = 320-359 Cyan Dark turquoise ------------------------------------------------------------ For Lightness 72-85 and Saturation 1-49 ------------------------------------------------------------ H = 360-119 Magenta Thistle H = 120-239 Yellow Wheat H = 240-359 Cyan Light blue ------------------------------------------------------------ For Lightness 72-85 and Saturation 50-100 ------------------------------------------------------------ H = 360-119 Magenta Plum H = 120-239 Yellow Medium goldenrod H = 240-359 Cyan Turquoise ------------------------------------------------------------ RGB Color Map RGB parameters range from 0-100. Table 5-5 shows the colors available for 8-color and 64-color devices. To transform the offset found in Table 5-5 into its RGB components, apply the following algorithm to the offset: C = Offset B1 = C mod 4 G1 = (C - B1) mod 16 R1 = (C - B1 - G1) mod 64 5-18 Sixel Graphics DECGCI ( # ) -- Graphics Color Introducer B = 25*B1 G = 25*G1/4 R = 25*R1/16 Example: C = Color 41 -- Khaki B1 = 41 mod 4 = 1 G1 = 40 mod 16 = 8 R1 = 32 mod 64 = 32 B = 25 * 1 = 25 G = 25 * 8/4 = 50 R = 25 * 32/16 = 50 x mod y is the remainder when x is divided by y. ------------------------------------------------------------ Note ------------------------------------------------------------ If you are writing an 8-color application, use the offsets for red, green, blue, yellow, magenta, and cyan from the 64-color table. Then, if your application is used on a 64-color device, the colors will still be as expected. ------------------------------------------------------------ Table 5-5 RGB Color Map ------------------------------------------------------------ Offset 8-Color Device 64-Color Device Offset 8-Color Device 64-Color Device ------------------------------------------------------------ 00 Black Black 01 Blue Medium blue 1 02 Cyan Navy blue 03 Blue Blue 04 Green Dark green 05 Cyan Dark slate grey 06 Cyan Steel blue 07 Cyan Slate blue 08 Green Forest green 09 Green Sea green 10 Cyan Cyan 11 Cyan Sky blue 12 Green Green 13 Green Spring green (continued on next page) Sixel Graphics 5-19 DECGCI ( # ) -- Graphics Color Introducer Table 5-5 (Cont.) RGB Color Map ------------------------------------------------------------ Offset 8-Color Device 64-Color Device Offset 8-Color Device 64-Color Device ------------------------------------------------------------ 14 Cyan Medium aquama- rine 15 Cyan Medium turquoise 16 Red Indian red 17 Blue Violet 18 Blue Dark slate blue 19 Blue Medium slate blue 20 Green Dark olive green 21 Black Dim grey 22 Blue Cornflower blue 23 Cyan Medium blue 2 24 Green Medium forest green 25 Green Medium sea green 26 Cyan Cadet blue 27 Cyan Dark turquoise 28 Green Medium spring green 29 Green Lime green 30 Cyan Aquamarine 31 Cyan Turquoise 32 Red Firebrick 33 Magenta Maroon 34 Magenta Magenta 35 Blue Dark orchid 36 Yellow Sienna 37 Magenta Salmon 38 Blue Violet blue 39 Blue Medium orchid 40 Yellow Yellow 41 Yellow Khaki 42 White Bright grey 43 Cyan Light steel blue 44 Green Yellow green 45 Green Green yellow 46 Green Pale green 47 Cyan Light blue 48 Red Red 49 Magenta Orange red 50 Magenta Violet red 51 Magenta Orchid 52 Red Coral 53 Red Orange 54 Magenta Medium violet red 55 Magenta Plum 56 Yellow Gold 57 Yellow Tan (continued on next page) 5-20 Sixel Graphics DECGCI ( # ) -- Graphics Color Introducer Table 5-5 (Cont.) RGB Color Map ------------------------------------------------------------ Offset 8-Color Device 64-Color Device Offset 8-Color Device 64-Color Device ------------------------------------------------------------ 58 Magenta Pink 59 Magenta Thistle 60 Yellow Goldenrod 61 Yellow Medium goldenrod 62 Yellow Wheat 63 White White ------------------------------------------------------------ Error Handling If HLS is selected, and hue, lightness, or saturation is omitted, a value of 0 is assumed. If lightness or saturation is greater than 100, the sequence is ignored. If hue is greater than 360, the sequence is ignored. If RGB is selected, and red, green, or blue is omitted, a value of 0 is assumed. If red, green, or blue is greater than 100, the sequence is ignored. Sixel Graphics 5-21 DECGCR ( $ ) -- Graphics Carriage Return ------------------------------------------------------------ DECGCR ( $ ) -- Graphics Carriage Return Moves the graphics active horizontal position to the graphics left margin. Format $ 2/4 Description DECGCR terminates a scan line. In order to optimize for throughput, the device may not print the scan line immediately. Depending on the current vertical grid size, the device may store multiple sixel lines before printing actually occurs. Carriage Return/New Line Mode (DECCRNLM) has no effect on DECGCR. 5-22 Sixel Graphics DECGNL ( - ) -- Graphics Next Line ------------------------------------------------------------ DECGNL ( - ) -- Graphics Next Line Moves the graphics active position to the graphics left margin and down one line of sixels (six actual grid units). Format - 2/13 Description In order to optimize for throughput, the printer may not perform the physical vertical advance immediately. Depending on the current vertical grid size, the device may store multiple sixel lines before printing actually occurs. See Section 3.3 for the interaction with the page coordinate system bounds. Sixel Graphics 5-23 DECGRA ( " ) -- Set Raster Attributes ------------------------------------------------------------ DECGRA ( " ) -- Set Raster Attributes Defines the pixel aspect ratio, overriding Ps1 of the protocol selector. DECGRA also defines the extent (size) of the raster. DEC PPL2 devices ignore the extent parameters. Format " Pn1 ; Pn2 ; Pn3 ; Pn4 2/2 *** 3/11 *** 3/11 *** 3/11 *** Description This command must precede all other picture data information. Otherwise, this command is ignored. ------------------------------------------------------------ Parameter Description ------------------------------------------------------------ Pn1 Pixel aspect ratio numerator Pn2 Pixel aspect ratio denominator Pn3 Horizontal extent Pn4 Vertical extent ------------------------------------------------------------ Pn1 describes the vertical size of a pixel in an arbitrary distance unit. Pn2 describes the horizontal size of a pixel in the same distance unit. For example, to define a pixel to be half as wide as it is tall, send 200 for Pn1 and 100 for Pn2. The pixel aspect ratio times the horizontal grid size (From Ps1 or Ps3 of the protocol selector) yields the vertical grid size. Pn3 and Pn4 define the horizontal and vertical extent, respectively, in pixels. Level 2 printers ignore these parameters. Page composition software can include these parameters for compatibility with video terminals. Error Handling If Pn1 or Pn2 is greater than 32K, the value 32K is used. If Pn1 or Pn2 is 0 or omitted, the device sets it to 1. The maximum aspect ratio supported is 1:10 or 10:1 (after reducing the ratio to the lowest possible format). The maximum parameter implemented for DECGRA is 999 (decimal). 5-24 Sixel Graphics DECGRA ( " ) -- Set Raster Attributes These maximum values may be further limited in some devices by the fallbacks table in the Programming Supplement. Any additional parameters received are ignored. If the Set Raster Attributes sequence is received after a sixel printable character, or another sixel control code is received, the command is ignored. Sixel Graphics 5-25 DECGRI ( ! ) -- Graphics Repeat Introducer ------------------------------------------------------------ DECGRI ( ! ) -- Graphics Repeat Introducer Repeats the sixel that follows the repeat introducer a specified number of times. Format ! Pn 2/1 *** Description The device repeats the sixel that follows the repeat introducer Pn times. The following examples illustrate repeat sequences: · ! 1 0 ? -- repeats 10 graphics spaces · ! 6 @ -- repeats 6 patterns of top dot Error Handling If the repeat count is zero or is omitted, it is treated as a repeat count of one. Values that exceed the maximum value are treated as the maximum value. See the ``Sixel Graphics'' Column of Table 2-2 for processing of codes 0/0-2 /0 received within a DECGRI sequence. ``Ignore'' indicates that the code is ignored and the repeat sequence is processed as though the code was not received. If a graphics control code is received within a DECGRI sequence, the repeat sequence is ignored. This includes control codes in the range 2/1-2/15, 3/10, and 3/12-3/14. If multiple parameters are received (separated by 3/11), the device uses the first parameter and ignores the rest. 5-26 Sixel Graphics 6 ------------------------------------------------------------ Control Characters This chapter discusses the following topics: · Control characters, Section 6.1 · C0 control characters, Section 6.2 · C1 control characters, Section 6.3 6.1 Control Characters Control characters generally are not printed but instead perform a control function or action. An exception is when Control Representation Mode (CRM) is set. See the description of CRM in Chapter 7. The three types of control characters are: · C0 control characters (0/0-1/15) · C1 control characters (8/0-9/15, or 7-bit equivalents) · Special characters (2/0, 7/15, 10/0, 15/15) See Section 2.4 for more information about processing special characters. See Table 2-2 for the interaction of all these control characters with escape sequences, control sequences, and control strings. 6.2 C0 Control Characters With the exception of Escape (ESC), Cancel (CAN), and Substitute (SUB), C0 control characters do not affect escape sequences, control sequences, or control strings. See Table 2-2 for further information. ACK (0/6) Acknowledge (ACK) is ignored. The use of ACK for communications flow control in serial devices is not part of DEC PPL2. Control Characters 6-1 BEL (0/7) Bell (BEL) causes the device to sound a bell or buzzer. See the Programming Supplement to determine the availability of BEL in a particular device. BS (0/8) Backspace (BS) moves the active horizontal position back one Horizontal Advance Increment (see Section 3.2.1). However, if the Right Margin Flag is set (the right margin has been exceeded), BS is ignored. See Section 3.3.1, Section 3.3.2, and Table 3-3 for the interaction of BS with other margins. CAN (1/8) Cancel (CAN) is ignored unless received in an escape sequence, control sequence, or control string, where it aborts the sequence or string in progress. See also Table 2-2. CR (0/13) Carriage Return (CR) sets the active horizontal position to the Left Margin Position. If Carriage Return/New Line Mode (DECCRNLM) is set, the device also moves down one Vertical Advance Increment (VAI). See Section 3.2.1. See Section 3.3 for the interaction with the coordinate system bounds. CR clears the Right Margin Flag. See Section 3.3.2 for further information. DC1 (1/1) (XON) Device Control 1 (DC1) is ignored. The use of DC1 for communications flow control in serial devices is not part of DEC PPL2. DC2 (1/2) Device Control 2 (DC2) is ignored. DC3 (1/3) (XOFF) Device Control 3 (DC3) is ignored. The use of DC3 for communications flow control in serial devices is not part of DEC PPL2. DC4 (1/4) Device Control 4 (DC4) is ignored. DLE (1/0) Data Link Escape (DLE) is ignored. EM (1/9) End of Medium (EM) is ignored. 6-2 Control Characters ENQ (0/5) Enquiry (ENQ) is ignored. The use of ENQ at the communications level in serial devices is not part of DEC PPL2. EOT (0/4) End of Transmission (EOT) is ignored. The use of EOT at the communications level in serial devices is not part of DEC PPL2. ESC (1/11) Escape (ESC) introduces an escape sequence. An ESC control character received in an escape sequence, control sequence, or control string aborts that sequence and begins a new escape sequence. See also Table 2-2. ETB (1/7) End of Transmission Block (ETB) is ignored. ETX (0/3) End of Text (ETX) is ignored. The use of ETX for communications flow control in serial devices is not part of DEC PPL2. FF (0/12) Form Feed (FF) indicates the end of the current page and beginning of the new page. Subsequent output is printed on the new page. The FF sets the active vertical position to the Top Margin Line. FF does not modify the active horizontal position. FF resets the PLU/PLD count. See Section 3.3 for the interaction with the coordinate system bounds. FS (1/12) File Separator (FS) is ignored. GS (1/13) Group Separator (GS) is ignored. HT (0/9) Horizontal Tab (HT) moves the active position to the next horizontal tab stop on the same line. If no tab stop exists to the right of the active horizontal position and within the right margin, HT moves to the right margin and sets the Right Margin Flag. See Section 3.3.2 for further information. LF (0/10) Line Feed (LF) moves the active vertical position down one Vertical Advance Increment (VAI). See Section 3.2.1. If Line Feed/New Line Mode (LNM) is set, the active horizontal position moves to the Left Margin Position. LF resets the Control Characters 6-3 PLU/PLD count. See Section 3.3 for the interaction with the coordinate system bounds. NAK (1/5) Negative Acknowledge (NAK) is ignored. NUL (0/0) Null (NUL) is ignored. The use of NUL for communications flow control in serial devices is not part of DEC PPL2. RS (1/14) Record Separator (RS) is ignored. SI (0/15) Shift In (SI), also named Locking Shift Zero (LS0), invokes character set G0 as the GL character set. SO (0/14) Shift Out (SO), also named Locking Shift One (LS1), invokes character set G1 as the GL character set. SOH (0/1) Start of Header (SOH) is ignored. STX (0/2) Start of Text (STX) is ignored. SUB (1/10) Substitute (SUB) in an escape or control sequence aborts the sequence in progress. SUB in a control string generally aborts the string in progress. See Table 2-2 for exceptions. SUB in printable text causes the error character (a reverse question mark) to be printed. SYN (1/6) Synchronous Idle (SYN) is ignored. US (1/15) Unit Separator (US) is ignored. VT (0/11) Vertical Tab (VT) moves the active position to the next vertical tab stop on the current page. If no tab exists between the active position and the bottom 6-4 Control Characters margin, VT moves to the bottom margin. VT resets the PLU/PLD count. See Section 3.3 for the interaction with the coordinate system bounds. 6.3 C1 Control Characters All C1 control characters abort any escape sequence, control sequence, or control string in progress. Refer to Table 2-2 for more information. C1 control characters can be represented by a 7-bit equivalent escape sequence. Refer to Table 2-1. APC (9/15) Application Program Command (APC) introduces an application program command control string. APC control strings are ignored. See Section 2.5.3.2. BPH (8/2) Break Permitted Here (BPH) aborts any escape sequence, control sequence, or control string in progress. BPH is otherwise ignored. CCH (9/4) Cancel Character (CCH) aborts any escape sequence, control sequence, or control string in progress. CCH is otherwise ignored. CSI (9/11) Control Sequence Introducer (CSI) introduces a control sequence. A CSI control character received in an escape sequence, control sequence, or control string aborts that sequence and begins a new control sequence. DCS (9/0) Device Control String (DCS) introduces a device control string. A DCS control character received in an escape sequence, control sequence, or control string aborts that sequence and begins a new device control string. EPA (9/7) End of Protected Area (EPA) aborts any escape sequence, control sequence, or control string in progress. EPA is otherwise ignored. ESA (8/7) End of Selected Area (ESA) aborts any escape sequence, control sequence, or control string in progress. ESA is otherwise ignored. HTJ (8/9) Horizontal Tab with Justification (HTJ) aborts any escape sequence, control sequence, or control string in progress. HTJ is otherwise ignored. Control Characters 6-5 HTS (8/8) Horizontal Tab Set (HTS) sets a horizontal tab stop at the active horizontal position. No change occurs if that position is already a tab stop. If the number of stored horizontal tabs is already at a maximum, the printer discards the highest tab stop (farthest to the right). If the new tab stop is the farthest to the right, it is discarded. IND (8/4) Index (IND) moves the active vertical position down one Vertical Advance Increment. See Section 3.2.1. IND resets the PLU/PLD count. See Section 3.3 for the interaction with the coordinate system bounds. MW (9/5) Message Waiting (MW) aborts any escape sequence, control sequence, or control string in progress. MW is otherwise ignored. NBH (8/3) No Break Here (NBH) aborts any escape sequence, control sequence, or control string in progress. NBH is otherwise ignored. NEL (8/5) Next Line (NEL) sets the active horizontal position to the Line Home Position and moves the active vertical position down one Vertical Advance Increment (VAI). See Section 3.2.1. NEL clears the Right Margin Flag and resets the PLU/PLD count. See Section 3.3 for the interaction with the coordinate system bounds. OSC (9/13) Operating System Command (OSC) introduces an Operating System Command control string. OSC control strings are ignored. See Section 2.5.3.2. PLD (8/11) Partial Line Down (PLD) moves the active vertical position downward by 1/12 inch. See Section 3.5 for further information. PLU (8/12) Partial Line Up (PLU) moves the active vertical position upward by 1/12 inch. See Section 3.5 for further information. PM (9/14) Privacy Message (PM) introduces a privacy message control string. PM control strings are ignored. See Section 2.5.3.2 for further information. 6-6 Control Characters PU1 (9/1) Private Use 1 (PU1) aborts any escape sequence, control sequence, or control string in progress. PU1 is otherwise ignored. PU2 (9/2) Private Use 2 (PU2) aborts any escape sequence, control sequence, or control string in progress. PU2 is otherwise ignored. RI (8/13) Reverse Index (RI) aborts any escape sequence, control sequence, or control string in progress. RI is otherwise ignored. SCI (8/3) Single Character Introducer (SCI) aborts any escape sequence, control sequence, or control string in progress. SCI is otherwise ignored. SOS (8/3) Start of String (SOS) aborts any escape sequence, control sequence, or control string in progress. SOS is otherwise ignored. SPA (9/6) Start of Protected Area (SPA) aborts any escape sequence, control sequence, or control string in progress. SPA is otherwise ignored. SS2 (8/14) Single Shift 2 (SS2) temporarily invokes character set G2 into GL to print one character. See also Section 2.5.4. SS3 (8/15) Single Shift 3 (SS3) temporarily invokes character set G3 into GL to print one character. See also Section 2.5.4. SSA (8/6) Start of Selected Area (SSA) aborts any escape sequence, control sequence, or control string in progress. SSA is otherwise ignored. ST (9/12) String Terminator (ST) indicates the end of a control string. See Section 2.5.3 for further information. STS (9/3) Set Transmit State (STS) aborts any escape sequence, control sequence, or control string in progress. STS is otherwise ignored. Control Characters 6-7 VTS (8/10) Vertical Tab Set (VTS) sets a vertical tab stop at the active vertical position. No change occurs if that position is already a vertical tab stop. If the number of stored vertical tabs is already at a maximum, the printer discards the highest tab stop (farthest down on the page). If the new tab stop is the farthest down, it is discarded. 8/0, 8/1, and 9/9 These positions in the 8-bit code table are reserved for future use. They abort any escape sequence, control sequence, or any control string in progress. They are otherwise ignored. 6-8 Control Characters 7 ------------------------------------------------------------ Command Dictionary This chapter describes each command in detail, organized as follows: Format Description Side Effects Error Handling Notes to Software If no side effects, error handling, or software information exists for a command, no special side effects or error handling need to be considered. The command dictionary also includes information on where commands should be generated (Source) and for which type of device they are intended (Destination). · Command sources include Symbiont and Application. See Section 1.3 for more information on Symbiont and Application sources. · Command destinations include levels 1, 2, and 3. Level 3 commands can be used only on a level 3 device. Level 1 or 2 commands can also be used on a level 3 device. · Certain commands are referred to as deprecated. These commands are included only for backwards compatibility and are not recommended for new software. · Commands that are labeled Extension are considered extensions to the protocol and may not be available on every device. · Commands labeled Exception have a special use. For example, they may be used in debugging programs or they may be device-specific. See Chapter 1 for more information on printer levels. Command Dictionary 7-1 Some sequences are sent from the device to the host. In this case, the device is the source and the application or symbiont is the destination. ------------------------------------------------------------ Notes ------------------------------------------------------------ See the Programming Supplement to determine which extensions and exceptions are supported by a particular device. Information on side effects and error handling is included here for completeness and clarification. However, error handling may vary from device to device. Do not depend on side effects or error handling conditions. Most devices have a user setup feature, often performed using keyswitches on the front panel, which allows the user to customize the device. In some cases the setup values interact in various ways with the commands in this chapter. See the Programming Supplement for more information. ------------------------------------------------------------ The following command summaries are provided for your convenience: · Table 7-1, Commands Listed by Function · Table 7-9, ESC Sequences Sorted by Final Character · Table 7-10, Control Sequences Sorted by Final Character · Table 7-11, DCS Strings Sorted by Final Character Table 7-1 provides a short summary of commands, grouped by function. Table 7-1 Commands Listed by Function ------------------------------------------------------------ Sheet Size and Margins ------------------------------------------------------------ DECHPWA Set Page Width Alignment DECSLPP Set Lines per Physical Page DECSLRM Set Left and Right Margins DECSTBM Set Top and Bottom Margins (continued on next page) 7-2 Command Dictionary Table 7-1 (Cont.) Commands Listed by Function ------------------------------------------------------------ Explicit Cursor Movement ------------------------------------------------------------ HPA Horizontal Position Absolute HPR Horizontal Position Relative VPA Vertical Position Absolute VPR Vertical Position Relative ------------------------------------------------------------ Type Size and Spacing, Managing Implicit Cursor Motion ------------------------------------------------------------ DECAWM Autowrap Mode DECCRNLM Carriage Return/New Line Mode DECSHORP Set Horizontal Pitch DECVERP Set Vertical Pitch LNM Line Feed/New Line Mode ------------------------------------------------------------ Font Management and Attribute Selection ------------------------------------------------------------ SGR Select Graphic Rendition - Selecting Fonts SGR Select Graphic Rendition - Selecting Attributes DECDLD Download Font ------------------------------------------------------------ Tabs ------------------------------------------------------------ DECCAHT Clear All Horizontal Tabs DECCAVT Clear All Vertical Tabs DECHTS Horizontal Tab Set DECSHTS Set Horizontal Tab Stops DECSVTS Set Vertical Tab Stops DECVTS Vertical Tab Set TBC Tab Clear (continued on next page) Command Dictionary 7-3 Table 7-1 (Cont.) Commands Listed by Function ------------------------------------------------------------ ------------------------------------------------------------ Character Set Selection ------------------------------------------------------------ ASCEF Announce Subset of Code Extension Facilities DECAUPSS Assign User Preference Supplemental Set LS*/LS*R/SS* Locking and Single Shifts SCS Select Character Set ------------------------------------------------------------ Reports ------------------------------------------------------------ DA Device Attributes DAR Device Attributes Report DA2 Secondary Device Attributes DA2R Secondary Device Attributes Report DECFSR Font Status Report DECRFS Request Font Status DSR Device Status Request DSR Device Status Report ------------------------------------------------------------ Explicit Resets ------------------------------------------------------------ DECSCL Select Conformance Level DECSTR Soft Terminal Reset RIS Reset to Initial State ------------------------------------------------------------ Emulations ------------------------------------------------------------ DECIPEM IBM Proprinter Emulation Mode ROCS Return from Other Coding System SOCS Select Other Coding System (continued on next page) 7-4 Command Dictionary Table 7-1 (Cont.) Commands Listed by Function ------------------------------------------------------------ ------------------------------------------------------------ Miscellaneous ------------------------------------------------------------ CRM Control Representation Mode DECASFC Automatic Sheet Feeder Control DECSBCA Select Bar Code Attributes DECBAR Start or Stop Bar Codes DECDEN Density Selection DECAC1 Accept C1 Control Codes DECTC1 Truncate C1 Control Codes DECUPM Unidirectional Print Mode ------------------------------------------------------------ Command Dictionary 7-5 ASCEF -- Announce Subset of Code Extension Facilities ------------------------------------------------------------ ASCEF -- Announce Subset of Code Extension Facilities Indicates which subset of code extension facilities or what level of ISO 4873 is used for subsequent exchanges of information. These three control functions are macros that incorporate the effects of Select Character Set (SCS) and Locking Shift (LS) commands. Source: Application Destination: Levels 1, 2, 3 Format ESC SP L 1/11 2/0 4/12 ISO 4873, level 1. ESC SP M 1/11 2/0 4/13 ISO 4873, level 2. ESC SP N 1/11 2/0 4/14 ISO 4873, level 3. Description Level 1 and level 2 result in the following settings: · ASCII designated into G0 and invoked into GL · ISO Latin-1 Supplemental designated into G1 and invoked into GR Level 3 results in the following settings: · ASCII designated into G0 and invoked into GL Refer to Section 2.2.1 for more information on invoking and designating character sets. ------------------------------------------------------------ Note ------------------------------------------------------------ The levels referred to here are ISO 4873 standard levels. They have no relationship to the Digital ANSI-Compliant Printing Protocol levels described in Section 1.1. ------------------------------------------------------------ 7-6 Command Dictionary CRM -- Control Representation Mode ------------------------------------------------------------ CRM -- Control Representation Mode Enters or exits a mode in which the device prints a graphic token for each byte. In this mode, the device does not act upon most control characters. Source: Application, Symbiont Destination: Exception -- use at any level for debugging software Format CSI 3 h 9/11 3/3 6/8 Set Control Representation mode. CSI 3 l 9/11 3/3 6/12 Reset Control Representation mode. Description ------------------------------------------------------------ Note ------------------------------------------------------------ For any details on the CRM output for a particular device, refer to the Digital ANSI- Compliant Printing Protocol Level 2 Programming Supplement. ------------------------------------------------------------ When Control Representation mode is set, the device does not act on control or special characters, with the following exceptions: · Line Feed (LF) is printed as , then executes a Carriage Return/Line Feed. · Form Feed (FF) is printed as , then executes a Form Feed. · The Control Representation Mode reset command is printed as 3 l, then executes an exit from CRM. Autowrap mode is in effect while CRM is set. On exiting CRM, Autowrap mode is restored to its previous state. All Select Graphic Rendition (SGR) attributes are turned off while CRM is set. On exiting CRM, SGR attributes are restored to their previous state. Control Representation mode does not affect imaging of printable characters. They are imaged from GL/GR as is normal, using the current character set selections. Command Dictionary 7-7 CRM -- Control Representation Mode Control and special characters are imaged in bold, using the appropriate two- or three-letter acronym from Chapter 6, in angle brackets. For example, . Those characters that have no acronym are printed in hexadecimal. For example, 8/0 is imaged as . Some control characters may be intercepted by the communication interface and may not be available for CRM. See the Programming Supplement for the interaction with setup or the front panel, if any. Notes to Software Use CRM only when debugging software. CRM in some devices may reset states or variables other than those mentioned above. CRM may be set by alternate methods at the physical device. In such cases, the CRM reset command does not disable CRM. Also, the manually invoked CRM may cause a power-up reset of the device. 7-8 Command Dictionary DA -- Device Attributes ------------------------------------------------------------ DA -- Device Attributes Requests the device product identification. Source: Symbiont Destination: Levels 1, 2, 3 Format CSI Ps c 9/11 *** 6/3 Ps (if present) must equal 0. Description The device responds to the DA command by sending a Device Attributes Report (DAR). There are two types of Device Attributes Reports: generic and alias. The generic DAR reports the protocol level of the device. The alias DAR is used to mimic an older printer for compatibility. See also DAR in this chapter. See the Programming Supplement for a list of alias responses (if any) and for configuration information. Error Handling If Ps is present and has a value other than 0, the device ignores the command. Notes to Software Use DA (generic response) for normal symbiont inquiries and forward compatibility. Use DA (alias response) for backwards compatibility with older devices. It is recommended that you send this command with no parameter. Although the DEC PPL2 parsing rules allow a parameter in any control sequence, this command is traditionally sent without one. Command Dictionary 7-9 DAR (generic response) -- Device Attributes Report ------------------------------------------------------------ DAR (generic response) -- Device Attributes Report Response to a symbiont request for a Device Attributes (DA) report. Source: Device Destination: Symbiont Format ESC [ ? Ps1 ; Ps2 ; . . . ; Psn c 1/11 5/11 3/15 *** 3/11 *** 3/11 . . . 3/11 *** 6/3 Description The device sends this command when set to the generic response. The device may be set to use the alias response. See DAR (alias response) in this chapter. See the Programming Supplement for configuration information. Ps1 = 72 Ps2-Psn describe the implemented extensions to DEC PPL2. See Chapter 1 for an explanation of extensions. Table 7-2 contains a list of possible extensions. See the Programming Supplement for the extensions supported by a particular device. Table 7-2 Extension Parameters for Generic Primary DA Response ------------------------------------------------------------ Parameter ------------------------------------------------------------ Minimum Level Protocol Extension ------------------------------------------------------------ 3/1 1 1 Color 3/4 4 1 Sixel Graphics 3/5 5 1 Katakana character set 3/6 6 1 Sheet feeder 3/7 7 2 Dynamically redefinable character sets (Downloaded fonts, DECDLD) (continued on next page) 7-10 Command Dictionary DAR (generic response) -- Device Attributes Report Table 7-2 (Cont.) Extension Parameters for Generic Primary DA Response ------------------------------------------------------------ Parameter ------------------------------------------------------------ Minimum Level Protocol Extension ------------------------------------------------------------ 3/1 3/2 12 1 Hebrew character sets 3/2 3/3 23 2 Metric line-spacing parameters 3/2 3/4 24 2 Greek character sets 3/2 3/5 25 2 Cyrillic character sets 3/2 3/6 26 2 Turkish character sets ------------------------------------------------------------ The response depends on the configuration. The reply to the DA request is sent to the host only after all preceding data (except DSR) has been processed. This provides host software with a mechanism for synchronization. Notes to Software Ps1 indicates the highest conformance level supported by the device. Level 3 devices support level 2 control functions, so software written for level 2 devices should accept the level 3 response (Ps1 = 73). For forward compatibility, all software should accept all higher Ps1 responses, even those above level 3, up to and including 79. It is recommended that all new software use the device set to generic response. When values are not returned, they are left out of the response entirely (that is, there are not any blanks indicated by semicolons). However, software should always accept blank parameters. The device sends parameters in ascending order. However, software should accept the parameters in any order. Command Dictionary 7-11 DAR (alias response) -- Device Attributes Report ------------------------------------------------------------ DAR (alias response) -- Device Attributes Report Response to a symbiont request for a Device Attributes (DA) Report. See the Programming Supplement for the list of alias responses supported by the device. Source: Device Destination: Symbiont Format ESC [ ? Ps1 ; Ps2 ; . . . ; Psn c 1/11 5/11 3/15 *** 3/11 *** 3/11 . . . 3/11 *** 6/3 Description The device sends this sequence when set to the alias response. The device may be set to use the generic response. See the Programming Supplement for configuration information and for the alias responses supported by the device. The reply to the DA request is sent to the host only after all preceding data (except DSR) has been processed. This provides host software with a mechanism for synchronization. 7-12 Command Dictionary DA2 -- Secondary Device Attributes ------------------------------------------------------------ DA2 -- Secondary Device Attributes Requests a Secondary Device Attributes Report (DA2R). DA2R contains device- and version-specific product information. Source: Symbiont Destination: Levels 1, 2, 3 Format CSI > Ps c 9/11 3/14 *** 6/3 Ps (if present) must equal 0. Description The device responds to the DA2 request by sending a Secondary Device Attributes Report (DA2R). Error Handling If Ps is present and has a value other than 0, the device ignores the command. Notes to Software This command should be used only by diagnostic programs or specialized symbionts. Use DA (generic response) for normal symbiont inquiries and forward compatibility. Use DA (alias response) for backwards compatibility with older devices. Command Dictionary 7-13 DA2R -- Secondary Device Attributes Report ------------------------------------------------------------ DA2R -- Secondary Device Attributes Report Response to a request for a Secondary Device Attributes Report. Source: Device Destination: Symbiont Format ESC [ > Ps1 ; Ps2 c 1/11 5/11 3/14 *** 3/11 *** 6/3 Description The selective parameters are as follows: ------------------------------------------------------------ Ps Meaning ------------------------------------------------------------ Ps1 A device-specific value indicating the model of the device. See the Programming Supplement. Ps2 Firmware revision level times 10. V1.0 would be encoded as 10, and V1.1 would be encoded as 11. ------------------------------------------------------------ Additional selective parameters may be present in the report, indicating minor revision levels or device-specific hardware options. Refer to the Programming Supplement for more information. 7-14 Command Dictionary DECAC1 -- Accept C1 Control Characters ------------------------------------------------------------ DECAC1 -- Accept C1 Control Characters Instructs the device to accept 8-bit C1 control characters. Source: Symbiont Destination: Level 2, 3 Format ESC SP 7 1/11 2/0 3/7 Description For all subsequent characters, the device processes 2-character sequences as shown in the ``7-Bit Equivalent Sequence'' column and 8-Bit C1 control characters as shown in the ``8-Bit Column/Row'' column of Table 2-1. This sequence is processed in sequence with all other data. Therefore, it is recommended that software send this sequence before all other commands to prevent confusion. If the device is set to 7 data bits through a setup feature or the front panel, this sequence is ignored. See also Truncate C1 Control Characters (DECTC1) in this chapter. Command Dictionary 7-15 DECASFC -- Automatic Sheet Feeder Control ------------------------------------------------------------ DECASFC -- Automatic Sheet Feeder Control Selects the specified paper tray position and performs a conditional Sheet Feed on a multiple-tray printer. On devices with only one input tray, DECASFC performs a conditional Sheet Feed. Source: Symbiont Destination: Levels 1, 2, 3 Extension Format CSI Ps ! v 9/11 *** 2/1 7/6 Description Selective parameters for DECASFC are as follows: ------------------------------------------------------------ Ps Action ------------------------------------------------------------ 0 No tray position change. 1 Tray position 1. 2 Tray position 2. 3 Tray position 3. n Tray position n. 99 Manual feed. ------------------------------------------------------------ This command causes a conditional Sheet Feed, even when the tray requested is already selected. The device feeds subsequent sheets from the indicated tray position. See the Programming Supplement for further information on input trays. Side Effects The device performs a conditional Sheet Feed for any valid Ps, whether or not the device recognizes it. Error Handling If an unsupported parameter is received, it is treated as Ps = 0. See the Programming Supplement for error handling when the physical sheet size does not match the logical page size. 7-16 Command Dictionary DECAUPSS -- Assign User Preference Supplemental Set ------------------------------------------------------------ DECAUPSS -- Assign User Preference Supplemental Set Assigns a particular character set to the User Preference Supplemental set. This becomes the character set designated by the final character of the User Preference Supplemental character set when used in a Select Character Set (SCS) sequence. Source: Symbiont Destination: Levels 1, 2, 3 Format DCS Ps ! u D . . . D ST 9/0 *** 2/1 7/5 * . . . * 9/12 Description Ps indicates whether the User Preference Supplemental set is a 94-character or a 96-character set: ------------------------------------------------------------ Ps Meaning ------------------------------------------------------------ 0 94-character set. 1 96-character set. ------------------------------------------------------------ D . . . D is a string containing the intermediate and final characters of the designating sequence used explicitly to select the User Preference Supplemental character set. See SCS in this chapter for a list of intermediate and final characters. To assign DEC Supplemental as the User Preference Supplemental character set, use the following DECAUPSS command: DCS 0 ! u %5 ST To assign ISO Latin-1 Supplemental as the User Preference Supplemental set, use the following DECAUPSS command: DCS 1 ! u A ST To use the User Preference Supplemental set, see User Preference under SCS. Command Dictionary 7-17 DECAUPSS -- Assign User Preference Supplemental Set The supported character sets are shown in Table 7-3: Table 7-3 User Preference Supplemental Character Sets ------------------------------------------------------------ Character Set Ps ------------------------------------------------------------ DEC Supplemental 0 ISO Latin-1 Supplemental 1 DEC 8-Bit Hebrew Supplemental 0 ISO Latin-Hebrew Supplemental 1 DEC Technical 0 ISO Latin-Greek Supplemental 1 DEC Greek Supplemental 0 ------------------------------------------------------------ Error Handling If Ps is an unsupported value, the command is ignored. If Ps does not match the available character sets for a particular device, refer to the Digital ANSI-Compliant Printing Protocol Level 2 Programming Supplement for any additional information. If the character set is not available when an imaging function is attempted, the device follows the action taken on a character set fault. See Section 4.4.3 for more information on character set faults. 7-18 Command Dictionary DECAWM -- Autowrap Mode ------------------------------------------------------------ DECAWM -- Autowrap Mode Instructs the device whether to execute an automatic Carriage Return/Line Feed when the active position exceeds the right margin. Source: Application Destination: Level 2 Format CSI ? 7 h 9/11 3/15 3/7 6/8 Set Autowrap mode. CSI ? 7 l 9/11 3/15 3/7 6/12 Reset Autowrap mode. Description When DECAWM is set and the active position is beyond the right margin, printable characters that follow are printed on the next line beginning at the left margin. When DECAWM is reset, all printable characters received beyond the right margin are ignored (truncated). See Section 3.3.2 for more details about actions at the right margin. The device always autowraps when Control Representation mode is set. Side Effects Setting Autowrap mode may cause the device to generate extra line feeds which may, in turn, cause a wrap to the next page. Command Dictionary 7-19 DECBAR -- Start or Stop Bar Codes ------------------------------------------------------------ DECBAR -- Start or Stop Bar Codes Enables and disables bar code printing defined by the last Select Bar Code Attributes (DECSBCA) sequence. Some devices do not support bar codes. See the Programming Supplement. Source: Application Destination: Level 2, 3 Exception Format ESC % SP 0 1/11 2/5 2/0 3/0 Start bar code. ESC % @ 1/11 2/5 4/0 Stop bar code. Description Bar code attributes are defined by the last Select Bar Code Attributes (DECSBCA) sequence, which is used to select the bar code encoding system (bar code style). For the list of bar code styles provided by a particular printer, refer to the Digital ANSI-Compliant Printing Protocol Level 2 Programming Supplement. If human-readable characters are selected, the Start code, the Stop code, and the Center code (if any) as well as all bar code characters have human-readable characters printed beneath the bar code. See the Programming Supplement for details on human-readable character attributes. While bar code imaging is enabled, any printable character not considered part of the selected bar code system is ignored. All control characters are also ignored, except the following: · Escape (ESC) -- abort bar code sequence, enter regular text mode, and process the ESC · Cancel (CAN) -- abort bar code sequence, enter regular text mode, and process the CAN · Substitute (SUB) -- abort bar code sequence, enter regular text mode, and process the SUB For any details on how a particular device processes control codes while bar code imaging is enabled, refer to the Programming Supplement. 7-20 Command Dictionary DECBAR -- Start or Stop Bar Codes Only 7-bit characters are processed. If an 8-bit character is received, the printer strips the eighth bit and processes the character as a 7-bit character. The Start Bar Code command is coded similar to the Select Other Coding System (SOCS) command. The Stop Bar Code command is coded the same as the Return from Other Coding System (ROCS) command. However, the bar code commands function as described here, not as described under SOCS and ROCS. Error Handling Bar codes that extend beyond the margins are truncated, regardless of the setting of Autowrap mode. Notes to Software To print a bar code of an arbitrary height, repeat the bar code start, data, and stop on consecutive lines, as follows: ESC # SP 0 barcode_data ESC # @ ESC # SP 0 barcode_data ESC # @ ESC # SP 0 barcode_data ESC # @ ESC # SP 0 barcode_data ESC # @ ESC # SP 0 barcode_data ESC # @ For any information on a particular device's capability for using the DECSBCA command to set bar code height, refer to the Digital ANSI-Compliant Printing Protocol Level 2 Programming Supplement. To print human-readable characters, send a new DECSBCA command before the last line of bar codes. Command Dictionary 7-21 DECCAHT -- Clear All Horizontal Tabs ------------------------------------------------------------ DECCAHT -- Clear All Horizontal Tabs Clears horizontal tab stops. Source: Application (deprecated command) Destination: Level 2 Format ESC 2 1/11 3/2 Description See Tab Clear (TBC) with Ps = 2. Notes to Software This command is included for backwards compatibility with older devices. Conforming software should not use this command. 7-22 Command Dictionary DECCAVT -- Clear All Vertical Tabs ------------------------------------------------------------ DECCAVT -- Clear All Vertical Tabs Clears vertical tab stops. Source: Application (deprecated command) Destination: Level 2 Format ESC 4 1/11 3/4 Description See Tab Clear (TBC) with Ps = 4. Notes to Software This command is included for backwards compatibility with older devices. Conforming software should not use this command. Command Dictionary 7-23 DECCRNLM -- Carriage Return /New Line Mode ------------------------------------------------------------ DECCRNLM -- Carriage Return /New Line Mode Instructs the device whether to perform a Line Feed (LF) upon receipt of a Carriage Return (CR). Source: Symbiont Destination: Levels 2, 3 Format CSI ? 4 0 h 9/11 3/15 3/4 3/0 6/8 Set -- CR acts as New Line. CSI ? 4 0 l 9/11 3/15 3/4 3/0 6/12 Reset -- CR acts as Carriage Return. Description If DECCRNLM is set and a CR is received, the active position advances to the left margin of the next line. If DECCRNLM is reset and a CR is received, the active position returns to the left margin of the current line. See Section 2.5.2.3 for information about parsing this command with multiple parameters. Notes to Software Symbionts developed by Digital handle record terminators without using Carriage Return/New Line Mode. This command is available for third-party symbionts. 7-24 Command Dictionary DECDEN -- Density Selection ------------------------------------------------------------ DECDEN -- Density Selection Selects print density. Source: Application Destination: Level 2 Format CSI Ps " z 9/11 *** 2/2 7/10 Description The selective parameters for DECDEN are as follows: ------------------------------------------------------------ Ps Selection ------------------------------------------------------------ 0 Selects draft print density (highest speed). 1 Selects draft print density (highest speed). 2 Selects letter-quality print density (highest quality). 3 Selects memo print density. 4 Selects near letter-quality print density. ------------------------------------------------------------ Not all densities may be present in all devices. See the Programming Supplement for the densities available in a particular device, fallbacks for those that are not available, and interaction with front panel or setup, if any. Error Handling All other parameter values are ignored. Command Dictionary 7-25 DECDLD -- Download Font ------------------------------------------------------------ DECDLD -- Download Font Loads a font file description into the device, which can be subsequently designated and invoked as a resident character set or typestyle. Some devices do not support downloaded fonts. See the Programming Supplement. Source: Application Destination: Level 2 Extension Format DCS Pfn ; Pcn ; Pe ; Pcmw ; Pss ; Pu ; Pcmh ; Pcss ; Psgr { D . . . D ST 9/0 Parameter String . . . 7/11 * . . . * 9/12 Description Use DECDLD to download font buffers from the host. The DECDLD command contains a sequence of binary data in sixel format which defines the glyphs of the font file. Using the DECDLD control string, you can downline load one or more characters of a specified 94-character or 96-character font file with a specified dot pattern. D . . . D also contains the designating intermediate and final characters for the character set being downloaded. These are in the form I 2 I 3 F, identical to the format used by Select Character Set (SCS). Once the font file has been loaded, you may designate it to any of the four G-sets (G0, G1, G2, or G3) and invoke it into either GL or GR using the sequences for designating and invoking character sets listed in this chapter. See also SCS, Locking and Single Shifts (LS*/LS*R/SS*), and Assign User Preference Supplemental Set (DECAUPSS) in this chapter. Every downloaded font must be assigned a Select Graphic Rendition (SGR) number. The device uses the SGR number to identify the typestyle of the downloaded font. You may include an SGR number in the download sequence or allow the device to use the default typestyle, which is the same as the built-in fonts. Once the font is downloaded and has an assigned typestyle (SGR number) and a character set designator, the device enters it into the Font Dictionary. See Section 4.4.1 for more information. Font selection occurs according to the character set, typestyle, and density currently in use. 7-26 Command Dictionary DECDLD -- Download Font The device deletes downline loaded fonts whenever there is a change in protocol or when the device is powered down. ------------------------------------------------------------ Note ------------------------------------------------------------ Different devices have different inherent dot sizes and print densities. Because DECDLD addresses individual dots of the device, it is considered device dependent. Level 3 devices do not support DECDLD. It is available only on certain level 2 devices. ------------------------------------------------------------ Parameters The DECDLD command is a device control string consisting of a protocol selector followed by string data. The protocol selector is terminated by the final character ({). The selective parameters within the protocol selector control the operation of the font load function. The selective parameters for DECDEN are shown in Table 7-4: Table 7-4 DECDLD Selective Parameters ------------------------------------------------------------ Parameter Description ------------------------------------------------------------ Pfn Font Number Specifies the particular font buffer to be loaded. The device supports up to three, numbered 1-3. See the Programming Supplement for the exact number supported. Pcn First Character in Set to Load Selects the first character in the font buffer to be loaded. This parameter interacts with Character Set Size (PCSS). See Pcss in this table for more information. (continued on next page) Command Dictionary 7-27 DECDLD -- Download Font Table 7-4 (Cont.) DECDLD Selective Parameters ------------------------------------------------------------ Parameter Description ------------------------------------------------------------ Pe Erase Control Controls which characters are erased before loading takes place: 0 -- Erase all characters in the specified font buffer. 1 -- Erase only the characters that are loaded. 2 -- Erase all characters in all font buffers. A parameter value of 1 permits the changing of one or more characters in the specified font without affecting remaining characters of that font. Characters that have been erased from the buffer and not redefined are represented by the error character (reverse question mark) when printed. Pcmw 1 Character Cell Matrix Width Defines the limit of the character cell matrix width, in dots, of the font being loaded. Legal values for this parameter depend on the Font Usage parameter (Pu). See the Programming Supplement for supported parameter values. Pss Font Set Size Density of downloaded font file. 0 -- default to draft density 1 -- draft density 2 -- near letter quality density 3 -- letter quality See the Programming Supplement for supported parameters. ------------------------------------------------------------ 1 The device associates this parameter with the selected download buffer number. Subsequent downloads into the same buffer with a different value for this parameter result in the erasure of the entire buffer before the download. (continued on next page) 7-28 Command Dictionary DECDLD -- Download Font Table 7-4 (Cont.) DECDLD Selective Parameters ------------------------------------------------------------ Parameter Description ------------------------------------------------------------ Pu 1 Font Usage Defines the loaded font as either a text font or a full cell font. Full cell fonts can individually address all dots in a cell; text fonts may not be able to address all dots individually. In general, standard text character boxes are designed to be printed in one pass of the printhead, and are big enough for 10-point Roman text characters with accents and descenders. Full text character cells are designed to connect vertically when printed at 6 lines/inch. Supported values of this parameter are: 1 -- Text 2 -- Full Cell Pcmh 1 Character Cell Matrix Height Defines the limit of the character cell matrix height in dots of the font being loaded. Supported values of this parameter are given in the Programming Supplement. ------------------------------------------------------------ 1 The device associates this parameter with the selected download buffer number. Subsequent downloads into the same buffer with a different value for this parameter result in the erasure of the entire buffer before the download. (continued on next page) Command Dictionary 7-29 DECDLD -- Download Font Table 7-4 (Cont.) DECDLD Selective Parameters ------------------------------------------------------------ Parameter Description ------------------------------------------------------------ Pcss 1 Character Set Size Controls the size of the associated character set and modifies the interpretation of the Pcn parameter. The value of the parameter indicates the size of the character set associated with the downloaded font: 0 -- 94-character set 1 -- 96-character set A parameter value of 1 permits the loading of the 2/0 and 7/15 characters in the font, and requires that the 96-character designating escape sequences be used to designate the font (see Select Character Size--SCS). Interaction between Pcn and Pcss: ------------------------------------------------------------ Pcn Pcss Start Loading at: ------------------------------------------------------------ 0 0 (94) 2/1 1 0 (94) 2/1 2-94 0 (94) 2/2-7/14 >94 0 (94) Ignore sequence 0-95 1 (96) 2/0-7/15 >95 1 (96) Ignore sequence ------------------------------------------------------------ Psgr 1 Select Graphic Rendition (SGR) Number Assigns an SGR number to the downloaded font file. This allows you to associate a typestyle with the downloaded font. If the SGR number assigned is 10, the downloaded font overrides the built-in font. See Section 4.4.1 for a complete explanation of precedence rules. For maximum flexibility, use SGR numbers 11, 12, and 13 for download buffers 1, 2, and 3 respectively. This minimizes conflicts with built-in and cartridge fonts. ------------------------------------------------------------ 1 The device associates this parameter with the selected download buffer number. Subsequent downloads into the same buffer with a different value for this parameter result in the erasure of the entire buffer before the download. ------------------------------------------------------------ 7-30 Command Dictionary DECDLD -- Download Font D . . . D The data string (D . . . D) represents the actual font load data. The syntax of D . . . D is as follows: Dscs glyph_data_1 ; glyph_data_2 ; . . . ; glyph_data_n ST Dscs -- Character Set Designator Dscs defines the intermediate and final characters of the Select Character Set (SCS) sequence used to designate the loaded font as an active character set. Dscs is a set of zero, one, or two intermediate characters, followed by a final character ( D s cs = I 2 I 3 F ). See Select Character Set (SCS) in this chapter for a description of the designating command. See Table 7-7 for a list of character set designators. The designating sequence may be either a replacement for a built-in set, such as the ASCII character set, or the downloaded character set designator from Table 7-7. For example: · If Dscs = B, the loaded font is defined as the ASCII character set. · If Dscs = SP @, the loaded font is defined as the downloaded character set. This is the recommended value for user-defined character sets. Font_data_n -- Sixel Bit Patterns There is one font_data bit pattern string for each downloaded character. Strings are separated by the semicolon character ; (3/11). Each individual sixel bit pattern string consists of a sequence of sixel characters that defines one horizontal scan of a character pattern and is terminated by a slash character / (2/15). Character codes 0/8--0/13 may be included in the data strings. These codes are ignored and do not affect the interpretation of the data. The binary data is encoded in sixels. The application software adds an offset of 3FH to the binary data to form a printable character between ? (3/15) and ~ (7/15). The bits are represented as a vertical, 1x6 dot matrix, with the least significant bit at the top. A set bit (one) specifies a printed dot. Command Dictionary 7-31 DECDLD -- Download Font ------------------------------------------------------------ Note ------------------------------------------------------------ The DECDLD data string uses the sixel data format, but not the control functions, defined in Chapter 5. ------------------------------------------------------------ To load the dot pattern for an individual character in a font (one font_data_ n pattern), send a sequence of sixel characters, with each sixel specifying one vertical column of six dots. After loading each sixel character, the font pattern scan advances horizontally by one dot. Terminate each horizontal scan (except for the last horizontal scan of the bit pattern) with a scan terminator / (2/15). Terminate the last horizontal scan of the bit pattern with a bit pattern terminator ; (3/11). The scan terminator character / (2/15) advances the font pattern scan to the next lower row of six vertical dots. If the height of a loaded character (as defined in Pcmh) is not a multiple of six, the device ignores the high-order bits of the sixel values on the last row of the font_data_n pattern. Any dots of a loaded character that are not specified are set to zero. Example of font_data_n The following illustration shows the mapping of sixels onto an 8x10 dot character cell. The character represented is a backslash, extending from the top left-hand portion of the cell to the lower right-hand corner. The right-hand side of the illustration shows the hexadecimal representation of the bitmap data before and after adjusting for the sixel protocol, as well as the resulting ASCII representation. The rows of numbers on the top and bottom relate to the order in which sixel values are sent to the device. 7-32 Command Dictionary DECDLD -- Download Font Bitmap data: +3F = Bytes to send: 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 _________________________________ b0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 6 C 18 30 20 0 0 0 b1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +3F +3F +3F +3F +3F +3F +3F +3F b2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | --- --- --- --- --- --- --- --- b3 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 45 4B 57 6F 5F 3F 3F 3F b4 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | E K W o _ ? ? ? b5 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 2F |___|___|___|___|___|___|___|___| / b0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 0 0 0 1 3 6 C b1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | +3F +3F +3F +3F +3F +3F +3F +3F b2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | --- --- --- --- --- --- --- --- b3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 3F 3F 3F 3F 40 42 45 4B |___|___|___|___|___|___|___|___| ? ? ? ? @ B E K 9 10 11 12 13 14 15 16 9 10 11 12 13 14 15 16 DCS 1 ; 92 ; 0 ; 8 ; 0 ; 2 ; 10 ; 0 ; 10 { EKWo_???/????@BEK ; ST ------------------------------------------------------------ Note ------------------------------------------------------------ This example is for illustrative purposes only. Use the character matrix size given in the Programming Supplement. ------------------------------------------------------------ ST -- String Terminator The data string (D . . . D) is terminated by ST (9/12). Error Handling If Pfn or Pu is zero or is omitted, the device assumes a value of 1. If Psgr is zero or is omitted, the device assumes a value of 10. If Pcss or Pe is omitted, the device assumes a value of 0. The following conditions cause the device to ignore the entire download sequence: · Pfn (font number) greater than 3 · Pe (erase) greater than 2 · Pcn (first character in set) greater than 95 · Pcmw (character matrix width) unrecognized (see the Programming Supplement for recognized values) · Pcmh (character matrix height) unrecognized (see the Programming Supplement for recognized values) Command Dictionary 7-33 DECDLD -- Download Font · Pcss (character set size) greater than 1 · Pu (font usage) greater than 2 · Psgr--Select Graphic Rendition (SGR) assignment greater than 0 and less than 10 · Psgr--Select Graphic Rendition (SGR) assignment greater than 19 · Dscs--Select Character Set (SCS) designator = > (User Preference designator) Any change to Pcmw, Pu, Pcmh, Pcss, Psgr, or Dscs for a particular buffer since the last DECDLD sequence for that buffer results in the erasure of the entire set and causes a new font load to begin. If the input buffer becomes full because of memory restrictions, the device deletes the partially loaded font and discards the rest of the download sequence. 7-34 Command Dictionary DECFSR -- Font Status Report ------------------------------------------------------------ DECFSR -- Font Status Report Reports the status of the installed cartridge fonts. Response to Request Font Status (DECRFS) command. Source: Device Destination: Symbiont Format ESC P 3 " { D . . . D ESC \ 1/11 5/0 3/3 2/2 7/11 * . . . * 1/11 5/12 Description Ps = 3 indicates that D . . . D contains a brief status report of the cartridge fonts. The device always sends one report with Ps = 3. D . . . D is formatted as follows: typestyle ( intended horiz. pitch ; SGR parameter ) ; CR LF . . . **** 2/8 **** 3/11 **** 2/9 3/11 0/13 0/10 This information is stored in the cartridge font file. Example ESC P 3 " { COURIER(12;17); CR LF GOTHIC(12;18); CR LF ORATOR(10;19)CR LF ESC \ All cartridge fonts may be printed at any of the horizontal pitch selections. Therefore, the intended pitch information within the font status report only identifies the pitch that is recommended by the font designer. If no cartridge is installed, the device returns a null report, as follows: ESC P 3 " { ESC \ Software should ignore any data that the device sends between the right parenthesis and the semicolon (;). This convention allows for future expansion of the reporting mechanism. Command Dictionary 7-35 DECHPWA -- Set Page Width Alignment ------------------------------------------------------------ DECHPWA -- Set Page Width Alignment Sets the origin and the width of the physical sheet beginning with the current line. This command is intended to provide alignment of the physical sheet to the device mechanism. Source: Symbiont Destination: Level 2 Exception Format CSI Pn1 ; Pn2 " s 9/11 *** 3/11 *** 2/2 7/3 Description The numeric parameters are as follows: ------------------------------------------------------------ Pn Meaning ------------------------------------------------------------ Pn1 Position of the origin (left edge of paper) measured in 1/12 in. increments from the leftmost printable position for the device. Beginning with the current line, Pn1 changes the horizontal origin of the entire coordinate system. Pn2 Width of paper in 1/12 in. increments. The device never allows printing beyond this point. This parameter is relative to Pn1. For example, if Pn1 = 12 and Pn2 = 102, the device assumes the left edge of the paper is 1 in. in from the left edge of the printable area, the paper is 8 ½ in. wide, and the right edge of the paper is 9 ½ in. from the left edge of the printable area. ------------------------------------------------------------ The maximum sheet size is the width of the printable area. The minimum sheet size that can be specified by this command is ½ in. For any other minimum sheet size value for a particular device, refer to the Programming Supplement. 7-36 Command Dictionary DECHPWA -- Set Page Width Alignment Side Effects The device sets the left margin to the new origin described by Pn1, and sets the right margin to the new right edge of the physical sheet, rounded down to the next even multiple of the current Horizontal Advance Increment (HAI). The device moves the active position so that its position relative to the left reference does not change. If the new active position is greater than the new right margin, the device sets the Right Margin Flag. See Section 3.3.2. Error Handling If Pn1 is omitted, Pn1 is set to 0. If Pn2 is omitted, Pn2 is set to the width of the printable area. If Pn1 is greater than printable area width minus ½ in., the device sets Pn1 to the printable area width minus ½ in. If Pn1 plus Pn2 are greater than the printable area width, the device sets Pn2 to the printable area width minus Pn1. If Pn2 is less than ½ in., the device sets Pn2 to ½ in. Notes to Software DECHPWA should only be used on a new page, and the parameters should match the size and location of the paper. This command is intended to align the paper relative to the platen. It should not be used for arbitrary origin placement. Send Set Left and Right Margins (DECSLRM) to position the logical page image within the physical sheet size and location defined by DECHPWA. Command Dictionary 7-37 DECHTS -- Horizontal Tab Set ------------------------------------------------------------ DECHTS -- Horizontal Tab Set Executes Horizontal Tab Set (HTS). Source: Application (deprecated command) Destination: Level 2 Format ESC 1 1/11 3/1 Description See HTS in Chapter 6. Notes to Software This command is included for backwards compatibility with older devices. Conforming software should not use this command. 7-38 Command Dictionary DECIPEM -- Enter IBM Proprinter Emulation Mode ------------------------------------------------------------ DECIPEM -- Enter IBM Proprinter Emulation Mode Executes Select Other Coding System (SOCS), enabling IBM Proprinter Emulation mode. Source: Symbiont (deprecated command) Destination: Levels 2, 3 Exception Format CSI ? 5 8 h 9/11 3/15 3/5 3/8 6/8 Description See SOCS with final character = (3/13). Some devices do not support IBM Proprinter Emulation mode. See the Programming Supplement for a list of protocols supported in a particular device. Notes to Software This command is provided for backwards compatibility with older devices. Conforming software should use SOCS instead. Command Dictionary 7-39 DECIPEM -- Return from IBM Proprinter Emulation Mode ------------------------------------------------------------ DECIPEM -- Return from IBM Proprinter Emulation Mode If received during IBM Proprinter Emulation mode, executes Return from Other Coding System (ROCS), returning to DEC mode and disabling all IBM Proprinter Emulation mode escape sequences. Source: Symbiont (deprecated command) Destination: Levels 2, 3 Exception Format ESC [ ? 5 8 l 1/11 5/11 3/15 3/5 3/8 6/12 Description See ROCS. This command always executes ROCS when received during IBM Proprinter Emulation mode, regardless of the command used to enter IBM Proprinter Emulation mode. This command must be coded exactly as delineated above. Some devices do not support IBM Proprinter Emulation mode. See the Programming Supplement for a list of protocols supported in a particular device. This command returns to DEC mode only if sent during IBM Proprinter Emulation mode. Notes to Software This command is provided for backwards compatibility with older devices. Conforming software should use ROCS instead. 7-40 Command Dictionary DECRFS -- Request Font Status ------------------------------------------------------------ DECRFS -- Request Font Status Requests a font cartridge report. Response is Font Status Report (DECFSR). Source: Symbiont Destination: Levels 2, 3 Format CSI Ps " { 9/11 *** 2/2 7/11 Description The selective parameters for DECRFS are as follows: ------------------------------------------------------------ Ps Meaning ------------------------------------------------------------ 0 Requests a default report (same as 3). 3 Requests a brief status report of all cartridge typestyles in the device. ------------------------------------------------------------ The host sends this command to request a status report of the cartridge fonts available for printing. Error Handling If Ps is any value other than 0 or 3, the device ignores this command. Command Dictionary 7-41 DECSBCA -- Select Bar Code Attributes ------------------------------------------------------------ DECSBCA -- Select Bar Code Attributes Selects the bar code encoding system (bar code style) size, pitch, and other attributes for subsequent bar code characters, and selects or deselects human-readable characters. Some devices do not support bar codes. See the Programming Supplement. Source: Application Destination: Level 2, 3 Exception Format CSI Ps1 ; Pn2 ; . . . ; Ps9 ' q 9/11 *** 3/11 *** 3/11 . . . 3/11 *** 2/7 7/1 Description Ps1 selects the type of bar code encoding: ------------------------------------------------------------ Ps1 Bar Code Encoding ------------------------------------------------------------ 0 Code 3 of 9 (default value). 2 Code 3 of 9. n Other encoding system (bar code style). For the list of bar code styles and selective parameters for a particular device, refer to the Programming Supplement. ------------------------------------------------------------ Pn2 sets the width of the narrow bars and spaces in units of decipoints. Some devices accept only specific values for Pn2. See the Programming Supplement for supported values. If 0 is selected for Pn2, the default for the device is selected. This value may vary among devices. Pn3 sets the width of the quiet zone in decipoints. Some devices ignore this parameter and use a fixed-width quiet zone. See the Programming Supplement. However, you should always include Pn3 to ensure that your software will be accepted on future devices. Pn4 sets the width of the wide bars and wide spaces in decipoints. Most devices accept only specific values for Pn4. See the Programming Supplement for supported values. If 0 is selected for Pn4, the default for the device is selected. This value may vary among devices. 7-42 Command Dictionary DECSBCA -- Select Bar Code Attributes Pn5 sets the inter-character gap in decipoints. Most devices accept only specific values for Pn5. See the Programming Supplement for supported values. If 0 is selected for Pn5, the default for the device is selected. This value may vary among devices. Pn6 sets the height of the bars in decipoints. Some devices ignore this parameter and use a fixed-height bar. See the Programming Supplement. However, you should always include Pn6 to ensure that your software will be accepted on future devices. Pn7 defines the control character encoding character. If the device does not support control characters, Pn7 is ignored. See the Programming Supplement. If you do not need control character support, send a zero (0) for Ps7. Ps8 sets the orientation for the bar codes. In some devices, the printed bar code cannot be rotated. See the Programming Supplement. ------------------------------------------------------------ Ps8 Orientation ------------------------------------------------------------ 0 Default for the device. 1 Horizontal (portrait). 2 Vertical (landscape). ------------------------------------------------------------ Ps9 sets the human-readable character option. ------------------------------------------------------------ Ps9 Human Readable Characters ------------------------------------------------------------ 0, 1 None. 2 Current font. ------------------------------------------------------------ Error Handling Unsupported values for Ps1, Pn2, Pn4, and Pn5 cause the entire sequence to be ignored. Unsupported values for Pn3, Pn6, Pn7, and Ps8 are ignored. They cause no change to the current value. Unsupported values for Ps9 are treated as 1. Command Dictionary 7-43 DECSCL -- Select Conformance Level ------------------------------------------------------------ DECSCL -- Select Conformance Level Performs a reset to protocol defaults and a conditional Sheet Feed. The name ``Select Conformance Level'' exists for historical reasons. Source: Symbiont Destination: Levels 1, 2, 3 Format CSI Ps " p 9/11 *** 2/2 7/0 Description The selective parameters for DECSCL are as follows: ------------------------------------------------------------ Ps Meaning ------------------------------------------------------------ 0 Treated as 72. 71 Reset to DEC PPL1 defaults. 72 Reset to DEC PPL2 defaults. ------------------------------------------------------------ The device resets all variables listed in the Initial State Values table in the Programming Supplement to the factory defaults. This is a different reset than Soft Terminal Reset (DECSTR) or Reset to Initial State (RIS). At present, all DEC defaults are the same, regardless of level. Therefore, all recognized Ps values have the same effect. Future devices may implement different default lists. Therefore, software should use the appropriate level of reset. Side Effects The device performs a conditional Sheet Feed regardless of the value of Ps. Error Handling If Ps is an unsupported value, the device ignores the command, except for the side effect mentioned above. 7-44 Command Dictionary DECSHORP -- Set Horizontal Pitch ------------------------------------------------------------ DECSHORP -- Set Horizontal Pitch Selects character spacing for monospaced fonts. Source: Application Destination: Levels 1, 2, 3 Format CSI Ps w 9/11 *** 7/7 Description The DECSHORP command determines the number of characters/inch (pitch) that the device uses. This establishes the Horizontal Advance Increment (HAI). The selective parameters for DECSHORP are as follows: ------------------------------------------------------------ Ps HAI Pitch ------------------------------------------------------------ 0 720 centipoints 10 characters/inch 1 720 centipoints 10 characters/inch 2 600 centipoints 12 characters/inch 3 545 centipoints 13.2 characters/inch 4 436 centipoints 16.5 characters/inch 5 1440 centipoints 5 characters/inch 6 1200 centipoints 6 characters/inch 7 1090 centipoints 6.6 characters/inch 8 872 centipoints 8.25 characters/inch 9 480 centipoints 15 characters/inch 11 420 centipoints Approximately 17.1 characters/inch or, more accurately, 14/240 in. 12 840 centipoints Approximately 8.55 characters/inch or, more accurately, 28/240 in. 13 400 centipoints 18 characters/inch 14 800 centipoints 9 characters/inch 15 720 centipoints 10 characters/inch ------------------------------------------------------------ Command Dictionary 7-45 DECSHORP -- Set Horizontal Pitch There may be device limitations on pitch based on resolution restrictions. If fallbacks are used, however, the resulting characters are the same size or smaller than those requested. See the discussion of horizontal resolution in the Programming Supplement for the actual supported pitches. Side Effects Execution of DECSHORP produces the following side effects: · Sets the Left and Right Margin Positions to the edges of the physical sheet. See Section 3.4. · Clears the Right Margin Flag. · Adjusts horizontal tab stops (multiplies each tab location by the ratio of the new Horizontal Advance Increment over the old HAI). For example, if a horizontal tab stop is set at column 12 with a horizontal pitch of 12 characters/inch, the tab stop stored is 1 inch from the origin. But if a DECSHORP command changes the pitch to 6 characters/inch, the tab stop moves to 2 inches from the origin in order to retain 12 characters between the origin and the tab stop. · If the active horizontal position is not a multiple of the new HAI, it is adjusted rightward to the next multiple of HAI. Error Handling All other parameter values cause this command to be ignored except for the bounds and Right Margin Flag resets described under Side Effects. A parameter that is valid but unsupported in a particular device results in a fallback. See the discussion of horizontal resolution in the Programming Supplement for a list of supported pitches. 7-46 Command Dictionary DECSHTS -- Set Horizontal Tab Stops ------------------------------------------------------------ DECSHTS -- Set Horizontal Tab Stops Adds one or more tab stops to the horizontal tab table. Source: Application Destination: Level 2 Format CSI Pn ; . . . ; Pn u 9/11 *** 3/11 . . . 3/11 *** 7/5 Description Pn is the column number on which to set the tab stop. Each Pn parameter is a selected horizontal tab stop. A maximum of 16 tab stops can be selected in one command. The device can receive Pn values in any order; it sorts them and places them into the tab table. The device sets tab stops relative to the origin and not to the left margin. Changing the left margin does not change the position of tab stops. Changing the pitch with the Set Horizontal Pitch (DECSHORP) command modifies tab positions to keep the number of columns between tab stops constant. The device allows at least one tab per eight columns along the widest paper supported at the smallest built-in monospaced pitch. See the Programming Supplement for the exact number. Tab stops can be set outside the current margins; however, the device does not use tabs outside the margins. Error Handling If the device receives more than 16 tab stops in one sequence, it sets the first 16 and ignores the rest. If the same tab stop is sent more than once, the device sets the tab stop once. The device ignores a sequence sent without tab stop parameters. When the number of new tab settings exceeds the maximum, the device discards the tab stops with the highest values. Command Dictionary 7-47 DECSLPP -- Set Lines per Physical Page ------------------------------------------------------------ DECSLPP -- Set Lines per Physical Page Defines the logical page length. See Section 3.4 for more information. Source: Application Destination: Levels 1, 2 Format CSI Pn t 9/11 *** 7/4 Description This command sets the page length to the physical distance that corresponds to Pn units (lines at the current vertical pitch). Once page length is set, changing the size of the units does not change the page length. If Pn = 0, the device enters no forms mode. This mode emulates the use of roll paper (paper with no perforations). In no forms mode there is no top margin. The device is therefore required to change the processing of certain commands and activities that are normally based on the top margin. No forms mode has the following effects: · Form Feed (FF), Vertical Position Absolute (VPA), and Vertical Tab (VT) commands are processed as Line Feed (LF) characters. · Vertical Position Relative (VPR) is processed up to 255 lines. · Top and bottom margins are ignored. · The FF button on the front panel (if any) is processed as a Line Feed (if fanfold paper is in use) or as an Eject (if single sheets are in use). · No vertical active position adjustment occurs on the receipt of Select Vertical Pitch (DECVERP). Table 7-5 lists the parameter values for a small selection of page lengths as a function of vertical pitch. 7-48 Command Dictionary DECSLPP -- Set Lines per Physical Page Table 7-5 Page Length Parameters ------------------------------------------------------------ Lines per Inch ------------------------------------------------------------ Length in Inches 2 3 4 6 8 12 Lines per Page ------------------------------------------------------------ ------------------------------------------------------------ 11.0/3 N/A 11 N/A 22 N/A 44 8.5/2 N/A N/A 17 N/A 34 51 8.5 17 N/A 34 51 68 102 11.0 22 33 44 66 88 132 14.0 28 42 56 84 112 168 21.0 42 63 84 126 168 252 ------------------------------------------------------------ Where N/A is indicated, the length is not selectable while the indicated vertical pitch is in effect. If it is selected using another vertical pitch and a subsequent pitch change occurs, page lengths of a nonintegral number of lines may result. Page wrap occurs after the last whole line. The page length limits the range of possible settings for the Set Top and Bottom Margins (DECSTBM) command. Side Effects The device resets the top margin to 1 and the bottom margin to the page length. See also the discussion of no forms mode, above. Error Handling If the Pn parameter is greater than the physical sheet length, the device sets the logical page length to the physical sheet length. See also Section 3.4. Notes to Software Use DECSLPP only at the top of a new page. Command Dictionary 7-49 DECSLRM -- Set Left and Right Margins ------------------------------------------------------------ DECSLRM -- Set Left and Right Margins Sets the horizontal margins. Source: Application Destination: Levels 2, 3 Format CSI Pn1 ; Pn2 s 9/11 *** 3/11 *** 7/3 Description Pn1 is a decimal value that specifies the left margin position. ------------------------------------------------------------ Pn1 Meaning ------------------------------------------------------------ 0 Leave margin unchanged. n Set left margin to n columns. ------------------------------------------------------------ Pn2 is a decimal value that specifies the right margin position. ------------------------------------------------------------ Pn2 Meaning ------------------------------------------------------------ 0 Leave margin unchanged. n Set right margin to n columns. ------------------------------------------------------------ The left margin is an imaginary line running down the left-hand side of the leftmost column. The right margin is an imaginary line running down the right-hand side of the rightmost column. Since the active position is an imaginary line running down the left of the character cell, it is possible to set the left margin and the right margin on the same column. The result is one column per line. The device sets the margins relative to the page origin, as set by Horizontal Page Width Alignment (DECHPWA). Changing the page origin causes the margins to be reset. Changing right and left margins does not affect horizontal tab stops. The active position is affected only if it is outside the new margins. See Error Handling. 7-50 Command Dictionary DECSLRM -- Set Left and Right Margins Select Horizontal Pitch (DECSHORP) affects margin settings. See DECSHORP. DECHPWA affects the positions of the left and right margins in relation to the paper edge. See DECHPWA. Error Handling If the active position is less than the new left margin, the device sets the active position to the new left margin. If the active position is greater than the new right margin, the device sets the Right Margin Flag. See Section 3.3.2. If Pn2 is to the right of the right edge of the physical sheet, the device sets Pn2 to the right edge of the physical sheet. See also Section 3.4. If Pn1 is greater than Pn2, or Pn1 is to the right of the right edge of the physical sheet, the device ignores the command. For any additional information on any minimum distance between vertical margins for a particular device, refer to the Digital ANSI-Compliant Printing Protocol Level 2 Programming Supplement. Notes to Software Margins can be changed or reset as a side effect of other actions. DECSLRM should be used only on a new page. Command Dictionary 7-51 DECSTBM -- Set Top and Bottom Margins ------------------------------------------------------------ DECSTBM -- Set Top and Bottom Margins Sets the vertical margins. Source: Application Destination: Levels 2, 3 Format CSI Pn1 ; Pn2 r 9/11 *** 3/11 *** 7/2 Description Pn1 is a decimal value that specifies the top margin position. ------------------------------------------------------------ Pn1 Meaning ------------------------------------------------------------ 0 Leave margin unchanged. n Set top margin to n lines. ------------------------------------------------------------ Pn2 is a decimal value that specifies the bottom margin position. ------------------------------------------------------------ Pn2 Meaning ------------------------------------------------------------ 0 Leave margin unchanged. n Set bottom margin to n lines. ------------------------------------------------------------ The device images only within the top and bottom margins, with the following exceptions: · Partial Line Down (PLD) may print part of a character below the bottom margin. · Partial Line Up (PLU) may print part of a character above the top margin. · If the margins are less than one character height apart, text may exceed the bottom margin. Changing the top and bottom margins does not affect vertical tab stops. The active position is affected only if it is outside the new margins. See Error Handling. Set Lines per Physical Page (DECSLPP) affects margin settings. 7-52 Command Dictionary DECSTBM -- Set Top and Bottom Margins After the top and bottom margins are set, if the vertical pitch is changed (Set Vertical Pitch--DECVERP), the physical positions of the top and bottom margins are not cleared but may change by a small amount so that they are still on grid. See DECVERP. See Section 3.5 for a description of the interactions between PLU and PLD and the top and bottom margins. Error Handling If the active position is above the new top margin, the device sets the active position to the new top margin. If the active position is below the new bottom margin, the device performs a Form Feed (FF). If Pn2 is greater than the logical page length, the device sets the bottom margin to the bottom of the logical page. If Pn1 is greater than Pn2, or Pn1 is greater than the logical page length, the device ignores the command. For additional information on any minimum distance between vertical margins for a particular device, refer to the Programming Supplement. Notes to Software Margins can be changed or reset as a side effect of other actions. DECSTBM should be used only on a new page. Command Dictionary 7-53 DECSTR -- Soft Terminal Reset ------------------------------------------------------------ DECSTR -- Soft Terminal Reset Resets the device to the initial state values. Also returns to DEC PPL2 regardless of the power-up protocol selected. Source: Application, Symbiont Destination: Levels 1, 2, 3 Format CSI ! p 9/11 2/1 7/0 Description The device sets all the initial state values listed in the Programming Supplement to the conditions in the ``DECSTR'' column of the Initial State Values table. The device does not run self-test, change the current communication settings, or clear the input buffer. Side Effects The device performs a conditional Form Feed. See Section 3.8. See Select Other Coding System (SOCS) when an alternate protocol is in use. 7-54 Command Dictionary DECSVTS -- Set Vertical Tab Stops ------------------------------------------------------------ DECSVTS -- Set Vertical Tab Stops Adds one or more tab stops to the vertical tab table. Source: Application Destination: Level 2 Format CSI Pn ; . . . ; Pn v 9/11 *** 3/11 . . . 3/11 *** 7/6 Description Pn is the line number on which to set the tab stop. Each Pn parameter is a selected vertical tab stop. A maximum of 16 tab stops can be selected in one command. The device can receive Pn parameters in any order; it sorts them and places them into the tab table. The device sets tab stops relative to the page origin, not to the top margin. Changing the top margin does not change the position of tab stops. Changing the pitch with Set Vertical Pitch (DECVERP) modifies tab positions to keep the number of lines between tab stops constant. The device allows at least one tab per line along the longest paper supported at the smallest line spacing. See the Programming Supplement for maximum values. Tab stops can be set outside the current margins; however, the device does not use tab stops beyond the bottom margin. Error Handling If the device receives more than 16 tab stops, it sets the first 16 and ignores the rest. If the same tab stop is sent more than once, the device sets the tab stop once. The device ignores a command sent without tab stop parameters. Command Dictionary 7-55 DECTC1 -- Truncate C1 Control Characters ------------------------------------------------------------ DECTC1 -- Truncate C1 Control Characters Instructs the device to truncate the high-order bit of 8-bit C1 control characters. Source: Symbiont Destination: Level 2, 3 Format ESC SP 6 1/11 2/0 3/6 Description For all subsequent characters, the device processes received 2-character sequences as shown in the ``7-Bit Equivalent Sequence'' column of Table 2-1. If 8-bit C1 control characters are received, it drops the eighth bit and processes the character as a C0 character. This sequence is processed in sequence with all other data. Therefore, it is recommended that software send this sequence before all other commands to prevent confusion. See also Accept C1 Control Characters (DECAC1) in this chapter. 7-56 Command Dictionary DECUPM -- Unidirectional Print Mode ------------------------------------------------------------ DECUPM -- Unidirectional Print Mode Designates the direction of printhead motion. Source: Application Destination: Levels 1, 2 Format CSI ? 4 1 h 9/11 3/15 3/4 3/1 6/8 Set: selects unidirectional printing. CSI ? 4 1 l 9/11 3/15 3/4 3/1 6/12 Reset: selects bidirectional printing. Description Either unidirectional printing or bidirectional printing can be selected. With DECUPM set, printing occurs only when the printhead is moving from left to right. This provides more accurate horizontal positioning on some devices. With DECUPM reset, the device prints from right to left as well as from left to right. This optimizes printing speed. The device always prints sixel graphics and some text attributes in unidirectional print mode, regardless of the setting of DECUPM. See Section 2.5.2.3 for details about parsing this command with multiple parameters. Command Dictionary 7-57 DECVERP -- Set Vertical Pitch ------------------------------------------------------------ DECVERP -- Set Vertical Pitch Selects line spacing. Source: Application Destination: Levels 1, 2 1 ------------------------------------------------------------ 1 Metric line spacing parameters are an extension to the protocol. Format CSI Ps z 9/11 *** 7/10 Description The DECVERP command determines the number of lines/inch (pitch) that the device uses. This establishes the Vertical Advance Increment (VAI). Changing the vertical pitch changes the white space between lines, not the size of the character. If the number of lines/inch is increased, the amount of white space between the lines is decreased. The selective parameter values for DECVERP are as follows: ------------------------------------------------------------ Ps VAI Pitch ------------------------------------------------------------ 0 1200 centipoints 6 lines/inch 1 1200 centipoints 6 lines/inch 2 900 centipoints 8 lines/inch 3 600 centipoints 12 lines/inch 4 3600 centipoints 2 lines/inch 5 2400 centipoints 3 lines/inch 6 1800 centipoints 4 lines/inch 10 Same as Ps = 1 11 Same as Ps = 1 12 Same as Ps = 2 7-58 Command Dictionary DECVERP -- Set Vertical Pitch ------------------------------------------------------------ Ps VAI Pitch ------------------------------------------------------------ 13 Same as Ps = 3 14 Same as Ps = 4 15 Same as Ps = 5 16 Same as Ps = 6 21 1 4 lines/centimeter 22 1 2 lines/centimeter 23 1 1 line/centimeter 31 1 Same as Ps = 21 32 1 Same as Ps = 22 33 1 Same as Ps = 23 ------------------------------------------------------------ 1 Metric line spacing parameters are an extension to the protocol and may not be supported in all devices. See the Programming Supplement. ------------------------------------------------------------ There may be device limitations on pitch based on resolution restrictions. These usually affect only the metric line spacing parameters. See the discussion of resolution in the Programming Supplement for supported pitches. The exact vertical pitch produced for parameters 11-16 is device dependent. The result is defined as lines/page on the printable area defined for portrait printing on A-sized paper for that device. Although this is always defined as a given vertical pitch on level 2 devices, it can vary on certain level 3 devices. Side Effects DECVERP does not change the active position. However, before processing the next vertical motion command, the active line advances a minimum amount to be on the new line grid. Unlike the action of Set Horizontal Pitch (DECSHORP) on the horizontal margins, top and bottom margins are not cleared, but are advanced to be on grid using the same algorithm described for the active position. ------------------------------------------------------------ Note ------------------------------------------------------------ Application software should not depend on this functionality. Application software should always select new top and bottom margins after changing the vertical pitch. ------------------------------------------------------------ Command Dictionary 7-59 DECVERP -- Set Vertical Pitch Vertical tab stops are adjusted in order to retain a constant number of lines between vertical tabs. For example, if a vertical tab stop is set at 12 lines with a vertical pitch of 6 lines/inch, the tab stop stored is 2 inches from the origin. But if a DECVERP command changes the pitch to 12 lines/inch, the tab stop moves to 1 inch from the origin in order to retain 12 lines between the origin and the tab stop. The DECVERP command does not change the page length. Error Handling If the vertical pitch is set greater than the page length, the device images one line/page. See Section 3.3.4. If Ps is invalid, the command is ignored. 7-60 Command Dictionary DECVTS -- Vertical Tab Set ------------------------------------------------------------ DECVTS -- Vertical Tab Set Executes Vertical Tab Set (VTS). Source: Application (deprecated command) Destination: Level 2 Format ESC 3 1/11 3/3 Description See VTS in Chapter 6. Notes to Software This command is included for backwards compatibility with older devices. Conforming software should not use this command. Command Dictionary 7-61 DSR -- Device Status Request ------------------------------------------------------------ DSR -- Device Status Request Requests error status. Source: Symbiont Destination: Levels 1, 2, 3 Format CSI Ps n 9/11 *** 6/14 Description In response to a DSR command, the device sends a single brief or extended status report. If you enable unsolicited reports, the device sends additional reports whenever any reportable status condition changes state or an error event occurs. The device processes the DSR request immediately upon receipt, asyn- chronously to the rest of the data stream. This allows the device to respond to the request when an error has halted the printing process and the input buffer is full. The selective parameters for the Device Status Request command are as follows: ------------------------------------------------------------ Ps Selection ------------------------------------------------------------ 0 or 5 Sends an extended status report. ?1 Disables all unsolicited status reports. ?2 Enables brief unsolicited status reports, sends extended status report. ?3 Enables extended unsolicited status reports, sends extended status report. ------------------------------------------------------------ The host sends the Device Status Request command to request a status report of detected errors. There are two types of reports: extended and brief. The brief report sends a simple ``error'' or ``no error'' indication. The extended report sends this indication as well as a list of more specific error codes. The number of DSR requests the device can process is limited only by the transmission time of each report. 7-62 Command Dictionary DSR -- Device Status Request Error Handling If Ps has a value other than those shown, the device ignores the entire command. is not necessary to parse multiple parameters. If multiple parameters are received, it is acceptable for the device not to recognize the command. Notes to Software Do not use multiple parameters when sending DSR. Command Dictionary 7-63 DSR -- Device Status Report ------------------------------------------------------------ DSR -- Device Status Report Reports error status. The device sends this report: · In response to certain error conditions (if unsolicited reports are enabled) · In response to a Device Status Request (DSR) with Ps = 0, 5, ?2, or ?3 Source: Device Destination: Symbiont Brief Report Format ESC [ Ps n 1/11 5/11 *** 6/14 Extended Report Format Brief report followed by: ESC [ Pn1 ; Pn2 ; . . . ; Pnn n 1/11 5/11 *** 3/11 *** 3/11 . . . 3/11 *** 6/14 Brief Report Description The brief report parameters are as follows: ------------------------------------------------------------ Ps Meaning ------------------------------------------------------------ 0 No errors. 3 Error. ------------------------------------------------------------ Extended Report Description Each Pn value is an error code of up to three digits. The error codes are listed in the Programming Supplement. Each error code is classified as a state (the error is cleared internally when the error condition is corrected) or an event (the error is cleared internally when the error condition is reported). These classifications are listed in the Programming Supplement. 7-64 Command Dictionary DSR -- Device Status Report Notes If unsolicited reports are enabled, errors are reported as they occur. If no errors occurred, the device returns a generic ``no error'' code. The extended ``no error'' indication varies depending on the configuration, for example, the presence or absence of a sheet feeder. If an event error occurs when unsolicited reports are disabled, the event is stored, then is reported and cleared on the next request. If a state error occurs when unsolicited reports are disabled, an error report is generated on the next request only if the error condition still exists -- for example, the cover is open or the device is off line. If unsolicited reports are enabled and an event occurs that normally causes the device to go off line, the device transmits a report before going off line. The device sends parameters in ascending order, except for the ``First Report Since Initialization'' parameter (if any), which is always sent first. However, software should accept the parameters in any order. Command Dictionary 7-65 HPA -- Horizontal Position Absolute ------------------------------------------------------------ HPA -- Horizontal Position Absolute Moves to a new active horizontal position. Motion occurs either to the right or to the left. Source: Application Destination: Levels 2, 3 Format CSI Pn ‘ 9/11 *** 6/0 Description Select Pn as follows: ------------------------------------------------------------ Pn Meaning ------------------------------------------------------------ 0 Interpreted as 1. n Position to move to. ------------------------------------------------------------ The device sets the active horizontal position to column Pn. See Section 3.3 for interactions with the coordinate system bounds. When lining attributes are invoked by Select Graphic Rendition (SGR), HPA underlines, double underlines, overlines, or strikes through from the current position to the target position. Side Effects The device clears the Right Margin Flag if the HPA command causes the active position to move to the left of the right margin. Error Handling If Pn is to the left of the Left Margin Position, the device sets the horizontal position to the Left Margin Position. If Pn is to the right of the Right Margin Position, the device sets the horizontal position equal to the Right Margin Position and sets the Right Margin Flag. See Section 3.3.2 for more information. 7-66 Command Dictionary HPR -- Horizontal Position Relative ------------------------------------------------------------ HPR -- Horizontal Position Relative Moves the active position to the right a specified number of columns. Source: Application Destination: Levels 2, 3 Format CSI Pn a 9/11 *** 6/1 Description Select Pn as follows: ------------------------------------------------------------ Pn Meaning ------------------------------------------------------------ 0 Interpreted as 1. n Number of characters. ------------------------------------------------------------ When lining attributes are invoked by Select Graphic Rendition (SGR), HPR underlines, double underlines, overlines, or strikes through text from the current position to the target position. Error Handling If the resulting position would be to the right of the Right Margin Position, the device sets the horizontal position equal to the Right Margin Position and sets the Right Margin Flag. See Section 3.3.2 for more information. When the Right Margin Flag is set, the command is ignored. Command Dictionary 7-67 LNM -- Line Feed/New Line Mode ------------------------------------------------------------ LNM -- Line Feed/New Line Mode Instructs the device whether to perform a Carriage Return (CR) upon receipt of a Line Feed (LF). Source: Symbiont Destination: Levels 2, 3 Format CSI 2 0 h 9/11 3/2 3/0 6/8 Set -- LF acts as New Line. CSI 2 0 l 9/11 3/2 3/0 6/12 Reset -- LF acts as Line Feed. Description If LNM is set and a Line Feed is received, the active position advances to the left margin of the next line. If LNM is reset and a Line Feed is received, the active position advances to the same horizontal position on the next line. See Section 2.5.2.3 for details about parsing this command with multiple parameters. 7-68 Command Dictionary LS*/LS*R/SS* -- Locking and Single Shifts ------------------------------------------------------------ LS*/LS*R/SS* -- Locking and Single Shifts These sequences invoke the G0-G3 character sets into GL or GR. Source: Application Destination: Levels 1, 2, 3 Format The locking shift and single shift sequences are as follows: ------------------------------------------------------------ Name Mnemonic Sequence Function ------------------------------------------------------------ Single Shift 2 SS2 ESC N 1/11 4/14 Temporarily invokes character set G2 into GL to print one character. Single Shift 3 SS3 ESC O 1/11 4/15 Temporarily invokes character set G3 into GL to print one character. Shift Out SO SO 0/14 See Locking Shift 1. Shift In SI SI 0/15 See Locking Shift 0. Locking Shift 0 LS0 SI 0/15 G0 becomes the active GL character set. Locking Shift 1 LS1 SO 0/14 G1 becomes the active GL character set. Locking Shift 2 LS2 ESC n 1/11 6/14 G2 becomes the active GL character set. Locking Shift 3 LS3 ESC o 1/11 6/15 G3 becomes the active GL character set. Locking Shift 1 Right LS1R ESC ~ 1/11 7/14 G1 becomes the active GR character set. Locking Shift 2 Right LS2R ESC } 1/11 7/13 G2 becomes the active GR character set. Locking Shift 3 Right LS3R ESC | 1/11 7/12 G3 becomes the active GR character set. ------------------------------------------------------------ There is no LS0R. Command Dictionary 7-69 LS*/LS*R/SS* -- Locking and Single Shifts Description See Section 2.2.1 for more information on designating and invoking character sets. The effect of a single shift (SS2 or SS3) continues only for the first printable GL character that follows the single shift sequence. See Section 2.5.4 for special processing of intervening characters. The effect of a locking shift (LS0, LS1, LS2, LS3, LS1R, LS2R, or LS3R) continues indefinitely; that is, until another locking shift changes the effect, or until reset or power down. 7-70 Command Dictionary RIS -- Reset to Initial State ------------------------------------------------------------ RIS -- Reset to Initial State Executes Soft Terminal Reset (DECSTR). Source: Symbiont Destination: Levels 1, 2, 3 Format ESC c 1/11 6/3 Description See DECSTR. Notes to Software This command is included for backwards compatibility with older devices. Conforming software should not use this command. ESC c is reserved for other uses in some emulation modes. Command Dictionary 7-71 ROCS -- Return from Other Coding System ------------------------------------------------------------ ROCS -- Return from Other Coding System Returns to DEC PPL2 from an alternate protocol emulation mode. Source: Symbiont Destination: Levels 2, 3 Exception Format ESC % @ 1/11 2/5 4/0 Description This command causes the device to return to DEC PPL2. If switching protocols, the device also returns to power-up defaults. See the Initial State Values table in the Programming Supplement. Defaults are not applied if this command is received while already in DEC PPL2. Restrictions If received during an emulation binary transmission mode, the command is processed as binary data and does not return the device to DEC PPL2. Immediately after receiving the exit command, the device may still be in an emulation mode processing buffered data. Asynchronous processing (such as Device Status Report--DSR) may not function properly. In order to compensate for this restriction, send a Device Attributes (DA) request command after sending the ROCS command. The reply to the DA indicates that the device has entered DEC mode and is ready to accept DEC PPL2 commands. While in an emulation mode, ROCS must be coded exactly as delineated above. Some devices do not support emulation modes. See the Programming Supplement for a list of supported protocols. Notes to Software Since ROCS does not reset the device unless received in an emulation protocol, symbionts wishing to return the device to a known state between jobs should follow ROCS with Select Conformance Level (DECSCL). 7-72 Command Dictionary SCS -- Select Character Set ------------------------------------------------------------ SCS -- Select Character Set Designates a graphic character set into G0, G1, G2, or G3. Source: Application Destination: Levels 1, 2, 3 Format ESC I 1 I 2 . . . I n F 1/11 (See Description) Description I 1 is an intermediate character selected from Table 7-6. Table 7-6 SCS Intermediate Characters ------------------------------------------------------------ I 1 Character Code Invoke into Gset ------------------------------------------------------------ 94-Character Sets ( Left parenthesis 2/8 G0 ) Right parenthesis 2/9 G1 * Asterisk 2/10 G2 + Plus sign 2/11 G3 96-Character Sets Minus sign 2/13 G1 . Period 2/14 G2 / Slash 2/15 G3 ------------------------------------------------------------ Table 7-7 lists the character set designating characters. See Appendix A for a description of the character sets. These character sets are selected using the identifier as F or I 2 F in the SCS sequence. If the font file is a downline loaded font or cartridge font, use the designator provided with the font file. Command Dictionary 7-73 SCS -- Select Character Set Table 7-7 SCS Intermediate (I 2 ) and Final Characters ------------------------------------------------------------ Character Set I 2 F Designator Characters Code ------------------------------------------------------------ 94-Character Sets British A 4/1 ASCII B 4/2 DEC Dutch 4 3/4 DEC Finnish 5 3/5 French R 5/2 DEC French-Canadian 9 3/9 German K 4/11 DEC Hebrew Supplemental "4 2/2, 3/4 DEC 7-Bit Hebrew %= 2/5, 3/13 ISO Italian Y 5/9 Legal %4 2/5, 3/4 JIS Katakana I 4/9 JIS Roman J 4/10 DEC Norwegian/Danish 6 3/6 ISO Spanish Z 5/10 DEC Swedish 7 3/7 DEC Swiss = 3/13 Norwegian/Danish ‘ 6/0 DEC Supplemental %5 2/5, 3/5 DEC Technical > 3/14 DEC Special Graphics 0 3/0 DEC Portuguese %6 2/5, 3/6 DEC 7-Bit Turkish %2 2/5, 3/2 DEC 8-Bit Turkish Supplemental %0 2/5, 3/0 DEC Greek Supplemental "? 2/2, 3/15 User Preference Supplemental < 1 3/12 ------------------------------------------------------------ 1 For compatibility with older devices, set the User Preference Supplemental character set to the DEC Supplemental character set. This is a 94-character set. (continued on next page) 7-74 Command Dictionary SCS -- Select Character Set Table 7-7 (Cont.) SCS Intermediate (I 2 ) and Final Characters ------------------------------------------------------------ Character Set I 2 F Designator Characters Code ------------------------------------------------------------ Downloaded character set SP @ 2 2/0, 4/0 96-Character Sets ISO Latin-1 Supplemental A 4/1 ISO Latin-2 Supplemental B 4/2 ISO Latin-Greek Supplemental F 4/6 ISO Latin-Hebrew Supplemental H 4/8 ISO Latin-Cyrillic Supplemental L 4/12 ISO Latin-5 Supplemental M 4/13 User Preference Supplemental < 1 3/12 Downloaded character set SP @ 2 2/0, 4/0 ------------------------------------------------------------ 1 For compatibility with older devices, set the User Preference Supplemental character set to the DEC Supplemental character set. This is a 94-character set. 2 This designator is recommended for use with downloaded character sets that are not described by any of the above designators, or by any international standard. Whether you use this or any other designator to select a downloaded font, it must match the designator assigned to the downloaded font file by the Select Character Set (Dscs) parameter of the Download Font (DECDLD) control string. See DECDLD. ------------------------------------------------------------ The SCS sequences in Table 7-8 select Digital character sets as fallbacks, if the requested set is not present. Since Digital reserves the right to redefine these sequences in the future to conform to ISO standards, it is recommended that conforming software not use these sequences but instead use the Digital escape sequences in Table 7-7 to select these sets. Table 7-8 SCS Final Characters for Fallback Character Sets ------------------------------------------------------------ Character Set F Designator Character Code ------------------------------------------------------------ Fall back to DEC Finnish C 4/3 Fall back to DEC French Canadian Q 8/1 Fall back to DEC Norwegian/Danish E 4/5 Fall back to DEC Swedish H 4/8 ------------------------------------------------------------ Command Dictionary 7-75 SCS -- Select Character Set Error Handling Do not invoke a 96-character set into GL. This is considered an error condition. A 94-character downloaded character set can only be selected using 94- character set selection sequences. If a 96-character set selection sequence is used, it selects the corresponding 96-character set. If no 96-character set with that designator is available, a character set fault results. The converse is also true. See Section 4.4.3 for more information. 7-76 Command Dictionary SGR -- Select Graphic Rendition - Selecting Attributes ------------------------------------------------------------ SGR -- Select Graphic Rendition - Selecting Attributes Selects printing attributes, including lining functions, superscript and subscript functions, and emphasis functions. Also selects text color. Source: Application Destination: Levels 1, 2, 3 1 ------------------------------------------------------------ 1 Color parameters are an extension to the protocol. Format CSI Ps ; . . . ; Ps m 9/11 *** 3/11 . . . 3/11 *** 6/13 Selects standard attributes. Description Select an attribute using standard SGR parameters as follows: ------------------------------------------------------------ Ps Action ------------------------------------------------------------ 0 Turn off all attributes, standard and private. 1 Turn on bold. 3 Turn on slant. 4 Turn on underline, turn off double underline. 9 Turn on strike-through. 21 Turn on double underline, turn off underline. 22 Turn off bold. 23 Turn off slant. 24 Turn off underline and double underline. 29 Turn off strike-through. 30 1 Print text in black. 31 1 Print text in red. 32 1 Print text in green. 33 1 Print text in yellow. 34 1 Print text in blue. ------------------------------------------------------------ 1 Color text parameters are an extension to the protocol and may not be supported in all devices. See the Programming Supplement. Command Dictionary 7-77 SGR -- Select Graphic Rendition - Selecting Attributes ------------------------------------------------------------ Ps Action ------------------------------------------------------------ 35 1 Print text in magenta. 36 1 Print text in cyan. 37 1 Print text in ``white'' (transparent, no printing). 39 1 Print text in default color (black). 53 Turn on overline. 55 Turn off overline. ------------------------------------------------------------ 1 Color text parameters are an extension to the protocol and may not be supported in all devices. See the Programming Supplement. ------------------------------------------------------------ Select an attribute using Digital private SGR parameters as follows: ------------------------------------------------------------ Ps Action ------------------------------------------------------------ ?0 Turn off all private attributes (deprecated parameter). ?4 Turn on superscript, turn off subscript. ?5 Turn on subscript, turn off superscript. ?6 Turn on overline (deprecated parameter). ?24 Turn off superscript and subscript. ?26 Turn off overline (deprecated parameter). ------------------------------------------------------------ Notes to Software The parameter ?0 is provided for backwards compatibility with older devices. Conforming software should not use this parameter. Use parameter 0 instead. The parameters ?6 and ?26 are provided for backwards compatibility with older devices. Conforming software should not use these parameters. Use parameters 53 and 55 instead. Using SGR to Select Character Attributes You can send more than one parameter at a time, separated with semicolons. Do not mix standard and private parameters in one command. See Section 2.5.2.2 for more information. The device uses the selected attribute across line and page boundaries. 7-78 Command Dictionary SGR -- Select Graphic Rendition - Selecting Attributes Lining Attributes Underline, double underline, overline, and strike-through attributes affect all printable characters in the data stream, as well as: · Space (SP) · Horizontal Position Relative (HPR) · Horizontal Position Absolute (HPA) Tabs are not affected. Legal documents often use the strike-through attribute to indicate words deleted from a previous version of the document. The device draws a line through the marked characters, in the same manner as underline. All lining attributes are contiguous relative to the baseline of the entire line, even when used on superscript or subscript text. This applies to SGR superscript and subscript only, not to Partial Line Up (PLU) or Partial Line Down (PLD). Do not use lining attributes with PLU and PLD. The result may differ depending on the device. Some devices do not perform lining attributes on full cell characters. A full cell character is one that is too large to be printed in one pass of the printhead. Superscript and Subscript Attributes If superscript or subscript is requested, the device generates half-height characters algorithmically. The device aligns the top of the superscript character with the top of the normal character cell and the bottom of the subscript character with the bottom of the normal (not full) character cell. Line feed distance and active position are not affected by superscript or subscript. Superscripts and subscripts cannot be nested. Emphasis Attributes If bold printing is selected, the device uses an algorithm to produce darker characters. Lining attributes that are selected in conjunction with bold are printed at the normal weight -- only the characters are emphasized. When slant printing is selected, the characters are algorithmically slanted. See the Programming Supplement for more information about built-in algorithmic transformations and the slant algorithm. Command Dictionary 7-79 SGR -- Select Graphic Rendition - Selecting Attributes Wrapping algorithms apply to the unmodified character. Characters that have only the modified part extending outside the margins do not wrap. Some devices do not slant full cell characters. 7-80 Command Dictionary SGR -- Select Graphic Rendition - Selecting Fonts ------------------------------------------------------------ SGR -- Select Graphic Rendition - Selecting Fonts Selects a typestyle for printing. Source: Application Destination: Level 2, 3 Format CSI Ps m 9/11 *** 6/13 Description Select a typestyle using SGR parameters as follows: ------------------------------------------------------------ Ps Selection ------------------------------------------------------------ 10-19 Select typestyle as predefined, using precedence order given in Section 4.4.1. ------------------------------------------------------------ Each cartridge typestyle and downloaded font file has a preassigned SGR number. See the Programming Supplement for the initial state values of SGR parameters. The select font command can be used anywhere in the data stream. The selected typestyle remains in effect until either of the following occurs: · The device receives another select font command (SGR 10-19). · The device is reset or powered down. A change in character set may result in a temporary change in font. See Section 4.4.3 for more information on character set faults. Command Dictionary 7-81 SOCS -- Select Other Coding System ------------------------------------------------------------ SOCS -- Select Other Coding System Selects an alternate protocol. Source: Symbiont Destination: Levels 2, 3 Exception Format ESC % = 1/11 2/5 3/13 Select IBM Proprinter Emulation mode. Description Subsequent data is coded according to the selected protocol. When in an alternate coding system, the device ignores all DEC PPL2 sequences except the following: ------------------------------------------------------------ Coding Sequence ------------------------------------------------------------ ESC % @ Return from Other Coding System (ROCS) ESC [ ! p Soft Terminal Reset (DECSTR) ESC [ ? 5 8 l IBM Proprinter Emulation Mode (DECIPEM) reset only if in IBM Proprinter Emulation mode (deprecated function) ------------------------------------------------------------ These commands must be coded exactly as delineated above. DEC PPL2 rules regarding extra parameters may not apply. Do not use the 8-bit form of Control Sequence Introducer (CSI) in place of ESC [. This command causes a reset of the selected emulation mode to its initial conditions. See the emulation mode specification for a list of the initial conditions. When in emulation mode, the device does not save DSR events for later reporting after returning to DEC mode. Some devices do not support any emulation modes. See the Programming Supplement for a list of supported protocols. 7-82 Command Dictionary TBC -- Tab Clear ------------------------------------------------------------ TBC -- Tab Clear Clears one or all horizontal or vertical tab stops. Source: Application Destination: Levels 1, 2 Format CSI Ps ; . . . ; Ps g 9/11 *** 3/11 . . . 3/11 *** 6/7 Description Select Ps as follows: ------------------------------------------------------------ Ps Action ------------------------------------------------------------ 0 Clears one horizontal tab at active column. 1 Clears one vertical tab at active line. 2 Clears all horizontal tabs. 3 Clears all horizontal tabs. 4 Clears all vertical tabs. ------------------------------------------------------------ See also Horizontal Tab (HT) and Vertical Tab (VT) in Chapter 6. Error Handling Unrecognized parameters are ignored. If the absolute position is not on an even line grid, this command with a parameter of 1 clears a tab stop on the next even line grid in the forward direction. Command Dictionary 7-83 VPA -- Vertical Position Absolute ------------------------------------------------------------ VPA -- Vertical Position Absolute Moves to a new active vertical position. The horizontal position is unchanged. The new position must be below the current position. Source: Application Destination: Levels 2, 3 Format CSI Pn d 9/11 *** 6/4 Description Select Pn as follows: ------------------------------------------------------------ Pn Meaning ------------------------------------------------------------ 0 Interpreted as 1. n Position to move to. ------------------------------------------------------------ Set the active vertical position to line Pn. In no forms mode, VPA acts like a Line Feed, regardless of the value of Pn. See Set Lines per Physical Page (DECSLPP). Side Effects VPA resets the PLU/PLD flag. Error Handling See Section 3.3 for interactions with the coordinate system bounds. 7-84 Command Dictionary VPR -- Vertical Position Relative ------------------------------------------------------------ VPR -- Vertical Position Relative Moves the active vertical position down by the specified number of lines. The horizontal position does not change. Source: Application Destination: Levels 2, 3 Format CSI Pn e 9/11 *** 6/5 Description Select the VPR parameter as follows: ------------------------------------------------------------ Pn Meaning ------------------------------------------------------------ 0 Interpreted as 1. n Number of lines. ------------------------------------------------------------ Side Effects In no forms mode, VPR is limited to 255 lines. See Set Lines per Physical Page (DECSLPP). VPR resets the PLU/PLD count. Error Handling See Section 3.3 for interactions with the coordinate system bounds. Command Dictionary 7-85 Command Summary ------------------------------------------------------------ Command Summary This section contains commands grouped alphabetically by their final characters. · Table 7-9 lists ESC sequences. · Table 7-10 lists control sequences. · Table 7-11 lists DCS strings. Table 7-9 ESC Sequences Sorted by Final Character ------------------------------------------------------------ Coding Mnemonic Name ------------------------------------------------------------ ESC I 1 A SCS Select British or ISO Latin-1 Supplemental character set ESC I 1 B SCS Select ASCII character set ESC I 1 B SCS Select ISO Latin-2 Supplemental character set ESC c RIS Reset to Initial State ESC I 1 C SCS Fall back to DEC Finnish character set ESC I 1 E SCS Fall back to DEC Norwegian/Danish character set ESC I 1 F SCS Select ISO Latin-Greek Supplemental character set ESC SP F S7C1T Transmit C1 characters as ESC Fe This sequence is ignored in all digital printers, and is not documented in this manual. ESC SP G S8C1T Transmit C1 characters as C1 This sequence is ignored in all digital printers, and is not documented in this manual. ESC I 1 H SCS Select ISO Latin-Hebrew Supplemental or fall back to DEC Swedish character set ESC I 1 I SCS Select JIS Katakana character set ESC I 1 J SCS Select JIS Roman character set ESC I 1 K SCS Select German character set ESC I 1 L SCS Select ISO Latin-Cyrillic Supplemental character set ESC SP L ASCEF Announce ISO 4873 level 1 Subset of Code Extension Facilities ESC I 1 M SCS Select ISO Latin-5 Supplemental character set ESC SP M ASCEF Announce ISO 4873 level 2 Subset of Code Extension Facilities (continued on next page) 7-86 Command Dictionary Command Summary Table 7-9 (Cont.) ESC Sequences Sorted by Final Character ------------------------------------------------------------ Coding Mnemonic Name ------------------------------------------------------------ ESC n LS2 (Listed under LS* /LS*R/SS*) Locking Shift 2 ESC SP N ASCEF Announce ISO 4873 level 3 Subset of Code Extension Facilities ESC o LS3 (Listed under LS* /LS*R/SS*) Locking Shift 3 ESC O SS3 (Listed under LS* /LS*R/SS*) Single Shift 3 ESC I 1 Q SCS Fall back to DEC French-Canadian character set ESC I 1 R SCS Select French character set ESC I 1 Y SCS Select ISO Italian character set ESC I 1 Z SCS Select ISO Spanish character set ESC I 1 0 SCS Select DEC Special Graphics character set ESC I 1 % 0 SCS Select DEC 8-Bit Turkish Supplemental character set ESC % SP 0 DECBAR Start Bar Codes ESC 1 DECHTS Horizontal Tab Set ESC 2 DECCAHT Clear All Horizontal Tabs ESC I 1 % 2 SCS Select DEC 7-Bit Turkish character set ESC 3 DECVTS Vertical Tab Set ESC 4 DECCAVT Clear All Vertical Tabs ESC I 1 4 SCS Select DEC Dutch character set ESC I 1 " 4 SCS Select DEC Hebrew Supplemental character set ESC I 1 % 4 SCS Select Legal character set ESC I 1 5 SCS Select DEC Finnish character set ESC I 1 % 5 SCS Select DEC Supplemental character set ESC SP 6 DECTC1 Process C1 as C0 ESC I 1 6 SCS Select DEC Norwegian/Danish character set ESC I 1 % 6 SCS Select DEC Portuguese character set ESC SP 7 DECAC1 Process C1 as C1 (continued on next page) Command Dictionary 7-87 Command Summary Table 7-9 (Cont.) ESC Sequences Sorted by Final Character ------------------------------------------------------------ Coding Mnemonic Name ------------------------------------------------------------ ESC I 1 7 SCS Select DEC Swedish character set ESC I 1 9 SCS Select DEC French-Canadian character set ESC I 1 < SCS Select User Preference Supplemental character set ESC % = SOCS Select IBM Proprinter Emulation mode. ESC I 1 = SCS Select DEC Swiss character set ESC I 1 % = SCS Select DEC 7-Bit Hebrew character set ESC I 1 > SCS Select DEC Technical character set ESC I 1 " ? SCS Select DEC Greek Supplemental character set ESC % @ ROCS Return from Other Coding System ESC % @ DECBAR Stop Bar Codes ESC I 1 ‘ SCS Select Norwegian/Danish character set ESC | LS3R (Listed under LS* /LS*R/SS*) Locking Shift 3 Right ESC } LS2R (Listed under LS* /LS*R/SS*) Locking Shift 2 Right ESC ~ LS1R (Listed under LS* /LS*R/SS*) Locking Shift 1 Right ------------------------------------------------------------ Table 7-10 Control Sequences Sorted by Final Character ------------------------------------------------------------ Coding Mnemonic Name ------------------------------------------------------------ CSI Ps c DA Device Attributes ESC [ ? Ps1 ; Ps2 ; . . . ; Psn c DAR Device Attributes Report CSI > Ps c DA2 Secondary Device Attributes ESC [ > Ps1 ; Ps2 c DA2R Secondary Device Attributes Report CSI Pn d VPA Vertical Position Absolute CSI Pn e VPR Vertical Position Relative CSI Ps ; . . . ; Ps g TBC Tab Clear (continued on next page) 7-88 Command Dictionary Command Summary Table 7-10 (Cont.) Control Sequences Sorted by Final Character ------------------------------------------------------------ Coding Mnemonic Name ------------------------------------------------------------ CSI 3 h CRM Control Representation Mode (set) CSI 20 h LNM Line Feed/New Line Mode (set) CSI ? 7 h DECAWM Autowrap Mode (set) CSI ? 40 h DECCRNLM Carriage Return/New Line Mode (set) CSI ? 41 h DECUPM Unidirectional Print Mode (set) CSI ? 58 h DECIPEM IBM Proprinter Emulation Mode (set) CSI 3 l CRM Control Representation Mode (reset) CSI 20 l LNM Line Feed/New Line Mode (reset) CSI ? 7 l DECAWM Autowrap mode (reset) CSI ? 40 l DECCRNLM Carriage Return /New Line Mode (reset) CSI ? 41 l DECUPM Unidirectional Print Mode (reset) ESC [ ? 58 l DECIPEM IBM Proprinter Emulation Mode (reset) CSI Ps ; . . . ; Ps m SGR Select Graphic Rendition CSI Ps n DSR Device Status Request ESC [ Ps n DSR Device Status Report CSI Ps1 " p DECSCL Select Conformance Level CSI Pn ! p DECSTR Soft Terminal Reset CSI Ps1 ; Pn2 ; . . . ; Ps9 ' q DECSBCA Select Bar Code Attributes CSI Pn1 ; Pn2 r DECSTBM Set Top and Bottom Margins CSI Pn1 ; Pn2 " s DECHPWA Set Page Width Alignment CSI Pn1 ; Pn2 s DECSLRM Set Left and Right Margins CSI Pn t DECSLPP Set Lines per Physical Page CSI Pn ; . . . ; Pn u DECSHTS Set Horizontal Tab Stops CSI Pn ; . . . ; Pn v DECSVTS Set Vertical Tab Stops CSI Ps ! v DECASFC Automatic Sheet Feeder Control CSI Ps w DECSHORP Set Horizontal Pitch CSI Ps " z DECDEN Density Selection CSI Ps z DECVERP Set Vertical Pitch CSI Pn ‘ HPA Horizontal Position Absolute (continued on next page) Command Dictionary 7-89 Table 7-10 (Cont.) Control Sequences Sorted by Final Character ------------------------------------------------------------ Coding Mnemonic Name ------------------------------------------------------------ CSI Ps " { DECRFS Request Font Status ------------------------------------------------------------ Table 7-11 DCS Strings Sorted by Final Character ------------------------------------------------------------ Coding Mnemonic Name ------------------------------------------------------------ DCS Ps ! u D . . . D ST DECAUPSS Assign User Preference Supplemental set DCS Pfn ; Pcn ; Pe ; Pcmw ; Pss ; Pu ; Pcmh ; Pcss ; Psgr { D . . . D ST DECDLD Download font ESC P 3 " { D . . . D ST DECFSR Cartridge Font Status Report ------------------------------------------------------------ 7-90 Command Dictionary A ------------------------------------------------------------ Character Sets This appendix contains the code tables of the following character sets: · ASCII Character Set, Figure A-1 · DEC Supplemental Character Set, Figure A-2 · DEC Special Graphics Character Set, Figure A-3 · DEC Technical Character Set, Figure A-4 · ISO Latin Alphabet No. 1 Supplemental Character Set, Figure A-5 · National Replacement Character (NRC) sets: ------------------------------------------------------------ British Character Set, Figure A-6 ------------------------------------------------------------ DEC Finnish Character Set, Figure A-7 ------------------------------------------------------------ French Character Set, Figure A-8 ------------------------------------------------------------ DEC French-Canadian Character Set, Figure A-9 ------------------------------------------------------------ German Character Set, Figure A-10 ------------------------------------------------------------ ISO Italian Character Set, Figure A-11 ------------------------------------------------------------ JIS Roman Character Set, Figure A-12 ------------------------------------------------------------ DEC Norwegian/Danish Character Set, Figure A-13 ------------------------------------------------------------ ISO Spanish Character Set, Figure A-14 ------------------------------------------------------------ DEC Swedish Character Set, Figure A-15 ------------------------------------------------------------ Norwegian/Danish Character Set, Figure A-16 ------------------------------------------------------------ DEC Dutch Character Set, Figure A-17 ------------------------------------------------------------ DEC Swiss Character Set, Figure A-18 ------------------------------------------------------------ DEC Portuguese Character Set, Figure A-19 · Legal Character Set, Figure A-20 Character Sets A-1 · Hebrew Character Sets: ------------------------------------------------------------ DEC 7-Bit Hebrew Character Set, Figure A-21 ------------------------------------------------------------ DEC Hebrew Supplemental Character Set, Figure A-22 ------------------------------------------------------------ ISO Latin-Hebrew Supplemental Character Set, Figure A-23 · Greek Character Sets: ------------------------------------------------------------ DEC Greek Supplemental Character Set, Figure A-24 ------------------------------------------------------------ ISO Latin-Greek Supplemental Character Set, Figure A-25 · Turkish Character Sets: ------------------------------------------------------------ DEC 7-Bit Turkish Character Set, Figure A-26 ------------------------------------------------------------ DEC 8-Bit Turkish Supplemental Character Set, Figure A-27 ------------------------------------------------------------ ISO Latin Alphabet No. 5 Supplemental Character Set, Figure A-28 · Eastern European Character Sets: ------------------------------------------------------------ ISO Latin Alphabet No. 2 Supplemental Character Set, Figure A-29 ------------------------------------------------------------ ISO Latin-Cyrillic Supplemental Character Set, Figure A-30 · JIS Katakana Character Set, Figure A-31 A.1 ASCII Character Set The ASCII character set is specified by ANSI X3.4-1986. Figure A-1 illustrates the ASCII character set. A.2 DEC Supplemental Character Set The DEC Supplemental character set, shown in Figure A-2, consists of alphabetic characters and symbols not included in the ASCII character set. There are 81 characters defined in this set. The remaining character positions are considered ``reserved for future use.'' These positions are indicated by shaded boxes in the figure. The error character is printed when one of these reserved characters is received by the device. A-2 Character Sets Figure A-1 ASCII Character Set Character Sets A-3 Figure A-2 DEC Supplemental Character Set A.3 DEC Special Graphics Character Set The DEC Special Graphics character set contains 62 characters from the ASCII character set and 32 special graphics symbols. These characters also connect with similar characters in the DEC Technical character set. A-4 Character Sets Figure A-3 illustrates the DEC Special Graphics character set. Figure A-3 DEC Special Graphics Character Set Character Sets A-5 A.4 DEC Technical Character Set The DEC Technical character set, shown in Figure A-4, contains 85 characters including Greek letters, mathematical symbols, and logical symbols. The remaining character positions are considered ``reserved for future use.'' These positions are indicated by shaded boxes in the figure. The error character is printed when one of these reserved characters is received by the device. The DEC Technical character set also contains component characters used for constructing larger mathematical symbols, such as large integral and summation signs on character cell devices. The characters listed in Table A-1 are designed to span an appropriate distance horizontally and vertically so that these characters connect when printed at any supported horizontal pitch, and at 6 lines/inch vertical pitch to form large characters that may occupy several vertically adjacent or horizontally adjacent character positions. Diagonal characters may not connect well at horizontal pitches other than 1/10 in. A-6 Character Sets Figure A-4 DEC Technical Character Set Character Sets A-7 Table A-1 DEC Technical Character Set Component Characters ------------------------------------------------------------ Code Radical Sign Integral Sign Square Brackets Curly Braces Parentheses Summation Sign ------------------------------------------------------------ 2/1  2/2  2/3   2/4  2/5  2/6      2/7  2/8  2/9  2/10  2/11   2/12   2/13   2/14   2/15  3/0  3/1  3/2  3/3  3/4  3/5  3/6  3/7  ------------------------------------------------------------ A.5 ISO Latin Alphabet No. 1 Supplemental Character Set The majority of the characters used in the ISO Latin Alphabet No. 1 Supplemental character set are the same as in the DEC Supplemental character set. This character set is specified by ISO 8859-1. The ISO Latin-1 Supplemental character set is a 96-character graphic character set. Figure A-5 illustrates the ISO Latin-1 Supplemental character set. A-8 Character Sets Figure A-5 ISO Latin Alphabet No. 1 Supplemental Character Set A.6 National Replacement Character (NRC) Sets Each National Replacement Character (NRC) set contains 94 characters. Characters in the NRC sets differ from the ASCII set in up to 12 locations, as specified in ISO 646. Different characters are selected in each NRC set to satisfy local language requirements in 7-bit environments. This section contains the code tables for the following NRCs: Character Sets A-9 · British Character Set, Figure A-6 · DEC Finnish Character Set, Figure A-7 · French Character Set, Figure A-8 · DEC French-Canadian Character Set, Figure A-9 · German Character Set, Figure A-10 · ISO Italian Character Set, Figure A-11 · JIS Roman Character Set, Figure A-12 · DEC Norwegian/Danish Character Set, Figure A-13 · ISO Spanish Character Set, Figure A-14 · DEC Swedish Character Set, Figure A-15 · Norwegian/Danish Character Set, Figure A-16 · DEC Dutch Character Set, Figure A-17 · DEC Swiss Character Set, Figure A-18 · DEC Portuguese Character Set, Figure A-19 NRC sets are often constructed by the device using ASCII and either ISO Latin-1 Supplemental or DEC Supplemental, as described in Section 4.3.3. If both are available, the device uses ISO Latin-1. The process of combining compatible fonts to create a third font is called pairing. Since ISO Latin-1 Supplemental and DEC Supplemental differ in a few positions, the exact supplemental character positions used for NRC character sets sometimes differ, depending on which supplemental set is used to do the pairing. A few characters are not available in DEC Supplemental. Table A-2 contains pairing information for all NRC pairing instances in which the output differs depending on the supplemental set used. All other instances produce identical output, whether the DEC Supplemental or the ISO Latin-1 Supplemental character set is used. Positions from 2/1-7/14 are from the ASCII character set. Positions from 10/0-15/15 are from the supplemental character set. A-10 Character Sets Table A-2 National Replacement Character Set Pairing Fallbacks ------------------------------------------------------------ Character Set Character NRC Pairing Fallback ------------------------------------------------------------ DEC Supp. ISO Latin-1 Supp. ------------------------------------------------------------ DEC Dutch, French Dieresis ( ˜ ) 02/02 (") 10/08 ( ˜ ) DEC Dutch Acute accent ( ’ ) 02/07 ( ' ) 11/04 ( ’ ) DEC Dutch Fraction three-quarters 3 ------------------------------------------------------------ 4  11/03 ( ³ ) 11/14 3 ------------------------------------------------------------ 4  DEC Dutch Small ij ligature (ij) 15/13 ( ÿ ) 15/15 ( ÿ ) JIS Roman Macron 7/14 ( ~ ) 10/15 ------------------------------------------------------------ Character Sets A-11 Figure A-6 British Character Set A-12 Character Sets Figure A-7 DEC Finnish Character Set Character Sets A-13 Figure A-8 French Character Set A-14 Character Sets Figure A-9 DEC French-Canadian Character Set Character Sets A-15 Figure A-10 German Character Set A-16 Character Sets Figure A-11 ISO Italian Character Set Character Sets A-17 Figure A-12 JIS Roman Character Set A-18 Character Sets Figure A-13 DEC Norwegian/Danish Character Set Character Sets A-19 Figure A-14 ISO Spanish Character Set A-20 Character Sets Figure A-15 DEC Swedish Character Set Character Sets A-21 Figure A-16 Norwegian/Danish Character Set A-22 Character Sets Figure A-17 DEC Dutch Character Set Character Sets A-23 Figure A-18 DEC Swiss Character Set A-24 Character Sets Figure A-19 DEC Portuguese Character Set Character Sets A-25 A.7 Legal Character Set The Legal character set contains 88 characters from the ASCII character set and 6 special graphic symbols often found in legal documents. Figure A-20 illustrates the Legal character set. A-26 Character Sets Figure A-20 Legal Character Set Character Sets A-27 A.8 Hebrew Character Sets Three Hebrew character sets are supported: · DEC 7-Bit Hebrew Character Set, Figure A-21 · DEC Hebrew Supplemental Character Set, Figure A-22 · ISO Latin-Hebrew Supplemental Character Set, Figure A-23 In the DEC Hebrew Supplemental and ISO Latin-Hebrew Supplemental character sets, some character positions are considered ``reserved for future use.'' These positions are indicated by shaded boxes in the figure. The error character is printed when one of these reserved characters is received by the device. DEC 7-Bit Hebrew and DEC Hebrew Supplemental are 94-character graphic character sets and ISO Latin-Hebrew Supplemental is a 96-character graphic character set. The ISO Latin-Hebrew Supplemental character set is specified by ISO 8859-8. A-28 Character Sets Figure A-21 DEC 7-Bit Hebrew Character Set Character Sets A-29 Figure A-22 DEC Hebrew Supplemental Character Set A-30 Character Sets Figure A-23 ISO Latin-Hebrew Supplemental Character Set Character Sets A-31 A.9 Greek Character Sets Two Greek character sets are supported: · DEC Greek Supplemental Character Set, Figure A-24 · ISO Latin-Greek Supplemental Character Set, Figure A-25 In the DEC Greek Supplemental and ISO Latin-Greek Supplemental character sets, some character positions are considered ``reserved for future use.'' These positions are indicated by shaded boxes in the figure. The error character is printed when one of these reserved characters is received by the device. DEC Greek Supplemental is a 94-character graphic character set. ISO Latin-Greek Supplemental is a 96-character graphic character set. The ISO Latin-Greek Supplemental character set is specified by ISO 8859-7. A-32 Character Sets Figure A-24 DEC Greek Supplemental Character Set Character Sets A-33 Figure A-25 ISO Latin-Greek Supplemental Character Set A-34 Character Sets A.10 Turkish Character Sets Three Turkish character sets are supported: · DEC 7-Bit Turkish Character Set, Figure A-26 · DEC 8-Bit Turkish Supplemental Character Set, Figure A-27 · ISO Latin Alphabet No. 5 Supplemental Character Set, Figure A-28 DEC 8-Bit Turkish Supplemental and DEC 7-Bit Turkish are 94-character graphic character sets. ISO Latin-5 Supplemental is a 96-character graphic character set. The ISO Latin-5 Supplemental character set is specified by ISO 8859-9. Character Sets A-35 Figure A-26 DEC 7-Bit Turkish Character Set A-36 Character Sets Figure A-27 DEC 8-Bit Turkish Supplemental Character Set Character Sets A-37 Figure A-28 ISO Latin-5 Supplemental Character Set A-38 Character Sets A.11 Eastern European Character Sets Two Eastern European character sets are supported: · ISO Latin Alphabet No. 2 Supplemental Character Set, Figure A-29 · ISO Latin-Cyrillic Supplemental Character Set, Figure A-30 Both character sets are 96-character graphic character sets. ISO Latin-2 Supplemental is specified by ISO 8859-2. ISO Latin-Cyrillic Supplemental is specified by ISO 8859-5. Character Sets A-39 Figure A-29 ISO Latin-2 Supplemental Character Set A-40 Character Sets Figure A-30 ISO Latin-Cyrillic Supplemental Character Set Character Sets A-41 A.12 JIS Katakana Character Set This graphic character set consists of the Katakana characters, which are Japanese phonetic characters. This character set is specified by JIS X 0201-1976. There are 63 characters defined in this character set. The remaining character positions are considered ``reserved for future use.'' These positions are indicated by shaded boxes in figure Figure A-31. The error character is printed when one of these reserved characters is received by the device. Figure A-31 illustrates the JIS Katakana character set. A-42 Character Sets Figure A-31 JIS Katakana Character Set Character Sets A-43 ------------------------------------------------------------ Index A ------------------------------------------------------------ Absolute positioning, 3-3 Accept C1 Control Characters (DECAC1) command, 7-15 ACK (Acknowledge) control character, 6-1 Active horizontal position changing, 7-66, 7-67 Sixel Graphics mode, 5-10 Active position, 3-3 Active vertical position changing, 7-84, 7-85 Sixel Graphics mode, 5-10 Advance increments, 3-3 Alignment, paper, 3-8, 7-36 Announce Subset of Code Extension Facilities (ASCEF) command, 7-6 APC (Application Program Command) control character, 6-5 Application commands, 1-2 ASCEF (Announce Subset of Code Extension Facilities) command, 7-6 ASCII character set, A-2 Aspect ratio, Sixel Graphics mode, 5-24 Assign User Preference Supplemental Set (DECAUPSS) command, 7-17 Attributes, 7-77 Automatic Sheet Feeder Control (DECASFC) command, 7-16 Autowrap Mode (DECAWM) command, 7-19 B ------------------------------------------------------------ Bar codes selecting attributes, 7-42 start or stop, 7-20 BEL (Bell) control character, 6-2 Bitmap data, graphics, 5-1 Bold attribute, 7-79 Bottom Margin Line, 3-5, 3-8 See also Margins Bounds, 3-5 See also Margins BPH (Break Permitted Here) control character, 6-5 British character set, A-12 BS (Backspace) control character, 6-2 Buffering, 2-7 Built-in fonts, 4-2, 4-4 C ------------------------------------------------------------ C0 control characters, 6-1 to 6-5 C1 control characters, 6-5 to 6-8 C1 truncate and accept commands, 7-15, 7-56 CAN (Cancel) control character, 6-2 Carriage Return/New Line Mode (DECCRNLM) command, 7-24 CCH (Cancel Character) control character, 6-5 Character box, 3-2 downloaded fonts, 7-29 Index-1 Character cell, 3-2 Character cell model, 3-2, 3-4 Character processing, 2-1 Sixel Graphics mode, 5-6 Characters categories, 2-2 column/row notation, xiii control, 2-8 graphic, 2-6 printable, 2-6 special, 2-9 to 2-10 Character set relationship to fonts, 4-1 selecting, 2-6 to 2-7, 7-6, 7-17, 7-69, 7-73 selecting downloaded, 7-26, 7-31 Standard 8-Bit Code Table, 2-3 Character set fault, 4-5 Character sets, A-1 to A-43 ASCII, A-2 British, A-12 DEC 7-Bit Hebrew, A-29 DEC Dutch, A-23 DEC Finnish, A-13 DEC French-Canadian, A-15 DEC Greek Supplemental, A-33 DEC Hebrew Supplemental, A-30 DEC Norwegian/Danish, A-19 DEC Portuguese, A-25 DEC Special Graphics, A-4 DEC Supplemental, A-2 DEC Swedish, A-21 DEC Swiss, A-24 DEC Technical, A-6 Eastern European, A-39 font selection faults, 4-5 French, A-14 German, A-16 Greek, A-32 Hebrew, A-28 ISO Italian, A-17 ISO Latin-1 Supplemental, A-8 ISO Latin-2 Supplemental, A-40 ISO Latin-5 Supplemental, A-38 ISO Latin-Cyrillic Supplemental, A-41 Character sets (cont'd) ISO Latin-Greek Supplemental, A-34 ISO Latin-Hebrew Supplemental, A-31 ISO Spanish, A-20 JIS Katakana, A-42 JIS Roman, A-18 Legal, A-26 National Replacement Character (NRC) sets, 4-3, A-9 Norwegian/Danish, A-22 Turkish, A-35, A-36, A-37 Clear All Horizontal Tabs (DECCAHT) command, 7-22 Clear All Vertical Tabs (DECCAVT) command, 7-23 Coded characters, 2-2 Code tables character sets, A-2 to A-43 Standard 8-Bit, 2-3 to 2-5 Coding Sixel Graphics, 5-3 Color, graphics, 5-13 Color, text, 7-77 Column/row notation, xiii Columns, definition of, 1-2, 3-4 Commands, 7-1 to 7-90 See also Control sequences; Control strings; Escape sequences definition, 2-10 summary by final character, 7-86 summary by function, 7-2 Conditional Form Feed, 3-11 Conditional Sheet Feed, 3-11 Control characters, 2-8, 6-1 to 6-8 Acknowledge (ACK), 6-1 Application Program Command (APC), 6-5 Backspace (BS), 6-2 Bell (BEL), 6-2 7-bit C1 equivalence, 2-8 Break Permitted Here (BPH), 6-5 C0, 6-1 to 6-5 C1, 6-5 to 6-8 Cancel (CAN), 6-2 Cancel Character (CCH), 6-5 Carriage Return (CR), 6-2 Index-2 Control characters (cont'd) Control Sequence Introducer (CSI), 6-5 Data Link Escape (DLE), 6-2 Device Control 1 (DC1), 6-2 Device Control 2 (DC2), 6-2 Device Control 3 (DC3), 6-2 Device Control 4 (DC4), 6-2 Device Control String (DCS), 6-5 End of Medium (EM), 6-2 End of Protected Area (EPA), 6-5 End of Selected Area (ESA), 6-5 End of Text (ETX), 6-3 End of Transmission (EOT), 6-3 End of Transmission Block (ETB), 6-3 Enquiry (ENQ), 6-3 Escape (ESC), 6-3 File Separator (FS), 6-3 Form Feed (FF), 6-3 Group Separator (GS), 6-3 Horizontal Tab (HT), 6-3 Horizontal Tab Set (HTS), 6-6 Horizontal Tab with Justification (HTJ), 6-5 Index (IND), 6-6 Line Feed (LF), 6-3 Message Waiting (MW), 6-6 Negative Acknowledge (NAK), 6-4 Next Line (NEL), 6-6 No Break Here (NBH), 6-6 Null (NUL), 6-4 Operating System Command (OSC), 6-6 Partial Line Down (PLD), 6-6 Partial Line Up (PLU), 6-6 Privacy Message (PM), 6-6 Private Use 1 (PU1), 6-7 Private Use 2 (PU2), 6-7 Record Separator (RS), 6-4 reserved, 6-8 Reverse Index (RI), 6-7 Set Transmit State (STS), 6-7 Shift In (SI), 6-4 Shift Out (SO), 6-4 Single Character Introducer (SCI), 6-7 Single Shift 2 (SS2), 6-7 Single Shift 3 (SS3), 6-7 Control characters (cont'd) Start of Heading (SOH), 6-4 Start of Protected Area (SPA), 6-7 Start of Selected Area (SSA), 6-7 Start of String (SOS), 6-7 Start of Text (STX), 6-4 String Terminator (ST), 6-7 Substitute (SUB), 6-4 Synchronous Idle (SYN), 6-4 Unit Separator (US), 6-4 Vertical Tab (VT), 6-4 Vertical Tab Set (VTS), 6-8 Control functions, 2-10 to 2-18, 6-1 to 6-8, 7-1 to 7-90 See also Control characters; Control sequences; Control strings; Escape sequences special parsing, 2-16 Control Representation Mode (CRM) command, 7-7 Control sequences, 2-10 format, 2-11 to 2-12 parameter values, 2-12 to 2-14 private parameters, 2-13 Control string introducer, 2-14 Control strings, 2-10, 2-14 to 2-15 device control strings, 2-15 format, 2-14 protocol selector, 2-14 Conventions, documentation, xiii CR (Carriage Return) control character, 6-2 CRM (Control Representation Mode) command, 7-7 CSI (Control Sequence Introducer) control character, 6-5 Current Font Definition, 4-4 D ------------------------------------------------------------ DA (Device Attributes) command, 7-9 DA2 (Secondary Device Attributes) command, 7-13 Index-3 DA2R (Secondary Device Attributes Report) command, 7-14 DAR (Device Attributes Report) command, 7-10, 7-12 DC1 (Device Control 1) control character, 6-2 DC2 (Device Control 2) control character, 6-2 DC3 (Device Control 3) control character, 6-2 DC4 (Device Control 4) control character, 6-2 DCS (Device Control String) control character, 6-5 Debugging, software hexadecimal control representation, 7-7 DEC 7-Bit Hebrew character set, A-29 DEC 7-Bit Turkish character set, A-36 DEC 8-Bit Turkish Supplemental character set, A-37 DECAC1 (Accept C1 Control Characters) command, 7-15 DECASFC (Automatic Sheet Feeder Control) command, 7-16 DECAUPSS (Assign User Preference Supplemental Set) command, 2-6, 7-17 DECAWM (Autowrap Mode) command, 7-19 DECBAR (Start or Stop Bar Codes), 7-20 DECCAHT (Clear All Horizontal Tabs) command, 7-22 DECCAVT (Clear All Vertical Tabs) command, 7-23 DECCRNLM (Carriage Return/New Line Mode) command, 7-24 DECDEN (Density Selection) command, 7-25 DECDLD (Download Font) command, 7-26 character font data, 7-31 parameters controlling, 7-27 string data format, 7-31 DEC Dutch character set, A-23 DEC Finnish character set, A-13 DEC French-Canadian character set, A-15 DECFSR (Font Status Report) command, 7-35, 7-41 DECGCI (Graphics Color Introducer) command, 5-13 DECGCR (Graphics Carriage Return) command, 5-22 DECGNL (Graphics Next Line) command, 5-23 DECGRA (Set Raster Attributes) command, 5-24 DEC Greek Supplemental character set, A-33 DECGRI (Graphics Repeat Introducer) command, 5-26 DEC Hebrew Supplemental character set, A-30 DECHPWA (Set Page Width Alignment) command, 7-36 DECHTS (Horizontal Tab Set) command, 7-38 DECIPEM (IBM Proprinter Emulation mode) command, 7-39, 7-40, 7-72, 7-82 DEC Norwegian/Danish character set, A-19 DEC Portuguese character set, A-25 DEC PPLn, protocol levels, 1-1 DECRFS (Request Font Status) command, 7-41 DECSBCA (Select Bar Code Attributes) command, 7-42 DECSCL (Select Conformance Level) command, 7-44 DECSHORP (Set Horizontal Pitch) command, 7-45 DECSHTS (Set Horizontal Tab Stops) command, 7-47 DECSLPP (Set Lines per Physical Page) command, 7-48 DECSLRM (Set Left and Right Margins) command, 7-50 DEC Special Graphics character set, A-4 DECSTBM (Set Top and Bottom Margins) command, 7-52 Index-4 DECSTR (Soft Terminal Reset) command, 7-54 DEC Supplemental character set, A-2 DECSVTS (Set Vertical Tab Stops) command, 7-55 DEC Swedish character set, A-21 DEC Swiss character set, A-24 DECTC1 (Truncate C1 Control Characters) command, 7-56 DEC Technical character set, A-6 DECUPM (Unidirectional Print Mode) command, 7-57 DECVERP (Set Vertical Pitch) command, 7-58 DECVTS (Vertical Tab Set) command, 7-61 Density, font attribute, 4-5 Density Selection (DECDEN) command, 7-25 Device Attributes (DA) command, 7-9 Device Attributes Report (DAR) command, 7-10, 7-12 Device control strings, format, 2-15 Device Status Report (DSR), 7-64 Device Status Request (DSR) command, 7-62 Digital ANSI-Compliant Printing Protocol exceptions to, 1-2 extensions to, 1-2 levels of, 1-1 DLE (Data Link Escape) control character, 6-2 Dot downloaded fonts, 7-27 graphics, 5-2 Double underline attribute, 7-79 Download Font (DECDLD) command, 7-26 to 7-34 Dscs -- downloading fonts, 7-31 DSR (Device Status Report), 7-64 DSR (Device Status Request) command, 7-62 E ------------------------------------------------------------ Eastern European character sets, A-39 ISO Latin-2 Supplemental, A-40 ISO Latin-Cyrillic Supplemental, A-41 EM (End of Medium) control character, 6-2 Emulation modes, 7-39, 7-40, 7-72, 7-82 ENQ (Enquiry) control character, 6-3 EOT (End of Transmission) control character, 6-3 EPA (End of Protected Area) control character, 6-5 Error character, 4-5, A-2, A-6, A-28, A-32, A-42 Error reporting, 7-62, 7-64 ESA (End of Selected Area) control character, 6-5 ESC (Escape) control character, 6-3 Escape sequences, 2-10 format, 2-10 to 2-11 ETB (End of Transmission Block) control character, 6-3 ETX (End of Text) control character, 6-3 Exception, protocol, 1-2 Extension, protocol, 1-2 F ------------------------------------------------------------ FF (Form Feed) control character, 6-3 Font cartridges, 4-2 Current Font Definition, 4-4 definition, 4-1 density attribute, 4-5 dictionary, 4-4 downloading, 7-26 to 7-34 See also DECDLD error character, 4-5 fallbacks, 4-5 files, 4-2 relationship to character sets, 4-1 repertory, 4-2 reporting, 7-35, 7-41 selection, 4-4, 4-5, 7-81 Index-5 Font (cont'd) supported character sets, 4-3 typestyle attribute, 4-4 Font cartridge, 4-2 Font dictionary, 4-4 Font file, 4-2 Font selection, 4-4, 4-5, 7-81 Font Status Report (DECFSR) command, 7-35, 7-41 Form Feed actions at the Bottom Margin Line, 3-8 actions at the Top Margin Line, 3-7 conditional, 3-11 French character set, A-14 Front Panel, 7-2 FS (File Separator) control character, 6-3 Full cell character, 7-79, 7-80 G ------------------------------------------------------------ German character set, A-16 Glyph, 4-2 Graphic characters, 2-6 Graphic character set, definition, 4-1 Graphic left (GL) and graphic right (GR) sets, 2-6 Graphics See Sixel Graphics Graphics Carriage Return (DECGCR) command, 5-22 Graphics Color Introducer (DECGCI) command, 5-13 Graphics Next Line (DECGNL) command, 5-23 Graphics Repeat Introducer (DECGRI) command, 5-26 Greek character sets, A-32 DEC Greek Supplemental, A-33 ISO Latin-Greek Supplemental, A-34 Grid character cell, 3-2 graphics, 5-2 GS (Group Separator) control character, 6-3 H ------------------------------------------------------------ HAI (Horizontal Advance Increment), 3-3 Hebrew character sets, A-28 DEC 7-Bit Hebrew, A-29 DEC Hebrew Supplemental, A-30 ISO Latin-Hebrew Supplemental, A-31 Highlighting characters bold printing, 7-79 double underline, 7-79 overline, 7-79 slant printing, 7-79 strike-through printing, 7-79 underline, 7-79 Horizontal Advance Increment (HAI), 3-3 Horizontal grid size -- Sixel Graphics mode, 5-5 Horizontal Position Absolute (HPA) command, 7-66 Horizontal Position Relative (HPR) command, 7-67 Horizontal Tab Set (DECHTS) command, 7-38 HPA (Horizontal Position Absolute) command, 7-66 HPR (Horizontal Position Relative) command, 7-67 HT (Horizontal Tab) control character, 6-3 HTJ (Horizontal Tab with Justification) control character, 6-5 HTS (Horizontal Tab Set) control character, 6-6 I ------------------------------------------------------------ IBM Proprinter Emulation mode, 7-39, 7-40, 7-72, 7-82 IND (Index) control character, 6-6 ISO Italian character set, A-17 ISO Latin-1 Supplemental character set, A-8 Index-6 ISO Latin-2 Supplemental character set, A-40 ISO Latin-5 Supplemental character set, A-38 ISO Latin-Cyrillic Supplemental character set, A-41 ISO Latin-Greek Supplemental character set, A-34 ISO Latin-Hebrew Supplemental character set, A-31 ISO Spanish character set, A-20 Italic attribute, 7-79 J ------------------------------------------------------------ JIS Katakana character set, A-42 JIS Roman character set, A-18 K ------------------------------------------------------------ Katakana character set, A-42 L ------------------------------------------------------------ Left Margin Position, 3-5, 3-6 See also Margins Legal character set, A-26 Levels, protocol, 1-1 LF (Line Feed) control character, 6-3 Limit bounds, 3-5 See also Margins Line Feed/New Line Mode (LNM) command, 7-68 Lines, definition of, 3-4 Line terminators, 2-7 Lining, text attributes, 7-79 LNM (Line Feed/New Line Mode) command, 7-68 Locking shift (LS) control functions, 6-4, 7-69 Logical page, 3-1, 3-8 alignment of, 3-9 LS0 (Locking Shift 0) command, 7-69 LS1 (Locking Shift 1) command, 7-69 LS1R (Locking Shift 1 GR) command, 7-69 LS2 (Locking Shift 2) command, 7-69 LS2R (Locking Shift 2 GR) command, 7-69 LS3 (Locking Shift 3) command, 7-69 LS3R (Locking Shift 3 GR) command, 7-69 M ------------------------------------------------------------ Macro parameter -- Sixel Graphics mode, 5-5 Margins conditions affecting, 7-36, 7-46, 7-49, 7-59 setting left and right, 7-50 setting top and bottom, 7-52 MW (Message Waiting) control character, 6-6 N ------------------------------------------------------------ NAK (Negative Acknowledge) control character, 6-4 National Replacement Character (NRC) sets, 4-3 British, A-12 DEC Dutch, A-23 DEC Finnish, A-13 DEC French-Canadian, A-15 DEC Norwegian/Danish, A-19 DEC Portuguese, A-25 DEC Swedish, A-21 DEC Swiss, A-24 French, A-14 German, A-16 ISO Italian, A-17 ISO Spanish, A-20 JIS Roman, A-18 Norwegian/Danish, A-22 National Replacement Character (NRC) Sets, A-9 NBH (No Break Here) control character, 6-6 Index-7 NEL (Next Line) control character, 6-6 Norwegian/Danish character set, A-22 NUL (Null) control character, 6-4 O ------------------------------------------------------------ Origin, 3-2 OSC (Operating System Command) control character, 6-6 Overline attribute, 7-79 P ------------------------------------------------------------ Page coordinate system, 3-1 to 3-11 alignment, 3-8 bounds, 3-5 definition of, 3-1 positioning on, 3-3, 3-9, 3-10 Page size with the DECHPWA command, 7-36 with the DECSLPP command, 7-48 Pairing, 4-3, A-9 Paper origin placement on, 3-2 physical vs. logical alignment, 3-8 Paper tray, selection of, 7-16 Partial Line Motion (PLU and PLD), 3-9, 6-6 Pcmh -- downloading fonts, 7-29 Pcmw -- downloading fonts, 7-28 Pcn -- downloading fonts, 7-27 Pcss -- downloading fonts, 7-29 Pe -- downloading fonts, 7-27 Pfn -- downloading fonts, 7-27 Physical sheet, 3-1, 3-8 alignment of, 3-9 Picture data, graphics, 5-2 Picture data -- Sixel Graphics, 5-6 Pitch horizontal, with DECSHORP command, 7-45 vertical, with DECVERP command, 7-58 Pixel, graphics, 5-1 Pixel-spot, graphics, 5-2 PLD (Partial Line Down) control character, 3-9, 6-6 PLU (Partial Line Up) control character, 3-9, 6-6 PM (Privacy Message) control character, 6-6 Point model, 3-2 Positioning commands absolute, 3-3 relative, 3-3 PPLn, protocol levels, 1-1 Printable characters, 2-6 Printing environment, 1-2, 3-1 active position, 3-3 Programming Supplement, xii Protocol levels, 1-1 Protocol selector, 2-14 Pss -- downloading fonts, 7-28 PU1 (Private Use 1) control character, 6-7 PU2 (Private Use 2) control character, 6-7 Pu -- downloading fonts, 7-28 R ------------------------------------------------------------ Raster, graphics, 5-1 Relative positioning, 3-3 Reports device attributes, 7-9, 7-10, 7-12, 7-13, 7-14 device status, 7-62, 7-64 font status, 7-35, 7-41 restrictions on, 7-72, 7-82 Request Font Status (DECRFS) command, 7-41 Resets, device with the DECSCL command, 7-44 with the DECSTR command, 7-54 with the RIS command, 7-71 Reset to Initial State (RIS) command, 7-71 Return from Other Coding System (ROCS), 7-72 and bar codes, 7-21 RI (Reverse Index) control character, 6-7 Index-8 Right Margin Flag (RMF), 3-6, 3-10 Right Margin Position, 3-5, 3-6 See also Margins RIS (Reset to Initial State) command, 7-71 RMF--Right Margin Flag, 3-6, 3-10 ROCS (Return from Other Coding System) command, 7-72 and bar codes, 7-21 RS (Record Separator) control character, 6-4 S ------------------------------------------------------------ SCI (Single Character Introducer) control character, 6-7 SCS (Select Character Set) command, 7-73 Secondary Device Attributes (DA2) command, 7-13 Secondary Device Attributes Report (DA2R) command, 7-14 Select Bar Code Attributes (DECSBCA) command, 7-42 Select Character Set (SCS) command, 7-73 Select Conformance Level (DECSCL) command, 7-44 Select Graphic Rendition (SGR) command highlighting characters with, 7-77 to 7-80 selecting a font with, 7-81 Select Other Coding System (SOCS) command, 7-82 and bar codes, 7-21 Set Horizontal Pitch (DECSHORP) command, 7-45 Set Horizontal Tab Stops (DECSHTS) command, 7-47 Set Left and Right Margins (DECSLRM) command, 7-50 Set Lines per Physical Page (DECSLPP) command, 7-48 Set Page Width Alignment (DECHPWA) command, 7-36 Set Raster Attributes (DECGRA) command, 5-24 Set Top and Bottom Margins (DECSTBM) command, 7-52 Setup feature, 7-2 Set Vertical Pitch (DECVERP) command, 7-58 Set Vertical Tab Stops (DECSVTS) command, 7-55 SGR (Select Graphic Rendition) command, 7-77, 7-81 Sheet Feed, conditional, 3-11 Sheet feeder, 7-16 SI (Shift In) control character, 6-4, 7-69 Single shift (SS) control functions, 7-69 Single-shift (SS) control functions, 6-7 Sixel, definition of, 5-1 Sixel control codes graphics carriage return (DECGCR), 5-22 graphics color introducer (DECGCI), 5-13 graphics next line (DECGNL), 5-23 graphics repeat introducer (DECGRI), 5-26 set raster attributes (DECGRA), 5-24 Sixel Graphics, 5-1 active position, 5-2 character processing, 5-6 coding, hexadecimal representation, 5-3 compatibility and quality, 5-10 to 5-12 concepts, 5-1 to 5-3 control codes, 5-8 to 5-9, 5-12 to 5-26 dot patterns, 5-7 encoding, 5-6 to 5-8 entering, 5-10 exiting, 5-9, 5-10 horizontal grid size, 5-5 interaction with text, 5-10 left margin, 5-2 macro parameter, 5-5 margins, 5-10 numeric parameters, 5-9 parameter separator, 5-9 picture data, 5-6 Index-9 Sixel Graphics (cont'd) programming considerations, 5-10 to 5-12 selecting, 5-3 software layering, 5-4 String Terminator, 5-6 terminology, 5-1 to 5-3 translation and printing, 5-2 Sixel Graphics DCS (Device Control String), 5-3 macro parameter, 5-5 picture data, 5-6 protocol selector, 5-4 Slant attribute See Italic attribute SO (Shift Out) control character, 6-4, 7-69 SOCS (Select Other Coding System) command, 7-82 and bar codes, 7-21 Soft Terminal Reset (DECSTR) command, 7-54 SOH (Start of Heading) control character, 6-4 SOS (Start of String) control character, 6-7 SPA (Start of Protected Area) control character, 6-7 Special characters, 2-9 to 2-10 SS2 (Single Shift 2) control character, 6-7, 7-69 SS3 (Single Shift 3) control character, 6-7, 7-69 SSA (Start of Selected Area) control character, 6-7 ST (String Terminator) control character, 6-7 Start or Stop Bar Codes (DECBAR), 7-20 STS (Set Transmit State) control character, 6-7 STX (Start of Text) control character, 6-4 SUB (Substitute) control character, 6-4 Subscript, 7-79 Superscript, 7-79 Symbiont commands, 1-2 SYN (Synchronous Idle) control character, 6-4 T ------------------------------------------------------------ Tab Clear (TBC) command, 7-83 Tabs, 3-10 clearing, 7-22, 7-23, 7-83 horizontal, 7-47 vertical, 7-55, 7-61 TBC (Tab Clear) command, 7-83 Terminal management IBM Proprinter Emulation mode, 7-39, 7-40 Return from other coding system, 7-72 Select other coding system, 7-82 Top Margin Line, 3-5, 3-7 See also Margins Tray selection, 7-16 Truncate C1 Control Characters (DECTC1) command, 7-56 Turkish character sets, A-35 DEC 7-Bit Turkish, A-36 DEC 8-Bit Turkish Supplemental, A-37 ISO Latin-5 Supplemental, A-38 Typestyle font attribute, 4-4 selecting downloaded, 7-26 U ------------------------------------------------------------ Underline attribute, 7-79 Unidirectional Print Mode (DECUPM) command, 7-57 US (Unit Separator) control character, 6-4 User Preference Supplemental character set, 2-6, 7-17, 7-73 V ------------------------------------------------------------ VAI (Vertical Advance Increment), 3-3 Vertical Advance Increment (VAI), 3-3 Index-10 Vertical Position Absolute (VPA) command, 7-84 Vertical Position Relative (VPR) command, 7-85 Vertical Tab Set (DECVTS) command, 7-61 VPA (Vertical Position Absolute) command, 7-84 VPR (Vertical Position Relative) command, 7-85 VT (Vertical Tab) control character, 6-4 VTS (Vertical Tab Set) control character, 6-8 Index-11