CONTENTS Title Page Copyright Page Preface 1 Introduction to DDIF 1.1 Scope and Applicability 1.1.1 Compatibility with ISO Standards 1.1.2 Features 1.1.3 DDIF Encoding 1.1.4 Summary 1.2 Reserved Words and Data Types 1.2.1 Built-in Data Types 1.2.1.1 Primitive Data Types 1.2.1.2 Constructed Types 1.2.1.3 Tagged Types 1.2.2 Built-in Operators 1.2.3 Defined Types 1.2.3.1 Pre-defined Types 1.2.3.2 DDIF Defined Types 1.3 Basic Concepts 1.3.1 Taxonomy of Documents 1.3.1.1 Revisable Documents 1.3.1.2 Levels of Revisability 1.3.1.3 Structured Documents 1.3.1.4 Final Form Documents 1.3.2 Compound Documents 1.3.3 Document Layout 1.3.3.1 Separation Of Layout From Content 1.3.3.2 Replacement of Layout 1.3.3.3 How Layout Separation is Achieved 1.3.3.3.1 Wrap Attributes 1.3.3.3.2 Layout Attributes 1.3.3.4 Content Streams In Layout 1.3.4 Relationships in Revisable Documents 1.3.5 Document Content 1.4 Document Structure 1.4.1 Segment Hierarchy 1.4.2 Application of Attributes 1.4.3 Type Definitions 1.4.4 Content Definitions 1.4.5 Redefinition of Type and Content Definitions 1.4.6 References to Type Definitions 1.4.7 References to Content Definitions 1.4.8 Computed Content 1.5 Conforming Support of DDIF 1.5.1 Conforming DDIF Receivers 1.5.1.1 Message Classes 1.5.1.2 Attribute Inheritance 1.5.1.3 Support of Valid Documents 1.5.1.4 Support of Conforming Extensions 1.5.2 Conforming DDIF Senders 1.5.3 Conforming DDIF Modifiers 1.5.4 Conformance Subsets 1.5.5 Conformance Levels 1.6 Private Data 1.7 Extension Policy 1.7.1 Version Control 2 DDIF Document Structure 2.1 Document Descriptor 2.2 Document Header 2.2.1 Coded-Character-Sets 2.2.1.1 DEFAULT Coded-Character-Sets 2.2.1.2 Document Header Example 2.3 Document Content 2.3.1 Content Categories 2.3.2 Segment Tags 2.3.3 Presentation Attributes of Content 3 Content Elements and Attributes 3.1 Segment Definition 3.2 Text Content 3.2.1 Text Content Primitives 3.2.2 Text Presentation Attributes 3.2.3 Text Layout 3.2.3.1 Galley-based Text Layout 3.2.3.2 Character-relative Layout 3.2.3.3 Path-based Text Layout 3.2.3.4 Directives 3.2.4 Standard Text Tags 3.3 Graphics Content 3.3.1 Graphics Content Elements 3.3.1.1 Polyline Primitive 3.3.1.2 Cubic Bézier 3.3.1.3 Arc Primitive 3.3.1.4 Fill Area Set 3.3.2 Attributes of Graphics 3.3.2.1 Line Attributes 3.3.2.2 Marker Attributes 3.3.3 Standard Graphics Tags 3.4 Image Content 3.4.1 Image Content Primitives 3.4.2 Image Presentation Attributes 3.4.3 Image Component Space Attributes 3.4.4 Standard Image Content Tags 3.5 Audio Content 3.5.1 Audio Content Category 3.5.2 Audio Content Primitives 3.5.3 Audio Segment Attributes 3.5.4 Audio Presentation Attributes 3.5.5 Standard Audio Content Tags 3.6 Restricted Content 3.7 Referenced Content 3.7.1 Content Reference 4 Content Defined Types 4.1 Bounding Box 4.2 Color 4.3 Compute Definition 4.4 Cross Reference 4.5 Escapement 4.6 External References 4.7 Font Definition 4.8 Format 4.9 Frame Parameters 4.9.1 Inline Frame Parameters 4.9.2 Galley Frame Parameters 4.9.3 Margin Frame Parameters 4.10 Function Link 4.11 Index Types 4.11.1 External Reference Index 4.11.2 Language Index 4.12 Labelled Content Definition 4.13 Label 4.13.1 ASCII String 4.13.2 Variable Label 4.14 Legend Units 4.15 Measurement, Angle, and Coordinate Types 4.15.1 Angle 4.15.2 AngleRef 4.15.3 Measurement 4.15.4 Position 4.15.5 Ratio 4.15.6 Right Angle 4.15.7 Size 4.15.8 X Coordinate 4.15.9 Y Coordinate 4.16 Measurement Units 4.17 Named Value and Named Value List 4.17.1 Named Value List 4.18 Number Types 4.18.1 Font Number 4.18.2 Line End Number 4.18.3 Line Style Number 4.18.4 Marker Number 4.18.5 Path Number 4.18.6 Pattern Number 4.19 Path Definition 4.19.1 Composite Path 4.20 Path Types 4.20.1 Arc Path 4.20.2 Cubic Bezier Path 4.20.3 Line Definition 4.20.4 Polyline Path 4.21 Pattern Definitions 4.22 Reference 4.23 Segment Attributes 4.23.1 Binding Attribute Definitions to References 4.24 Segment Type Definition 4.25 Structure Definition 4.25.1 Occurrence Definition 4.25.2 Structure Element 4.26 Tag Types 4.26.1 Category Tag 4.26.2 Conformance Tag 4.26.3 Named Value Tag 4.26.4 Segment Tags 4.26.5 Storage System Tag 4.26.6 Stream Tag 4.27 Transformation 4.28 Variable Binding 4.28.1 Counter Definition 4.28.1.1 Layout Object Type 4.28.1.2 Expression 4.28.1.3 Counter Style 4.28.1.4 Conversion Algorithm for Hebrew Counters 4.28.1.5 Conversion for Hangul 4.28.2 String Expression 4.28.3 Record Definitions 4.28.4 Standard Variable Names 5 DDIF Layout 1 5.1 Goals of Layout 1 5.2 Non-Goals and Restrictions 5.3 Generic Layout 5.3.1 Page Description 5.3.2 Page Set 5.3.3 Page Layout 5.3.4 Layout Galley 5.3.5 Galley Attributes 5.4 Specific Layout 6 Layout and Wrap Attributes 6.1 Layout Attributes 6.2 Break Criteria 6.3 Wrap Attributes 7 Layout Defined Types 7.1 Generalized Measure 7.2 Generalized Size 7.3 Tab Stop List A Collected Syntax Diagrams B Fill Patterns C Raster Pattern Bitmaps D Initial Attributes E Examples E.1 Architecture and Mechanisms E.1.1 Segment Hierarchy E.1.2 Type Definitions and References E.1.3 Content Definitions and References E.1.3.1 Text Rendition Inheritance E.1.3.2 Bindings Inheritance E.1.3.3 Tab Stops Inheritance E.2 Text Content E.3 Graphics Content E.3.1 Line Join Example E.3.2 Text Path Example E.4 Image Content F List of Language and Country Codes G Examples G.1 GENERIC PAGE LAYOUT Glossary Attribute . . . Formatting Galley . . . ODA/ODIF Obsolete . . . Specific layout Style . . . Wrapping EXAMPLES 2-1 Document Descriptor Example 2-2 Code-Character-Sets Example 2-3 Document Header Example 3-1 Begin Segment Example 3-2 Text Position Script Code Sample 3-3 Variable Reset Example 4-1 Style File Reference Label Examples 4-2 Style File Reference Label Type Examples 4-3 Style File Examples 4-4 Font Definition Example 4-5 Content Definition Example 4-6 Pattern Definition Example 4-7 Segment Type Definition Example 4-8 Military Numbering Example 4-9 Office Style Example E-1 Segment Hierarchy E-2 Type Definitions and References E-3 Content Definitions and References E-4 Text Rendition Inheritance Example E-5 Bindings Inheritance Example E-6 Tab Stops Inheritance Example E-7 Text Content E-8 Graphics Content E-9 Line Join E-10 Text Path E-11 Image Content G-1 Generic Page Layout FIGURES 1-1 Segment Hierarchy 2-1 DDIF Document Syntax Diagram 2-2 Document Descriptor Syntax Diagram 2-3 Document Header Syntax Diagram 2-4 Document Root Segment 3-1 Segment Primitive Syntax Diagram 3-2 Begin-Segment Syntax Diagram 3-3 Text Primitive Syntax Diagram 3-4 Text Attributes Syntax Diagram 3-5 Rendition Code Syntax Diagram 3-6 Illustration of Ideogram Renditions 3-7 Text Direction Figure 3-8 Leader Style Syntax Diagram 3-9 Text Layout Syntax Diagram 3-10 Positional Layout Figure 3-11 Ideographic Positional Layout Figure 3-12 Script Code Sample Output 3-13 Text String Layout Syntax Diagram 3-14 Font and Character Metrics 3-15 Formatting Primitive Syntax Diagram 3-16 Value Directive Syntax Diagram 3-17 Escapement Directive Syntax Diagram 3-18 Variable Reset Syntax Diagram 3-19 Directive Syntax Diagram 3-20 Graphics Primitive Syntax Diagram 3-21 Polyline Syntax Diagram 3-22 Polyline Join Syntax Diagram 3-23 Polyline Join Description Syntax Diagram 3-24 Polyline Join Definition Syntax Diagram 3-25 Joined Polyline Path Syntax Diagram 3-26 Cubic Bézier Syntax Diagram 3-27 Arc Syntax Diagram 3-28 Examples of Arc-flag Usage 3-29 Fill Area Set Syntax Diagram 3-30 Line Attributes Syntax Diagram 3-31 Line Join Syntax Diagram 3-32 Marker Attributes Syntax Diagram 3-33 Marker Number Syntax Diagram 3-34 Image Data Elements in the Document Body 3-35 Image Primitive Syntax Diagram 3-36 Image Coding Attributes Syntax Diagram 3-37 Image Attributes Syntax Diagram 3-38 Image Lookup Table Data Syntax Diagram 3-39 Image Component Space Attributes Syntax Diagram 3-40 Audio Primitive Syntax Diagram 3-41 Audio Coding Attributes Syntax Diagram 3-42 Audio Data Frame Syntax Diagram 3-43 Time Parameters Syntax Diagram 3-44 Restricted Content Syntax Diagram 3-45 Content Reference Primitive Syntax Diagram 3-46 Content Reference Syntax Diagram 4-1 Bounding Box Syntax Diagram 4-2 Color Syntax Diagram 4-3 Red-Green-Blue Syntax Diagram 4-4 Compute Definition Syntax Diagram 4-5 Cross Reference Syntax Diagram 4-6 Escapement Syntax Diagram 4-7 External Reference Syntax Diagram 4-8 Font Definition Syntax Diagram 4-9 Format Syntax Diagram 4-10 Frame Parameters Syntax Diagram 4-11 Inline Frame Parameters Syntax Diagram 4-12 Galley Frame Parameters Syntax Diagram 4-13 Galley Vertical Position Syntax Diagram 4-14 Margin Frame Parameters Syntax Diagram 4-15 Margin Horizontal Position Syntax Diagram 4-16 Function Link Syntax Diagram 4-17 External Reference Index Syntax Diagram 4-18 Language Index Syntax Diagram 4-19 Content Definition Syntax Diagram 4-20 Label Syntax Diagram 4-21 Label Types Syntax Diagram 4-22 ASCII String Syntax Diagram 4-23 Legend Units Syntax Diagram 4-24 Angle Syntax Diagram 4-25 AngleRef Syntax Diagram 4-26 Measurement Syntax Diagram 4-27 Position Syntax Diagram 4-28 Ratio Syntax Diagram 4-29 Right Angle Syntax Diagram 4-30 Size Syntax Diagram 4-31 X Coordinate Syntax Diagram 4-32 Y Coordinate Syntax Diagram 4-33 Measurement Units Syntax Diagram 4-34 Named Value Syntax Diagram 4-35 Value Data Syntax Diagram 4-36 Named Value List Syntax Diagram 4-37 Font Number Syntax Diagram 4-38 Line End Number Syntax Diagram 4-39 Line Style Number Syntax Diagram 4-40 Path Number Syntax Diagram 4-41 Pattern Number Syntax Diagram 4-42 Path Definition Syntax Diagram 4-43 Composite Path Syntax Diagram 4-44 Arc Path Syntax Diagram 4-45 Cubic Bezier Path Syntax Diagram 4-46 Line Definition Syntax Diagram 4-47 Poly Line Path Syntax Diagram 4-48 Pattern Definition Syntax Diagram 4-49 Standard Pattern Syntax Diagram 4-50 Reference Syntax Diagram 4-51 Segment Attributes Syntax Diagram 4-52 Segment Type Definition Syntax Diagram 4-53 Structure Definition Syntax Diagram 4-54 Occurrence Definition Syntax Diagram 4-55 Structure Element Syntax Diagram 4-56 Tag Syntax Diagram 4-57 Category Tag Syntax Diagram 4-58 Conformance Tag Syntax Diagram 4-59 Named Value Tag Syntax Diagram 4-60 Segment Tag Syntax Diagram 4-61 Storage System Tag Syntax Diagram 4-62 Stream Tag Syntax Diagram 4-63 Transformation Syntax Diagram 4-64 Variable Binding Syntax Diagram 4-65 Counter Definition Syntax Diagram 4-66 Layout Object Type Syntax Diagram 4-67 Expression Syntax Diagram 4-68 Counter Style Syntax Diagram 4-69 String Expression Syntax Diagram 4-70 Record List Syntax Diagram 4-71 Record Definition Syntax Diagram 5-1 Generic Layout Syntax Diagram 5-2 Page Description Syntax Diagram 5-3 Page Set Syntax Diagram 5-4 Page Layout Syntax Diagram 5-5 Layout Primitive Syntax Diagram 5-6 Layout Galley Syntax Diagram 5-7 Galley Attributes Syntax Diagram 5-8 Specific Layout Syntax Diagram 6-1 Layout Attributes Syntax Diagram 6-2 Applying Indent Attributes 6-3 Break Criteria Syntax Diagram 6-4 Wrap Attributes Syntax Diagram 7-1 General Measure Syntax Diagram 7-2 General Size Syntax Diagram 7-3 Tab Stop List Syntax Diagram 7-4 Tab Stop Syntax Diagram A-1 DDIF Document Syntax Diagram A-2 Document Descriptor Syntax Diagram A-3 Document Header Syntax Diagram A-4 Document Root Segment A-5 Segment Primitive Syntax Diagram A-6 Begin-Segment Syntax Diagram A-7 Text Primitive Syntax Diagram A-8 Text Attributes Syntax Diagram A-9 Rendition Code Syntax Diagram A-10 Leader Style Syntax Diagram A-11 Text Layout Syntax Diagram A-12 Text String Layout Syntax Diagram A-13 Formatting Primitive Syntax Diagram A-14 Value Directive Syntax Diagram A-15 Escapement Directive Syntax Diagram A-16 Variable Reset Syntax Diagram A-17 Directive Syntax Diagram A-18 Graphics Primitive Syntax Diagram A-19 Polyline Syntax Diagram A-20 Polyline Join Syntax Diagram A-21 Polyline Join Description Syntax Diagram A-22 Polyline Join Definition Syntax Diagram A-23 Joined Polyline Path Syntax Diagram A-24 Cubic Bezier Syntax Diagram A-25 Arc Syntax Diagram A-26 Fill Area Set Syntax Diagram A-27 Line Attributes Syntax Diagram A-28 Line Join Syntax Diagram A-29 Marker Attributes Syntax Diagram A-30 Marker Number Syntax Diagram A-31 Image Primitive Syntax Diagram A-32 Image Coding Attributes Syntax Diagram A-33 Image Attributes Syntax Diagram A-34 Image Lookup Table Data Syntax Diagram A-35 Image Component Space Attributes Syntax Diagram A-36 Audio Primitive Syntax Diagram A-37 Audio Coding Attributes Syntax Diagram A-38 Audio Data Frame Syntax Diagram A-39 Time Parameters Syntax Diagram A-40 Restricted Content Syntax Diagram A-41 Content Reference Primitive Syntax Diagram A-42 Content Reference Syntax Diagram A-43 Bounding Box Syntax Diagram A-44 Color Syntax Diagram A-45 Red-Green-Blue Syntax Diagram A-46 Compute Definition Syntax Diagram A-47 Cross Reference Syntax Diagram A-48 Escapement Syntax Diagram A-49 External Reference Syntax Diagram A-50 Font Definition Syntax Diagram A-51 Format Syntax Diagram A-52 Frame Parameters Syntax Diagram A-53 Inline Frame Parameters Syntax Diagram A-54 Galley Frame Parameters Syntax Diagram A-55 Galley Vertical Position Syntax Diagram A-56 Margin Frame Parameters Syntax Diagram A-57 Margin Horizontal Position Syntax Diagram A-58 Function Link Syntax Diagram A-59 External Reference Index Syntax Diagram A-60 Language Index Syntax Diagram A-61 Content Definition Syntax Diagram A-62 Label Syntax Diagram A-63 Label Types Syntax Diagram A-64 ASCII String Syntax Diagram A-65 Legend Units Syntax Diagram A-66 Angle Syntax Diagram A-67 AngleRef Syntax Diagram A-68 Measurement Syntax Diagram A-69 Position Syntax Diagram A-70 Ratio Syntax Diagram A-71 Right Angle Syntax Diagram A-72 Size Syntax Diagram A-73 X Coordinate Syntax Diagram A-74 Y Coordinate Syntax Diagram A-75 Measurement Units Syntax Diagram A-76 Named Value Syntax Diagram A-77 Value Data Syntax Diagram A-78 Named Value List Syntax Diagram A-79 Font Number Syntax Diagram A-80 Line End Number Syntax Diagram A-81 Line Style Number Syntax Diagram A-82 Path Number Syntax Diagram A-83 Pattern Number Syntax Diagram A-84 Path Definition Syntax Diagram A-85 Composite Path Syntax Diagram A-86 Arc Path Syntax Diagram A-87 Cubic Bezier Path Syntax Diagram A-88 Line Definition Syntax Diagram A-89 Poly Line Path Syntax Diagram A-90 Pattern Definition Syntax Diagram A-91 Standard Pattern Syntax Diagram A-92 Reference Syntax Diagram A-93 Segment Attributes Syntax Diagram A-94 Segment Type Definition Syntax Diagram A-95 Structure Definition Syntax Diagram A-96 Occurrence Definition Syntax Diagram A-97 Structure Element Syntax Diagram A-98 Tag Syntax Diagram A-99 Category Tag Syntax Diagram A-100 Conformance Tag Syntax Diagram A-101 Named Value Tag Syntax Diagram A-102 Segment Tag Syntax Diagram A-103 Storage System Tag Syntax Diagram A-104 Stream Tag Syntax Diagram A-105 Transformation Syntax Diagram A-106 Variable Binding Syntax Diagram A-107 Counter Definition Syntax Diagram A-108 Layout Object Type Syntax Diagram A-109 Expression Syntax Diagram A-110 Counter Style Syntax Diagram A-111 String Expression Syntax Diagram A-112 Record List Syntax Diagram A-113 Record Definition Syntax Diagram A-114 Generic Layout Syntax Diagram A-115 Page Description Syntax Diagram A-116 Page Set Syntax Diagram A-117 Page Layout Syntax Diagram A-118 Layout Primitive Syntax Diagram A-119 Layout Galley Syntax Diagram A-120 Galley Attributes Syntax Diagram A-121 Specific Layout Syntax Diagram A-122 Layout Attributes Syntax Diagram A-123 Break Criteria Syntax Diagram A-124 Wrap Attributes Syntax Diagram A-125 General Measure Syntax Diagram A-126 General Size Syntax Diagram A-127 Tab Stop List Syntax Diagram A-128 Tab Stop Syntax Diagram B-1 DDIF Fill patterns E-1 Line Join Illustration E-2 Text Path Illustration TABLES 2-1 Language/Dialect List 2-2 Default Coded-Character-Sets Table 3-1 Lookup for Normal Alignment 3-2 Fill Area Set Flag Options 4-1 Operating System Style File Specifications 4-2 XLFD Font name Fields 4-3 Initial Line Definitions 4-4 Numeric values of Hebrew characters 4-5 Hangul Character Conversion F-1 List of Two-letter Language and Country Symbols