idml 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/workflows/rake.yml +18 -0
- data/.github/workflows/release.yml +27 -0
- data/.gitignore +27 -0
- data/.rspec +3 -0
- data/.rubocop.yml +21 -0
- data/.rubocop_todo.yml +113 -0
- data/.yardopts +4 -0
- data/CLAUDE.md +305 -0
- data/Gemfile +17 -0
- data/Gemfile.lock +253 -0
- data/README.adoc +4 -0
- data/Rakefile +22 -0
- data/TODO.complete/01-bootstrap.md +52 -0
- data/TODO.complete/02-package-layer.md +48 -0
- data/TODO.complete/03-parts-registry-and-designmap.md +64 -0
- data/TODO.complete/04-spread-and-master-spread.md +57 -0
- data/TODO.complete/05-story-and-backing-story.md +56 -0
- data/TODO.complete/06-resources.md +53 -0
- data/TODO.complete/07-xml-structure.md +32 -0
- data/TODO.complete/08-round-trip-suite.md +44 -0
- data/TODO.complete/09-validation.md +51 -0
- data/TODO.complete/10-composition.md +62 -0
- data/TODO.complete/11-package-accessors.md +41 -0
- data/TODO.complete/12-document-layer.md +44 -0
- data/TODO.complete/13-insert-idml.md +31 -0
- data/TODO.complete/14-geometry.md +33 -0
- data/TODO.complete/15-cli.md +44 -0
- data/TODO.complete/16-cross-version-tolerance.md +40 -0
- data/TODO.complete/17-yard-documentation.md +38 -0
- data/TODO.complete/18-remove-nokogiri.md +38 -0
- data/TODO.complete/19-vendor-fixtures.md +44 -0
- data/TODO.complete/20-round-trip-all-fixtures.md +39 -0
- data/TODO.complete/21-anti-pattern-forbid-nokogiri.md +31 -0
- data/TODO.complete/22-claude-md-no-nokogiri.md +29 -0
- data/TODO.complete/23-lutaml-only-no-rexml.md +60 -0
- data/TODO.complete/24-anti-pattern-forbid-rexml.md +29 -0
- data/TODO.complete/25-claude-md-lutaml-only.md +29 -0
- data/TODO.complete/26-rnc-faithful-models.md +66 -0
- data/TODO.complete/27-geometry-scale-rotate.md +28 -0
- data/TODO.complete/28-designmap-migration.md +33 -0
- data/TODO.complete/29-add-page-from-idml.md +35 -0
- data/TODO.complete/30-import-xml.md +37 -0
- data/TODO.complete/31-export-xml.md +32 -0
- data/TODO.complete/33-element-spec-coverage.md +30 -0
- data/TODO.pdf/01-font-metrics.md +43 -0
- data/TODO.pdf/02-font-resolver.md +42 -0
- data/TODO.pdf/03-text-shaper.md +40 -0
- data/TODO.pdf/04-line-breaker-justifier.md +51 -0
- data/TODO.pdf/05-vertical-layout.md +42 -0
- data/TODO.pdf/06-pdf-color-operators.md +25 -0
- data/TODO.pdf/07-pdf-path-operators.md +29 -0
- data/TODO.pdf/08-pdf-text-operators.md +29 -0
- data/TODO.pdf/09-image-embedding.md +34 -0
- data/TODO.pdf/10-spread-renderer.md +33 -0
- data/TODO.pdf/11-font-embedding.md +38 -0
- data/TODO.pdf/12-idml-to-pdf-pipeline.md +41 -0
- data/TODO.pdf/13-cjk-text-layout.md +40 -0
- data/TODO.pdf/14-page-item-element-models.md +61 -0
- data/TODO.pdf/15-wire-spread-children.md +46 -0
- data/TODO.pdf/16-typed-model-pipeline.md +48 -0
- data/TODO.pdf/17-shape-rendering.md +46 -0
- data/TODO.pdf/18-text-rendering.md +48 -0
- data/TODO.pdf/19-page-dimensions.md +40 -0
- data/TODO.pdf/20-png-image-support.md +43 -0
- data/TODO.pdf/21-coordinate-transform.md +41 -0
- data/TODO.pdf/22-color-resolution.md +41 -0
- data/TODO.pdf/23-fontmetrics-ps-name-fix.md +43 -0
- data/TODO.pdf/24-antipattern-coverage.md +35 -0
- data/TODO.pdf/25-cli-render.md +38 -0
- data/TODO.pdf/26-renderer-registry.md +45 -0
- data/TODO.pdf/27-text-engine-integration.md +41 -0
- data/TODO.pdf/28-path-geometry-models.md +47 -0
- data/TODO.pdf/29-character-style-extraction.md +36 -0
- data/TODO.pdf/30-shape-geometry-rendering.md +40 -0
- data/TODO.pdf/31-stroke-rendering.md +35 -0
- data/TODO.pdf/32-master-spread-rendering.md +36 -0
- data/TODO.pdf/33-font-resolution-from-idml.md +38 -0
- data/TODO.pdf/34-story-threading.md +32 -0
- data/TODO.pdf/35-pdf-metadata.md +34 -0
- data/TODO.pdf/36-performance-caching.md +33 -0
- data/TODO.pdf/37-round-trip-specs.md +33 -0
- data/TODO.pdf/38-pdf-output-validation.md +34 -0
- data/TODO.pdf/39-geometry-coordinate-helpers.md +26 -0
- data/TODO.pdf/40-font-ps-name-resolution.md +30 -0
- data/TODO.pdf/41-graphic-line-rendering.md +20 -0
- data/TODO.pdf/42-group-transform-application.md +17 -0
- data/TODO.pdf/43-text-frame-insets.md +17 -0
- data/TODO.pdf/44-layer-support.md +20 -0
- data/TODO.pdf/45-image-clipping.md +17 -0
- data/TODO.pdf/46-spread-to-page-separation.md +19 -0
- data/TODO.pdf/47-pdf-bookmarks.md +17 -0
- data/TODO.pdf/48-table-rendering.md +20 -0
- data/TODO.pdf/49-gradient-fill-rendering.md +20 -0
- data/TODO.pdf/50-pdf-a-compliance.md +21 -0
- data/TODO.pdf/51-remove-dead-code.md +41 -0
- data/TODO.pdf/52-font-subsetting.md +22 -0
- data/TODO.pdf/53-tagged-pdf-accessibility.md +24 -0
- data/TODO.pdf/54-pdfrb-pipeline-specs.md +27 -0
- data/TODO.pdf/55-dead-code-deprecation.md +30 -0
- data/TODO.pdf/56-text-engine-pdfrb-integration.md +33 -0
- data/TODO.pdf/57-image-clipping-pdfrb.md +26 -0
- data/TODO.pdf/58-bookmarks-pdfrb.md +23 -0
- data/TODO.pdf/59-dry-placement-rect.md +15 -0
- data/TODO.pdf/60-cli-pdf-a-flag.md +16 -0
- data/TODO.pdf/README.md +21 -0
- data/exe/idml +5 -0
- data/idml.gemspec +39 -0
- data/lib/idml/cli.rb +105 -0
- data/lib/idml/composition/add_page_from_idml.rb +67 -0
- data/lib/idml/composition/export_xml.rb +70 -0
- data/lib/idml/composition/import_xml.rb +73 -0
- data/lib/idml/composition/insert_idml.rb +93 -0
- data/lib/idml/composition/prefix.rb +78 -0
- data/lib/idml/composition.rb +16 -0
- data/lib/idml/document.rb +87 -0
- data/lib/idml/elements/anchored_object_setting.rb +40 -0
- data/lib/idml/elements/baseline_frame_grid_option.rb +24 -0
- data/lib/idml/elements/bevel_and_emboss_setting.rb +48 -0
- data/lib/idml/elements/blending_setting.rb +24 -0
- data/lib/idml/elements/cell_style.rb +166 -0
- data/lib/idml/elements/cell_style_group.rb +18 -0
- data/lib/idml/elements/character_style.rb +302 -0
- data/lib/idml/elements/character_style_group.rb +18 -0
- data/lib/idml/elements/character_style_range.rb +670 -0
- data/lib/idml/elements/color.rb +48 -0
- data/lib/idml/elements/content.rb +16 -0
- data/lib/idml/elements/content_transparency_setting.rb +15 -0
- data/lib/idml/elements/contour_option.rb +30 -0
- data/lib/idml/elements/dashed_stroke_style.rb +26 -0
- data/lib/idml/elements/directional_feather_setting.rb +34 -0
- data/lib/idml/elements/document_object.rb +82 -0
- data/lib/idml/elements/dotted_stroke_style.rb +24 -0
- data/lib/idml/elements/drop_shadow_setting.rb +44 -0
- data/lib/idml/elements/feather_setting.rb +26 -0
- data/lib/idml/elements/fill_transparency_setting.rb +15 -0
- data/lib/idml/elements/flex_layout_attribute_option.rb +42 -0
- data/lib/idml/elements/font.rb +50 -0
- data/lib/idml/elements/font_family.rb +23 -0
- data/lib/idml/elements/frame_fitting_option.rb +30 -0
- data/lib/idml/elements/geometry_path_type.rb +24 -0
- data/lib/idml/elements/gradient.rb +34 -0
- data/lib/idml/elements/gradient_feather_setting.rb +30 -0
- data/lib/idml/elements/gradient_stop.rb +24 -0
- data/lib/idml/elements/graphic_line.rb +34 -0
- data/lib/idml/elements/group.rb +41 -0
- data/lib/idml/elements/image.rb +33 -0
- data/lib/idml/elements/ink.rb +36 -0
- data/lib/idml/elements/inner_glow_setting.rb +34 -0
- data/lib/idml/elements/inner_shadow_setting.rb +40 -0
- data/lib/idml/elements/layer.rb +35 -0
- data/lib/idml/elements/link.rb +25 -0
- data/lib/idml/elements/master_spread_object.rb +55 -0
- data/lib/idml/elements/mixed_ink.rb +46 -0
- data/lib/idml/elements/mixed_ink_group.rb +40 -0
- data/lib/idml/elements/object_export_option.rb +100 -0
- data/lib/idml/elements/object_style.rb +148 -0
- data/lib/idml/elements/object_style_content_effects_category_settings.rb +36 -0
- data/lib/idml/elements/object_style_export_tag_map.rb +28 -0
- data/lib/idml/elements/object_style_fill_effects_category_settings.rb +36 -0
- data/lib/idml/elements/object_style_group.rb +18 -0
- data/lib/idml/elements/object_style_object_effects_category_settings.rb +36 -0
- data/lib/idml/elements/object_style_stroke_effects_category_settings.rb +36 -0
- data/lib/idml/elements/opacity_gradient_stop.rb +24 -0
- data/lib/idml/elements/outer_glow_setting.rb +32 -0
- data/lib/idml/elements/page.rb +43 -0
- data/lib/idml/elements/paragraph_style.rb +600 -0
- data/lib/idml/elements/paragraph_style_group.rb +18 -0
- data/lib/idml/elements/paragraph_style_range.rb +673 -0
- data/lib/idml/elements/pasted_smooth_shade.rb +40 -0
- data/lib/idml/elements/path_geometry.rb +36 -0
- data/lib/idml/elements/path_point_array.rb +21 -0
- data/lib/idml/elements/path_point_type.rb +38 -0
- data/lib/idml/elements/polygon.rb +40 -0
- data/lib/idml/elements/pref_anchored_object_default.rb +26 -0
- data/lib/idml/elements/pref_button_preference.rb +18 -0
- data/lib/idml/elements/pref_chapter_number_preference.rb +20 -0
- data/lib/idml/elements/pref_cjk_grid_preference.rb +34 -0
- data/lib/idml/elements/pref_data_merge.rb +20 -0
- data/lib/idml/elements/pref_data_merge_field.rb +20 -0
- data/lib/idml/elements/pref_data_merge_option.rb +28 -0
- data/lib/idml/elements/pref_dictionary_preference.rb +22 -0
- data/lib/idml/elements/pref_document_preference.rb +66 -0
- data/lib/idml/elements/pref_e_pub_export_preference.rb +152 -0
- data/lib/idml/elements/pref_e_pub_fixed_layout_export_preference.rb +82 -0
- data/lib/idml/elements/pref_export_for_web_preference.rb +32 -0
- data/lib/idml/elements/pref_footnote_option.rb +78 -0
- data/lib/idml/elements/pref_grid_preference.rb +40 -0
- data/lib/idml/elements/pref_guide_preference.rb +26 -0
- data/lib/idml/elements/pref_html_export_preference.rb +94 -0
- data/lib/idml/elements/pref_index_header_setting.rb +26 -0
- data/lib/idml/elements/pref_index_options.rb +60 -0
- data/lib/idml/elements/pref_layout_adjustment_preference.rb +28 -0
- data/lib/idml/elements/pref_layout_grid_data_information.rb +28 -0
- data/lib/idml/elements/pref_margin_preference.rb +32 -0
- data/lib/idml/elements/pref_mojikumi_ui_preference.rb +18 -0
- data/lib/idml/elements/pref_page_item_default.rb +88 -0
- data/lib/idml/elements/pref_pasteboard_preference.rb +22 -0
- data/lib/idml/elements/pref_print_booklet_option.rb +40 -0
- data/lib/idml/elements/pref_print_booklet_print_preference.rb +188 -0
- data/lib/idml/elements/pref_print_preference.rb +198 -0
- data/lib/idml/elements/pref_story_grid_data_information.rb +40 -0
- data/lib/idml/elements/pref_text_default.rb +578 -0
- data/lib/idml/elements/pref_text_preference.rb +84 -0
- data/lib/idml/elements/pref_tin_document_data_object.rb +15 -0
- data/lib/idml/elements/pref_transparency_default_container_object.rb +15 -0
- data/lib/idml/elements/pref_transparency_preference.rb +22 -0
- data/lib/idml/elements/pref_view_preference.rb +50 -0
- data/lib/idml/elements/pref_xml_export_preference.rb +48 -0
- data/lib/idml/elements/pref_xml_import_preference.rb +36 -0
- data/lib/idml/elements/pref_xml_preference.rb +26 -0
- data/lib/idml/elements/properties.rb +24 -0
- data/lib/idml/elements/rectangle.rb +56 -0
- data/lib/idml/elements/root_cell_style_group.rb +21 -0
- data/lib/idml/elements/root_character_style_group.rb +21 -0
- data/lib/idml/elements/root_object_style_group.rb +21 -0
- data/lib/idml/elements/root_paragraph_style_group.rb +21 -0
- data/lib/idml/elements/root_table_style_group.rb +21 -0
- data/lib/idml/elements/satin_setting.rb +32 -0
- data/lib/idml/elements/spread_object.rb +64 -0
- data/lib/idml/elements/story_inner.rb +697 -0
- data/lib/idml/elements/story_preference.rb +26 -0
- data/lib/idml/elements/striped_stroke_style.rb +22 -0
- data/lib/idml/elements/stroke_style.rb +20 -0
- data/lib/idml/elements/stroke_transparency_setting.rb +15 -0
- data/lib/idml/elements/style_export_tag_map.rb +30 -0
- data/lib/idml/elements/swatch.rb +30 -0
- data/lib/idml/elements/table.rb +40 -0
- data/lib/idml/elements/table_cell.rb +24 -0
- data/lib/idml/elements/table_row.rb +28 -0
- data/lib/idml/elements/table_style.rb +260 -0
- data/lib/idml/elements/table_style_group.rb +18 -0
- data/lib/idml/elements/text_frame.rb +54 -0
- data/lib/idml/elements/text_frame_footnote_options_object.rb +24 -0
- data/lib/idml/elements/text_frame_preference.rb +90 -0
- data/lib/idml/elements/text_wrap_preference.rb +24 -0
- data/lib/idml/elements/tint.rb +44 -0
- data/lib/idml/elements/toc_style.rb +40 -0
- data/lib/idml/elements/toc_style_entry.rb +28 -0
- data/lib/idml/elements/transform_attribute_option.rb +30 -0
- data/lib/idml/elements/transparency_setting.rb +15 -0
- data/lib/idml/elements/trap_preset.rb +48 -0
- data/lib/idml/elements/xml_element.rb +41 -0
- data/lib/idml/elements/xml_export_map.rb +28 -0
- data/lib/idml/elements/xml_import_map.rb +22 -0
- data/lib/idml/elements/xml_story.rb +609 -0
- data/lib/idml/elements/xml_tag.rb +20 -0
- data/lib/idml/elements.rb +167 -0
- data/lib/idml/errors.rb +10 -0
- data/lib/idml/geometry.rb +110 -0
- data/lib/idml/namespace.rb +13 -0
- data/lib/idml/package.rb +213 -0
- data/lib/idml/part.rb +20 -0
- data/lib/idml/parts/backing_story.rb +27 -0
- data/lib/idml/parts/designmap.rb +91 -0
- data/lib/idml/parts/fonts.rb +26 -0
- data/lib/idml/parts/graphic.rb +48 -0
- data/lib/idml/parts/mapping.rb +25 -0
- data/lib/idml/parts/master_spread.rb +27 -0
- data/lib/idml/parts/preferences.rb +201 -0
- data/lib/idml/parts/raw.rb +27 -0
- data/lib/idml/parts/spread.rb +38 -0
- data/lib/idml/parts/story.rb +39 -0
- data/lib/idml/parts/style.rb +122 -0
- data/lib/idml/parts/style_mapping.rb +21 -0
- data/lib/idml/parts/tags.rb +25 -0
- data/lib/idml/parts.rb +47 -0
- data/lib/idml/render/color.rb +69 -0
- data/lib/idml/render/color_helper.rb +23 -0
- data/lib/idml/render/color_resolver.rb +72 -0
- data/lib/idml/render/font_embedder.rb +79 -0
- data/lib/idml/render/font_reference_resolver.rb +51 -0
- data/lib/idml/render/gradient_resolver.rb +111 -0
- data/lib/idml/render/image.rb +302 -0
- data/lib/idml/render/layer_filter.rb +60 -0
- data/lib/idml/render/page_item_renderer.rb +34 -0
- data/lib/idml/render/path.rb +80 -0
- data/lib/idml/render/pdf_writer.rb +426 -0
- data/lib/idml/render/pdfrb_ext/clip.rb +31 -0
- data/lib/idml/render/pdfrb_ext/invoke_xobject.rb +24 -0
- data/lib/idml/render/pdfrb_ext.rb +13 -0
- data/lib/idml/render/pdfrb_writer.rb +97 -0
- data/lib/idml/render/pipeline.rb +196 -0
- data/lib/idml/render/render_context.rb +22 -0
- data/lib/idml/render/renderers/graphic_line_renderer.rb +28 -0
- data/lib/idml/render/renderers/group_renderer.rb +42 -0
- data/lib/idml/render/renderers/polygon_renderer.rb +47 -0
- data/lib/idml/render/renderers/rectangle_renderer.rb +62 -0
- data/lib/idml/render/renderers/table_renderer.rb +41 -0
- data/lib/idml/render/renderers/text_frame_renderer.rb +113 -0
- data/lib/idml/render/renderers.rb +11 -0
- data/lib/idml/render/spread_renderer.rb +111 -0
- data/lib/idml/render/story_threader.rb +56 -0
- data/lib/idml/render/style_resolver.rb +48 -0
- data/lib/idml/render/text.rb +91 -0
- data/lib/idml/render.rb +63 -0
- data/lib/idml/text_engine/cjk_layout.rb +114 -0
- data/lib/idml/text_engine/font_metrics.rb +226 -0
- data/lib/idml/text_engine/font_resolver.rb +105 -0
- data/lib/idml/text_engine/justifier.rb +46 -0
- data/lib/idml/text_engine/line_breaker.rb +55 -0
- data/lib/idml/text_engine/shaper.rb +35 -0
- data/lib/idml/text_engine/vertical_layout.rb +64 -0
- data/lib/idml/text_engine.rb +19 -0
- data/lib/idml/validation/result.rb +14 -0
- data/lib/idml/validation/validator.rb +121 -0
- data/lib/idml/validation.rb +14 -0
- data/lib/idml/version.rb +5 -0
- data/lib/idml.rb +33 -0
- data/reference-docs/idml-specification.pdf +0 -0
- data/reference-docs/schemas/README.md +79 -0
- data/reference-docs/schemas/fix-adobe-schema-bug.rb +69 -0
- data/reference-docs/schemas/package/MasterSpreads/MasterSpread.rnc +4415 -0
- data/reference-docs/schemas/package/Resources/Fonts.rnc +93 -0
- data/reference-docs/schemas/package/Resources/Graphic.rnc +226 -0
- data/reference-docs/schemas/package/Resources/Preferences.rnc +1827 -0
- data/reference-docs/schemas/package/Resources/Styles.rnc +1770 -0
- data/reference-docs/schemas/package/Spreads/Spread.rnc +4431 -0
- data/reference-docs/schemas/package/Stories/Story.rnc +6547 -0
- data/reference-docs/schemas/package/XML/BackingStory.rnc +6527 -0
- data/reference-docs/schemas/package/XML/Mapping.rnc +35 -0
- data/reference-docs/schemas/package/XML/Tags.rnc +30 -0
- data/reference-docs/schemas/package/datatype.rnc +563 -0
- data/reference-docs/schemas/package/designmap.rnc +974 -0
- data/reference-docs/schemas/single/IDMarkupLanguage.rnc +11486 -0
- data/reference-docs/schemas/single/datatype.rnc +563 -0
- data/reference-docs/spec/00_index.md +16 -0
- data/reference-docs/spec/00_title/00_index.md +480 -0
- data/reference-docs/spec/01_abstract/00_index.md +3 -0
- data/reference-docs/spec/02_introduction/00_index.md +11 -0
- data/reference-docs/spec/03_terminology/00_index.md +7 -0
- data/reference-docs/spec/04_inx_idml_and_in_design_scripting/00_index.md +48 -0
- data/reference-docs/spec/05_uses_for_idml/00_index.md +13 -0
- data/reference-docs/spec/06_idml_design_goals/00_index.md +18 -0
- data/reference-docs/spec/07_idml_design_approaches/00_index.md +59 -0
- data/reference-docs/spec/08_idml_document_structure/00_index.md +120 -0
- data/reference-docs/spec/09_idml_syntax/00_index.md +367 -0
- data/reference-docs/spec/09_idml_syntax/examples/01_example_properties_expressed_as_attributes_or_elements_depending_on_their_value.md +6 -0
- data/reference-docs/spec/09_idml_syntax/examples/02_example_object_serialization.md +10 -0
- data/reference-docs/spec/09_idml_syntax/examples/03_example_record_type_serialization.md +6 -0
- data/reference-docs/spec/09_idml_syntax/examples/04_example_geometry_serialization.md +6 -0
- data/reference-docs/spec/09_idml_syntax/examples/index.md +10 -0
- data/reference-docs/spec/09_idml_syntax/images/image_01.md +1 -0
- data/reference-docs/spec/09_idml_syntax/images/image_01.png +0 -0
- data/reference-docs/spec/09_idml_syntax/images/image_02.md +1 -0
- data/reference-docs/spec/09_idml_syntax/images/image_02.png +0 -0
- data/reference-docs/spec/09_idml_syntax/images/image_03.md +1 -0
- data/reference-docs/spec/09_idml_syntax/images/image_03.png +0 -0
- data/reference-docs/spec/09_idml_syntax/images/image_04.md +1 -0
- data/reference-docs/spec/09_idml_syntax/images/image_04.png +0 -0
- data/reference-docs/spec/09_idml_syntax/images/image_05.md +1 -0
- data/reference-docs/spec/09_idml_syntax/images/image_05.png +0 -0
- data/reference-docs/spec/09_idml_syntax/images/image_06.md +1 -0
- data/reference-docs/spec/09_idml_syntax/images/image_06.png +0 -0
- data/reference-docs/spec/09_idml_syntax/images/index.md +12 -0
- data/reference-docs/spec/09_idml_syntax/schemas/00_schema_example_1_column_guide_color_and_margin_guide_color_elements.rnc +3 -0
- data/reference-docs/spec/09_idml_syntax/schemas/01_datatype.rnc +4 -0
- data/reference-docs/spec/09_idml_syntax/schemas/02_designmap.rnc +4 -0
- data/reference-docs/spec/09_idml_syntax/schemas/03_Master_Spreads.rnc +4 -0
- data/reference-docs/spec/09_idml_syntax/schemas/04_Fonts.rnc +4 -0
- data/reference-docs/spec/09_idml_syntax/schemas/05_Graphic.rnc +4 -0
- data/reference-docs/spec/09_idml_syntax/schemas/06_Preferences.rnc +4 -0
- data/reference-docs/spec/09_idml_syntax/schemas/07_Styles.rnc +4 -0
- data/reference-docs/spec/09_idml_syntax/schemas/08_Spread.rnc +4 -0
- data/reference-docs/spec/09_idml_syntax/schemas/09_Story.rnc +4 -0
- data/reference-docs/spec/09_idml_syntax/schemas/10_BackingStory.rnc +4 -0
- data/reference-docs/spec/09_idml_syntax/schemas/11_Mapping.rnc +4 -0
- data/reference-docs/spec/09_idml_syntax/schemas/12_Tags.rnc +4 -0
- data/reference-docs/spec/09_idml_syntax/schemas/index.md +19 -0
- data/reference-docs/spec/09_idml_syntax/tables/01_idml_basic_data_types.md +20 -0
- data/reference-docs/spec/09_idml_syntax/tables/02_property_elements.md +6 -0
- data/reference-docs/spec/09_idml_syntax/tables/index.md +8 -0
- data/reference-docs/spec/10_idml_file_reference/00_index.md +16 -0
- data/reference-docs/spec/10_idml_file_reference/10_10_mapping/examples/98_xml_export_map.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_10_mapping/examples/99_xml_import_map.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_10_mapping/index.md +44 -0
- data/reference-docs/spec/10_idml_file_reference/10_10_mapping/schemas/175_xml_export_map.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_10_mapping/schemas/176_xml_import_map.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_10_mapping/tables/191_xml_export_map_properties.md +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_10_mapping/tables/192_xml_import_map_properties.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_11_xmltags/examples/100_example_xmltag.md +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_11_xmltags/imdex.md +42 -0
- data/reference-docs/spec/10_idml_file_reference/10_11_xmltags/schemas/177_xmltag.rnc +10 -0
- data/reference-docs/spec/10_idml_file_reference/10_11_xmltags/tables/193_xmltag_properties_attributes.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_11_xmltags/tables/194_xmltag_properties_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_1_common_attributes_and_elements/examples/05_example_self.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_1_common_attributes_and_elements/examples/06_example_label.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_1_common_attributes_and_elements/index.md +96 -0
- data/reference-docs/spec/10_idml_file_reference/10_1_common_attributes_and_elements/schemas/02_self.rnc +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_1_common_attributes_and_elements/schemas/03_label.rnc +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_1_common_attributes_and_elements/tables/label_attributes.md +8 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/07_example_document_element_references.md +26 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/08_example_document_element_designmap.md +25 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/09_example_color_management_attributes.md +10 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/10_example_tagged_pdf_preference_structure_order.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/11_example_text_variable.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/12_example_layer.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/13_example_building_block.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/14_example_hyperlink.md +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/15_example_article.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/index.md +1349 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/004_document.rnc +108 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/005_language.rnc +16 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/006_kinsokutable.rnc +13 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/007_numberinglist.rnc +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/007b_mojikumitable.rnc +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/008_namedgrid.rnc +10 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/009_griddatainformation.rnc +22 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/010_motionpreset.rnc +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/011_condition.rnc +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/012_conditionset.rnc +13 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/013_linkedstoryoption.rnc +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/014_taggedpdfpreference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/015_metadatapacketpreference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/016_watermarkpreference.rnc +18 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/016b_conditionaltextpreference.rnc +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/017_textvariable.rnc +22 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/018_customtextvariablepreference.rnc +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/019_filenamevariablepreference.rnc +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/020_pagenumbervariablepreference.rnc +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/021_chapternumbervariablepreference.rnc +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/022_datevariablepreference.rnc +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/023_matchcharacterstylepreference.rnc +8 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/024_matchparagraphstylepreference.rnc +8 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/025_captionmetadatavariablepreference.rnc +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/026_layer.rnc +19 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/027_section.rnc +25 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/028_documentuser.rnc +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/029_crossreferenceformat.rnc +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/030_buildingblock.rnc +8 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/031_index.rnc +9 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/032_topic.rnc +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/033_crossreference.rnc +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/034_hyperlink.rnc +34 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/035_hyperlinkpagedestination.rnc +17 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/036_hyperlinkurldestination.rnc +12 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/037_hyperlinkexternalpagedestination.rnc +17 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/038_hyperlinkpageitemsource.rnc +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/039_bookmark.rnc +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/040_preflightprofile.rnc +12 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/041_preflightprofilerule.rnc +13 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/042_ruledataobject.rnc +51 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/043_preflightruleinstance.rnc +13 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/044_datamergeimageplaceholder.rnc +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/045_hyphenationexception.rnc +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/046_indexingsortoption.rnc +8 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/047_abullet.rnc +28 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/048_assignment.rnc +21 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/049_assignedstory.rnc +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/051_article.rnc +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/052_articlemember.rnc +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/03_document_properties_attributes.md +28 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/04_document_properties_elements.md +2 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/05_language_properties_attributes.md +10 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/06_kinsokutable_properties_attributes.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/07_mojikumitable_properties_attributes.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/08_mojikumitable_properties_elements.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/09_numberinglist_properties_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/10_namedgrid_properties_attributes.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/11_griddatainformation_properties_attributes.md +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/12_griddatainformation_properties_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/13_motionpreset_properties_attributes.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/14_motionpreset_properties_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/15_condition_properties_attributes.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/16_condition_properties_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/17_conditionset_properties_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/18_linkedstoryoption_properties_attributes.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/19_taggedpdfpreference_structureorder_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/20_metadatapacketpreference_properties_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/21_watermarkpreference_properties_attributes.md +15 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/22_watermarkpreference_properties_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/23_conditionaltextpreference_properties_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/24_textvariable_properties_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/25_common_text_variable_properties_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/26_custom_textvariable_preference_properties_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/27_filename_variable_preference_properties_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/28_pagenumber_variable_preference_properties_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/29_chapternumber_variable_preference_properties_attributes.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/30_date_variable_preference_properties_attributes.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/31_matchcharacterstylepreference_properties_attributes.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/32_matchparagraphstylepreference_properties_attributes.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/33_captionmetadatavariablepreference_properties_attributes.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/34_metadata_provider_names.md +63 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/35_layer_properties_attributes.md +10 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/36_layer_properties_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/37_section_properties_attributes.md +15 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/38_documentuser_properties_attributes.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/39_documentuser_properties_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/40_crossreferenceformat_properties_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/41_buildingblock_properties_attributes.md +10 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/42_topic_properties_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/43_crossreference_properties_attributes.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/44_hyperlink_properties_attributes.md +10 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/45_hyperlinkpagedestination_properties_attributes.md +9 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/46_hyperlinkpagedestination_properties_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/47_hyperlinkurldestination_properties_attributes.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/48_hyperlinkexternalpagedestination_properties_attributes.md +8 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/49_hyperlinkexternalpagedestination_properties_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/50_hyperlinkpageitemsource_properties_attributes.md +8 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/51_bookmark_properties_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/52_preflightprofile_properties_attributes.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/53_preflightprofilerule_properties_attributes.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/54_ruledataobject_properties_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/55_ruledataobject_properties_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/56_preflightruleinstance_properties_attributes.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/57_datamergeplaceholder_properties_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/58_hyphenationexception_properties_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/59_indexingsortoption_properties_attributes.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/60_abullet_properties_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/61_abullet_properties_elements.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/62_assignment_properties_attributes.md +9 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/62_assignment_properties_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/63_article_properties_attributes.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/64_article_properties_elements.md +2 -0
- data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/65_articlemember_properties_attributes.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/16_example_minimal_spread.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/17_example_untransformed_rectangle.md +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/18_example_rotation_changes_the_itemtransform_attribute_in_idml.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/19_the_rectangle_transformed_by_itemtransform_attribute_of_both_the_rectangle_and_the_group.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/20_example_animation_setting.md +33 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/21_example_timing_setting.md +10 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/22_example_rectangle.md +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/23_example_nested_page_item.md +28 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/24_example_rotated_page_item.md +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/25_example_page_item_imported_graphic.md +28 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/26_example_movie.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/27_example_navigation_point.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/28_example_sound.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/29_example_text_frame.md +29 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/30_example_threaded_linked_textframes.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/31_example_text_frame_preference_single_inset.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/32_example_text_frame_preference_multiple_inset.md +10 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/33_example_multi_column_text_frame.md +24 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/34_example_baseline_frame_grid.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/35_example_transparency.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/36_example_group.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/37_example_button.md +43 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/38_example_multi_state_object.md +26 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/39_example_associating_frame_xml_element.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/40_example_associating_text_frame_xml_element.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/41_example_pages_within_spread.md +19 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/42_example_margin_preferences.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/43_example_guide.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/44_example_flattener_preference.md +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img001.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img002.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img003.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img004.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img005.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img006.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img007.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img008.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img009.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img010.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img011.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img012.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img013.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img014.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img015.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img016.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img017.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img018.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img019.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img020.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img021.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/images/10_3_spreads_and_master_spreads_img022.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/index.md +1421 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/53_spread.rnc +30 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/54_master_spread.rnc +24 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/55_page_item.rnc +104 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/56_animation_setting.rnc +22 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/57_timing_setting.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/58_timing_list.rnc +2 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/60_timing_group.rnc +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/61_timing_target.rnc +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/62_graphic.rnc +41 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/63_pdf_attribute.rnc +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/64_navigation_point.rnc +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/65_text_frame.rnc +43 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/66_text_frame_preference.rnc +30 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/67_baseline_frame_grid.rnc +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/68_transparency_setting.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/69_blending_setting.rnc +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/70_button.rnc +96 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/71_state.rnc +20 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/72_behavior.rnc +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/73_multi_state_object.rnc +72 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/74_page.rnc +34 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/75_margin_preference.rnc +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/76_guide.rnc +12 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/77_flattener_preference.rnc +9 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/066_spread_masterspread_properties_as_attributes.md +15 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/067_masterspread_properties_as_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/068_common_pageitem_properties_as_attributes.md +46 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/069_common_pageitem_properties_as_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/070_animationsetting_properties_as_attributes.md +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/071_animationsetting_properties_as_elements.md +9 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/072_timinglist_properties_as_attributes.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/073_timinggroup_properties_as_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/074_timingtarget_properties_as_attributes.md +8 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/075_graphic_properties_as_attributes.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/076_graphic_properties_as_elements.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/077_image_properties_as_attributes.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/078_image_properties_as_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/079_pdf_eps_properties_as_attributes.md +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/080_pdfattribute_properties_as_attributes.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/081_importedpage_properties_as_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/082_movie_properties_as_attributes.md +19 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/083_sound_properties_as_attributes.md +8 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/084_textframe_properties_as_attributes.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/085_textframe_preference_properties_as_attributes.md +22 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/086_textframe_preference_properties_as_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/087_baselineframegrid_properties_expressed_as_attributes.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/088_baselineframegrid_properties_as_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/089_button_properties_expressed_as_attributes.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/090_button_properties_expressed_as_properties.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/091_state_properties_as_attributes.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/092_common_behavior_properties_as_attributes.md +9 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/093_gotonextstatebehavior_properties_as_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/094_gotopreviousstatebehavior_properties_as_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/095_gotostatebehavior_properties_as_attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/096_gotostatebehavior_properties_as_attributes_2.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/097_animationbehavior_properties_as_attributes.md +8 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/097a_sound_showhide_openfile_viewzoom_gotopage_behavior_properties.md +9 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/098_multistateobject_properties_as_attributes.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/099_multistateobject_properties_as_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/100_page_properties_as_attributes.md +17 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/101_page_properties_as_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/102_guide_properties_as_attributes.md +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/103_guide_properties_as_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/45_example_story_file_in_idml_package.md +10 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/46_example_local_formatting_vs_styles.md +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/47_example_paragraph_style_range_character_style_range.md +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/48_example_paragraph_breaks_in_character_style_range.md +9 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/49_example_paragraph_style_range_elements_column_breaks.md +15 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/50_example_multiple_paragraph_style_range_elements.md +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/51_example_multi_column_straddle_paragraphs.md +25 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/52_example_xml_element.md +141 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/53_example_table.md +31 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/54_example_footnote.md +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/55_example_note.md +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/56_example_anchored_text_frame.md +31 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/57_example_anchored_graphic.md +39 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/58_example_hyperlink_text_source.md +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/59_example_hyperlink_text_destination.md +13 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/60_example_cross_reference_source.md +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img001.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img002.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img003.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img004.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img005.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img006.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img007.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img008.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img009.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img010.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img011.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img012.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/index.md +1299 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/78_story.rnc +92 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/79_paragraph_style_range.rnc +381 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/80_character_style_range.rnc +431 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/81_table.rnc +53 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/82_cell.rnc +66 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/83_column.rnc +28 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/84_row.rnc +33 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/85_footnote.rnc +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/86_note.rnc +13 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/87_anchored_object_settings.rnc +12 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/88_hyperlink_text_source.rnc +20 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/89_hyperlink_text_destination.rnc +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/90_cross_reference_source.rnc +16 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/104_common_text_properties_attributes.md +230 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/105_common_text_properties_elements.md +41 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/106_story_properties_attributes.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/107_story_properties_elements.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/108_character_style_range_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/109_table_properties_attributes.md +133 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/110_cell_properties_attributes.md +83 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/111_cell_properties_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/112_column_properties_attributes.md +29 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/113_row_properties_attributes.md +34 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/114_anchored_object_setting_properties_attributes.md +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/115_hyperlink_text_source_properties_attributes.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/116_hyperlink_text_destination_properties_attributes.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/117_cross_reference_source_properties_attributes.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/118_applied_format_tags.md +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/119_metacharacters.md +15 -0
- data/reference-docs/spec/10_idml_file_reference/10_5_fonts/examples/61_example_font.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_5_fonts/examples/62_example_referring_to_font.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_5_fonts/index.md +86 -0
- data/reference-docs/spec/10_idml_file_reference/10_5_fonts/schemas/091_font_family.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_5_fonts/schemas/092_font.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_5_fonts/schemas/093_composite_font.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_5_fonts/schemas/094_composite_font_entry.rnc +2 -0
- data/reference-docs/spec/10_idml_file_reference/10_5_fonts/tables/120_font_properties_represented_as_attributes.md +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/63_example_none_swatch.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/64_example_process_color.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/65_example_spot_color.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/66_example_lab_color.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/67_example_gradient.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/68_example_tint.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/69_example_mixed_ink.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/70_example_mixed_ink_group.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/71_example_process_magenta_ink.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/72_example_pantone_274_c_spot_ink.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/73_example_default_stroke_styles.md +18 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/74_example_dashed_stroke_style.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/75_example_dotted_stroke_style.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/76_example_striped_stroke_style.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img001.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img002.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img003.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img004.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img005.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img006.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img007.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img008.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img009.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img010.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img011.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img012.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/index.md +406 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/095_swatch.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/096_color.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/097_gradient.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/098_gradient_stop.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/099_tint.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/100_mixed_ink.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/101_mixed_ink_group.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/102_ink.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/103_stroke_style.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/104_dashed_stroke_style.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/105_dotted_stroke_style.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/106_striped_stroke_style.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/121_swatch_properties.md +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/122_color_properties.md +10 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/123_gradient_properties.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/124_gradient_stop_properties.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/125_tint_properties.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/126_mixed_ink_properties.md +10 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/127_mixed_ink_group_properties.md +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/128_ink_properties.md +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/129_stroke_style_properties.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/130_dashed_stroke_style_properties.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/131_dotted_stroke_style_properties.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/132_striped_stroke_style_properties.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/77_epub_export_preference.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/78_html_export_preference.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/79_transparency_preference.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/80_story_preference.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/81_anchored_object_default.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/82_anchored_object_setting.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/83_baseline_frame_grid_option.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/84_footnote_options.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/85_text_wrap_preference.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/86_document_preference.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/87_grid_preference.md +2 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/88_guide_preference.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/index.md +1153 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/107_Preferences_File.rnc +2 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/108_DataMerge.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/109_DataMergeField.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/110_DataMergeOption.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/111_LayoutAdjustmentPreference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/112_EPubExportPreference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/113_HTMLExportPreference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/114_XMLImportPreference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/115_XMLExport_Preference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/116_XMLPreference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/117_Export_For_Web_Preference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/118_Transparency_Preference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/119_Transparency_Default_Container_Object.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/120_StoryPreference.rnc +8 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/121_Text_Preference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/122_Text_Default.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/123_DictionaryPreference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/124_AnchoredObjectDefault.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/125_AnchoredObjectSetting.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/126_BaselineFrameGridOption.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/127_FootnoteOption.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/128_TextWrapPreference.rnc +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/129_Contour_Option.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/130_Document_Preference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/131_Grid_Preference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/132_GuidePreference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/133_MarginPreference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/134_Pasteboard_Preference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/135_View_Preference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/136_Print_Preference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/137_Print_Booklet_Option.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/138_Print_Booklet_Print_Preference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/139_Index_Options.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/140_Index_Header_Setting.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/141_Page_Item_Default.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/142_Frame_Fitting_Option.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/143_Button_Preference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/144_Tin_Document_Data_Object.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/145_Layout_Grid_Data_Information.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/146_Story_Grid_Data_Information.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/147_Cjk_Grid_Preference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/148_Mojikumi_Ui_Preference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/149_Chapter_Number_Preference.rnc +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/133_DataMerge_Properties_Represented_as_Attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/134_DataMergeField_Properties_Represented_as_Attributes.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/135_DataMergeOption_Properties_Represented_as_Attributes.md +8 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/136_LayoutAdjustmentPreference_Properties_Represented_as_Attributes.md +8 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/137_EPubExportPreference_Properties_Represented_as_Attributes.md +44 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/138_HTMLExportPreference_Properties_Represented_as_Attributes.md +39 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/139_XMLImportPreference_Properties_Represented_as_Attributes.md +12 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/140_XMLImportPreference_Properties_Represented_as_Elements.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/141_XMLExportPreference_Properties_Represented_as_Attributes.md +21 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/142_XMLExport_Preference_Properties_Represented_as_Elements.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/143_XMLPreference_Properties_Represented_as_Attributes.md +9 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/144_XMLPreference_Properties_Represented_as_Elements.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/145_ExportForWebPreference_Properties_Represented_as_Attributes.md +10 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/146_TransparencyPreference_Properties_Represented_as_Attributes.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/147_StoryPreference_Properties_Represented_as_Attributes.md +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/148_TextPreference_Properties_Represented_as_Attributes.md +33 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/149_AnchoredObjectDefault_Properties_Represented_as_Attributes.md +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/150_AnchoredObjectSetting_Properties_Represented_as_Attributes.md +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/151_BaselineFrameGridOption_Properties_Represented_as_Attributes.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/152_BaselineFrameGridOption_Properties_Represented_as_Elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/153_FootnoteOption_Properties_Represented_as_Attributes.md +33 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/154_FootnoteOption_Properties_Represented_as_Elements.md +12 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/155_Contour_Option_Properties_Represented_as_Attributes.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/156_DocumentPreference_Properties_Represented_as_Attributes.md +26 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/157_DocumentPreference_Properties_Represented_as_Elements.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/158_Grid_Preference_Properties_Represented_as_Attributes.md +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/159_GridPreference_Properties_Represented_as_Elements.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/160_GuidePreference_Properties_Represented_as_Attributes.md +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/161_GuidePreference_Properties_Represented_as_Elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/162_PasteboardPreference_Properties_Represented_as_Attributes.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/163_PasteboardPreference_Properties_Represented_as_Elements.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/164_ViewPreference_Properties_Represented_as_Attributes.md +20 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/165_Print_Preference_Properties_Represented_as_Attributes.md +104 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/166_Print_Preference_Properties_Represented_as_Elements.md +15 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/167_Cjk_Grid_Preference_Properties_Represented_as_Attributes.md +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/168_Cjk_Grid_Preference_Properties_Represented_as_Elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/169_Mojikumi_Ui_Preference_Properties_Represented_as_Attributes.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/170_Chapter_Number_Preference_Properties_Represented_as_Attributes.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/171_Chapter_Number_Preference_Properties_Represented_as_Elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/001_paragraph_style_self_attribute.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/002_paragraph_style_group_nested.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/089_paragraph_style_group.md +14 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/090_based_on_no_paragraph_style.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/091_based_on_another_style.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/092_nested_style.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/093_character_style_group.md +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/094_object_style.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/095_toc_style.md +10 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/096_trap_preset.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/images/10_8_styles_img001.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/images/10_8_styles_img002.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/images/10_8_styles_img003.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/images/10_8_styles_img004.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/images/10_8_styles_img005.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/images/10_8_styles_img006.png +0 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/index.md +1154 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/150_paragraphstylegroup.rnc +9 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/151_paragraphstyle.rnc +510 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/152_nestedstyle.rnc +19 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/153_characterstylegroup.rnc +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/154_characterstyle.rnc +255 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/155_styleexporttagmap.rnc +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/156_tablestylegroup.rnc +9 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/157_tablestyle.rnc +118 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/158_cellstylegroup.rnc +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/159_cellstyle.rnc +135 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/160_objectstylegroup.rnc +9 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/161_objectstyle.rnc +79 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/162_objectstyleobjecteffectscategorysettings.rnc +12 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/163_objectstyle_effects_category_settings.rnc +12 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/164_objectstyle_effects_category_settings.rnc +12 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/165_objectstyle_effects_category_settings.rnc +12 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/166_tocstyle_tocstyleentry.rnc +16 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/167_tocstyle_tocstyleentry.rnc +22 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/168_trappreset.rnc +21 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/172_paragraph_style_properties_represented_as_attributes.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/173_paragraph_style_properties_represented_as_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/174_nestedstyle_properties_represented_as_elements.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/175_characterstyle_properties_represented_as_attributes.md +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/176_characterstyle_properties_represented_as_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/177_styleexporttagmap_properties_represented_as_attributes.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/178_tablestyle_properties_represented_as_attributes.md +109 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/179_tablestyle_properties_represented_as_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/180_cellstyle_properties_represented_as_elements.md +3 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/181_tocstyle_properties_represented_as_attributes.md +11 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/182_tocstyle_entry_properties_represented_as_attributes.md +8 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/183_tocstyleentry_properties_represented_as_elements.md +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/184_trappreset_properties_represented_as_attributes.md +17 -0
- data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/examples/97_example_backingstory.md +1 -0
- data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/index.md +101 -0
- data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/schemas/169_BackingStory.rnc +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/schemas/170_XMLElement.rnc +37 -0
- data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/schemas/171_XMLAttribute.rnc +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/schemas/172_XMLInstruction.rnc +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/schemas/173_XMLComment.rnc +4 -0
- data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/schemas/174_DTD.rnc +13 -0
- data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/tables/185_XMLElement_Properties_Represented_as_Attributes.md +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/tables/186_XMLAttribute_Properties_Represented_as_Attributes.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/tables/187_XMLInstruction_Properties_Represented_as_Attributes.md +7 -0
- data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/tables/188_XMLComment_Properties_Represented_as_Attributes.md +6 -0
- data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/tables/189_DTD_Properties_Represented_as_Attributes.md +5 -0
- data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/tables/190_DTD_Properties_Represented_as_Elements.md +5 -0
- data/reference-docs/spec/appendix/00_index.md +7 -0
- data/reference-docs/spec/appendix/a_appendix.md +467 -0
- data/reference-docs/spec/appendix/b_appendix.md +81 -0
- data/reference-docs/spec/appendix/c_appendix.md +3192 -0
- data/reference-docs/spec/appendix/d_appendix.md +7 -0
- data/reference-docs/spec/appendix/e_appendix.md +224 -0
- data/scripts/assemble_element.rb +90 -0
- data/scripts/assemble_part.rb +57 -0
- data/scripts/build_elements_autoloads.rb +46 -0
- data/scripts/generate_all_objects.rb +38 -0
- data/scripts/rnc_to_lutaml.rb +114 -0
- metadata +1043 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Idml
|
|
4
|
+
module Render
|
|
5
|
+
# Top-level pipeline: IDML Package → PDF file using pdfrb.
|
|
6
|
+
# All PDF assembly is delegated to Pdfrb::Document. Renderers
|
|
7
|
+
# receive a Pdfrb::Content::Canvas and call drawing methods.
|
|
8
|
+
class Pipeline
|
|
9
|
+
DEFAULT_WIDTH = 612
|
|
10
|
+
DEFAULT_HEIGHT = 792
|
|
11
|
+
|
|
12
|
+
def initialize(package, output_path, font_search_paths = nil,
|
|
13
|
+
compliance: nil)
|
|
14
|
+
@package = package
|
|
15
|
+
@output_path = output_path
|
|
16
|
+
@font_resolver = build_font_resolver(font_search_paths)
|
|
17
|
+
@compliance = compliance
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def call
|
|
21
|
+
writer = PdfrbWriter.new
|
|
22
|
+
writer.set_info(default_metadata)
|
|
23
|
+
layer_filter = LayerFilter.from_designmap(@package.designmap)
|
|
24
|
+
font_ref_resolver = FontReferenceResolver.build(@package)
|
|
25
|
+
base_dir = File.dirname(@package.path)
|
|
26
|
+
font_name = register_font(writer)
|
|
27
|
+
|
|
28
|
+
@package.spreads.each do |spread|
|
|
29
|
+
render_spread_pages(writer, spread, base_dir, layer_filter,
|
|
30
|
+
font_ref_resolver, font_name)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
writer.write(@output_path)
|
|
34
|
+
@output_path
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
private
|
|
38
|
+
|
|
39
|
+
def render_spread_pages(writer, spread, base_dir, layer_filter,
|
|
40
|
+
font_ref_resolver, font_name)
|
|
41
|
+
pages = spread.spread.flat_map(&:page)
|
|
42
|
+
image_refs = collect_images(writer, spread, base_dir, layer_filter)
|
|
43
|
+
|
|
44
|
+
pages.each do |page|
|
|
45
|
+
dims = page_dimensions_for(page)
|
|
46
|
+
canvas = writer.add_page(width: dims[:width], height: dims[:height])
|
|
47
|
+
renderer = SpreadRenderer.new(
|
|
48
|
+
font_resolver: @font_resolver,
|
|
49
|
+
font_ps_name: font_name,
|
|
50
|
+
package: @package,
|
|
51
|
+
layer_filter: layer_filter,
|
|
52
|
+
font_ref_resolver: font_ref_resolver,
|
|
53
|
+
)
|
|
54
|
+
renderer.render(canvas, spread, page_width: dims[:width],
|
|
55
|
+
page_height: dims[:height],
|
|
56
|
+
image_refs: image_refs)
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def collect_images(writer, spread, base_dir, layer_filter)
|
|
61
|
+
refs = []
|
|
62
|
+
spread.each_page_item do |item|
|
|
63
|
+
next unless layer_filter.visible?(item)
|
|
64
|
+
|
|
65
|
+
images_for_item(item).each do |img|
|
|
66
|
+
ref = register_image(writer, img, item, base_dir)
|
|
67
|
+
refs << ref if ref
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
refs
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def images_for_item(item)
|
|
74
|
+
case item
|
|
75
|
+
when Idml::Elements::Rectangle, Idml::Elements::Polygon
|
|
76
|
+
item.image
|
|
77
|
+
else
|
|
78
|
+
[]
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def register_image(writer, image, parent, base_dir)
|
|
83
|
+
uri = image.resource_uri
|
|
84
|
+
return nil unless uri
|
|
85
|
+
|
|
86
|
+
existing = writer.image_name_for(uri)
|
|
87
|
+
return reuse_image(writer, existing, image, parent) if existing
|
|
88
|
+
|
|
89
|
+
load_new_image(writer, image, parent, base_dir, uri)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def reuse_image(_writer, name, image, parent)
|
|
93
|
+
{ name: name, placement: compute_placement(image, parent),
|
|
94
|
+
clip_box: parent_clip_box(parent) }
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def load_new_image(writer, image, parent, base_dir, uri)
|
|
98
|
+
path = Image.resolve_path(uri, base_dir: base_dir)
|
|
99
|
+
return nil unless File.exist?(path)
|
|
100
|
+
|
|
101
|
+
data = File.binread(path)
|
|
102
|
+
dims = image_dimensions(data)
|
|
103
|
+
return nil unless dims
|
|
104
|
+
|
|
105
|
+
name = writer.add_image(data: data)
|
|
106
|
+
writer.register_image_name(uri, name)
|
|
107
|
+
{ name: name, placement: compute_placement(image, parent, dims[1]),
|
|
108
|
+
clip_box: parent_clip_box(parent) }
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
def parent_clip_box(parent)
|
|
112
|
+
return nil unless parent.geometric_bounds
|
|
113
|
+
|
|
114
|
+
Geometry.placement_rect(parent.geometric_bounds,
|
|
115
|
+
parent.item_transform, DEFAULT_HEIGHT)
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
def image_dimensions(data)
|
|
119
|
+
format = Image.detect_format(data)
|
|
120
|
+
return nil unless format
|
|
121
|
+
|
|
122
|
+
if format == :png
|
|
123
|
+
Image.png_dimensions(data)
|
|
124
|
+
else
|
|
125
|
+
Image.jpeg_dimensions(data)
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
def compute_placement(image, parent, pixel_height = 100)
|
|
130
|
+
Image.compute_placement(
|
|
131
|
+
image_transform: parse_transform_safe(image.item_transform),
|
|
132
|
+
parent_transform: parse_transform_safe(parent.item_transform),
|
|
133
|
+
pixel_height: pixel_height,
|
|
134
|
+
page_height: DEFAULT_HEIGHT,
|
|
135
|
+
)
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
def parse_transform_safe(str)
|
|
139
|
+
Image.parse_transform(str) || Image.identity
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
def page_dimensions_for(page)
|
|
143
|
+
{ width: page.width || DEFAULT_WIDTH,
|
|
144
|
+
height: page.height || DEFAULT_HEIGHT }
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
def build_font_resolver(paths)
|
|
148
|
+
search = paths || TextEngine::FontResolver::DEFAULT_SEARCH_PATHS
|
|
149
|
+
TextEngine::FontResolver.new(search_paths: search)
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
def register_font(writer)
|
|
153
|
+
return Render::DEFAULT_FONT unless @font_resolver
|
|
154
|
+
|
|
155
|
+
path = resolve_document_font_path
|
|
156
|
+
return Render::DEFAULT_FONT unless path
|
|
157
|
+
|
|
158
|
+
writer.register_font(path)
|
|
159
|
+
rescue StandardError
|
|
160
|
+
Render::DEFAULT_FONT
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
def resolve_document_font_path
|
|
164
|
+
return nil unless @package&.fonts
|
|
165
|
+
|
|
166
|
+
@package.fonts.font_family.each do |family|
|
|
167
|
+
path = find_font_file(family)
|
|
168
|
+
return path if path
|
|
169
|
+
end
|
|
170
|
+
nil
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
def find_font_file(family)
|
|
174
|
+
family.font.each do |font|
|
|
175
|
+
next unless font.post_script_name
|
|
176
|
+
next if font.status == "Missing"
|
|
177
|
+
|
|
178
|
+
metrics = @font_resolver.resolve_by_ps_name(font.post_script_name)
|
|
179
|
+
return metrics.path if metrics
|
|
180
|
+
end
|
|
181
|
+
nil
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
def default_metadata
|
|
185
|
+
{
|
|
186
|
+
Producer: "idml gem v#{Idml::VERSION}",
|
|
187
|
+
CreationDate: pdf_date(Time.now.utc),
|
|
188
|
+
}
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
def pdf_date(time)
|
|
192
|
+
time.strftime("D:%Y%m%d%H%M%S+00'00'")
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Idml
|
|
4
|
+
module Render
|
|
5
|
+
# Shared state passed to every page-item renderer. Carries the
|
|
6
|
+
# package (for story/color lookups), font/color resolvers, the
|
|
7
|
+
# current font's PostScript name, and page dimensions. Renderers
|
|
8
|
+
# are pure functions of this context + the page item.
|
|
9
|
+
RenderContext = Struct.new(
|
|
10
|
+
:item,
|
|
11
|
+
:package,
|
|
12
|
+
:font_resolver,
|
|
13
|
+
:font_ref_resolver,
|
|
14
|
+
:color_resolver,
|
|
15
|
+
:font_ps_name,
|
|
16
|
+
:page_width,
|
|
17
|
+
:page_height,
|
|
18
|
+
:layer_filter,
|
|
19
|
+
keyword_init: true,
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Idml
|
|
4
|
+
module Render
|
|
5
|
+
module Renderers
|
|
6
|
+
class GraphicLineRenderer
|
|
7
|
+
def self.render(canvas, context)
|
|
8
|
+
line = context.item
|
|
9
|
+
return unless RectangleRenderer.strokeable?(line)
|
|
10
|
+
|
|
11
|
+
color = context.color_resolver&.resolve(line.stroke_color)
|
|
12
|
+
return unless color
|
|
13
|
+
|
|
14
|
+
box = RectangleRenderer.placement_box(line, context.page_height)
|
|
15
|
+
return unless box
|
|
16
|
+
|
|
17
|
+
canvas.save_graphics_state do
|
|
18
|
+
canvas.stroke_color(ColorHelper.to_canvas(color))
|
|
19
|
+
canvas.line_width = line.stroke_weight
|
|
20
|
+
canvas.move_to(box[:x], box[:y] + box[:height])
|
|
21
|
+
canvas.line_to(box[:x] + box[:width], box[:y])
|
|
22
|
+
canvas.stroke
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Idml
|
|
4
|
+
module Render
|
|
5
|
+
module Renderers
|
|
6
|
+
class GroupRenderer
|
|
7
|
+
def self.render(canvas, context)
|
|
8
|
+
group = context.item
|
|
9
|
+
canvas.save_graphics_state do
|
|
10
|
+
apply_transform(canvas, group.item_transform)
|
|
11
|
+
group.each_page_item do |child|
|
|
12
|
+
next unless context.layer_filter&.visible?(child)
|
|
13
|
+
|
|
14
|
+
child_context = Render::RenderContext.new(
|
|
15
|
+
item: child,
|
|
16
|
+
package: context.package,
|
|
17
|
+
font_resolver: context.font_resolver,
|
|
18
|
+
font_ref_resolver: context.font_ref_resolver,
|
|
19
|
+
color_resolver: context.color_resolver,
|
|
20
|
+
font_ps_name: context.font_ps_name,
|
|
21
|
+
page_width: context.page_width,
|
|
22
|
+
page_height: context.page_height,
|
|
23
|
+
layer_filter: context.layer_filter,
|
|
24
|
+
)
|
|
25
|
+
PageItemRenderer.render(canvas, child_context)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def self.apply_transform(canvas, item_transform)
|
|
31
|
+
return unless item_transform
|
|
32
|
+
|
|
33
|
+
t = Geometry.parse_transform(item_transform)
|
|
34
|
+
return unless t
|
|
35
|
+
|
|
36
|
+
canvas.concat(t.a, t.b, t.c, t.d, t.e, t.f)
|
|
37
|
+
end
|
|
38
|
+
private_class_method :apply_transform
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Idml
|
|
4
|
+
module Render
|
|
5
|
+
module Renderers
|
|
6
|
+
class PolygonRenderer
|
|
7
|
+
def self.render(canvas, context)
|
|
8
|
+
poly = context.item
|
|
9
|
+
return if poly.visible == false
|
|
10
|
+
|
|
11
|
+
box = RectangleRenderer.placement_box(poly, context.page_height)
|
|
12
|
+
return unless box
|
|
13
|
+
|
|
14
|
+
canvas.save_graphics_state do
|
|
15
|
+
render_fill(canvas, poly, context, box)
|
|
16
|
+
render_stroke(canvas, poly, context, box)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def self.render_fill(canvas, poly, context, box)
|
|
21
|
+
return unless poly.fill_color && poly.fill_color != "Color/None"
|
|
22
|
+
|
|
23
|
+
color = context.color_resolver&.resolve(poly.fill_color)
|
|
24
|
+
return unless color
|
|
25
|
+
|
|
26
|
+
canvas.fill_color(ColorHelper.to_canvas(color))
|
|
27
|
+
canvas.rectangle(box[:x], box[:y], box[:width], box[:height])
|
|
28
|
+
canvas.fill
|
|
29
|
+
end
|
|
30
|
+
private_class_method :render_fill
|
|
31
|
+
|
|
32
|
+
def self.render_stroke(canvas, poly, context, box)
|
|
33
|
+
return unless RectangleRenderer.strokeable?(poly)
|
|
34
|
+
|
|
35
|
+
color = context.color_resolver&.resolve(poly.stroke_color)
|
|
36
|
+
return unless color
|
|
37
|
+
|
|
38
|
+
canvas.stroke_color(ColorHelper.to_canvas(color))
|
|
39
|
+
canvas.line_width = poly.stroke_weight
|
|
40
|
+
canvas.rectangle(box[:x], box[:y], box[:width], box[:height])
|
|
41
|
+
canvas.stroke
|
|
42
|
+
end
|
|
43
|
+
private_class_method :render_stroke
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Idml
|
|
4
|
+
module Render
|
|
5
|
+
module Renderers
|
|
6
|
+
# Renders an IDML Rectangle on a Pdfrb::Content::Canvas.
|
|
7
|
+
class RectangleRenderer
|
|
8
|
+
def self.render(canvas, context)
|
|
9
|
+
rect = context.item
|
|
10
|
+
return if rect.visible == false
|
|
11
|
+
|
|
12
|
+
box = placement_box(rect, context.page_height)
|
|
13
|
+
return unless box
|
|
14
|
+
|
|
15
|
+
canvas.save_graphics_state do
|
|
16
|
+
render_fill(canvas, rect, context, box)
|
|
17
|
+
render_stroke(canvas, rect, context, box)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def self.placement_box(rect, page_height)
|
|
22
|
+
bounds = rect.geometric_bounds
|
|
23
|
+
return nil unless bounds
|
|
24
|
+
|
|
25
|
+
Geometry.placement_rect(bounds, rect.item_transform, page_height)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def self.render_fill(canvas, rect, context, box)
|
|
29
|
+
return unless rect.fill_color
|
|
30
|
+
return if rect.fill_color == "Color/None"
|
|
31
|
+
|
|
32
|
+
color = context.color_resolver&.resolve(rect.fill_color)
|
|
33
|
+
return unless color
|
|
34
|
+
|
|
35
|
+
canvas.fill_color(ColorHelper.to_canvas(color))
|
|
36
|
+
canvas.rectangle(box[:x], box[:y], box[:width], box[:height])
|
|
37
|
+
canvas.fill
|
|
38
|
+
end
|
|
39
|
+
private_class_method :render_fill
|
|
40
|
+
|
|
41
|
+
def self.render_stroke(canvas, rect, context, box)
|
|
42
|
+
return unless strokeable?(rect)
|
|
43
|
+
|
|
44
|
+
color = context.color_resolver&.resolve(rect.stroke_color)
|
|
45
|
+
return unless color
|
|
46
|
+
|
|
47
|
+
canvas.stroke_color(ColorHelper.to_canvas(color))
|
|
48
|
+
canvas.line_width = rect.stroke_weight
|
|
49
|
+
canvas.rectangle(box[:x], box[:y], box[:width], box[:height])
|
|
50
|
+
canvas.stroke
|
|
51
|
+
end
|
|
52
|
+
private_class_method :render_stroke
|
|
53
|
+
|
|
54
|
+
def self.strokeable?(rect)
|
|
55
|
+
rect.stroke_color &&
|
|
56
|
+
rect.stroke_color != "Color/None" &&
|
|
57
|
+
rect.stroke_weight&.positive?
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Idml
|
|
4
|
+
module Render
|
|
5
|
+
module Renderers
|
|
6
|
+
class TableRenderer
|
|
7
|
+
def self.render(canvas, context)
|
|
8
|
+
table = context.item
|
|
9
|
+
return if table.visible == false
|
|
10
|
+
return if table.table_row.empty?
|
|
11
|
+
|
|
12
|
+
box = RectangleRenderer.placement_box(table, context.page_height)
|
|
13
|
+
return unless box
|
|
14
|
+
|
|
15
|
+
row_count = table.table_row.length
|
|
16
|
+
row_height = box[:height] / row_count
|
|
17
|
+
|
|
18
|
+
canvas.save_graphics_state do
|
|
19
|
+
table.table_row.each_with_index do |row, row_index|
|
|
20
|
+
render_row(canvas, row, row_index, row_count, box, row_height)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def self.render_row(canvas, row, row_index, row_count, box, row_height)
|
|
26
|
+
row_y = box[:y] + ((row_count - 1 - row_index) * row_height)
|
|
27
|
+
cell_count = row.table_cell.length
|
|
28
|
+
return unless cell_count.positive?
|
|
29
|
+
|
|
30
|
+
cell_width = box[:width] / cell_count
|
|
31
|
+
row.table_cell.each_with_index do |_cell, cell_index|
|
|
32
|
+
cell_x = box[:x] + (cell_index * cell_width)
|
|
33
|
+
canvas.rectangle(cell_x, row_y, cell_width, row_height)
|
|
34
|
+
canvas.stroke
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
private_class_method :render_row
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Idml
|
|
4
|
+
module Render
|
|
5
|
+
module Renderers
|
|
6
|
+
# Renders an IDML TextFrame on a Pdfrb::Content::Canvas. Extracts
|
|
7
|
+
# styled runs via StyleResolver. When a FontMetrics is available,
|
|
8
|
+
# runs the full text engine pipeline (Shaper → LineBreaker →
|
|
9
|
+
# VerticalLayout) for proper word-wrap; otherwise falls back to
|
|
10
|
+
# simple one-text-per-run positioning.
|
|
11
|
+
class TextFrameRenderer
|
|
12
|
+
DEFAULT_SIZE = 12.0
|
|
13
|
+
LEADING_FACTOR = 1.2
|
|
14
|
+
|
|
15
|
+
def self.render(canvas, context)
|
|
16
|
+
frame = context.item
|
|
17
|
+
return unless frame.parent_story
|
|
18
|
+
return unless chain_head?(frame)
|
|
19
|
+
|
|
20
|
+
story = context.package&.story_by_id(frame.parent_story)
|
|
21
|
+
return unless story
|
|
22
|
+
|
|
23
|
+
runs = StyleResolver.extract_runs(story)
|
|
24
|
+
return if runs.empty?
|
|
25
|
+
|
|
26
|
+
box = frame_box(frame, context.page_height)
|
|
27
|
+
render_text(canvas, runs, context, box)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def self.render_text(canvas, runs, context, box)
|
|
31
|
+
font = resolve_font_metrics(context)
|
|
32
|
+
if font
|
|
33
|
+
engine_render(canvas, runs, context, box, font)
|
|
34
|
+
else
|
|
35
|
+
simple_render(canvas, runs, context, box)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
private_class_method :render_text
|
|
39
|
+
|
|
40
|
+
def self.chain_head?(frame)
|
|
41
|
+
frame.previous_text_frame.nil? || frame.previous_text_frame == "n"
|
|
42
|
+
end
|
|
43
|
+
private_class_method :chain_head?
|
|
44
|
+
|
|
45
|
+
def self.frame_box(frame, page_height)
|
|
46
|
+
bounds = frame.geometric_bounds
|
|
47
|
+
unless bounds
|
|
48
|
+
return { x: 72.0, y: page_height - 72.0, width: 400.0,
|
|
49
|
+
height: 600.0 }
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
transform = Geometry.parse_transform(frame.item_transform)
|
|
53
|
+
transformed = Geometry.transform_bounds(bounds, transform)
|
|
54
|
+
Geometry.bounds_to_pdf_rect(transformed, page_height)
|
|
55
|
+
end
|
|
56
|
+
private_class_method :frame_box
|
|
57
|
+
|
|
58
|
+
def self.resolve_font_metrics(context)
|
|
59
|
+
return nil unless context.font_resolver
|
|
60
|
+
|
|
61
|
+
context.font_resolver.resolve(
|
|
62
|
+
family_name: Render::DEFAULT_FONT, style_name: "Regular",
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
private_class_method :resolve_font_metrics
|
|
66
|
+
|
|
67
|
+
def self.simple_render(canvas, runs, context, box)
|
|
68
|
+
runs.each_with_index do |run, index|
|
|
69
|
+
y = box[:y] + box[:height] -
|
|
70
|
+
((index + 1) * run.point_size * LEADING_FACTOR)
|
|
71
|
+
canvas.text(run.text, at: [box[:x], y],
|
|
72
|
+
font: context.font_ps_name,
|
|
73
|
+
size: run.point_size)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
private_class_method :simple_render
|
|
77
|
+
|
|
78
|
+
def self.engine_render(canvas, runs, context, box, font)
|
|
79
|
+
baseline_y = box[:y] + box[:height] - runs.first.point_size
|
|
80
|
+
|
|
81
|
+
runs.each do |run|
|
|
82
|
+
baseline_y = render_run_lines(
|
|
83
|
+
canvas, run, context, box, font, baseline_y
|
|
84
|
+
)
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
private_class_method :engine_render
|
|
88
|
+
|
|
89
|
+
def self.render_run_lines(canvas, run, context, box, font, baseline_y)
|
|
90
|
+
size = run.point_size
|
|
91
|
+
glyphs = TextEngine::Shaper.shape(
|
|
92
|
+
text: run.text, font: font, size: size,
|
|
93
|
+
)
|
|
94
|
+
lines = TextEngine::LineBreaker.break(
|
|
95
|
+
glyphs: glyphs, frame_width: box[:width],
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
lines.each do |line|
|
|
99
|
+
break if baseline_y < box[:y]
|
|
100
|
+
|
|
101
|
+
line_text = line.glyphs.map { |g| [g.codepoint].pack("U") }.join
|
|
102
|
+
canvas.text(line_text, at: [box[:x], baseline_y],
|
|
103
|
+
font: context.font_ps_name,
|
|
104
|
+
size: size)
|
|
105
|
+
baseline_y -= size * LEADING_FACTOR
|
|
106
|
+
end
|
|
107
|
+
baseline_y
|
|
108
|
+
end
|
|
109
|
+
private_class_method :render_run_lines
|
|
110
|
+
end
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Idml
|
|
4
|
+
module Render
|
|
5
|
+
# Namespace for per-type page-item renderers. Each class has a
|
|
6
|
+
# `self.render(context)` class method that returns a string of PDF
|
|
7
|
+
# content-stream operators (or nil to skip the item).
|
|
8
|
+
module Renderers
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Idml
|
|
4
|
+
module Render
|
|
5
|
+
# Renders a typed `Parts::Spread` onto a Pdfrb::Content::Canvas.
|
|
6
|
+
class SpreadRenderer
|
|
7
|
+
def initialize(font_resolver: nil, font_ps_name: Render::DEFAULT_FONT,
|
|
8
|
+
package: nil, layer_filter: LayerFilter::EXCLUDE_NONE,
|
|
9
|
+
font_ref_resolver: nil)
|
|
10
|
+
@font_resolver = font_resolver
|
|
11
|
+
@font_ps_name = font_ps_name
|
|
12
|
+
@package = package
|
|
13
|
+
@layer_filter = layer_filter
|
|
14
|
+
@font_ref_resolver = font_ref_resolver
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def render(canvas, spread, page_width:, page_height:, image_refs: [])
|
|
18
|
+
context_base = {
|
|
19
|
+
package: @package,
|
|
20
|
+
font_resolver: @font_resolver,
|
|
21
|
+
font_ref_resolver: @font_ref_resolver,
|
|
22
|
+
color_resolver: build_color_resolver,
|
|
23
|
+
font_ps_name: @font_ps_name,
|
|
24
|
+
page_width: page_width,
|
|
25
|
+
page_height: page_height,
|
|
26
|
+
layer_filter: @layer_filter,
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
canvas.save_graphics_state do
|
|
30
|
+
render_background(canvas, page_width, page_height)
|
|
31
|
+
render_images(canvas, image_refs)
|
|
32
|
+
render_master_items(canvas, spread, context_base)
|
|
33
|
+
spread.each_page_item do |item|
|
|
34
|
+
next unless @layer_filter.visible?(item)
|
|
35
|
+
|
|
36
|
+
context = RenderContext.new(context_base.merge(item: item))
|
|
37
|
+
PageItemRenderer.render(canvas, context)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
private
|
|
43
|
+
|
|
44
|
+
def render_background(canvas, width, height)
|
|
45
|
+
canvas.fill_color([:gray, 1.0])
|
|
46
|
+
canvas.rectangle(0, 0, width, height)
|
|
47
|
+
canvas.fill
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def render_images(canvas, image_refs)
|
|
51
|
+
return if image_refs.empty?
|
|
52
|
+
|
|
53
|
+
image_refs.each do |ref|
|
|
54
|
+
placement = ref[:placement]
|
|
55
|
+
canvas.save_graphics_state do
|
|
56
|
+
apply_image_clip(canvas, ref)
|
|
57
|
+
canvas.concat(placement[:scale_x], 0, 0, placement[:scale_y],
|
|
58
|
+
placement[:x], placement[:y])
|
|
59
|
+
canvas.emit_op(PdfrbExt::InvokeXObject, ref[:name])
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
def apply_image_clip(canvas, ref)
|
|
65
|
+
clip_box = ref[:clip_box]
|
|
66
|
+
return unless clip_box
|
|
67
|
+
|
|
68
|
+
canvas.rectangle(clip_box[:x], clip_box[:y],
|
|
69
|
+
clip_box[:width], clip_box[:height])
|
|
70
|
+
canvas.emit_op(PdfrbExt::Clip)
|
|
71
|
+
canvas.emit_op(PdfrbExt::EndPath)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def render_master_items(canvas, spread, context_base)
|
|
75
|
+
return unless @package
|
|
76
|
+
|
|
77
|
+
resolve_master_spreads(spread).each do |master|
|
|
78
|
+
render_master_page_items(canvas, master, context_base)
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def resolve_master_spreads(spread)
|
|
83
|
+
masters = []
|
|
84
|
+
spread.spread.flat_map(&:page).each do |page|
|
|
85
|
+
next unless page.applied_master
|
|
86
|
+
|
|
87
|
+
master = @package.master_spread_by_id(page.applied_master)
|
|
88
|
+
masters << master if master && !masters.include?(master)
|
|
89
|
+
end
|
|
90
|
+
masters
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def render_master_page_items(canvas, master_part, context_base)
|
|
94
|
+
master_part.master_spread.each do |master_so|
|
|
95
|
+
master_so.each_page_item do |item|
|
|
96
|
+
next unless @layer_filter.visible?(item)
|
|
97
|
+
|
|
98
|
+
context = RenderContext.new(context_base.merge(item: item))
|
|
99
|
+
PageItemRenderer.render(canvas, context)
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
def build_color_resolver
|
|
105
|
+
return nil unless @package&.graphic
|
|
106
|
+
|
|
107
|
+
ColorResolver.new(@package.graphic)
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
end
|