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,43 @@
1
+ # TODO PDF 23: FontMetrics PostScript name fix
2
+
3
+ ## Goal
4
+
5
+ Fix the `FontMetrics#postscript_name` method to prefer platform 3
6
+ (Windows, UTF-16BE) name records over platform 1 (Macintosh, MacRoman).
7
+ Currently the first matching name_id record is returned regardless of
8
+ platform, producing garbled names like "A r i a l M T".
9
+
10
+ ## Why
11
+
12
+ The garbled PS name flows into the embedded font's `/BaseFont` entry,
13
+ producing invalid PDF font references. Font embedding tests must
14
+ tolerate the garbled name instead of asserting the correct value.
15
+
16
+ ## Acceptance criteria
17
+
18
+ - [ ] `FontMetrics#parse_name_entry` iterates all records and prefers:
19
+ 1. platform_id=3 (Windows), encoding_id=1 (UCS-2)
20
+ 2. platform_id=3, any encoding
21
+ 3. platform_id=1 (Macintosh)
22
+ 4. platform_id=0 (Unicode)
23
+ - [ ] `Arial.ttf` produces `postscript_name == "ArialMT"`.
24
+ - [ ] `Helvetica.ttf` (if available) produces correct PS name.
25
+ - [ ] Spec: assert exact PS name for a known font.
26
+
27
+ ## Files
28
+
29
+ - `lib/idml/text_engine/font_metrics.rb` (fix `parse_name_entry`)
30
+ - `spec/idml/text_engine/font_metrics_spec.rb`
31
+
32
+ ## Design notes
33
+
34
+ - The name table has multiple records per name_id, one per
35
+ platform/encoding/language combination. Windows (platform 3)
36
+ records are the most reliable for PS names.
37
+ - Platform 1 (Macintosh) records use MacRoman encoding — the existing
38
+ `decode_name_string` already handles this, but the selection logic
39
+ doesn't prefer platform 3.
40
+
41
+ ## Dependencies
42
+
43
+ - None.
@@ -0,0 +1,35 @@
1
+ # TODO PDF 24: Anti-pattern coverage for render modules
2
+
3
+ ## Goal
4
+
5
+ Ensure all new render and text-engine modules pass the anti-pattern
6
+ spec. Add any missing modules to the spec's file enumeration.
7
+
8
+ ## Why
9
+
10
+ The anti-pattern spec (`spec/anti_patterns_spec.rb`) checks every `lib/`
11
+ file for forbidden patterns (Nokogiri, REXML, method_missing, send,
12
+ instance_variable_set, require_relative, etc.). New modules added in
13
+ TODOs 09–23 must be covered.
14
+
15
+ ## Acceptance criteria
16
+
17
+ - [ ] `bundle exec rspec spec/anti_patterns_spec.rb` passes with 0
18
+ violations across all `lib/idml/render/` and `lib/idml/text_engine/`
19
+ files.
20
+ - [ ] No `require_relative` in any new file.
21
+ - [ ] No `double()` in any new spec file.
22
+ - [ ] All new modules use `autoload` (defined in parent namespace file).
23
+
24
+ ## Files
25
+
26
+ - `spec/anti_patterns_spec.rb` (verify coverage)
27
+
28
+ ## Design notes
29
+
30
+ - The spec auto-discovers all `.rb` files under `lib/`, so new files
31
+ are automatically checked. But verify no new violations are introduced.
32
+
33
+ ## Dependencies
34
+
35
+ - All TODOs that add new lib/ files.
@@ -0,0 +1,38 @@
1
+ # TODO PDF 25: CLI render subcommand
2
+
3
+ ## Goal
4
+
5
+ Add a `render` subcommand to the `idml` CLI that converts an IDML
6
+ file to PDF.
7
+
8
+ ## Why
9
+
10
+ Users need a command-line interface to convert IDML to PDF without
11
+ writing Ruby code. The rendering pipeline exists but is only accessible
12
+ programmatically.
13
+
14
+ ## Acceptance criteria
15
+
16
+ - [ ] `idml render input.idml output.pdf` produces a valid PDF.
17
+ - [ ] `--font-path` option adds custom font search directories.
18
+ - [ ] `--verbose` option prints progress (spreads processed, images
19
+ embedded, fonts resolved).
20
+ - [ ] Exit code 0 on success, 1 on error (with message to stderr).
21
+ - [ ] Spec: invoke the CLI via `Thor` and verify output file exists.
22
+
23
+ ## Files
24
+
25
+ - `lib/idml/cli.rb` (add `render` command)
26
+ - `lib/idml/cli/` (if commands are split into subcommand files)
27
+ - `spec/idml/cli_spec.rb`
28
+
29
+ ## Design notes
30
+
31
+ - The CLI uses `Thor` (already a dependency).
32
+ - The render command calls `Idml::Render.render(package:, to:, font_search_paths:)`.
33
+ - Error handling: catch `Errors::PackageNotFound`, `Errors::InvalidPackage`
34
+ and print user-friendly messages.
35
+
36
+ ## Dependencies
37
+
38
+ - TODO 12 (Pipeline).
@@ -0,0 +1,45 @@
1
+ # TODO PDF 26: Page-item renderer registry (OCP)
2
+
3
+ ## Goal
4
+
5
+ Replace the `case/when` dispatch in `SpreadRenderer` with a registration-
6
+ based renderer registry. Each page-item type gets its own renderer class
7
+ that self-registers. Adding a new type = creating a new class, not
8
+ editing a switch statement.
9
+
10
+ ## Why
11
+
12
+ The current `SpreadRenderer#render_page_item` uses `case item when
13
+ Idml::Elements::Rectangle ...`. This violates OCP — every new page-item
14
+ type requires modifying SpreadRenderer. A registry decouples dispatch
15
+ from the SpreadRenderer, making the system open for extension.
16
+
17
+ ## Acceptance criteria
18
+
19
+ - [ ] `Idml::Render::PageItemRenderer` module with `register(type,
20
+ renderer)` and `for(item)` class methods.
21
+ - [ ] `Idml::Render::RenderContext` struct carrying shared state
22
+ (package, font_resolver, color_resolver, page dimensions).
23
+ - [ ] `RectangleRenderer`, `TextFrameRenderer`, `PolygonRenderer`,
24
+ `GraphicLineRenderer` classes — each returns a string of PDF
25
+ operators.
26
+ - [ ] Each renderer registers itself: `PageItemRenderer.register(
27
+ Idml::Elements::Rectangle, RectangleRenderer)`.
28
+ - [ ] `SpreadRenderer` delegates to `PageItemRenderer.for(item)`.
29
+ - [ ] No `case/when` or `is_a?` dispatch in SpreadRenderer.
30
+ - [ ] Specs for each renderer and the registry.
31
+
32
+ ## Files
33
+
34
+ - `lib/idml/render/page_item_renderer.rb`
35
+ - `lib/idml/render/render_context.rb`
36
+ - `lib/idml/render/renderers/rectangle_renderer.rb`
37
+ - `lib/idml/render/renderers/text_frame_renderer.rb`
38
+ - `lib/idml/render/renderers/polygon_renderer.rb`
39
+ - `lib/idml/render/renderers/graphic_line_renderer.rb`
40
+ - `lib/idml/render/spread_renderer.rb` (simplify to delegate)
41
+ - `lib/idml/render.rb` (add autoloads)
42
+
43
+ ## Dependencies
44
+
45
+ - TODOs 14–18 (existing element models and rendering).
@@ -0,0 +1,41 @@
1
+ # TODO PDF 27: Text engine integration
2
+
3
+ ## Goal
4
+
5
+ Wire the text engine (Shaper → LineBreaker → Justifier → VerticalLayout)
6
+ into TextFrame rendering. Currently text is dumped as a single run at a
7
+ hardcoded position. The text engine should lay out text within the
8
+ frame's geometry, respecting insets and applying word-wrap.
9
+
10
+ ## Why
11
+
12
+ The text engine was built in TODOs 01–05 but never used. Text rendering
13
+ produces a single `Tj` with the first 200 characters at position (72,
14
+ page_height-72). Real layout requires shaping glyphs, breaking lines at
15
+ the frame width, and positioning each line at the correct baseline.
16
+
17
+ ## Acceptance criteria
18
+
19
+ - [ ] TextFrameRenderer extracts text content from the linked Story.
20
+ - [ ] Text is shaped via `TextEngine::Shaper` using the resolved font.
21
+ - [ ] Lines broken via `TextEngine::LineBreaker` at frame width minus
22
+ insets.
23
+ - [ ] Lines justified via `TextEngine::Justifier`.
24
+ - [ ] Glyphs positioned via `TextEngine::VerticalLayout`.
25
+ - [ ] PDF text operators emitted for each positioned glyph run.
26
+ - [ ] Falls back to simple text dump when no font metrics available.
27
+ - [ ] Spec: render a TextFrame with known text, verify multiple `Tj`
28
+ operators (one per line) in the PDF.
29
+
30
+ ## Files
31
+
32
+ - `lib/idml/render/renderers/text_frame_renderer.rb`
33
+ - `lib/idml/render/style_resolver.rb` (extract font/size from CSR)
34
+ - `spec/idml/render/text_frame_renderer_spec.rb`
35
+
36
+ ## Dependencies
37
+
38
+ - TODO 26 (renderer registry).
39
+ - TODO 28 (path geometry for frame bounds).
40
+ - TODO 29 (character style extraction).
41
+ - TODOs 01–05 (text engine).
@@ -0,0 +1,47 @@
1
+ # TODO PDF 28: Path geometry models
2
+
3
+ ## Goal
4
+
5
+ Create typed element models for IDML's path geometry hierarchy:
6
+ `PathGeometry`, `GeometryPathType`, `PathPointArray`, `PathPointType`.
7
+ Wire them as children of Rectangle, TextFrame, Polygon, GraphicLine via
8
+ a `Properties` wrapper.
9
+
10
+ ## Why
11
+
12
+ Page-item geometry (position, size, shape) is stored in
13
+ `Properties/PathGeometry/GeometryPathType/PathPointArray/PathPointType`.
14
+ Without modeling this, the renderer cannot determine where to place
15
+ shapes or text frames. Currently the renderer uses hardcoded positions.
16
+
17
+ ## Acceptance criteria
18
+
19
+ - [ ] `Idml::Elements::PathPointType` — Anchor, LeftDirection,
20
+ RightDirection attributes (space-separated "x y" doubles).
21
+ - [ ] `Idml::Elements::PathPointArray` — collection of PathPointType.
22
+ - [ ] `Idml::Elements::GeometryPathType` — PathOpen attribute +
23
+ PathPointArray child.
24
+ - [ ] `Idml::Elements::PathGeometry` — collection of GeometryPathType.
25
+ - [ ] `Idml::Elements::Properties` — wrapper containing PathGeometry,
26
+ PathBoundingBox, Label.
27
+ - [ ] Rectangle, TextFrame, Polygon, GraphicLine have `properties`
28
+ attribute.
29
+ - [ ] Convenience method `geometric_bounds` on each page item: derives
30
+ `[y1, x1, y2, x2]` from PathPointType anchors.
31
+ - [ ] Spec: parse fixture Rectangle, verify geometric_bounds matches
32
+ the PathPointArray anchors.
33
+
34
+ ## Files
35
+
36
+ - `lib/idml/elements/path_point_type.rb`
37
+ - `lib/idml/elements/path_point_array.rb`
38
+ - `lib/idml/elements/geometry_path_type.rb`
39
+ - `lib/idml/elements/path_geometry.rb`
40
+ - `lib/idml/elements/properties.rb`
41
+ - `lib/idml/elements/rectangle.rb` (add properties)
42
+ - `lib/idml/elements/text_frame.rb` (add properties)
43
+ - `lib/idml/elements.rb` (autoloads)
44
+
45
+ ## Dependencies
46
+
47
+ - TODO 14 (page-item element models).
@@ -0,0 +1,36 @@
1
+ # TODO PDF 29: Character style extraction
2
+
3
+ ## Goal
4
+
5
+ Extract font family, size, color, and style attributes from
6
+ CharacterStyleRange elements in Stories. Pass these as styled text runs
7
+ to the text engine for per-run rendering.
8
+
9
+ ## Why
10
+
11
+ Currently the renderer uses `story.text_content` which flattens all
12
+ styled runs into a single string. Real documents have mixed fonts,
13
+ sizes, and colors within a single text frame. Each CharacterStyleRange
14
+ carries `AppliedFont`, `PointSize`, `FillColor`, `FontStyle` etc.
15
+
16
+ ## Acceptance criteria
17
+
18
+ - [ ] `Idml::Render::StyleResolver` extracts styled runs from a Story.
19
+ - [ ] Each run carries: text, font_family, font_style, point_size,
20
+ fill_color, fill_tint.
21
+ - [ ] Style attributes cascade from ParagraphStyleRange →
22
+ CharacterStyleRange (CSR overrides PSR).
23
+ - [ ] Style attributes resolved from Resources/Styles.xml when CSR
24
+ references an `AppliedCharacterStyle`.
25
+ - [ ] Spec: extract runs from the fixture's Story, verify font size
26
+ and family are populated.
27
+
28
+ ## Files
29
+
30
+ - `lib/idml/render/style_resolver.rb`
31
+ - `spec/idml/render/style_resolver_spec.rb`
32
+
33
+ ## Dependencies
34
+
35
+ - TODO 14 (CharacterStyleRange model exists).
36
+ - TODO 22 (ColorResolver).
@@ -0,0 +1,40 @@
1
+ # TODO PDF 30: Shape geometry rendering
2
+
3
+ ## Goal
4
+
5
+ Render Rectangle, Polygon, and GraphicLine shapes using their actual
6
+ PathGeometry — not hardcoded 100×100 rectangles. Apply ItemTransform
7
+ and fill/stroke colors.
8
+
9
+ ## Why
10
+
11
+ Currently `render_rectangle` emits a fixed `0 0 100 100 re` regardless
12
+ of the actual shape bounds. Real shapes have arbitrary positions and
13
+ sizes derived from PathPointArray anchors.
14
+
15
+ ## Acceptance criteria
16
+
17
+ - [ ] Rectangle: derive bounds from PathPointType anchors, emit `re`
18
+ operator with correct x/y/width/height.
19
+ - [ ] Polygon: emit `m`/`l` path operators from PathPointArray.
20
+ - [ ] GraphicLine: emit open path with stroke.
21
+ - [ ] ItemTransform applied via `cm` operator.
22
+ - [ ] FillColor resolved via ColorResolver, emitted as `rg`/`k`.
23
+ - [ ] StrokeColor + StrokeWeight emitted as `RG`/`K` + `w` + `S`.
24
+ - [ ] Coordinate Y-flip applied (IDML top-left → PDF bottom-left origin).
25
+ - [ ] Spec: render a Rectangle with known PathGeometry, verify PDF
26
+ contains `re` with correct coordinates.
27
+
28
+ ## Files
29
+
30
+ - `lib/idml/render/renderers/rectangle_renderer.rb`
31
+ - `lib/idml/render/renderers/polygon_renderer.rb`
32
+ - `lib/idml/render/renderers/graphic_line_renderer.rb`
33
+ - `lib/idml/render/coordinate_transform.rb`
34
+ - `spec/idml/render/shape_geometry_spec.rb`
35
+
36
+ ## Dependencies
37
+
38
+ - TODO 26 (renderer registry).
39
+ - TODO 28 (path geometry models).
40
+ - TODO 22 (ColorResolver).
@@ -0,0 +1,35 @@
1
+ # TODO PDF 31: Stroke rendering
2
+
3
+ ## Goal
4
+
5
+ Render stroke attributes on page items: stroke color, weight, end cap,
6
+ join style, and dash patterns.
7
+
8
+ ## Why
9
+
10
+ Currently only fill is rendered. Many IDML page items have visible
11
+ strokes (borders, lines, arrows). StrokeWeight, EndCap, EndJoin, and
12
+ StrokeType (solid/dashed/dotted) need to be emitted as PDF operators.
13
+
14
+ ## Acceptance criteria
15
+
16
+ - [ ] StrokeColor resolved via ColorResolver, emitted as `RG`/`K`.
17
+ - [ ] StrokeWeight emitted as `w` operator.
18
+ - [ ] EndCap (Butt/Round/Square) emitted as `J` operator.
19
+ - [ ] EndJoin (Miter/Round/Bevel) emitted as `j` operator.
20
+ - [ ] MiterLimit emitted as `M` operator.
21
+ - [ ] DashedStrokeStyle: dash array + dash offset emitted as `d`.
22
+ - [ ] DottedStrokeStyle: dot pattern as dash array.
23
+ - [ ] Spec: render a Rectangle with stroke, verify `w`, `RG`, `S`
24
+ operators in PDF.
25
+
26
+ ## Files
27
+
28
+ - `lib/idml/render/stroke_renderer.rb`
29
+ - `lib/idml/render/renderers/rectangle_renderer.rb` (integrate)
30
+ - `spec/idml/render/stroke_renderer_spec.rb`
31
+
32
+ ## Dependencies
33
+
34
+ - TODO 30 (shape geometry rendering).
35
+ - TODO 22 (ColorResolver).
@@ -0,0 +1,36 @@
1
+ # TODO PDF 32: Master spread rendering
2
+
3
+ ## Goal
4
+
5
+ Render master spread page items as background on each page. Master
6
+ spreads contain repeating elements (headers, footers, page numbers,
7
+ backgrounds) that appear on every page referencing the master.
8
+
9
+ ## Why
10
+
11
+ Currently master spread items are ignored. Documents with master
12
+ content (page numbers, running headers) lose this content in the PDF
13
+ output. The Spread's `ShowMasterItems` attribute and Page's
14
+ `AppliedMaster` attribute control master item visibility.
15
+
16
+ ## Acceptance criteria
17
+
18
+ - [ ] Pipeline resolves each Page's `AppliedMaster` to a
19
+ `Parts::MasterSpread`.
20
+ - [ ] Master spread page items rendered before spread's own items
21
+ (background layer).
22
+ - [ ] `ShowMasterItems="false"` on Spread suppresses master items.
23
+ - [ ] Master items positioned relative to the page (MasterPageTransform
24
+ applied).
25
+ - [ ] Spec: render a fixture with master items, verify background
26
+ content appears in the PDF.
27
+
28
+ ## Files
29
+
30
+ - `lib/idml/render/pipeline.rb` (resolve master spreads)
31
+ - `lib/idml/render/spread_renderer.rb` (render master items first)
32
+ - `spec/idml/render/master_spread_spec.rb`
33
+
34
+ ## Dependencies
35
+
36
+ - TODOs 14–16 (element models + typed pipeline).
@@ -0,0 +1,38 @@
1
+ # TODO PDF 33: Font resolution from IDML
2
+
3
+ ## Goal
4
+
5
+ Resolve fonts referenced in IDML documents using Resources/Fonts.xml.
6
+ The FontFamily and Font entries map family/style names to PostScript
7
+ names, which the FontResolver uses to find the actual font file.
8
+
9
+ ## Why
10
+
11
+ Currently the Pipeline always uses "Helvetica" as the default font.
12
+ Real IDML documents reference specific fonts (Minion Pro, Myriad Pro,
13
+ etc.) via CharacterStyleRange#AppliedFont. The Fonts.xml part carries
14
+ the PostScriptName needed to locate the font file on disk.
15
+
16
+ ## Acceptance criteria
17
+
18
+ - [ ] `Parts::Fonts` typed model parses FontFamily → Font entries.
19
+ - [ ] `FontFamily#name` and `Font#postscript_name` accessible.
20
+ - [ ] Pipeline reads `package.fonts` and passes font info to the
21
+ FontResolver.
22
+ - [ ] FontResolver can search by PostScriptName (not just family name).
23
+ - [ ] CharacterStyleRange#applied_font mapped to a font file.
24
+ - [ ] Spec: load fixture Fonts.xml, verify "Minion Pro" family has
25
+ PostScriptName "MinionPro-Regular".
26
+
27
+ ## Files
28
+
29
+ - `lib/idml/parts/fonts.rb` (verify typed model)
30
+ - `lib/idml/elements/font_family.rb` (verify)
31
+ - `lib/idml/elements/font.rb` (verify)
32
+ - `lib/idml/text_engine/font_resolver.rb` (add PS name search)
33
+ - `spec/idml/text_engine/font_resolver_spec.rb`
34
+
35
+ ## Dependencies
36
+
37
+ - TODO 01 (FontMetrics).
38
+ - TODO 02 (FontResolver).
@@ -0,0 +1,32 @@
1
+ # TODO PDF 34: Story threading
2
+
3
+ ## Goal
4
+
5
+ Follow the PreviousTextFrame/NextTextFrame chain to thread stories
6
+ across multiple text frames. A single story can flow through several
7
+ frames; the renderer must lay out text sequentially across the chain.
8
+
9
+ ## Why
10
+
11
+ Currently each TextFrame is rendered independently using its full story
12
+ text. In reality, a story's text overflows from one frame to the next.
13
+ Frame A gets the first N lines, frame B gets the remainder.
14
+
15
+ ## Acceptance criteria
16
+
17
+ - [ ] Pipeline identifies text frame chains (head frame = PreviousTextFrame=="n").
18
+ - [ ] Story text distributed across the chain: frame A gets lines that
19
+ fit, overflow goes to frame B.
20
+ - [ ] Each frame renders only its portion of the story.
21
+ - [ ] Handles circular references gracefully (no infinite loop).
22
+ - [ ] Spec: two linked TextFrames, verify text splits across them.
23
+
24
+ ## Files
25
+
26
+ - `lib/idml/render/story_threader.rb`
27
+ - `lib/idml/render/pipeline.rb` (identify chains)
28
+ - `spec/idml/render/story_threader_spec.rb`
29
+
30
+ ## Dependencies
31
+
32
+ - TODO 27 (text engine integration).
@@ -0,0 +1,34 @@
1
+ # TODO PDF 35: PDF metadata
2
+
3
+ ## Goal
4
+
5
+ Embed document metadata (Title, Author, Subject, Keywords, Creator,
6
+ Producer, CreationDate) in the PDF Info dictionary, sourced from the
7
+ IDML Preferences part.
8
+
9
+ ## Why
10
+
11
+ PDF metadata is used by search engines, document management systems,
12
+ and accessibility tools. Currently the produced PDF has no metadata
13
+ beyond the bare structure.
14
+
15
+ ## Acceptance criteria
16
+
17
+ - [ ] `PdfWriter#add_info(hash)` writes an Info object referenced by
18
+ the trailer.
19
+ - [ ] Pipeline extracts metadata from Preferences (document title,
20
+ author) and designmap (DOMVersion).
21
+ - [ ] Producer set to "idml gem v{VERSION}".
22
+ - [ ] CreationDate set to current time (PDF date format).
23
+ - [ ] Spec: render a PDF, verify `/Title`, `/Producer`, `/CreationDate`
24
+ in the Info dictionary.
25
+
26
+ ## Files
27
+
28
+ - `lib/idml/render/pdf_writer.rb` (add_info method)
29
+ - `lib/idml/render/pipeline.rb` (extract + pass metadata)
30
+ - `spec/idml/render/pdf_metadata_spec.rb`
31
+
32
+ ## Dependencies
33
+
34
+ - TODO 12 (Pipeline).
@@ -0,0 +1,33 @@
1
+ # TODO PDF 36: Performance caching
2
+
3
+ ## Goal
4
+
5
+ Cache expensive operations: FontMetrics file parsing, FontResolver
6
+ search results, and ColorResolver lookups. Currently every
7
+ `FontMetrics.open` re-reads and re-parses the font binary.
8
+
9
+ ## Why
10
+
11
+ The Pipeline opens the same font file multiple times (once for text
12
+ metrics, once for embedding). FontResolver scans all .ttf/.otf files
13
+ on every resolve. These are O(n) operations repeated per spread/item.
14
+
15
+ ## Acceptance criteria
16
+
17
+ - [ ] `FontMetrics.open` caches by file path (class-level Hash).
18
+ - [ ] `FontResolver#resolve` caches by [family, style] key (already
19
+ per-instance; add class-level for cross-instance reuse).
20
+ - [ ] `ColorResolver#resolve` caches by color name (already per-instance).
21
+ - [ ] `Package#part` caches typed part instances (already per-instance).
22
+ - [ ] Benchmark: rendering a 10-spread package shows < 2x slowdown vs
23
+ single-spread.
24
+ - [ ] Spec: verify FontMetrics.open returns same instance for same path.
25
+
26
+ ## Files
27
+
28
+ - `lib/idml/text_engine/font_metrics.rb` (class cache)
29
+ - `lib/idml/text_engine/font_resolver.rb` (class cache)
30
+
31
+ ## Dependencies
32
+
33
+ - None.
@@ -0,0 +1,33 @@
1
+ # TODO PDF 37: Round-trip specs for element models
2
+
3
+ ## Goal
4
+
5
+ Add round-trip specs for every page-item element model: `from_xml(xml)`
6
+ → `to_xml` should produce XML equivalent to the input. This catches
7
+ attribute mapping errors and child-element ordering issues.
8
+
9
+ ## Why
10
+
11
+ The element models were added in TODO 14 with structural specs (parse
12
+ fixture, verify attributes) but no round-trip specs. Round-trip is the
13
+ project's core quality gate — it proves the model faithfully represents
14
+ the XML.
15
+
16
+ ## Acceptance criteria
17
+
18
+ - [ ] Round-trip spec for: Page, Rectangle, TextFrame, Image, Link,
19
+ Polygon, Group, GraphicLine.
20
+ - [ ] Each spec: read fixture part XML → from_xml → to_xml → compare
21
+ with original (ignoring whitespace, attribute order).
22
+ - [ ] Spread-level round-trip: Spread_ud1.xml preserves all modeled
23
+ child elements.
24
+ - [ ] Any round-trip failure identifies the specific attribute/element
25
+ that diverged.
26
+
27
+ ## Files
28
+
29
+ - `spec/idml/elements/round_trip_spec.rb`
30
+
31
+ ## Dependencies
32
+
33
+ - TODO 14 (element models).
@@ -0,0 +1,34 @@
1
+ # TODO PDF 38: PDF output validation
2
+
3
+ ## Goal
4
+
5
+ Validate that the PDF files produced by the Pipeline are structurally
6
+ correct: parseable cross-reference table, valid object streams,
7
+ balanced save/restore state, required dictionary entries.
8
+
9
+ ## Why
10
+
11
+ The current specs check for substrings in the PDF (`/Type /Page`,
12
+ `/Filter /DCTDecode`) but don't verify the PDF is actually parseable.
13
+ A malformed xref table or missing `endobj` would silently produce an
14
+ invalid file that some viewers reject.
15
+
16
+ ## Acceptance criteria
17
+
18
+ - [ ] Spec that opens the output PDF and walks the xref table.
19
+ - [ ] Verify every `n` entry points to a valid `N 0 obj` header.
20
+ - [ ] Verify every object has matching `endobj`.
21
+ - [ ] Verify trailer `/Root` points to a valid Catalog.
22
+ - [ ] Verify Catalog `/Pages` points to a valid Pages tree.
23
+ - [ ] Verify each Page has `/MediaBox`, `/Contents`, `/Resources`.
24
+ - [ ] Verify content stream length matches `/Length` entry.
25
+ - [ ] Spec: run on the fixture output PDF, all checks pass.
26
+
27
+ ## Files
28
+
29
+ - `spec/idml/render/pdf_validation_spec.rb`
30
+ - `lib/idml/render/pdf_validator.rb` (optional — pure validation logic)
31
+
32
+ ## Dependencies
33
+
34
+ - TODO 12 (Pipeline).
@@ -0,0 +1,26 @@
1
+ # TODO PDF 39: Geometry module coordinate helpers
2
+
3
+ ## Goal
4
+
5
+ Centralize all coordinate-system conversions (IDML ↔ PDF) in the
6
+ `Idml::Geometry` module. Every renderer derives placement from these
7
+ helpers instead of inline math.
8
+
9
+ ## Status: DONE
10
+
11
+ ## What was implemented
12
+
13
+ - `Geometry.parse_transform(str)` — parses "a b c d e f" into a Transform.
14
+ - `Geometry.apply_transform(transform, x, y)` — applies affine matrix to a point.
15
+ - `Geometry.combine_transforms(outer, inner)` — multiplies two transforms.
16
+ - `Geometry.transform_bounds(bounds, transform)` — transforms [y1,x1,y2,x2].
17
+ - `Geometry.bounds_to_pdf_rect(bounds, page_height)` — converts to PDF
18
+ `{x:, y:, width:, height:}` with Y-axis flip.
19
+ - `Color.fill_op(color_hash)` / `Color.stroke_op(color_hash)` — dispatch
20
+ RGB/CMYK from a resolved color hash.
21
+ - `Path.stroke_width(weight)` — PDF `w` operator.
22
+ - RectangleRenderer: applies ItemTransform + Y-flip, renders fill and stroke.
23
+ - PolygonRenderer: uses bounds + fill + stroke (bounding-box approximation).
24
+ - TextFrameRenderer: uses frame geometric_bounds for text engine layout.
25
+ - StyleResolver: extracts styled runs from Story (font_style, point_size,
26
+ fill_color per CharacterStyleRange).
@@ -0,0 +1,30 @@
1
+ # TODO PDF 40: Font PS name resolution from Fonts.xml
2
+
3
+ ## Goal
4
+
5
+ Connect the IDML document's Fonts.xml (FontFamily/Font entries with
6
+ PostScriptName) to the FontResolver so text rendering uses the correct
7
+ font, not the hardcoded "Helvetica" default.
8
+
9
+ ## Status: PARTIALLY DONE
10
+
11
+ ## What was done
12
+
13
+ - Verified `Parts::Fonts` typed model parses FontFamily → Font entries.
14
+ - `FontFamily` and `Font` element models exist and expose PostScriptName.
15
+ - The FontResolver can find fonts by family name + style.
16
+
17
+ ## What remains
18
+
19
+ - Map CharacterStyleRange#applied_font → FontFamily/Font → PostScriptName
20
+ → FontResolver search.
21
+ - Add PostScriptName-based search to FontResolver (current search is
22
+ family-name based).
23
+ - Pipeline: pass document font references to the font resolver.
24
+ - When a document font can't be found on disk, log a warning and fall
25
+ back to the default font.
26
+
27
+ ## Dependencies
28
+
29
+ - TODO 29 (StyleResolver for applied_font extraction).
30
+ - TODO 33 (font resolution from IDML).