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.
Files changed (917) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/rake.yml +18 -0
  3. data/.github/workflows/release.yml +27 -0
  4. data/.gitignore +27 -0
  5. data/.rspec +3 -0
  6. data/.rubocop.yml +21 -0
  7. data/.rubocop_todo.yml +113 -0
  8. data/.yardopts +4 -0
  9. data/CLAUDE.md +305 -0
  10. data/Gemfile +17 -0
  11. data/Gemfile.lock +253 -0
  12. data/README.adoc +4 -0
  13. data/Rakefile +22 -0
  14. data/TODO.complete/01-bootstrap.md +52 -0
  15. data/TODO.complete/02-package-layer.md +48 -0
  16. data/TODO.complete/03-parts-registry-and-designmap.md +64 -0
  17. data/TODO.complete/04-spread-and-master-spread.md +57 -0
  18. data/TODO.complete/05-story-and-backing-story.md +56 -0
  19. data/TODO.complete/06-resources.md +53 -0
  20. data/TODO.complete/07-xml-structure.md +32 -0
  21. data/TODO.complete/08-round-trip-suite.md +44 -0
  22. data/TODO.complete/09-validation.md +51 -0
  23. data/TODO.complete/10-composition.md +62 -0
  24. data/TODO.complete/11-package-accessors.md +41 -0
  25. data/TODO.complete/12-document-layer.md +44 -0
  26. data/TODO.complete/13-insert-idml.md +31 -0
  27. data/TODO.complete/14-geometry.md +33 -0
  28. data/TODO.complete/15-cli.md +44 -0
  29. data/TODO.complete/16-cross-version-tolerance.md +40 -0
  30. data/TODO.complete/17-yard-documentation.md +38 -0
  31. data/TODO.complete/18-remove-nokogiri.md +38 -0
  32. data/TODO.complete/19-vendor-fixtures.md +44 -0
  33. data/TODO.complete/20-round-trip-all-fixtures.md +39 -0
  34. data/TODO.complete/21-anti-pattern-forbid-nokogiri.md +31 -0
  35. data/TODO.complete/22-claude-md-no-nokogiri.md +29 -0
  36. data/TODO.complete/23-lutaml-only-no-rexml.md +60 -0
  37. data/TODO.complete/24-anti-pattern-forbid-rexml.md +29 -0
  38. data/TODO.complete/25-claude-md-lutaml-only.md +29 -0
  39. data/TODO.complete/26-rnc-faithful-models.md +66 -0
  40. data/TODO.complete/27-geometry-scale-rotate.md +28 -0
  41. data/TODO.complete/28-designmap-migration.md +33 -0
  42. data/TODO.complete/29-add-page-from-idml.md +35 -0
  43. data/TODO.complete/30-import-xml.md +37 -0
  44. data/TODO.complete/31-export-xml.md +32 -0
  45. data/TODO.complete/33-element-spec-coverage.md +30 -0
  46. data/TODO.pdf/01-font-metrics.md +43 -0
  47. data/TODO.pdf/02-font-resolver.md +42 -0
  48. data/TODO.pdf/03-text-shaper.md +40 -0
  49. data/TODO.pdf/04-line-breaker-justifier.md +51 -0
  50. data/TODO.pdf/05-vertical-layout.md +42 -0
  51. data/TODO.pdf/06-pdf-color-operators.md +25 -0
  52. data/TODO.pdf/07-pdf-path-operators.md +29 -0
  53. data/TODO.pdf/08-pdf-text-operators.md +29 -0
  54. data/TODO.pdf/09-image-embedding.md +34 -0
  55. data/TODO.pdf/10-spread-renderer.md +33 -0
  56. data/TODO.pdf/11-font-embedding.md +38 -0
  57. data/TODO.pdf/12-idml-to-pdf-pipeline.md +41 -0
  58. data/TODO.pdf/13-cjk-text-layout.md +40 -0
  59. data/TODO.pdf/14-page-item-element-models.md +61 -0
  60. data/TODO.pdf/15-wire-spread-children.md +46 -0
  61. data/TODO.pdf/16-typed-model-pipeline.md +48 -0
  62. data/TODO.pdf/17-shape-rendering.md +46 -0
  63. data/TODO.pdf/18-text-rendering.md +48 -0
  64. data/TODO.pdf/19-page-dimensions.md +40 -0
  65. data/TODO.pdf/20-png-image-support.md +43 -0
  66. data/TODO.pdf/21-coordinate-transform.md +41 -0
  67. data/TODO.pdf/22-color-resolution.md +41 -0
  68. data/TODO.pdf/23-fontmetrics-ps-name-fix.md +43 -0
  69. data/TODO.pdf/24-antipattern-coverage.md +35 -0
  70. data/TODO.pdf/25-cli-render.md +38 -0
  71. data/TODO.pdf/26-renderer-registry.md +45 -0
  72. data/TODO.pdf/27-text-engine-integration.md +41 -0
  73. data/TODO.pdf/28-path-geometry-models.md +47 -0
  74. data/TODO.pdf/29-character-style-extraction.md +36 -0
  75. data/TODO.pdf/30-shape-geometry-rendering.md +40 -0
  76. data/TODO.pdf/31-stroke-rendering.md +35 -0
  77. data/TODO.pdf/32-master-spread-rendering.md +36 -0
  78. data/TODO.pdf/33-font-resolution-from-idml.md +38 -0
  79. data/TODO.pdf/34-story-threading.md +32 -0
  80. data/TODO.pdf/35-pdf-metadata.md +34 -0
  81. data/TODO.pdf/36-performance-caching.md +33 -0
  82. data/TODO.pdf/37-round-trip-specs.md +33 -0
  83. data/TODO.pdf/38-pdf-output-validation.md +34 -0
  84. data/TODO.pdf/39-geometry-coordinate-helpers.md +26 -0
  85. data/TODO.pdf/40-font-ps-name-resolution.md +30 -0
  86. data/TODO.pdf/41-graphic-line-rendering.md +20 -0
  87. data/TODO.pdf/42-group-transform-application.md +17 -0
  88. data/TODO.pdf/43-text-frame-insets.md +17 -0
  89. data/TODO.pdf/44-layer-support.md +20 -0
  90. data/TODO.pdf/45-image-clipping.md +17 -0
  91. data/TODO.pdf/46-spread-to-page-separation.md +19 -0
  92. data/TODO.pdf/47-pdf-bookmarks.md +17 -0
  93. data/TODO.pdf/48-table-rendering.md +20 -0
  94. data/TODO.pdf/49-gradient-fill-rendering.md +20 -0
  95. data/TODO.pdf/50-pdf-a-compliance.md +21 -0
  96. data/TODO.pdf/51-remove-dead-code.md +41 -0
  97. data/TODO.pdf/52-font-subsetting.md +22 -0
  98. data/TODO.pdf/53-tagged-pdf-accessibility.md +24 -0
  99. data/TODO.pdf/54-pdfrb-pipeline-specs.md +27 -0
  100. data/TODO.pdf/55-dead-code-deprecation.md +30 -0
  101. data/TODO.pdf/56-text-engine-pdfrb-integration.md +33 -0
  102. data/TODO.pdf/57-image-clipping-pdfrb.md +26 -0
  103. data/TODO.pdf/58-bookmarks-pdfrb.md +23 -0
  104. data/TODO.pdf/59-dry-placement-rect.md +15 -0
  105. data/TODO.pdf/60-cli-pdf-a-flag.md +16 -0
  106. data/TODO.pdf/README.md +21 -0
  107. data/exe/idml +5 -0
  108. data/idml.gemspec +39 -0
  109. data/lib/idml/cli.rb +105 -0
  110. data/lib/idml/composition/add_page_from_idml.rb +67 -0
  111. data/lib/idml/composition/export_xml.rb +70 -0
  112. data/lib/idml/composition/import_xml.rb +73 -0
  113. data/lib/idml/composition/insert_idml.rb +93 -0
  114. data/lib/idml/composition/prefix.rb +78 -0
  115. data/lib/idml/composition.rb +16 -0
  116. data/lib/idml/document.rb +87 -0
  117. data/lib/idml/elements/anchored_object_setting.rb +40 -0
  118. data/lib/idml/elements/baseline_frame_grid_option.rb +24 -0
  119. data/lib/idml/elements/bevel_and_emboss_setting.rb +48 -0
  120. data/lib/idml/elements/blending_setting.rb +24 -0
  121. data/lib/idml/elements/cell_style.rb +166 -0
  122. data/lib/idml/elements/cell_style_group.rb +18 -0
  123. data/lib/idml/elements/character_style.rb +302 -0
  124. data/lib/idml/elements/character_style_group.rb +18 -0
  125. data/lib/idml/elements/character_style_range.rb +670 -0
  126. data/lib/idml/elements/color.rb +48 -0
  127. data/lib/idml/elements/content.rb +16 -0
  128. data/lib/idml/elements/content_transparency_setting.rb +15 -0
  129. data/lib/idml/elements/contour_option.rb +30 -0
  130. data/lib/idml/elements/dashed_stroke_style.rb +26 -0
  131. data/lib/idml/elements/directional_feather_setting.rb +34 -0
  132. data/lib/idml/elements/document_object.rb +82 -0
  133. data/lib/idml/elements/dotted_stroke_style.rb +24 -0
  134. data/lib/idml/elements/drop_shadow_setting.rb +44 -0
  135. data/lib/idml/elements/feather_setting.rb +26 -0
  136. data/lib/idml/elements/fill_transparency_setting.rb +15 -0
  137. data/lib/idml/elements/flex_layout_attribute_option.rb +42 -0
  138. data/lib/idml/elements/font.rb +50 -0
  139. data/lib/idml/elements/font_family.rb +23 -0
  140. data/lib/idml/elements/frame_fitting_option.rb +30 -0
  141. data/lib/idml/elements/geometry_path_type.rb +24 -0
  142. data/lib/idml/elements/gradient.rb +34 -0
  143. data/lib/idml/elements/gradient_feather_setting.rb +30 -0
  144. data/lib/idml/elements/gradient_stop.rb +24 -0
  145. data/lib/idml/elements/graphic_line.rb +34 -0
  146. data/lib/idml/elements/group.rb +41 -0
  147. data/lib/idml/elements/image.rb +33 -0
  148. data/lib/idml/elements/ink.rb +36 -0
  149. data/lib/idml/elements/inner_glow_setting.rb +34 -0
  150. data/lib/idml/elements/inner_shadow_setting.rb +40 -0
  151. data/lib/idml/elements/layer.rb +35 -0
  152. data/lib/idml/elements/link.rb +25 -0
  153. data/lib/idml/elements/master_spread_object.rb +55 -0
  154. data/lib/idml/elements/mixed_ink.rb +46 -0
  155. data/lib/idml/elements/mixed_ink_group.rb +40 -0
  156. data/lib/idml/elements/object_export_option.rb +100 -0
  157. data/lib/idml/elements/object_style.rb +148 -0
  158. data/lib/idml/elements/object_style_content_effects_category_settings.rb +36 -0
  159. data/lib/idml/elements/object_style_export_tag_map.rb +28 -0
  160. data/lib/idml/elements/object_style_fill_effects_category_settings.rb +36 -0
  161. data/lib/idml/elements/object_style_group.rb +18 -0
  162. data/lib/idml/elements/object_style_object_effects_category_settings.rb +36 -0
  163. data/lib/idml/elements/object_style_stroke_effects_category_settings.rb +36 -0
  164. data/lib/idml/elements/opacity_gradient_stop.rb +24 -0
  165. data/lib/idml/elements/outer_glow_setting.rb +32 -0
  166. data/lib/idml/elements/page.rb +43 -0
  167. data/lib/idml/elements/paragraph_style.rb +600 -0
  168. data/lib/idml/elements/paragraph_style_group.rb +18 -0
  169. data/lib/idml/elements/paragraph_style_range.rb +673 -0
  170. data/lib/idml/elements/pasted_smooth_shade.rb +40 -0
  171. data/lib/idml/elements/path_geometry.rb +36 -0
  172. data/lib/idml/elements/path_point_array.rb +21 -0
  173. data/lib/idml/elements/path_point_type.rb +38 -0
  174. data/lib/idml/elements/polygon.rb +40 -0
  175. data/lib/idml/elements/pref_anchored_object_default.rb +26 -0
  176. data/lib/idml/elements/pref_button_preference.rb +18 -0
  177. data/lib/idml/elements/pref_chapter_number_preference.rb +20 -0
  178. data/lib/idml/elements/pref_cjk_grid_preference.rb +34 -0
  179. data/lib/idml/elements/pref_data_merge.rb +20 -0
  180. data/lib/idml/elements/pref_data_merge_field.rb +20 -0
  181. data/lib/idml/elements/pref_data_merge_option.rb +28 -0
  182. data/lib/idml/elements/pref_dictionary_preference.rb +22 -0
  183. data/lib/idml/elements/pref_document_preference.rb +66 -0
  184. data/lib/idml/elements/pref_e_pub_export_preference.rb +152 -0
  185. data/lib/idml/elements/pref_e_pub_fixed_layout_export_preference.rb +82 -0
  186. data/lib/idml/elements/pref_export_for_web_preference.rb +32 -0
  187. data/lib/idml/elements/pref_footnote_option.rb +78 -0
  188. data/lib/idml/elements/pref_grid_preference.rb +40 -0
  189. data/lib/idml/elements/pref_guide_preference.rb +26 -0
  190. data/lib/idml/elements/pref_html_export_preference.rb +94 -0
  191. data/lib/idml/elements/pref_index_header_setting.rb +26 -0
  192. data/lib/idml/elements/pref_index_options.rb +60 -0
  193. data/lib/idml/elements/pref_layout_adjustment_preference.rb +28 -0
  194. data/lib/idml/elements/pref_layout_grid_data_information.rb +28 -0
  195. data/lib/idml/elements/pref_margin_preference.rb +32 -0
  196. data/lib/idml/elements/pref_mojikumi_ui_preference.rb +18 -0
  197. data/lib/idml/elements/pref_page_item_default.rb +88 -0
  198. data/lib/idml/elements/pref_pasteboard_preference.rb +22 -0
  199. data/lib/idml/elements/pref_print_booklet_option.rb +40 -0
  200. data/lib/idml/elements/pref_print_booklet_print_preference.rb +188 -0
  201. data/lib/idml/elements/pref_print_preference.rb +198 -0
  202. data/lib/idml/elements/pref_story_grid_data_information.rb +40 -0
  203. data/lib/idml/elements/pref_text_default.rb +578 -0
  204. data/lib/idml/elements/pref_text_preference.rb +84 -0
  205. data/lib/idml/elements/pref_tin_document_data_object.rb +15 -0
  206. data/lib/idml/elements/pref_transparency_default_container_object.rb +15 -0
  207. data/lib/idml/elements/pref_transparency_preference.rb +22 -0
  208. data/lib/idml/elements/pref_view_preference.rb +50 -0
  209. data/lib/idml/elements/pref_xml_export_preference.rb +48 -0
  210. data/lib/idml/elements/pref_xml_import_preference.rb +36 -0
  211. data/lib/idml/elements/pref_xml_preference.rb +26 -0
  212. data/lib/idml/elements/properties.rb +24 -0
  213. data/lib/idml/elements/rectangle.rb +56 -0
  214. data/lib/idml/elements/root_cell_style_group.rb +21 -0
  215. data/lib/idml/elements/root_character_style_group.rb +21 -0
  216. data/lib/idml/elements/root_object_style_group.rb +21 -0
  217. data/lib/idml/elements/root_paragraph_style_group.rb +21 -0
  218. data/lib/idml/elements/root_table_style_group.rb +21 -0
  219. data/lib/idml/elements/satin_setting.rb +32 -0
  220. data/lib/idml/elements/spread_object.rb +64 -0
  221. data/lib/idml/elements/story_inner.rb +697 -0
  222. data/lib/idml/elements/story_preference.rb +26 -0
  223. data/lib/idml/elements/striped_stroke_style.rb +22 -0
  224. data/lib/idml/elements/stroke_style.rb +20 -0
  225. data/lib/idml/elements/stroke_transparency_setting.rb +15 -0
  226. data/lib/idml/elements/style_export_tag_map.rb +30 -0
  227. data/lib/idml/elements/swatch.rb +30 -0
  228. data/lib/idml/elements/table.rb +40 -0
  229. data/lib/idml/elements/table_cell.rb +24 -0
  230. data/lib/idml/elements/table_row.rb +28 -0
  231. data/lib/idml/elements/table_style.rb +260 -0
  232. data/lib/idml/elements/table_style_group.rb +18 -0
  233. data/lib/idml/elements/text_frame.rb +54 -0
  234. data/lib/idml/elements/text_frame_footnote_options_object.rb +24 -0
  235. data/lib/idml/elements/text_frame_preference.rb +90 -0
  236. data/lib/idml/elements/text_wrap_preference.rb +24 -0
  237. data/lib/idml/elements/tint.rb +44 -0
  238. data/lib/idml/elements/toc_style.rb +40 -0
  239. data/lib/idml/elements/toc_style_entry.rb +28 -0
  240. data/lib/idml/elements/transform_attribute_option.rb +30 -0
  241. data/lib/idml/elements/transparency_setting.rb +15 -0
  242. data/lib/idml/elements/trap_preset.rb +48 -0
  243. data/lib/idml/elements/xml_element.rb +41 -0
  244. data/lib/idml/elements/xml_export_map.rb +28 -0
  245. data/lib/idml/elements/xml_import_map.rb +22 -0
  246. data/lib/idml/elements/xml_story.rb +609 -0
  247. data/lib/idml/elements/xml_tag.rb +20 -0
  248. data/lib/idml/elements.rb +167 -0
  249. data/lib/idml/errors.rb +10 -0
  250. data/lib/idml/geometry.rb +110 -0
  251. data/lib/idml/namespace.rb +13 -0
  252. data/lib/idml/package.rb +213 -0
  253. data/lib/idml/part.rb +20 -0
  254. data/lib/idml/parts/backing_story.rb +27 -0
  255. data/lib/idml/parts/designmap.rb +91 -0
  256. data/lib/idml/parts/fonts.rb +26 -0
  257. data/lib/idml/parts/graphic.rb +48 -0
  258. data/lib/idml/parts/mapping.rb +25 -0
  259. data/lib/idml/parts/master_spread.rb +27 -0
  260. data/lib/idml/parts/preferences.rb +201 -0
  261. data/lib/idml/parts/raw.rb +27 -0
  262. data/lib/idml/parts/spread.rb +38 -0
  263. data/lib/idml/parts/story.rb +39 -0
  264. data/lib/idml/parts/style.rb +122 -0
  265. data/lib/idml/parts/style_mapping.rb +21 -0
  266. data/lib/idml/parts/tags.rb +25 -0
  267. data/lib/idml/parts.rb +47 -0
  268. data/lib/idml/render/color.rb +69 -0
  269. data/lib/idml/render/color_helper.rb +23 -0
  270. data/lib/idml/render/color_resolver.rb +72 -0
  271. data/lib/idml/render/font_embedder.rb +79 -0
  272. data/lib/idml/render/font_reference_resolver.rb +51 -0
  273. data/lib/idml/render/gradient_resolver.rb +111 -0
  274. data/lib/idml/render/image.rb +302 -0
  275. data/lib/idml/render/layer_filter.rb +60 -0
  276. data/lib/idml/render/page_item_renderer.rb +34 -0
  277. data/lib/idml/render/path.rb +80 -0
  278. data/lib/idml/render/pdf_writer.rb +426 -0
  279. data/lib/idml/render/pdfrb_ext/clip.rb +31 -0
  280. data/lib/idml/render/pdfrb_ext/invoke_xobject.rb +24 -0
  281. data/lib/idml/render/pdfrb_ext.rb +13 -0
  282. data/lib/idml/render/pdfrb_writer.rb +97 -0
  283. data/lib/idml/render/pipeline.rb +196 -0
  284. data/lib/idml/render/render_context.rb +22 -0
  285. data/lib/idml/render/renderers/graphic_line_renderer.rb +28 -0
  286. data/lib/idml/render/renderers/group_renderer.rb +42 -0
  287. data/lib/idml/render/renderers/polygon_renderer.rb +47 -0
  288. data/lib/idml/render/renderers/rectangle_renderer.rb +62 -0
  289. data/lib/idml/render/renderers/table_renderer.rb +41 -0
  290. data/lib/idml/render/renderers/text_frame_renderer.rb +113 -0
  291. data/lib/idml/render/renderers.rb +11 -0
  292. data/lib/idml/render/spread_renderer.rb +111 -0
  293. data/lib/idml/render/story_threader.rb +56 -0
  294. data/lib/idml/render/style_resolver.rb +48 -0
  295. data/lib/idml/render/text.rb +91 -0
  296. data/lib/idml/render.rb +63 -0
  297. data/lib/idml/text_engine/cjk_layout.rb +114 -0
  298. data/lib/idml/text_engine/font_metrics.rb +226 -0
  299. data/lib/idml/text_engine/font_resolver.rb +105 -0
  300. data/lib/idml/text_engine/justifier.rb +46 -0
  301. data/lib/idml/text_engine/line_breaker.rb +55 -0
  302. data/lib/idml/text_engine/shaper.rb +35 -0
  303. data/lib/idml/text_engine/vertical_layout.rb +64 -0
  304. data/lib/idml/text_engine.rb +19 -0
  305. data/lib/idml/validation/result.rb +14 -0
  306. data/lib/idml/validation/validator.rb +121 -0
  307. data/lib/idml/validation.rb +14 -0
  308. data/lib/idml/version.rb +5 -0
  309. data/lib/idml.rb +33 -0
  310. data/reference-docs/idml-specification.pdf +0 -0
  311. data/reference-docs/schemas/README.md +79 -0
  312. data/reference-docs/schemas/fix-adobe-schema-bug.rb +69 -0
  313. data/reference-docs/schemas/package/MasterSpreads/MasterSpread.rnc +4415 -0
  314. data/reference-docs/schemas/package/Resources/Fonts.rnc +93 -0
  315. data/reference-docs/schemas/package/Resources/Graphic.rnc +226 -0
  316. data/reference-docs/schemas/package/Resources/Preferences.rnc +1827 -0
  317. data/reference-docs/schemas/package/Resources/Styles.rnc +1770 -0
  318. data/reference-docs/schemas/package/Spreads/Spread.rnc +4431 -0
  319. data/reference-docs/schemas/package/Stories/Story.rnc +6547 -0
  320. data/reference-docs/schemas/package/XML/BackingStory.rnc +6527 -0
  321. data/reference-docs/schemas/package/XML/Mapping.rnc +35 -0
  322. data/reference-docs/schemas/package/XML/Tags.rnc +30 -0
  323. data/reference-docs/schemas/package/datatype.rnc +563 -0
  324. data/reference-docs/schemas/package/designmap.rnc +974 -0
  325. data/reference-docs/schemas/single/IDMarkupLanguage.rnc +11486 -0
  326. data/reference-docs/schemas/single/datatype.rnc +563 -0
  327. data/reference-docs/spec/00_index.md +16 -0
  328. data/reference-docs/spec/00_title/00_index.md +480 -0
  329. data/reference-docs/spec/01_abstract/00_index.md +3 -0
  330. data/reference-docs/spec/02_introduction/00_index.md +11 -0
  331. data/reference-docs/spec/03_terminology/00_index.md +7 -0
  332. data/reference-docs/spec/04_inx_idml_and_in_design_scripting/00_index.md +48 -0
  333. data/reference-docs/spec/05_uses_for_idml/00_index.md +13 -0
  334. data/reference-docs/spec/06_idml_design_goals/00_index.md +18 -0
  335. data/reference-docs/spec/07_idml_design_approaches/00_index.md +59 -0
  336. data/reference-docs/spec/08_idml_document_structure/00_index.md +120 -0
  337. data/reference-docs/spec/09_idml_syntax/00_index.md +367 -0
  338. data/reference-docs/spec/09_idml_syntax/examples/01_example_properties_expressed_as_attributes_or_elements_depending_on_their_value.md +6 -0
  339. data/reference-docs/spec/09_idml_syntax/examples/02_example_object_serialization.md +10 -0
  340. data/reference-docs/spec/09_idml_syntax/examples/03_example_record_type_serialization.md +6 -0
  341. data/reference-docs/spec/09_idml_syntax/examples/04_example_geometry_serialization.md +6 -0
  342. data/reference-docs/spec/09_idml_syntax/examples/index.md +10 -0
  343. data/reference-docs/spec/09_idml_syntax/images/image_01.md +1 -0
  344. data/reference-docs/spec/09_idml_syntax/images/image_01.png +0 -0
  345. data/reference-docs/spec/09_idml_syntax/images/image_02.md +1 -0
  346. data/reference-docs/spec/09_idml_syntax/images/image_02.png +0 -0
  347. data/reference-docs/spec/09_idml_syntax/images/image_03.md +1 -0
  348. data/reference-docs/spec/09_idml_syntax/images/image_03.png +0 -0
  349. data/reference-docs/spec/09_idml_syntax/images/image_04.md +1 -0
  350. data/reference-docs/spec/09_idml_syntax/images/image_04.png +0 -0
  351. data/reference-docs/spec/09_idml_syntax/images/image_05.md +1 -0
  352. data/reference-docs/spec/09_idml_syntax/images/image_05.png +0 -0
  353. data/reference-docs/spec/09_idml_syntax/images/image_06.md +1 -0
  354. data/reference-docs/spec/09_idml_syntax/images/image_06.png +0 -0
  355. data/reference-docs/spec/09_idml_syntax/images/index.md +12 -0
  356. data/reference-docs/spec/09_idml_syntax/schemas/00_schema_example_1_column_guide_color_and_margin_guide_color_elements.rnc +3 -0
  357. data/reference-docs/spec/09_idml_syntax/schemas/01_datatype.rnc +4 -0
  358. data/reference-docs/spec/09_idml_syntax/schemas/02_designmap.rnc +4 -0
  359. data/reference-docs/spec/09_idml_syntax/schemas/03_Master_Spreads.rnc +4 -0
  360. data/reference-docs/spec/09_idml_syntax/schemas/04_Fonts.rnc +4 -0
  361. data/reference-docs/spec/09_idml_syntax/schemas/05_Graphic.rnc +4 -0
  362. data/reference-docs/spec/09_idml_syntax/schemas/06_Preferences.rnc +4 -0
  363. data/reference-docs/spec/09_idml_syntax/schemas/07_Styles.rnc +4 -0
  364. data/reference-docs/spec/09_idml_syntax/schemas/08_Spread.rnc +4 -0
  365. data/reference-docs/spec/09_idml_syntax/schemas/09_Story.rnc +4 -0
  366. data/reference-docs/spec/09_idml_syntax/schemas/10_BackingStory.rnc +4 -0
  367. data/reference-docs/spec/09_idml_syntax/schemas/11_Mapping.rnc +4 -0
  368. data/reference-docs/spec/09_idml_syntax/schemas/12_Tags.rnc +4 -0
  369. data/reference-docs/spec/09_idml_syntax/schemas/index.md +19 -0
  370. data/reference-docs/spec/09_idml_syntax/tables/01_idml_basic_data_types.md +20 -0
  371. data/reference-docs/spec/09_idml_syntax/tables/02_property_elements.md +6 -0
  372. data/reference-docs/spec/09_idml_syntax/tables/index.md +8 -0
  373. data/reference-docs/spec/10_idml_file_reference/00_index.md +16 -0
  374. data/reference-docs/spec/10_idml_file_reference/10_10_mapping/examples/98_xml_export_map.md +1 -0
  375. data/reference-docs/spec/10_idml_file_reference/10_10_mapping/examples/99_xml_import_map.md +1 -0
  376. data/reference-docs/spec/10_idml_file_reference/10_10_mapping/index.md +44 -0
  377. data/reference-docs/spec/10_idml_file_reference/10_10_mapping/schemas/175_xml_export_map.rnc +1 -0
  378. data/reference-docs/spec/10_idml_file_reference/10_10_mapping/schemas/176_xml_import_map.rnc +1 -0
  379. data/reference-docs/spec/10_idml_file_reference/10_10_mapping/tables/191_xml_export_map_properties.md +7 -0
  380. data/reference-docs/spec/10_idml_file_reference/10_10_mapping/tables/192_xml_import_map_properties.md +4 -0
  381. data/reference-docs/spec/10_idml_file_reference/10_11_xmltags/examples/100_example_xmltag.md +7 -0
  382. data/reference-docs/spec/10_idml_file_reference/10_11_xmltags/imdex.md +42 -0
  383. data/reference-docs/spec/10_idml_file_reference/10_11_xmltags/schemas/177_xmltag.rnc +10 -0
  384. data/reference-docs/spec/10_idml_file_reference/10_11_xmltags/tables/193_xmltag_properties_attributes.md +3 -0
  385. data/reference-docs/spec/10_idml_file_reference/10_11_xmltags/tables/194_xmltag_properties_elements.md +3 -0
  386. data/reference-docs/spec/10_idml_file_reference/10_1_common_attributes_and_elements/examples/05_example_self.md +1 -0
  387. data/reference-docs/spec/10_idml_file_reference/10_1_common_attributes_and_elements/examples/06_example_label.md +6 -0
  388. data/reference-docs/spec/10_idml_file_reference/10_1_common_attributes_and_elements/index.md +96 -0
  389. data/reference-docs/spec/10_idml_file_reference/10_1_common_attributes_and_elements/schemas/02_self.rnc +3 -0
  390. data/reference-docs/spec/10_idml_file_reference/10_1_common_attributes_and_elements/schemas/03_label.rnc +7 -0
  391. data/reference-docs/spec/10_idml_file_reference/10_1_common_attributes_and_elements/tables/label_attributes.md +8 -0
  392. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/07_example_document_element_references.md +26 -0
  393. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/08_example_document_element_designmap.md +25 -0
  394. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/09_example_color_management_attributes.md +10 -0
  395. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/10_example_tagged_pdf_preference_structure_order.md +1 -0
  396. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/11_example_text_variable.md +3 -0
  397. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/12_example_layer.md +5 -0
  398. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/13_example_building_block.md +1 -0
  399. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/14_example_hyperlink.md +7 -0
  400. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/examples/15_example_article.md +4 -0
  401. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/index.md +1349 -0
  402. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/004_document.rnc +108 -0
  403. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/005_language.rnc +16 -0
  404. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/006_kinsokutable.rnc +13 -0
  405. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/007_numberinglist.rnc +11 -0
  406. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/007b_mojikumitable.rnc +14 -0
  407. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/008_namedgrid.rnc +10 -0
  408. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/009_griddatainformation.rnc +22 -0
  409. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/010_motionpreset.rnc +14 -0
  410. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/011_condition.rnc +14 -0
  411. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/012_conditionset.rnc +13 -0
  412. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/013_linkedstoryoption.rnc +5 -0
  413. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/014_taggedpdfpreference.rnc +1 -0
  414. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/015_metadatapacketpreference.rnc +1 -0
  415. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/016_watermarkpreference.rnc +18 -0
  416. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/016b_conditionaltextpreference.rnc +4 -0
  417. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/017_textvariable.rnc +22 -0
  418. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/018_customtextvariablepreference.rnc +14 -0
  419. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/019_filenamevariablepreference.rnc +6 -0
  420. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/020_pagenumbervariablepreference.rnc +6 -0
  421. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/021_chapternumbervariablepreference.rnc +5 -0
  422. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/022_datevariablepreference.rnc +5 -0
  423. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/023_matchcharacterstylepreference.rnc +8 -0
  424. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/024_matchparagraphstylepreference.rnc +8 -0
  425. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/025_captionmetadatavariablepreference.rnc +5 -0
  426. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/026_layer.rnc +19 -0
  427. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/027_section.rnc +25 -0
  428. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/028_documentuser.rnc +7 -0
  429. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/029_crossreferenceformat.rnc +11 -0
  430. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/030_buildingblock.rnc +8 -0
  431. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/031_index.rnc +9 -0
  432. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/032_topic.rnc +7 -0
  433. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/033_crossreference.rnc +11 -0
  434. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/034_hyperlink.rnc +34 -0
  435. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/035_hyperlinkpagedestination.rnc +17 -0
  436. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/036_hyperlinkurldestination.rnc +12 -0
  437. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/037_hyperlinkexternalpagedestination.rnc +17 -0
  438. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/038_hyperlinkpageitemsource.rnc +11 -0
  439. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/039_bookmark.rnc +11 -0
  440. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/040_preflightprofile.rnc +12 -0
  441. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/041_preflightprofilerule.rnc +13 -0
  442. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/042_ruledataobject.rnc +51 -0
  443. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/043_preflightruleinstance.rnc +13 -0
  444. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/044_datamergeimageplaceholder.rnc +5 -0
  445. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/045_hyphenationexception.rnc +6 -0
  446. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/046_indexingsortoption.rnc +8 -0
  447. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/047_abullet.rnc +28 -0
  448. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/048_assignment.rnc +21 -0
  449. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/049_assignedstory.rnc +11 -0
  450. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/051_article.rnc +11 -0
  451. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/schemas/052_articlemember.rnc +4 -0
  452. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/03_document_properties_attributes.md +28 -0
  453. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/04_document_properties_elements.md +2 -0
  454. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/05_language_properties_attributes.md +10 -0
  455. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/06_kinsokutable_properties_attributes.md +6 -0
  456. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/07_mojikumitable_properties_attributes.md +3 -0
  457. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/08_mojikumitable_properties_elements.md +4 -0
  458. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/09_numberinglist_properties_attributes.md +4 -0
  459. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/10_namedgrid_properties_attributes.md +3 -0
  460. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/11_griddatainformation_properties_attributes.md +14 -0
  461. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/12_griddatainformation_properties_elements.md +3 -0
  462. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/13_motionpreset_properties_attributes.md +6 -0
  463. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/14_motionpreset_properties_elements.md +3 -0
  464. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/15_condition_properties_attributes.md +6 -0
  465. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/16_condition_properties_elements.md +3 -0
  466. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/17_conditionset_properties_elements.md +3 -0
  467. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/18_linkedstoryoption_properties_attributes.md +5 -0
  468. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/19_taggedpdfpreference_structureorder_elements.md +3 -0
  469. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/20_metadatapacketpreference_properties_elements.md +3 -0
  470. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/21_watermarkpreference_properties_attributes.md +15 -0
  471. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/22_watermarkpreference_properties_elements.md +3 -0
  472. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/23_conditionaltextpreference_properties_attributes.md +4 -0
  473. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/24_textvariable_properties_attributes.md +4 -0
  474. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/25_common_text_variable_properties_attributes.md +4 -0
  475. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/26_custom_textvariable_preference_properties_elements.md +3 -0
  476. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/27_filename_variable_preference_properties_attributes.md +4 -0
  477. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/28_pagenumber_variable_preference_properties_attributes.md +4 -0
  478. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/29_chapternumber_variable_preference_properties_attributes.md +3 -0
  479. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/30_date_variable_preference_properties_attributes.md +3 -0
  480. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/31_matchcharacterstylepreference_properties_attributes.md +6 -0
  481. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/32_matchparagraphstylepreference_properties_attributes.md +6 -0
  482. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/33_captionmetadatavariablepreference_properties_attributes.md +3 -0
  483. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/34_metadata_provider_names.md +63 -0
  484. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/35_layer_properties_attributes.md +10 -0
  485. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/36_layer_properties_elements.md +3 -0
  486. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/37_section_properties_attributes.md +15 -0
  487. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/38_documentuser_properties_attributes.md +3 -0
  488. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/39_documentuser_properties_elements.md +3 -0
  489. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/40_crossreferenceformat_properties_attributes.md +4 -0
  490. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/41_buildingblock_properties_attributes.md +10 -0
  491. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/42_topic_properties_attributes.md +4 -0
  492. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/43_crossreference_properties_attributes.md +5 -0
  493. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/44_hyperlink_properties_attributes.md +10 -0
  494. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/45_hyperlinkpagedestination_properties_attributes.md +9 -0
  495. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/46_hyperlinkpagedestination_properties_elements.md +3 -0
  496. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/47_hyperlinkurldestination_properties_attributes.md +6 -0
  497. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/48_hyperlinkexternalpagedestination_properties_attributes.md +8 -0
  498. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/49_hyperlinkexternalpagedestination_properties_elements.md +3 -0
  499. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/50_hyperlinkpageitemsource_properties_attributes.md +8 -0
  500. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/51_bookmark_properties_attributes.md +4 -0
  501. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/52_preflightprofile_properties_attributes.md +3 -0
  502. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/53_preflightprofilerule_properties_attributes.md +5 -0
  503. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/54_ruledataobject_properties_attributes.md +4 -0
  504. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/55_ruledataobject_properties_elements.md +3 -0
  505. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/56_preflightruleinstance_properties_attributes.md +5 -0
  506. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/57_datamergeplaceholder_properties_attributes.md +4 -0
  507. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/58_hyphenationexception_properties_attributes.md +4 -0
  508. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/59_indexingsortoption_properties_attributes.md +5 -0
  509. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/60_abullet_properties_attributes.md +4 -0
  510. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/61_abullet_properties_elements.md +4 -0
  511. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/62_assignment_properties_attributes.md +9 -0
  512. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/62_assignment_properties_elements.md +3 -0
  513. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/63_article_properties_attributes.md +3 -0
  514. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/64_article_properties_elements.md +2 -0
  515. data/reference-docs/spec/10_idml_file_reference/10_2_designmap_xml/tables/65_articlemember_properties_attributes.md +3 -0
  516. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/16_example_minimal_spread.md +4 -0
  517. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/17_example_untransformed_rectangle.md +14 -0
  518. 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
  519. 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
  520. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/20_example_animation_setting.md +33 -0
  521. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/21_example_timing_setting.md +10 -0
  522. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/22_example_rectangle.md +14 -0
  523. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/23_example_nested_page_item.md +28 -0
  524. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/24_example_rotated_page_item.md +14 -0
  525. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/25_example_page_item_imported_graphic.md +28 -0
  526. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/26_example_movie.md +1 -0
  527. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/27_example_navigation_point.md +1 -0
  528. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/28_example_sound.md +1 -0
  529. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/29_example_text_frame.md +29 -0
  530. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/30_example_threaded_linked_textframes.md +1 -0
  531. 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
  532. 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
  533. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/33_example_multi_column_text_frame.md +24 -0
  534. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/34_example_baseline_frame_grid.md +5 -0
  535. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/35_example_transparency.md +5 -0
  536. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/36_example_group.md +1 -0
  537. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/37_example_button.md +43 -0
  538. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/38_example_multi_state_object.md +26 -0
  539. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/39_example_associating_frame_xml_element.md +5 -0
  540. 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
  541. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/41_example_pages_within_spread.md +19 -0
  542. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/42_example_margin_preferences.md +1 -0
  543. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/43_example_guide.md +5 -0
  544. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/examples/44_example_flattener_preference.md +7 -0
  545. 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
  546. 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
  547. 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
  548. 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
  549. 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
  550. 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
  551. 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
  552. 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
  553. 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
  554. 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
  555. 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
  556. 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
  557. 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
  558. 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
  559. 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
  560. 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
  561. 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
  562. 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
  563. 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
  564. 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
  565. 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
  566. 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
  567. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/index.md +1421 -0
  568. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/53_spread.rnc +30 -0
  569. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/54_master_spread.rnc +24 -0
  570. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/55_page_item.rnc +104 -0
  571. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/56_animation_setting.rnc +22 -0
  572. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/57_timing_setting.rnc +1 -0
  573. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/58_timing_list.rnc +2 -0
  574. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/60_timing_group.rnc +4 -0
  575. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/61_timing_target.rnc +7 -0
  576. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/62_graphic.rnc +41 -0
  577. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/63_pdf_attribute.rnc +3 -0
  578. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/64_navigation_point.rnc +4 -0
  579. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/65_text_frame.rnc +43 -0
  580. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/66_text_frame_preference.rnc +30 -0
  581. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/67_baseline_frame_grid.rnc +5 -0
  582. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/68_transparency_setting.rnc +1 -0
  583. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/69_blending_setting.rnc +3 -0
  584. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/70_button.rnc +96 -0
  585. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/71_state.rnc +20 -0
  586. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/72_behavior.rnc +5 -0
  587. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/73_multi_state_object.rnc +72 -0
  588. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/74_page.rnc +34 -0
  589. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/75_margin_preference.rnc +7 -0
  590. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/76_guide.rnc +12 -0
  591. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/schemas/77_flattener_preference.rnc +9 -0
  592. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/066_spread_masterspread_properties_as_attributes.md +15 -0
  593. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/067_masterspread_properties_as_elements.md +3 -0
  594. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/068_common_pageitem_properties_as_attributes.md +46 -0
  595. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/069_common_pageitem_properties_as_elements.md +3 -0
  596. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/070_animationsetting_properties_as_attributes.md +11 -0
  597. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/071_animationsetting_properties_as_elements.md +9 -0
  598. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/072_timinglist_properties_as_attributes.md +3 -0
  599. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/073_timinggroup_properties_as_attributes.md +4 -0
  600. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/074_timingtarget_properties_as_attributes.md +8 -0
  601. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/075_graphic_properties_as_attributes.md +3 -0
  602. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/076_graphic_properties_as_elements.md +6 -0
  603. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/077_image_properties_as_attributes.md +6 -0
  604. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/078_image_properties_as_elements.md +3 -0
  605. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/079_pdf_eps_properties_as_attributes.md +7 -0
  606. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/080_pdfattribute_properties_as_attributes.md +5 -0
  607. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/081_importedpage_properties_as_attributes.md +4 -0
  608. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/082_movie_properties_as_attributes.md +19 -0
  609. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/083_sound_properties_as_attributes.md +8 -0
  610. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/084_textframe_properties_as_attributes.md +5 -0
  611. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/085_textframe_preference_properties_as_attributes.md +22 -0
  612. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/086_textframe_preference_properties_as_elements.md +3 -0
  613. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/087_baselineframegrid_properties_expressed_as_attributes.md +6 -0
  614. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/088_baselineframegrid_properties_as_elements.md +3 -0
  615. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/089_button_properties_expressed_as_attributes.md +5 -0
  616. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/090_button_properties_expressed_as_properties.md +3 -0
  617. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/091_state_properties_as_attributes.md +6 -0
  618. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/092_common_behavior_properties_as_attributes.md +9 -0
  619. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/093_gotonextstatebehavior_properties_as_attributes.md +4 -0
  620. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/094_gotopreviousstatebehavior_properties_as_elements.md +3 -0
  621. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/095_gotostatebehavior_properties_as_attributes.md +4 -0
  622. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/096_gotostatebehavior_properties_as_attributes_2.md +4 -0
  623. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/097_animationbehavior_properties_as_attributes.md +8 -0
  624. 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
  625. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/098_multistateobject_properties_as_attributes.md +5 -0
  626. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/099_multistateobject_properties_as_elements.md +3 -0
  627. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/100_page_properties_as_attributes.md +17 -0
  628. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/101_page_properties_as_elements.md +3 -0
  629. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/102_guide_properties_as_attributes.md +11 -0
  630. data/reference-docs/spec/10_idml_file_reference/10_3_spreads_and_master_spreads/tables/103_guide_properties_as_elements.md +3 -0
  631. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/45_example_story_file_in_idml_package.md +10 -0
  632. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/46_example_local_formatting_vs_styles.md +11 -0
  633. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/47_example_paragraph_style_range_character_style_range.md +14 -0
  634. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/48_example_paragraph_breaks_in_character_style_range.md +9 -0
  635. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/49_example_paragraph_style_range_elements_column_breaks.md +15 -0
  636. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/50_example_multiple_paragraph_style_range_elements.md +14 -0
  637. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/51_example_multi_column_straddle_paragraphs.md +25 -0
  638. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/52_example_xml_element.md +141 -0
  639. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/53_example_table.md +31 -0
  640. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/54_example_footnote.md +14 -0
  641. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/55_example_note.md +14 -0
  642. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/56_example_anchored_text_frame.md +31 -0
  643. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/57_example_anchored_graphic.md +39 -0
  644. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/58_example_hyperlink_text_source.md +11 -0
  645. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/59_example_hyperlink_text_destination.md +13 -0
  646. data/reference-docs/spec/10_idml_file_reference/10_4_stories/examples/60_example_cross_reference_source.md +11 -0
  647. data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img001.png +0 -0
  648. data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img002.png +0 -0
  649. data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img003.png +0 -0
  650. data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img004.png +0 -0
  651. data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img005.png +0 -0
  652. data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img006.png +0 -0
  653. data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img007.png +0 -0
  654. data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img008.png +0 -0
  655. data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img009.png +0 -0
  656. data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img010.png +0 -0
  657. data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img011.png +0 -0
  658. data/reference-docs/spec/10_idml_file_reference/10_4_stories/images/10_4_stories_img012.png +0 -0
  659. data/reference-docs/spec/10_idml_file_reference/10_4_stories/index.md +1299 -0
  660. data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/78_story.rnc +92 -0
  661. data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/79_paragraph_style_range.rnc +381 -0
  662. data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/80_character_style_range.rnc +431 -0
  663. data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/81_table.rnc +53 -0
  664. data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/82_cell.rnc +66 -0
  665. data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/83_column.rnc +28 -0
  666. data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/84_row.rnc +33 -0
  667. data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/85_footnote.rnc +7 -0
  668. data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/86_note.rnc +13 -0
  669. data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/87_anchored_object_settings.rnc +12 -0
  670. data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/88_hyperlink_text_source.rnc +20 -0
  671. data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/89_hyperlink_text_destination.rnc +5 -0
  672. data/reference-docs/spec/10_idml_file_reference/10_4_stories/schemas/90_cross_reference_source.rnc +16 -0
  673. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/104_common_text_properties_attributes.md +230 -0
  674. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/105_common_text_properties_elements.md +41 -0
  675. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/106_story_properties_attributes.md +6 -0
  676. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/107_story_properties_elements.md +6 -0
  677. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/108_character_style_range_elements.md +3 -0
  678. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/109_table_properties_attributes.md +133 -0
  679. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/110_cell_properties_attributes.md +83 -0
  680. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/111_cell_properties_elements.md +3 -0
  681. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/112_column_properties_attributes.md +29 -0
  682. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/113_row_properties_attributes.md +34 -0
  683. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/114_anchored_object_setting_properties_attributes.md +14 -0
  684. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/115_hyperlink_text_source_properties_attributes.md +5 -0
  685. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/116_hyperlink_text_destination_properties_attributes.md +5 -0
  686. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/117_cross_reference_source_properties_attributes.md +6 -0
  687. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/118_applied_format_tags.md +11 -0
  688. data/reference-docs/spec/10_idml_file_reference/10_4_stories/tables/119_metacharacters.md +15 -0
  689. data/reference-docs/spec/10_idml_file_reference/10_5_fonts/examples/61_example_font.md +3 -0
  690. data/reference-docs/spec/10_idml_file_reference/10_5_fonts/examples/62_example_referring_to_font.md +6 -0
  691. data/reference-docs/spec/10_idml_file_reference/10_5_fonts/index.md +86 -0
  692. data/reference-docs/spec/10_idml_file_reference/10_5_fonts/schemas/091_font_family.rnc +1 -0
  693. data/reference-docs/spec/10_idml_file_reference/10_5_fonts/schemas/092_font.rnc +1 -0
  694. data/reference-docs/spec/10_idml_file_reference/10_5_fonts/schemas/093_composite_font.rnc +1 -0
  695. data/reference-docs/spec/10_idml_file_reference/10_5_fonts/schemas/094_composite_font_entry.rnc +2 -0
  696. data/reference-docs/spec/10_idml_file_reference/10_5_fonts/tables/120_font_properties_represented_as_attributes.md +14 -0
  697. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/63_example_none_swatch.md +1 -0
  698. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/64_example_process_color.md +1 -0
  699. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/65_example_spot_color.md +1 -0
  700. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/66_example_lab_color.md +1 -0
  701. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/67_example_gradient.md +4 -0
  702. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/68_example_tint.md +1 -0
  703. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/69_example_mixed_ink.md +1 -0
  704. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/70_example_mixed_ink_group.md +1 -0
  705. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/71_example_process_magenta_ink.md +1 -0
  706. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/72_example_pantone_274_c_spot_ink.md +1 -0
  707. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/73_example_default_stroke_styles.md +18 -0
  708. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/74_example_dashed_stroke_style.md +1 -0
  709. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/75_example_dotted_stroke_style.md +1 -0
  710. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/examples/76_example_striped_stroke_style.md +1 -0
  711. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img001.png +0 -0
  712. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img002.png +0 -0
  713. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img003.png +0 -0
  714. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img004.png +0 -0
  715. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img005.png +0 -0
  716. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img006.png +0 -0
  717. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img007.png +0 -0
  718. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img008.png +0 -0
  719. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img009.png +0 -0
  720. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img010.png +0 -0
  721. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img011.png +0 -0
  722. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/images/10_6_graphics_img012.png +0 -0
  723. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/index.md +406 -0
  724. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/095_swatch.rnc +1 -0
  725. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/096_color.rnc +1 -0
  726. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/097_gradient.rnc +1 -0
  727. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/098_gradient_stop.rnc +1 -0
  728. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/099_tint.rnc +1 -0
  729. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/100_mixed_ink.rnc +1 -0
  730. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/101_mixed_ink_group.rnc +1 -0
  731. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/102_ink.rnc +1 -0
  732. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/103_stroke_style.rnc +1 -0
  733. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/104_dashed_stroke_style.rnc +1 -0
  734. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/105_dotted_stroke_style.rnc +1 -0
  735. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/schemas/106_striped_stroke_style.rnc +1 -0
  736. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/121_swatch_properties.md +7 -0
  737. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/122_color_properties.md +10 -0
  738. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/123_gradient_properties.md +3 -0
  739. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/124_gradient_stop_properties.md +5 -0
  740. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/125_tint_properties.md +6 -0
  741. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/126_mixed_ink_properties.md +10 -0
  742. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/127_mixed_ink_group_properties.md +7 -0
  743. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/128_ink_properties.md +11 -0
  744. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/129_stroke_style_properties.md +3 -0
  745. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/130_dashed_stroke_style_properties.md +6 -0
  746. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/131_dotted_stroke_style_properties.md +5 -0
  747. data/reference-docs/spec/10_idml_file_reference/10_6_graphics/tables/132_striped_stroke_style_properties.md +4 -0
  748. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/77_epub_export_preference.md +1 -0
  749. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/78_html_export_preference.md +1 -0
  750. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/79_transparency_preference.md +1 -0
  751. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/80_story_preference.md +1 -0
  752. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/81_anchored_object_default.md +1 -0
  753. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/82_anchored_object_setting.md +1 -0
  754. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/83_baseline_frame_grid_option.md +5 -0
  755. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/84_footnote_options.md +1 -0
  756. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/85_text_wrap_preference.md +1 -0
  757. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/86_document_preference.md +1 -0
  758. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/87_grid_preference.md +2 -0
  759. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/examples/88_guide_preference.md +5 -0
  760. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/index.md +1153 -0
  761. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/107_Preferences_File.rnc +2 -0
  762. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/108_DataMerge.rnc +1 -0
  763. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/109_DataMergeField.rnc +1 -0
  764. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/110_DataMergeOption.rnc +1 -0
  765. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/111_LayoutAdjustmentPreference.rnc +1 -0
  766. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/112_EPubExportPreference.rnc +1 -0
  767. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/113_HTMLExportPreference.rnc +1 -0
  768. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/114_XMLImportPreference.rnc +1 -0
  769. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/115_XMLExport_Preference.rnc +1 -0
  770. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/116_XMLPreference.rnc +1 -0
  771. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/117_Export_For_Web_Preference.rnc +1 -0
  772. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/118_Transparency_Preference.rnc +1 -0
  773. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/119_Transparency_Default_Container_Object.rnc +1 -0
  774. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/120_StoryPreference.rnc +8 -0
  775. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/121_Text_Preference.rnc +1 -0
  776. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/122_Text_Default.rnc +1 -0
  777. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/123_DictionaryPreference.rnc +1 -0
  778. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/124_AnchoredObjectDefault.rnc +1 -0
  779. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/125_AnchoredObjectSetting.rnc +1 -0
  780. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/126_BaselineFrameGridOption.rnc +1 -0
  781. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/127_FootnoteOption.rnc +1 -0
  782. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/128_TextWrapPreference.rnc +3 -0
  783. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/129_Contour_Option.rnc +1 -0
  784. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/130_Document_Preference.rnc +1 -0
  785. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/131_Grid_Preference.rnc +1 -0
  786. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/132_GuidePreference.rnc +1 -0
  787. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/133_MarginPreference.rnc +1 -0
  788. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/134_Pasteboard_Preference.rnc +1 -0
  789. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/135_View_Preference.rnc +1 -0
  790. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/136_Print_Preference.rnc +1 -0
  791. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/137_Print_Booklet_Option.rnc +1 -0
  792. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/138_Print_Booklet_Print_Preference.rnc +1 -0
  793. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/139_Index_Options.rnc +1 -0
  794. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/140_Index_Header_Setting.rnc +1 -0
  795. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/141_Page_Item_Default.rnc +1 -0
  796. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/142_Frame_Fitting_Option.rnc +1 -0
  797. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/143_Button_Preference.rnc +1 -0
  798. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/144_Tin_Document_Data_Object.rnc +1 -0
  799. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/145_Layout_Grid_Data_Information.rnc +1 -0
  800. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/146_Story_Grid_Data_Information.rnc +1 -0
  801. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/147_Cjk_Grid_Preference.rnc +1 -0
  802. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/148_Mojikumi_Ui_Preference.rnc +1 -0
  803. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/schemas/149_Chapter_Number_Preference.rnc +1 -0
  804. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/133_DataMerge_Properties_Represented_as_Attributes.md +4 -0
  805. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/134_DataMergeField_Properties_Represented_as_Attributes.md +3 -0
  806. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/135_DataMergeOption_Properties_Represented_as_Attributes.md +8 -0
  807. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/136_LayoutAdjustmentPreference_Properties_Represented_as_Attributes.md +8 -0
  808. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/137_EPubExportPreference_Properties_Represented_as_Attributes.md +44 -0
  809. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/138_HTMLExportPreference_Properties_Represented_as_Attributes.md +39 -0
  810. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/139_XMLImportPreference_Properties_Represented_as_Attributes.md +12 -0
  811. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/140_XMLImportPreference_Properties_Represented_as_Elements.md +4 -0
  812. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/141_XMLExportPreference_Properties_Represented_as_Attributes.md +21 -0
  813. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/142_XMLExport_Preference_Properties_Represented_as_Elements.md +4 -0
  814. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/143_XMLPreference_Properties_Represented_as_Attributes.md +9 -0
  815. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/144_XMLPreference_Properties_Represented_as_Elements.md +6 -0
  816. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/145_ExportForWebPreference_Properties_Represented_as_Attributes.md +10 -0
  817. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/146_TransparencyPreference_Properties_Represented_as_Attributes.md +5 -0
  818. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/147_StoryPreference_Properties_Represented_as_Attributes.md +7 -0
  819. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/148_TextPreference_Properties_Represented_as_Attributes.md +33 -0
  820. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/149_AnchoredObjectDefault_Properties_Represented_as_Attributes.md +7 -0
  821. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/150_AnchoredObjectSetting_Properties_Represented_as_Attributes.md +14 -0
  822. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/151_BaselineFrameGridOption_Properties_Represented_as_Attributes.md +6 -0
  823. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/152_BaselineFrameGridOption_Properties_Represented_as_Elements.md +3 -0
  824. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/153_FootnoteOption_Properties_Represented_as_Attributes.md +33 -0
  825. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/154_FootnoteOption_Properties_Represented_as_Elements.md +12 -0
  826. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/155_Contour_Option_Properties_Represented_as_Attributes.md +5 -0
  827. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/156_DocumentPreference_Properties_Represented_as_Attributes.md +26 -0
  828. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/157_DocumentPreference_Properties_Represented_as_Elements.md +4 -0
  829. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/158_Grid_Preference_Properties_Represented_as_Attributes.md +14 -0
  830. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/159_GridPreference_Properties_Represented_as_Elements.md +4 -0
  831. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/160_GuidePreference_Properties_Represented_as_Attributes.md +7 -0
  832. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/161_GuidePreference_Properties_Represented_as_Elements.md +3 -0
  833. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/162_PasteboardPreference_Properties_Represented_as_Attributes.md +3 -0
  834. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/163_PasteboardPreference_Properties_Represented_as_Elements.md +5 -0
  835. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/164_ViewPreference_Properties_Represented_as_Attributes.md +20 -0
  836. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/165_Print_Preference_Properties_Represented_as_Attributes.md +104 -0
  837. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/166_Print_Preference_Properties_Represented_as_Elements.md +15 -0
  838. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/167_Cjk_Grid_Preference_Properties_Represented_as_Attributes.md +11 -0
  839. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/168_Cjk_Grid_Preference_Properties_Represented_as_Elements.md +3 -0
  840. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/169_Mojikumi_Ui_Preference_Properties_Represented_as_Attributes.md +3 -0
  841. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/170_Chapter_Number_Preference_Properties_Represented_as_Attributes.md +4 -0
  842. data/reference-docs/spec/10_idml_file_reference/10_7_preferences/tables/171_Chapter_Number_Preference_Properties_Represented_as_Elements.md +3 -0
  843. data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/001_paragraph_style_self_attribute.md +3 -0
  844. data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/002_paragraph_style_group_nested.md +3 -0
  845. data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/089_paragraph_style_group.md +14 -0
  846. data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/090_based_on_no_paragraph_style.md +3 -0
  847. data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/091_based_on_another_style.md +4 -0
  848. data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/092_nested_style.md +3 -0
  849. data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/093_character_style_group.md +4 -0
  850. data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/094_object_style.md +3 -0
  851. data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/095_toc_style.md +10 -0
  852. data/reference-docs/spec/10_idml_file_reference/10_8_styles/examples/096_trap_preset.md +3 -0
  853. data/reference-docs/spec/10_idml_file_reference/10_8_styles/images/10_8_styles_img001.png +0 -0
  854. data/reference-docs/spec/10_idml_file_reference/10_8_styles/images/10_8_styles_img002.png +0 -0
  855. data/reference-docs/spec/10_idml_file_reference/10_8_styles/images/10_8_styles_img003.png +0 -0
  856. data/reference-docs/spec/10_idml_file_reference/10_8_styles/images/10_8_styles_img004.png +0 -0
  857. data/reference-docs/spec/10_idml_file_reference/10_8_styles/images/10_8_styles_img005.png +0 -0
  858. data/reference-docs/spec/10_idml_file_reference/10_8_styles/images/10_8_styles_img006.png +0 -0
  859. data/reference-docs/spec/10_idml_file_reference/10_8_styles/index.md +1154 -0
  860. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/150_paragraphstylegroup.rnc +9 -0
  861. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/151_paragraphstyle.rnc +510 -0
  862. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/152_nestedstyle.rnc +19 -0
  863. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/153_characterstylegroup.rnc +7 -0
  864. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/154_characterstyle.rnc +255 -0
  865. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/155_styleexporttagmap.rnc +7 -0
  866. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/156_tablestylegroup.rnc +9 -0
  867. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/157_tablestyle.rnc +118 -0
  868. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/158_cellstylegroup.rnc +7 -0
  869. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/159_cellstyle.rnc +135 -0
  870. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/160_objectstylegroup.rnc +9 -0
  871. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/161_objectstyle.rnc +79 -0
  872. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/162_objectstyleobjecteffectscategorysettings.rnc +12 -0
  873. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/163_objectstyle_effects_category_settings.rnc +12 -0
  874. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/164_objectstyle_effects_category_settings.rnc +12 -0
  875. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/165_objectstyle_effects_category_settings.rnc +12 -0
  876. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/166_tocstyle_tocstyleentry.rnc +16 -0
  877. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/167_tocstyle_tocstyleentry.rnc +22 -0
  878. data/reference-docs/spec/10_idml_file_reference/10_8_styles/schemas/168_trappreset.rnc +21 -0
  879. data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/172_paragraph_style_properties_represented_as_attributes.md +5 -0
  880. data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/173_paragraph_style_properties_represented_as_elements.md +3 -0
  881. data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/174_nestedstyle_properties_represented_as_elements.md +6 -0
  882. data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/175_characterstyle_properties_represented_as_attributes.md +7 -0
  883. data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/176_characterstyle_properties_represented_as_elements.md +3 -0
  884. data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/177_styleexporttagmap_properties_represented_as_attributes.md +6 -0
  885. data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/178_tablestyle_properties_represented_as_attributes.md +109 -0
  886. data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/179_tablestyle_properties_represented_as_elements.md +3 -0
  887. data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/180_cellstyle_properties_represented_as_elements.md +3 -0
  888. data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/181_tocstyle_properties_represented_as_attributes.md +11 -0
  889. data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/182_tocstyle_entry_properties_represented_as_attributes.md +8 -0
  890. data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/183_tocstyleentry_properties_represented_as_elements.md +7 -0
  891. data/reference-docs/spec/10_idml_file_reference/10_8_styles/tables/184_trappreset_properties_represented_as_attributes.md +17 -0
  892. data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/examples/97_example_backingstory.md +1 -0
  893. data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/index.md +101 -0
  894. data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/schemas/169_BackingStory.rnc +4 -0
  895. data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/schemas/170_XMLElement.rnc +37 -0
  896. data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/schemas/171_XMLAttribute.rnc +5 -0
  897. data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/schemas/172_XMLInstruction.rnc +5 -0
  898. data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/schemas/173_XMLComment.rnc +4 -0
  899. data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/schemas/174_DTD.rnc +13 -0
  900. data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/tables/185_XMLElement_Properties_Represented_as_Attributes.md +7 -0
  901. data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/tables/186_XMLAttribute_Properties_Represented_as_Attributes.md +6 -0
  902. data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/tables/187_XMLInstruction_Properties_Represented_as_Attributes.md +7 -0
  903. data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/tables/188_XMLComment_Properties_Represented_as_Attributes.md +6 -0
  904. data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/tables/189_DTD_Properties_Represented_as_Attributes.md +5 -0
  905. data/reference-docs/spec/10_idml_file_reference/10_9_xml_elements/tables/190_DTD_Properties_Represented_as_Elements.md +5 -0
  906. data/reference-docs/spec/appendix/00_index.md +7 -0
  907. data/reference-docs/spec/appendix/a_appendix.md +467 -0
  908. data/reference-docs/spec/appendix/b_appendix.md +81 -0
  909. data/reference-docs/spec/appendix/c_appendix.md +3192 -0
  910. data/reference-docs/spec/appendix/d_appendix.md +7 -0
  911. data/reference-docs/spec/appendix/e_appendix.md +224 -0
  912. data/scripts/assemble_element.rb +90 -0
  913. data/scripts/assemble_part.rb +57 -0
  914. data/scripts/build_elements_autoloads.rb +46 -0
  915. data/scripts/generate_all_objects.rb +38 -0
  916. data/scripts/rnc_to_lutaml.rb +114 -0
  917. 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