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,167 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Idml
4
+ # Typed models for IDML elements that appear inside parts. Every
5
+ # element class is generated from its `_Object` definition in the
6
+ # RNC schemas at `reference-docs/schemas/package/` via
7
+ # `scripts/rnc_to_lutaml.rb` + `scripts/assemble_element.rb`
8
+ # (or `scripts/generate_all_objects.rb` for bulk generation).
9
+ module Elements
10
+ autoload :AnchoredObjectDefault,
11
+ "idml/elements/pref_anchored_object_default"
12
+ autoload :AnchoredObjectSetting, "idml/elements/anchored_object_setting"
13
+ autoload :BaselineFrameGridOption,
14
+ "idml/elements/baseline_frame_grid_option"
15
+ autoload :BevelAndEmbossSetting, "idml/elements/bevel_and_emboss_setting"
16
+ autoload :BlendingSetting, "idml/elements/blending_setting"
17
+ autoload :ButtonPreference, "idml/elements/pref_button_preference"
18
+ autoload :CellStyle, "idml/elements/cell_style"
19
+ autoload :CellStyleGroup, "idml/elements/cell_style_group"
20
+ autoload :ChapterNumberPreference,
21
+ "idml/elements/pref_chapter_number_preference"
22
+ autoload :CharacterStyle, "idml/elements/character_style"
23
+ autoload :CharacterStyleGroup, "idml/elements/character_style_group"
24
+ autoload :CharacterStyleRange, "idml/elements/character_style_range"
25
+ autoload :CjkGridPreference, "idml/elements/pref_cjk_grid_preference"
26
+ autoload :Color, "idml/elements/color"
27
+ autoload :Content, "idml/elements/content"
28
+ autoload :ContentTransparencySetting,
29
+ "idml/elements/content_transparency_setting"
30
+ autoload :ContourOption, "idml/elements/contour_option"
31
+ autoload :DashedStrokeStyle, "idml/elements/dashed_stroke_style"
32
+ autoload :DataMerge, "idml/elements/pref_data_merge"
33
+ autoload :DataMergeField, "idml/elements/pref_data_merge_field"
34
+ autoload :DataMergeOption, "idml/elements/pref_data_merge_option"
35
+ autoload :DictionaryPreference, "idml/elements/pref_dictionary_preference"
36
+ autoload :DirectionalFeatherSetting,
37
+ "idml/elements/directional_feather_setting"
38
+ autoload :DocumentObject, "idml/elements/document_object"
39
+ autoload :DocumentPreference, "idml/elements/pref_document_preference"
40
+ autoload :DottedStrokeStyle, "idml/elements/dotted_stroke_style"
41
+ autoload :DropShadowSetting, "idml/elements/drop_shadow_setting"
42
+ autoload :EPubExportPreference, "idml/elements/pref_e_pub_export_preference"
43
+ autoload :EPubFixedLayoutExportPreference,
44
+ "idml/elements/pref_e_pub_fixed_layout_export_preference"
45
+ autoload :ExportForWebPreference,
46
+ "idml/elements/pref_export_for_web_preference"
47
+ autoload :FeatherSetting, "idml/elements/feather_setting"
48
+ autoload :FillTransparencySetting, "idml/elements/fill_transparency_setting"
49
+ autoload :FlexLayoutAttributeOption,
50
+ "idml/elements/flex_layout_attribute_option"
51
+ autoload :Font, "idml/elements/font"
52
+ autoload :FontFamily, "idml/elements/font_family"
53
+ autoload :FootnoteOption, "idml/elements/pref_footnote_option"
54
+ autoload :FrameFittingOption, "idml/elements/frame_fitting_option"
55
+ autoload :GraphicLine, "idml/elements/graphic_line"
56
+ autoload :Gradient, "idml/elements/gradient"
57
+ autoload :GradientFeatherSetting, "idml/elements/gradient_feather_setting"
58
+ autoload :GradientStop, "idml/elements/gradient_stop"
59
+ autoload :GridPreference, "idml/elements/pref_grid_preference"
60
+ autoload :Group, "idml/elements/group"
61
+ autoload :GuidePreference, "idml/elements/pref_guide_preference"
62
+ autoload :HTMLExportPreference, "idml/elements/pref_html_export_preference"
63
+ autoload :Image, "idml/elements/image"
64
+ autoload :IndexHeaderSetting, "idml/elements/pref_index_header_setting"
65
+ autoload :IndexOptions, "idml/elements/pref_index_options"
66
+ autoload :Ink, "idml/elements/ink"
67
+ autoload :InnerGlowSetting, "idml/elements/inner_glow_setting"
68
+ autoload :InnerShadowSetting, "idml/elements/inner_shadow_setting"
69
+ autoload :LayoutAdjustmentPreference,
70
+ "idml/elements/pref_layout_adjustment_preference"
71
+ autoload :LayoutGridDataInformation,
72
+ "idml/elements/pref_layout_grid_data_information"
73
+ autoload :Layer, "idml/elements/layer"
74
+ autoload :Link, "idml/elements/link"
75
+ autoload :MarginPreference, "idml/elements/pref_margin_preference"
76
+ autoload :MasterSpreadObject, "idml/elements/master_spread_object"
77
+ autoload :MixedInk, "idml/elements/mixed_ink"
78
+ autoload :MixedInkGroup, "idml/elements/mixed_ink_group"
79
+ autoload :MojikumiUiPreference, "idml/elements/pref_mojikumi_ui_preference"
80
+ autoload :ObjectExportOption, "idml/elements/object_export_option"
81
+ autoload :ObjectStyle, "idml/elements/object_style"
82
+ autoload :ObjectStyleContentEffectsCategorySettings,
83
+ "idml/elements/object_style_content_effects_category_settings"
84
+ autoload :ObjectStyleExportTagMap,
85
+ "idml/elements/object_style_export_tag_map"
86
+ autoload :ObjectStyleFillEffectsCategorySettings,
87
+ "idml/elements/object_style_fill_effects_category_settings"
88
+ autoload :ObjectStyleGroup, "idml/elements/object_style_group"
89
+ autoload :ObjectStyleObjectEffectsCategorySettings,
90
+ "idml/elements/object_style_object_effects_category_settings"
91
+ autoload :ObjectStyleStrokeEffectsCategorySettings,
92
+ "idml/elements/object_style_stroke_effects_category_settings"
93
+ autoload :OpacityGradientStop, "idml/elements/opacity_gradient_stop"
94
+ autoload :OuterGlowSetting, "idml/elements/outer_glow_setting"
95
+ autoload :PageItemDefault, "idml/elements/pref_page_item_default"
96
+ autoload :Page, "idml/elements/page"
97
+ autoload :ParagraphStyle, "idml/elements/paragraph_style"
98
+ autoload :ParagraphStyleGroup, "idml/elements/paragraph_style_group"
99
+ autoload :ParagraphStyleRange, "idml/elements/paragraph_style_range"
100
+ autoload :PasteboardPreference, "idml/elements/pref_pasteboard_preference"
101
+ autoload :PastedSmoothShade, "idml/elements/pasted_smooth_shade"
102
+ autoload :PathGeometry, "idml/elements/path_geometry"
103
+ autoload :PathPointArray, "idml/elements/path_point_array"
104
+ autoload :PathPointType, "idml/elements/path_point_type"
105
+ autoload :Polygon, "idml/elements/polygon"
106
+ autoload :PrintBookletOption, "idml/elements/pref_print_booklet_option"
107
+ autoload :PrintBookletPrintPreference,
108
+ "idml/elements/pref_print_booklet_print_preference"
109
+ autoload :PrintPreference, "idml/elements/pref_print_preference"
110
+ autoload :Properties, "idml/elements/properties"
111
+ autoload :GeometryPathType, "idml/elements/geometry_path_type"
112
+ autoload :Rectangle, "idml/elements/rectangle"
113
+ autoload :RootCellStyleGroup, "idml/elements/root_cell_style_group"
114
+ autoload :RootCharacterStyleGroup,
115
+ "idml/elements/root_character_style_group"
116
+ autoload :RootObjectStyleGroup, "idml/elements/root_object_style_group"
117
+ autoload :RootParagraphStyleGroup,
118
+ "idml/elements/root_paragraph_style_group"
119
+ autoload :RootTableStyleGroup, "idml/elements/root_table_style_group"
120
+ autoload :SatinSetting, "idml/elements/satin_setting"
121
+ autoload :SpreadObject, "idml/elements/spread_object"
122
+ autoload :StoryGridDataInformation,
123
+ "idml/elements/pref_story_grid_data_information"
124
+ autoload :StoryInner, "idml/elements/story_inner"
125
+ autoload :StoryPreference, "idml/elements/story_preference"
126
+ autoload :StripedStrokeStyle, "idml/elements/striped_stroke_style"
127
+ autoload :StrokeStyle, "idml/elements/stroke_style"
128
+ autoload :StrokeTransparencySetting,
129
+ "idml/elements/stroke_transparency_setting"
130
+ autoload :StyleExportTagMap, "idml/elements/style_export_tag_map"
131
+ autoload :Swatch, "idml/elements/swatch"
132
+ autoload :TOCStyle, "idml/elements/toc_style"
133
+ autoload :TOCStyleEntry, "idml/elements/toc_style_entry"
134
+ autoload :Table, "idml/elements/table"
135
+ autoload :TableCell, "idml/elements/table_cell"
136
+ autoload :TableRow, "idml/elements/table_row"
137
+ autoload :TableStyle, "idml/elements/table_style"
138
+ autoload :TableStyleGroup, "idml/elements/table_style_group"
139
+ autoload :TextDefault, "idml/elements/pref_text_default"
140
+ autoload :TextFrame, "idml/elements/text_frame"
141
+ autoload :TextFrameFootnoteOptionsObject,
142
+ "idml/elements/text_frame_footnote_options_object"
143
+ autoload :TextFramePreference, "idml/elements/text_frame_preference"
144
+ autoload :TextPreference, "idml/elements/pref_text_preference"
145
+ autoload :TextWrapPreference, "idml/elements/text_wrap_preference"
146
+ autoload :TinDocumentDataObject,
147
+ "idml/elements/pref_tin_document_data_object"
148
+ autoload :Tint, "idml/elements/tint"
149
+ autoload :TransformAttributeOption,
150
+ "idml/elements/transform_attribute_option"
151
+ autoload :TransparencyDefaultContainerObject,
152
+ "idml/elements/pref_transparency_default_container_object"
153
+ autoload :TransparencyPreference,
154
+ "idml/elements/pref_transparency_preference"
155
+ autoload :TransparencySetting, "idml/elements/transparency_setting"
156
+ autoload :TrapPreset, "idml/elements/trap_preset"
157
+ autoload :ViewPreference, "idml/elements/pref_view_preference"
158
+ autoload :XMLExportPreference, "idml/elements/pref_xml_export_preference"
159
+ autoload :XMLImportPreference, "idml/elements/pref_xml_import_preference"
160
+ autoload :XMLPreference, "idml/elements/pref_xml_preference"
161
+ autoload :XmlElement, "idml/elements/xml_element"
162
+ autoload :XmlExportMap, "idml/elements/xml_export_map"
163
+ autoload :XmlImportMap, "idml/elements/xml_import_map"
164
+ autoload :XmlStory, "idml/elements/xml_story"
165
+ autoload :XmlTag, "idml/elements/xml_tag"
166
+ end
167
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Idml
4
+ module Errors
5
+ class Error < StandardError; end
6
+ class PackageNotFound < Error; end
7
+ class InvalidPackage < Error; end
8
+ class PartNotFound < Error; end
9
+ end
10
+ end
@@ -0,0 +1,110 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Idml
4
+ # Coordinate-transform helpers for composition operations. The IDML
5
+ # coordinate system has its origin at the bottom-left of the spread,
6
+ # y increasing upward; page item coordinates are spread-relative.
7
+ # When composing two packages, source coordinates must be translated
8
+ # into the destination's coordinate space.
9
+ module Geometry
10
+ Point = Struct.new(:x, :y)
11
+
12
+ # 2D affine transform: [a, b, c, d, e, f] representing
13
+ # x' = a*x + c*y + e
14
+ # y' = b*x + d*y + f
15
+ Transform = Struct.new(:a, :b, :c, :d, :e, :f)
16
+
17
+ module_function
18
+
19
+ # Parse an ItemTransform string "a b c d e f" into a Transform.
20
+ def parse_transform(str)
21
+ return nil unless str
22
+
23
+ parts = str.split(/\s+/).map(&:to_f)
24
+ return nil unless parts.length == 6
25
+
26
+ Transform.new(*parts)
27
+ end
28
+
29
+ # Apply a Transform to a point [x, y], returning [x', y'].
30
+ def apply_transform(transform, x, y)
31
+ return [x, y] unless transform
32
+
33
+ [(transform.a * x) + (transform.c * y) + transform.e,
34
+ (transform.b * x) + (transform.d * y) + transform.f]
35
+ end
36
+
37
+ # Combine (multiply) two transforms: result = outer ∘ inner.
38
+ def combine_transforms(outer, inner)
39
+ return inner unless outer
40
+ return outer unless inner
41
+
42
+ Transform.new(
43
+ (outer.a * inner.a) + (outer.c * inner.b),
44
+ (outer.b * inner.a) + (outer.d * inner.b),
45
+ (outer.a * inner.c) + (outer.c * inner.d),
46
+ (outer.b * inner.c) + (outer.d * inner.d),
47
+ (outer.a * inner.e) + (outer.c * inner.f) + outer.e,
48
+ (outer.b * inner.e) + (outer.d * inner.f) + outer.f,
49
+ )
50
+ end
51
+
52
+ # Transform IDML geometric_bounds [y1, x1, y2, x2] by applying
53
+ # an optional ItemTransform. Returns new [y1, x1, y2, x2].
54
+ def transform_bounds(bounds, transform = nil)
55
+ return bounds unless transform && bounds
56
+
57
+ y1, x1, y2, x2 = bounds
58
+ x1p, y1p = apply_transform(transform, x1, y1)
59
+ x2p, y2p = apply_transform(transform, x2, y2)
60
+ xs = [x1p, x2p]
61
+ ys = [y1p, y2p]
62
+ [ys.min, xs.min, ys.max, xs.max]
63
+ end
64
+
65
+ # Convert IDML bounds + ItemTransform string to a PDF rect
66
+ # with Y-axis flip. Single entry point for all renderers.
67
+ def placement_rect(bounds, item_transform_str, page_height)
68
+ transform = parse_transform(item_transform_str)
69
+ transformed = transform_bounds(bounds, transform)
70
+ bounds_to_pdf_rect(transformed, page_height)
71
+ end
72
+
73
+ # Convert IDML bounds [y1, x1, y2, x2] to a PDF rectangle
74
+ # { x:, y:, width:, height: } with Y-axis flipped.
75
+ def bounds_to_pdf_rect(bounds, page_height)
76
+ return nil unless bounds && bounds.length == 4
77
+
78
+ y1, x1, y2, x2 = bounds
79
+ {
80
+ x: x1,
81
+ y: page_height - y2,
82
+ width: (x2 - x1).abs,
83
+ height: (y2 - y1).abs,
84
+ }
85
+ end
86
+
87
+ def translate(point, by: offset(x: 0, y: 0))
88
+ Point.new(point.x + by.x, point.y + by.y)
89
+ end
90
+
91
+ def scale(point, by: offset(x: 1, y: 1))
92
+ Point.new(point.x * by.x, point.y * by.y)
93
+ end
94
+
95
+ # Rotate `point` counterclockwise by `angle_degrees` around `around`.
96
+ def rotate(point, angle_degrees:, around: offset(x: 0, y: 0))
97
+ rad = angle_degrees * Math::PI / 180
98
+ cos = Math.cos(rad)
99
+ sin = Math.sin(rad)
100
+ dx = point.x - around.x
101
+ dy = point.y - around.y
102
+ Point.new(around.x + ((dx * cos) - (dy * sin)),
103
+ around.y + ((dx * sin) + (dy * cos)))
104
+ end
105
+
106
+ def offset(x:, y:)
107
+ Point.new(x, y)
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Idml
4
+ # The IDML packaging namespace, used on every part's root wrapper
5
+ # element (idPkg:Spread, idPkg:Story, idPkg:Fonts, etc.). The actual
6
+ # content elements inside (Spread, Story, FontFamily) are NOT in this
7
+ # namespace — the wrapper just declares the prefix for idPkg-scoped
8
+ # children.
9
+ class PackagingNamespace < Lutaml::Xml::Namespace
10
+ uri "http://ns.adobe.com/AdobeInDesign/idml/1.0/packaging"
11
+ prefix_default "idPkg"
12
+ end
13
+ end
@@ -0,0 +1,213 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Idml
4
+ # Read/write access to an IDML package's ZIP container. A Package
5
+ # holds a path; ZIP and part reads are lazy. Typed part access goes
6
+ # through `#part(name)` which dispatches via `Idml::Parts.class_for`.
7
+ #
8
+ # @example Open a package and read the designmap
9
+ # pkg = Idml::Package.new("path/to/file.idml")
10
+ # dm = pkg.designmap
11
+ # puts dm.dom_version
12
+ #
13
+ # @example Write a new package
14
+ # parts = { "mimetype" => "...", "designmap.xml" => "..." }
15
+ # Idml::Package.write(parts: parts, to: "out.idml")
16
+ class Package
17
+ # The IDML UCF container's mimetype entry name. Per the IDML spec, this
18
+ # entry must appear first in the archive and be stored uncompressed.
19
+ MIMETYPE_ENTRY = "mimetype"
20
+ private_constant :MIMETYPE_ENTRY
21
+
22
+ def initialize(path)
23
+ raise Errors::PackageNotFound, path.to_s unless File.exist?(path)
24
+
25
+ @path = File.expand_path(path)
26
+ end
27
+
28
+ attr_reader :path
29
+
30
+ def designmap
31
+ @designmap ||= part("designmap.xml")
32
+ end
33
+
34
+ def backing_story
35
+ @backing_story ||= part("XML/BackingStory.xml")
36
+ end
37
+
38
+ def spreads
39
+ @spreads ||= part_names.grep(%r{\ASpreads/}).map { |n| part(n) }
40
+ end
41
+
42
+ def master_spreads
43
+ @master_spreads ||= part_names.grep(%r{\AMasterSpreads/}).map do |n|
44
+ part(n)
45
+ end
46
+ end
47
+
48
+ def stories
49
+ @stories ||= part_names.grep(%r{\AStories/}).map { |n| part(n) }
50
+ end
51
+
52
+ def story_by_id(story_id)
53
+ return nil unless story_id
54
+
55
+ name = "Stories/Story_#{story_id}.xml"
56
+ return nil unless has_part?(name)
57
+
58
+ part(name)
59
+ end
60
+
61
+ def master_spread_by_id(master_id)
62
+ return nil unless master_id
63
+
64
+ name = "MasterSpreads/MasterSpread_#{master_id}.xml"
65
+ return nil unless has_part?(name)
66
+
67
+ part(name)
68
+ end
69
+
70
+ def fonts
71
+ return unless has_part?("Resources/Fonts.xml")
72
+
73
+ @fonts ||= part("Resources/Fonts.xml")
74
+ end
75
+
76
+ def graphic
77
+ return unless has_part?("Resources/Graphic.xml")
78
+
79
+ @graphic ||= part("Resources/Graphic.xml")
80
+ end
81
+
82
+ def style
83
+ return unless has_part?("Resources/Styles.xml")
84
+
85
+ @style ||= part("Resources/Styles.xml")
86
+ end
87
+
88
+ def style_mapping
89
+ if has_part?("Resources/StyleMapping.xml")
90
+ @style_mapping ||=
91
+ part("Resources/StyleMapping.xml")
92
+ end
93
+ end
94
+
95
+ def preferences
96
+ if has_part?("Resources/Preferences.xml")
97
+ @preferences ||=
98
+ part("Resources/Preferences.xml")
99
+ end
100
+ end
101
+
102
+ def tags
103
+ @tags ||= part("XML/Tags.xml") if has_part?("XML/Tags.xml")
104
+ end
105
+
106
+ def mapping
107
+ @mapping ||= part("XML/Mapping.xml") if has_part?("XML/Mapping.xml")
108
+ end
109
+
110
+ def dom_version
111
+ designmap&.dom_version
112
+ end
113
+
114
+ def part_names
115
+ @part_names ||= with_zip do |zip_file|
116
+ names = []
117
+ zip_file.each do |entry|
118
+ names << entry.name if entry.name && !entry.name.empty?
119
+ end
120
+ names.sort
121
+ end
122
+ end
123
+
124
+ def has_part?(name)
125
+ part_names.include?(name)
126
+ end
127
+
128
+ def read_part(name)
129
+ raise Errors::PartNotFound, name unless has_part?(name)
130
+
131
+ with_zip { |zip_file| zip_file.read(name) }
132
+ end
133
+
134
+ # Returns a typed part instance for `name` when a class is registered
135
+ # for that file pattern (e.g. Designmap for designmap.xml). Falls
136
+ # back to Parts::Raw — a lossless XML wrapper — for unmodeled parts.
137
+ def part(name)
138
+ xml = read_part(name)
139
+ klass = Idml::Parts.class_for(name)
140
+ return Idml::Parts::Raw.from_xml(xml) unless klass
141
+
142
+ klass.from_xml(xml)
143
+ end
144
+
145
+ def each_part
146
+ return enum_for(:each_part) unless block_given?
147
+
148
+ with_zip do |zip_file|
149
+ zip_file.each do |entry|
150
+ next if entry.directory?
151
+
152
+ yield entry.name, entry.get_input_stream.read
153
+ end
154
+ end
155
+ end
156
+
157
+ def self.write(parts:, to:)
158
+ raise Errors::InvalidPackage, "no parts given" if parts.empty?
159
+
160
+ output_path = File.expand_path(to)
161
+ FileUtils.mkdir_p(File.dirname(output_path))
162
+ write_to_zip(parts, output_path)
163
+ new(output_path)
164
+ end
165
+
166
+ private
167
+
168
+ def with_zip(&)
169
+ Zip::File.open(@path, &)
170
+ rescue Errno::ENOENT => e
171
+ raise Errors::PackageNotFound, e.message
172
+ rescue Zip::Error => e
173
+ raise Errors::InvalidPackage, e.message
174
+ end
175
+
176
+ def self.write_to_zip(parts, output_path)
177
+ with_mimetype_tempfile(parts[MIMETYPE_ENTRY]) do |mimetype_path|
178
+ Zip::File.open(output_path, Zip::File::CREATE) do |zip_file|
179
+ write_mimetype(zip_file, mimetype_path)
180
+ write_remaining_parts(zip_file, parts)
181
+ end
182
+ end
183
+ end
184
+ private_class_method :write_to_zip
185
+
186
+ def self.write_mimetype(zip_file, mimetype_path)
187
+ return unless mimetype_path
188
+
189
+ zip_file.add_stored(MIMETYPE_ENTRY, mimetype_path)
190
+ end
191
+ private_class_method :write_mimetype
192
+
193
+ def self.write_remaining_parts(zip_file, parts)
194
+ parts.each do |name, content|
195
+ next if name == MIMETYPE_ENTRY
196
+
197
+ zip_file.get_output_stream(name) { |stream| stream.write(content) }
198
+ end
199
+ end
200
+ private_class_method :write_remaining_parts
201
+
202
+ def self.with_mimetype_tempfile(content)
203
+ return yield(nil) unless content
204
+
205
+ Tempfile.create("idml-mimetype") do |tmp|
206
+ tmp.write(content)
207
+ tmp.close
208
+ yield tmp.path
209
+ end
210
+ end
211
+ private_class_method :with_mimetype_tempfile
212
+ end
213
+ end
data/lib/idml/part.rb ADDED
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Idml
4
+ # Mixin for every part class (typed or raw). Provides the `part_file`
5
+ # class-level macro that registers the class against a filename pattern
6
+ # in Idml::Parts. New part classes self-register; nothing else in the
7
+ # codebase needs to change when adding one (open/closed).
8
+ module Part
9
+ def self.included(base)
10
+ base.extend(ClassMethods)
11
+ end
12
+
13
+ module ClassMethods
14
+ def part_file(pattern)
15
+ reg = pattern.is_a?(Regexp) ? pattern : /\A#{Regexp.escape(pattern)}\z/
16
+ Idml::Parts.register(reg, self)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Idml
4
+ module Parts
5
+ # Typed model for `XML/BackingStory.xml`. BackingStory is the root
6
+ # of the document's logical XML structure. Root is
7
+ # `<idPkg:BackingStory>`; the inner `<XmlStory>` carries the
8
+ # structure tree. XmlStory declares every attribute from
9
+ # `XmlStory_Object` in
10
+ # `reference-docs/schemas/package/XML/BackingStory.rnc`.
11
+ class BackingStory < Lutaml::Model::Serializable
12
+ include Idml::Part
13
+
14
+ part_file "XML/BackingStory.xml"
15
+
16
+ attribute :dom_version, :string
17
+ attribute :xml_story, Idml::Elements::XmlStory, collection: true
18
+
19
+ xml do
20
+ root "BackingStory"
21
+ namespace Idml::PackagingNamespace
22
+ map_attribute "DOMVersion", to: :dom_version
23
+ map_element "XmlStory", to: :xml_story
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Idml
4
+ module Parts
5
+ # Typed model for the package's `designmap.xml` part. The file's
6
+ # root is `<Document>` directly (no `<idPkg:Document>` wrapper
7
+ # unlike other parts). Every attribute from `Document_Object` in
8
+ # `reference-docs/schemas/package/designmap.rnc` is declared,
9
+ # generated by `scripts/rnc_to_lutaml.rb`.
10
+ class Designmap < Lutaml::Model::Serializable
11
+ include Idml::Part
12
+
13
+ part_file "designmap.xml"
14
+
15
+ attribute :dom_version, :string
16
+ attribute :self_attr, :string
17
+ attribute :story_list, :string
18
+ attribute :full_name, :string
19
+ attribute :visible, :boolean
20
+ attribute :file_path, :string
21
+ attribute :modified, :boolean
22
+ attribute :saved, :boolean
23
+ attribute :name, :string
24
+ attribute :zero_point, :string
25
+ attribute :active_layer, :string
26
+ attribute :unused_swatches, :string
27
+ attribute :converted, :boolean
28
+ attribute :recovered, :boolean
29
+ attribute :read_only, :boolean
30
+ attribute :id_attr, :integer
31
+ attribute :cmyk_profile_list, :string
32
+ attribute :rgb_profile_list, :string
33
+ attribute :cmyk_profile, :string
34
+ attribute :rgb_profile, :string
35
+ attribute :solid_color_intent, :string
36
+ attribute :after_blending_intent, :string
37
+ attribute :default_image_intent, :string
38
+ attribute :rgb_policy, :string
39
+ attribute :cmyk_policy, :string
40
+ attribute :accurate_lab_spots, :boolean
41
+ attribute :selected_page_items, :string
42
+ attribute :transparency_attribute_default_property, :string
43
+ attribute :applied_math_ml_font_size, :float
44
+ attribute :applied_math_ml_rgb_color, :string
45
+ attribute :tint_value, :float
46
+ attribute :prefer_math_ml_in_epub_export, :boolean
47
+ attribute :active_process, :string
48
+
49
+ attribute :layer, Idml::Elements::Layer, collection: true
50
+
51
+ xml do
52
+ root "Document"
53
+ map_attribute "DOMVersion", to: :dom_version
54
+ map_attribute "Self", to: :self_attr
55
+ map_attribute "StoryList", to: :story_list
56
+ map_attribute "FullName", to: :full_name
57
+ map_attribute "Visible", to: :visible
58
+ map_attribute "FilePath", to: :file_path
59
+ map_attribute "Modified", to: :modified
60
+ map_attribute "Saved", to: :saved
61
+ map_attribute "Name", to: :name
62
+ map_attribute "ZeroPoint", to: :zero_point
63
+ map_attribute "ActiveLayer", to: :active_layer
64
+ map_attribute "UnusedSwatches", to: :unused_swatches
65
+ map_attribute "Converted", to: :converted
66
+ map_attribute "Recovered", to: :recovered
67
+ map_attribute "ReadOnly", to: :read_only
68
+ map_attribute "Id", to: :id_attr
69
+ map_attribute "CMYKProfileList", to: :cmyk_profile_list
70
+ map_attribute "RGBProfileList", to: :rgb_profile_list
71
+ map_attribute "CMYKProfile", to: :cmyk_profile
72
+ map_attribute "RGBProfile", to: :rgb_profile
73
+ map_attribute "SolidColorIntent", to: :solid_color_intent
74
+ map_attribute "AfterBlendingIntent", to: :after_blending_intent
75
+ map_attribute "DefaultImageIntent", to: :default_image_intent
76
+ map_attribute "RGBPolicy", to: :rgb_policy
77
+ map_attribute "CMYKPolicy", to: :cmyk_policy
78
+ map_attribute "AccurateLABSpots", to: :accurate_lab_spots
79
+ map_attribute "SelectedPageItems", to: :selected_page_items
80
+ map_attribute "TransparencyAttributeDefaultProperty",
81
+ to: :transparency_attribute_default_property
82
+ map_attribute "AppliedMathMLFontSize", to: :applied_math_ml_font_size
83
+ map_attribute "AppliedMathMLRgbColor", to: :applied_math_ml_rgb_color
84
+ map_attribute "TintValue", to: :tint_value
85
+ map_attribute "PreferMathMLInEpubExport", to: :prefer_math_ml_in_epub_export
86
+ map_attribute "ActiveProcess", to: :active_process
87
+ map_element "Layer", to: :layer
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Idml
4
+ module Parts
5
+ # Typed model for `Resources/Fonts.xml`. Root is `<idPkg:Fonts>`;
6
+ # children are `<FontFamily>` elements (each containing `<Font>`
7
+ # children). FontFamily and Font declare every attribute from
8
+ # their respective `_Object` definitions in
9
+ # `reference-docs/schemas/package/Resources/Fonts.rnc`.
10
+ class Fonts < Lutaml::Model::Serializable
11
+ include Idml::Part
12
+
13
+ part_file "Resources/Fonts.xml"
14
+
15
+ attribute :dom_version, :string
16
+ attribute :font_family, Idml::Elements::FontFamily, collection: true
17
+
18
+ xml do
19
+ root "Fonts"
20
+ namespace Idml::PackagingNamespace
21
+ map_attribute "DOMVersion", to: :dom_version
22
+ map_element "FontFamily", to: :font_family
23
+ end
24
+ end
25
+ end
26
+ end