uniword 1.0.0 → 1.0.3

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 (1784) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +43 -0
  3. data/README.adoc +71 -2142
  4. data/config/accessibility_profiles.yml +145 -0
  5. data/config/font_metadata.yml +213 -0
  6. data/config/latent_styles.yml +962 -0
  7. data/config/link_validation_rules.yml +62 -0
  8. data/config/locale_profiles.yml +226 -0
  9. data/config/metadata_schema.yml +294 -0
  10. data/config/ooxml/schema_loader.yml +98 -0
  11. data/config/ooxml/schema_main.yml +524 -0
  12. data/config/ooxml/schemas/01_document_structure.yml +44 -0
  13. data/config/ooxml/schemas/02_paragraph.yml +282 -0
  14. data/config/ooxml/schemas/03_run.yml +276 -0
  15. data/config/ooxml/schemas/04_table.yml +184 -0
  16. data/config/ooxml/schemas/05_headers_footers.yml +82 -0
  17. data/config/ooxml/schemas/06_fields.yml +81 -0
  18. data/config/ooxml/schemas/07_footnotes.yml +92 -0
  19. data/config/ooxml/schemas/08_styles.yml +265 -0
  20. data/config/ooxml/schemas/09_numbering.yml +247 -0
  21. data/config/ooxml/schemas/10_sections.yml +250 -0
  22. data/config/ooxml/schemas/11_drawing.yml +381 -0
  23. data/config/ooxml/schemas/12_math.yml +349 -0
  24. data/config/ooxml/schemas/13_charts.yml +920 -0
  25. data/config/ooxml/schemas/bibliography.yml +351 -0
  26. data/config/ooxml/schemas/chart.yml +1472 -0
  27. data/config/ooxml/schemas/content_types.yml +93 -0
  28. data/config/ooxml/schemas/customxml.yml +493 -0
  29. data/config/ooxml/schemas/document_properties.yml +275 -0
  30. data/config/ooxml/schemas/document_variables.yml +135 -0
  31. data/config/ooxml/schemas/drawingml.yml +1368 -0
  32. data/config/ooxml/schemas/glossary.yml +235 -0
  33. data/config/ooxml/schemas/math.yml +1266 -0
  34. data/config/ooxml/schemas/office.yml +648 -0
  35. data/config/ooxml/schemas/picture.yml +213 -0
  36. data/config/ooxml/schemas/presentationml.yml +1003 -0
  37. data/config/ooxml/schemas/relationships.yml +91 -0
  38. data/config/ooxml/schemas/shared_types.yml +174 -0
  39. data/config/ooxml/schemas/spreadsheetml.yml +1534 -0
  40. data/config/ooxml/schemas/vml.yml +426 -0
  41. data/config/ooxml/schemas/vml_office.yml +415 -0
  42. data/config/ooxml/schemas/wordprocessingml.yml +1881 -0
  43. data/config/ooxml/schemas/wordprocessingml_2010.yml +428 -0
  44. data/config/ooxml/schemas/wordprocessingml_2013.yml +286 -0
  45. data/config/ooxml/schemas/wordprocessingml_2016.yml +205 -0
  46. data/config/ooxml/schemas/wp_drawing.yml +528 -0
  47. data/config/pipeline.yml +108 -0
  48. data/config/profiles.yml +49 -0
  49. data/config/quality_rules.yml +49 -0
  50. data/config/style_mappings/iso_publication.yml +30 -0
  51. data/config/styles/iso_standard.yml +229 -0
  52. data/config/styles/legal_document.yml +198 -0
  53. data/config/styles/minimal.yml +90 -0
  54. data/config/styles/technical_report.yml +233 -0
  55. data/config/system_profiles.yml +87 -0
  56. data/config/theme_mapping.yml +447 -0
  57. data/config/transformation_rules.yml +160 -0
  58. data/config/validation_rules.yml +60 -0
  59. data/config/warning_rules.yml +57 -0
  60. data/data/color_schemes/amber.yml +17 -0
  61. data/data/color_schemes/azure.yml +17 -0
  62. data/data/color_schemes/burgundy.yml +17 -0
  63. data/data/color_schemes/cerulean.yml +17 -0
  64. data/data/color_schemes/chartreuse.yml +17 -0
  65. data/data/color_schemes/classic.yml +17 -0
  66. data/data/color_schemes/cobalt.yml +17 -0
  67. data/data/color_schemes/coral.yml +17 -0
  68. data/data/color_schemes/crimson.yml +17 -0
  69. data/data/color_schemes/emerald.yml +17 -0
  70. data/data/color_schemes/horizon.yml +17 -0
  71. data/data/color_schemes/indigo.yml +17 -0
  72. data/data/color_schemes/lavender.yml +17 -0
  73. data/data/color_schemes/magenta.yml +17 -0
  74. data/data/color_schemes/modern.yml +17 -0
  75. data/data/color_schemes/monochrome.yml +17 -0
  76. data/data/color_schemes/parchment.yml +17 -0
  77. data/data/color_schemes/saffron.yml +17 -0
  78. data/data/color_schemes/sage.yml +17 -0
  79. data/data/color_schemes/scarlet.yml +17 -0
  80. data/data/color_schemes/solar.yml +17 -0
  81. data/data/color_schemes/teal.yml +17 -0
  82. data/data/color_schemes/terrain.yml +17 -0
  83. data/data/font_schemes/caladea.yml +45 -0
  84. data/data/font_schemes/carlito_caladea.yml +45 -0
  85. data/data/font_schemes/carlito_liberation.yml +45 -0
  86. data/data/font_schemes/carlito_sans.yml +45 -0
  87. data/data/font_schemes/classic_office.yml +45 -0
  88. data/data/font_schemes/eb_garamond.yml +45 -0
  89. data/data/font_schemes/eb_garamond_liberation.yml +45 -0
  90. data/data/font_schemes/gelasio.yml +45 -0
  91. data/data/font_schemes/league_gothic.yml +45 -0
  92. data/data/font_schemes/league_liberation.yml +45 -0
  93. data/data/font_schemes/liberation_bold_sans.yml +45 -0
  94. data/data/font_schemes/liberation_libre.yml +45 -0
  95. data/data/font_schemes/liberation_mono_sans.yml +45 -0
  96. data/data/font_schemes/liberation_pair.yml +45 -0
  97. data/data/font_schemes/liberation_reverse.yml +45 -0
  98. data/data/font_schemes/liberation_sans.yml +45 -0
  99. data/data/font_schemes/liberation_sans_trebuchet.yml +45 -0
  100. data/data/font_schemes/libre_bodoni.yml +45 -0
  101. data/data/font_schemes/libre_franklin.yml +45 -0
  102. data/data/font_schemes/modern_office.yml +45 -0
  103. data/data/font_schemes/ms_office_2007.yml +72 -0
  104. data/data/font_schemes/ms_office_2013.yml +106 -0
  105. data/data/font_schemes/ms_office_2024.yml +106 -0
  106. data/data/font_schemes/source_alfa_slab.yml +45 -0
  107. data/data/font_schemes/source_display.yml +45 -0
  108. data/data/font_schemes/source_modern.yml +45 -0
  109. data/data/font_schemes/source_sans.yml +45 -0
  110. data/data/font_schemes/source_sans_century.yml +45 -0
  111. data/data/resources/document_elements/ar/bibliographies.yml +13 -0
  112. data/data/resources/document_elements/ar/cover_pages.yml +26 -0
  113. data/data/resources/document_elements/ar/equations.yml +21 -0
  114. data/data/resources/document_elements/ar/footers.yml +31 -0
  115. data/data/resources/document_elements/ar/headers.yml +32 -0
  116. data/data/resources/document_elements/ar/table_of_contents.yml +21 -0
  117. data/data/resources/document_elements/ar/tables.yml +19 -0
  118. data/data/resources/document_elements/ar/watermarks.yml +25 -0
  119. data/data/resources/document_elements/cs/bibliographies.yml +13 -0
  120. data/data/resources/document_elements/cs/cover_pages.yml +26 -0
  121. data/data/resources/document_elements/cs/equations.yml +21 -0
  122. data/data/resources/document_elements/cs/footers.yml +31 -0
  123. data/data/resources/document_elements/cs/headers.yml +32 -0
  124. data/data/resources/document_elements/cs/table_of_contents.yml +21 -0
  125. data/data/resources/document_elements/cs/tables.yml +19 -0
  126. data/data/resources/document_elements/cs/watermarks.yml +25 -0
  127. data/data/resources/document_elements/da/bibliographies.yml +13 -0
  128. data/data/resources/document_elements/da/cover_pages.yml +26 -0
  129. data/data/resources/document_elements/da/equations.yml +21 -0
  130. data/data/resources/document_elements/da/footers.yml +31 -0
  131. data/data/resources/document_elements/da/headers.yml +32 -0
  132. data/data/resources/document_elements/da/table_of_contents.yml +21 -0
  133. data/data/resources/document_elements/da/tables.yml +19 -0
  134. data/data/resources/document_elements/da/watermarks.yml +25 -0
  135. data/data/resources/document_elements/de/bibliographies.yml +13 -0
  136. data/data/resources/document_elements/de/cover_pages.yml +26 -0
  137. data/data/resources/document_elements/de/equations.yml +21 -0
  138. data/data/resources/document_elements/de/footers.yml +31 -0
  139. data/data/resources/document_elements/de/headers.yml +32 -0
  140. data/data/resources/document_elements/de/table_of_contents.yml +21 -0
  141. data/data/resources/document_elements/de/tables.yml +19 -0
  142. data/data/resources/document_elements/de/watermarks.yml +25 -0
  143. data/data/resources/document_elements/el/bibliographies.yml +13 -0
  144. data/data/resources/document_elements/el/cover_pages.yml +26 -0
  145. data/data/resources/document_elements/el/equations.yml +21 -0
  146. data/data/resources/document_elements/el/footers.yml +31 -0
  147. data/data/resources/document_elements/el/headers.yml +32 -0
  148. data/data/resources/document_elements/el/table_of_contents.yml +21 -0
  149. data/data/resources/document_elements/el/tables.yml +19 -0
  150. data/data/resources/document_elements/el/watermarks.yml +25 -0
  151. data/data/resources/document_elements/en/bibliographies.yml +13 -0
  152. data/data/resources/document_elements/en/cover_pages.yml +26 -0
  153. data/data/resources/document_elements/en/equations.yml +21 -0
  154. data/data/resources/document_elements/en/footers.yml +31 -0
  155. data/data/resources/document_elements/en/headers.yml +32 -0
  156. data/data/resources/document_elements/en/table_of_contents.yml +21 -0
  157. data/data/resources/document_elements/en/tables.yml +19 -0
  158. data/data/resources/document_elements/en/watermarks.yml +25 -0
  159. data/data/resources/document_elements/en-GB/bibliographies.yml +13 -0
  160. data/data/resources/document_elements/en-GB/cover_pages.yml +26 -0
  161. data/data/resources/document_elements/en-GB/equations.yml +21 -0
  162. data/data/resources/document_elements/en-GB/footers.yml +31 -0
  163. data/data/resources/document_elements/en-GB/headers.yml +32 -0
  164. data/data/resources/document_elements/en-GB/table_of_contents.yml +21 -0
  165. data/data/resources/document_elements/en-GB/tables.yml +19 -0
  166. data/data/resources/document_elements/en-GB/watermarks.yml +25 -0
  167. data/data/resources/document_elements/es/bibliographies.yml +13 -0
  168. data/data/resources/document_elements/es/cover_pages.yml +26 -0
  169. data/data/resources/document_elements/es/equations.yml +21 -0
  170. data/data/resources/document_elements/es/footers.yml +31 -0
  171. data/data/resources/document_elements/es/headers.yml +32 -0
  172. data/data/resources/document_elements/es/table_of_contents.yml +21 -0
  173. data/data/resources/document_elements/es/tables.yml +19 -0
  174. data/data/resources/document_elements/es/watermarks.yml +25 -0
  175. data/data/resources/document_elements/es-MX/bibliographies.yml +13 -0
  176. data/data/resources/document_elements/es-MX/cover_pages.yml +26 -0
  177. data/data/resources/document_elements/es-MX/equations.yml +21 -0
  178. data/data/resources/document_elements/es-MX/footers.yml +31 -0
  179. data/data/resources/document_elements/es-MX/headers.yml +32 -0
  180. data/data/resources/document_elements/es-MX/table_of_contents.yml +21 -0
  181. data/data/resources/document_elements/es-MX/tables.yml +19 -0
  182. data/data/resources/document_elements/es-MX/watermarks.yml +25 -0
  183. data/data/resources/document_elements/fi/bibliographies.yml +13 -0
  184. data/data/resources/document_elements/fi/cover_pages.yml +26 -0
  185. data/data/resources/document_elements/fi/equations.yml +21 -0
  186. data/data/resources/document_elements/fi/footers.yml +31 -0
  187. data/data/resources/document_elements/fi/headers.yml +32 -0
  188. data/data/resources/document_elements/fi/table_of_contents.yml +21 -0
  189. data/data/resources/document_elements/fi/tables.yml +19 -0
  190. data/data/resources/document_elements/fi/watermarks.yml +25 -0
  191. data/data/resources/document_elements/fr/bibliographies.yml +13 -0
  192. data/data/resources/document_elements/fr/cover_pages.yml +26 -0
  193. data/data/resources/document_elements/fr/equations.yml +21 -0
  194. data/data/resources/document_elements/fr/footers.yml +31 -0
  195. data/data/resources/document_elements/fr/headers.yml +32 -0
  196. data/data/resources/document_elements/fr/table_of_contents.yml +21 -0
  197. data/data/resources/document_elements/fr/tables.yml +19 -0
  198. data/data/resources/document_elements/fr/watermarks.yml +25 -0
  199. data/data/resources/document_elements/fr-CA/bibliographies.yml +13 -0
  200. data/data/resources/document_elements/fr-CA/cover_pages.yml +26 -0
  201. data/data/resources/document_elements/fr-CA/equations.yml +21 -0
  202. data/data/resources/document_elements/fr-CA/footers.yml +31 -0
  203. data/data/resources/document_elements/fr-CA/headers.yml +32 -0
  204. data/data/resources/document_elements/fr-CA/table_of_contents.yml +21 -0
  205. data/data/resources/document_elements/fr-CA/tables.yml +19 -0
  206. data/data/resources/document_elements/fr-CA/watermarks.yml +25 -0
  207. data/data/resources/document_elements/he/bibliographies.yml +13 -0
  208. data/data/resources/document_elements/he/cover_pages.yml +26 -0
  209. data/data/resources/document_elements/he/equations.yml +21 -0
  210. data/data/resources/document_elements/he/footers.yml +31 -0
  211. data/data/resources/document_elements/he/headers.yml +32 -0
  212. data/data/resources/document_elements/he/table_of_contents.yml +21 -0
  213. data/data/resources/document_elements/he/tables.yml +19 -0
  214. data/data/resources/document_elements/he/watermarks.yml +25 -0
  215. data/data/resources/document_elements/hu/bibliographies.yml +13 -0
  216. data/data/resources/document_elements/hu/cover_pages.yml +26 -0
  217. data/data/resources/document_elements/hu/equations.yml +21 -0
  218. data/data/resources/document_elements/hu/footers.yml +31 -0
  219. data/data/resources/document_elements/hu/headers.yml +32 -0
  220. data/data/resources/document_elements/hu/table_of_contents.yml +21 -0
  221. data/data/resources/document_elements/hu/tables.yml +19 -0
  222. data/data/resources/document_elements/hu/watermarks.yml +25 -0
  223. data/data/resources/document_elements/id/bibliographies.yml +13 -0
  224. data/data/resources/document_elements/id/cover_pages.yml +26 -0
  225. data/data/resources/document_elements/id/equations.yml +21 -0
  226. data/data/resources/document_elements/id/footers.yml +31 -0
  227. data/data/resources/document_elements/id/headers.yml +32 -0
  228. data/data/resources/document_elements/id/table_of_contents.yml +21 -0
  229. data/data/resources/document_elements/id/tables.yml +19 -0
  230. data/data/resources/document_elements/id/watermarks.yml +25 -0
  231. data/data/resources/document_elements/it/bibliographies.yml +13 -0
  232. data/data/resources/document_elements/it/cover_pages.yml +26 -0
  233. data/data/resources/document_elements/it/equations.yml +21 -0
  234. data/data/resources/document_elements/it/footers.yml +31 -0
  235. data/data/resources/document_elements/it/headers.yml +32 -0
  236. data/data/resources/document_elements/it/table_of_contents.yml +21 -0
  237. data/data/resources/document_elements/it/tables.yml +19 -0
  238. data/data/resources/document_elements/it/watermarks.yml +25 -0
  239. data/data/resources/document_elements/ja/bibliographies.yml +13 -0
  240. data/data/resources/document_elements/ja/cover_pages.yml +26 -0
  241. data/data/resources/document_elements/ja/equations.yml +21 -0
  242. data/data/resources/document_elements/ja/footers.yml +31 -0
  243. data/data/resources/document_elements/ja/headers.yml +32 -0
  244. data/data/resources/document_elements/ja/table_of_contents.yml +21 -0
  245. data/data/resources/document_elements/ja/tables.yml +19 -0
  246. data/data/resources/document_elements/ja/watermarks.yml +25 -0
  247. data/data/resources/document_elements/ko/bibliographies.yml +13 -0
  248. data/data/resources/document_elements/ko/cover_pages.yml +26 -0
  249. data/data/resources/document_elements/ko/equations.yml +21 -0
  250. data/data/resources/document_elements/ko/footers.yml +31 -0
  251. data/data/resources/document_elements/ko/headers.yml +32 -0
  252. data/data/resources/document_elements/ko/table_of_contents.yml +21 -0
  253. data/data/resources/document_elements/ko/tables.yml +19 -0
  254. data/data/resources/document_elements/ko/watermarks.yml +25 -0
  255. data/data/resources/document_elements/nl/bibliographies.yml +13 -0
  256. data/data/resources/document_elements/nl/cover_pages.yml +26 -0
  257. data/data/resources/document_elements/nl/equations.yml +21 -0
  258. data/data/resources/document_elements/nl/footers.yml +31 -0
  259. data/data/resources/document_elements/nl/headers.yml +32 -0
  260. data/data/resources/document_elements/nl/table_of_contents.yml +21 -0
  261. data/data/resources/document_elements/nl/tables.yml +19 -0
  262. data/data/resources/document_elements/nl/watermarks.yml +25 -0
  263. data/data/resources/document_elements/no/bibliographies.yml +13 -0
  264. data/data/resources/document_elements/no/cover_pages.yml +26 -0
  265. data/data/resources/document_elements/no/equations.yml +21 -0
  266. data/data/resources/document_elements/no/footers.yml +31 -0
  267. data/data/resources/document_elements/no/headers.yml +32 -0
  268. data/data/resources/document_elements/no/table_of_contents.yml +21 -0
  269. data/data/resources/document_elements/no/tables.yml +19 -0
  270. data/data/resources/document_elements/no/watermarks.yml +25 -0
  271. data/data/resources/document_elements/pl/bibliographies.yml +13 -0
  272. data/data/resources/document_elements/pl/cover_pages.yml +26 -0
  273. data/data/resources/document_elements/pl/equations.yml +21 -0
  274. data/data/resources/document_elements/pl/footers.yml +31 -0
  275. data/data/resources/document_elements/pl/headers.yml +32 -0
  276. data/data/resources/document_elements/pl/table_of_contents.yml +21 -0
  277. data/data/resources/document_elements/pl/tables.yml +19 -0
  278. data/data/resources/document_elements/pl/watermarks.yml +25 -0
  279. data/data/resources/document_elements/pt/bibliographies.yml +13 -0
  280. data/data/resources/document_elements/pt/cover_pages.yml +26 -0
  281. data/data/resources/document_elements/pt/equations.yml +21 -0
  282. data/data/resources/document_elements/pt/footers.yml +31 -0
  283. data/data/resources/document_elements/pt/headers.yml +32 -0
  284. data/data/resources/document_elements/pt/table_of_contents.yml +21 -0
  285. data/data/resources/document_elements/pt/tables.yml +19 -0
  286. data/data/resources/document_elements/pt/watermarks.yml +25 -0
  287. data/data/resources/document_elements/pt-PT/bibliographies.yml +13 -0
  288. data/data/resources/document_elements/pt-PT/cover_pages.yml +26 -0
  289. data/data/resources/document_elements/pt-PT/equations.yml +21 -0
  290. data/data/resources/document_elements/pt-PT/footers.yml +31 -0
  291. data/data/resources/document_elements/pt-PT/headers.yml +32 -0
  292. data/data/resources/document_elements/pt-PT/table_of_contents.yml +21 -0
  293. data/data/resources/document_elements/pt-PT/tables.yml +19 -0
  294. data/data/resources/document_elements/pt-PT/watermarks.yml +25 -0
  295. data/data/resources/document_elements/ru/bibliographies.yml +13 -0
  296. data/data/resources/document_elements/ru/cover_pages.yml +26 -0
  297. data/data/resources/document_elements/ru/equations.yml +21 -0
  298. data/data/resources/document_elements/ru/footers.yml +31 -0
  299. data/data/resources/document_elements/ru/headers.yml +32 -0
  300. data/data/resources/document_elements/ru/table_of_contents.yml +21 -0
  301. data/data/resources/document_elements/ru/tables.yml +19 -0
  302. data/data/resources/document_elements/ru/watermarks.yml +25 -0
  303. data/data/resources/document_elements/sk/bibliographies.yml +13 -0
  304. data/data/resources/document_elements/sk/cover_pages.yml +26 -0
  305. data/data/resources/document_elements/sk/equations.yml +21 -0
  306. data/data/resources/document_elements/sk/footers.yml +31 -0
  307. data/data/resources/document_elements/sk/headers.yml +32 -0
  308. data/data/resources/document_elements/sk/table_of_contents.yml +21 -0
  309. data/data/resources/document_elements/sk/tables.yml +19 -0
  310. data/data/resources/document_elements/sk/watermarks.yml +25 -0
  311. data/data/resources/document_elements/sv/bibliographies.yml +13 -0
  312. data/data/resources/document_elements/sv/cover_pages.yml +26 -0
  313. data/data/resources/document_elements/sv/equations.yml +21 -0
  314. data/data/resources/document_elements/sv/footers.yml +31 -0
  315. data/data/resources/document_elements/sv/headers.yml +32 -0
  316. data/data/resources/document_elements/sv/table_of_contents.yml +21 -0
  317. data/data/resources/document_elements/sv/tables.yml +19 -0
  318. data/data/resources/document_elements/sv/watermarks.yml +25 -0
  319. data/data/resources/document_elements/th/bibliographies.yml +13 -0
  320. data/data/resources/document_elements/th/cover_pages.yml +26 -0
  321. data/data/resources/document_elements/th/equations.yml +21 -0
  322. data/data/resources/document_elements/th/footers.yml +31 -0
  323. data/data/resources/document_elements/th/headers.yml +32 -0
  324. data/data/resources/document_elements/th/table_of_contents.yml +21 -0
  325. data/data/resources/document_elements/th/tables.yml +19 -0
  326. data/data/resources/document_elements/th/watermarks.yml +25 -0
  327. data/data/resources/document_elements/tr/bibliographies.yml +13 -0
  328. data/data/resources/document_elements/tr/cover_pages.yml +26 -0
  329. data/data/resources/document_elements/tr/equations.yml +21 -0
  330. data/data/resources/document_elements/tr/footers.yml +31 -0
  331. data/data/resources/document_elements/tr/headers.yml +32 -0
  332. data/data/resources/document_elements/tr/table_of_contents.yml +21 -0
  333. data/data/resources/document_elements/tr/tables.yml +19 -0
  334. data/data/resources/document_elements/tr/watermarks.yml +25 -0
  335. data/data/resources/document_elements/zh-CN/bibliographies.yml +13 -0
  336. data/data/resources/document_elements/zh-CN/cover_pages.yml +26 -0
  337. data/data/resources/document_elements/zh-CN/equations.yml +21 -0
  338. data/data/resources/document_elements/zh-CN/footers.yml +31 -0
  339. data/data/resources/document_elements/zh-CN/headers.yml +32 -0
  340. data/data/resources/document_elements/zh-CN/table_of_contents.yml +21 -0
  341. data/data/resources/document_elements/zh-CN/tables.yml +19 -0
  342. data/data/resources/document_elements/zh-CN/watermarks.yml +25 -0
  343. data/data/resources/document_elements/zh-TW/bibliographies.yml +13 -0
  344. data/data/resources/document_elements/zh-TW/cover_pages.yml +26 -0
  345. data/data/resources/document_elements/zh-TW/equations.yml +21 -0
  346. data/data/resources/document_elements/zh-TW/footers.yml +31 -0
  347. data/data/resources/document_elements/zh-TW/headers.yml +32 -0
  348. data/data/resources/document_elements/zh-TW/table_of_contents.yml +21 -0
  349. data/data/resources/document_elements/zh-TW/tables.yml +19 -0
  350. data/data/resources/document_elements/zh-TW/watermarks.yml +25 -0
  351. data/data/resources/font_registry.yml +135 -0
  352. data/data/schemas/ecma/opc-contentTypes.xsd +42 -0
  353. data/data/schemas/ecma/opc-coreProperties.xsd +50 -0
  354. data/data/schemas/ecma/opc-digSig.xsd +49 -0
  355. data/data/schemas/ecma/opc-relationships.xsd +33 -0
  356. data/data/schemas/iso/dml-chart.xsd +1499 -0
  357. data/data/schemas/iso/dml-chartDrawing.xsd +146 -0
  358. data/data/schemas/iso/dml-diagram.xsd +1085 -0
  359. data/data/schemas/iso/dml-lockedCanvas.xsd +11 -0
  360. data/data/schemas/iso/dml-main.xsd +3081 -0
  361. data/data/schemas/iso/dml-picture.xsd +23 -0
  362. data/data/schemas/iso/dml-spreadsheetDrawing.xsd +185 -0
  363. data/data/schemas/iso/dml-wordprocessingDrawing.xsd +287 -0
  364. data/data/schemas/iso/pml.xsd +1676 -0
  365. data/data/schemas/iso/shared-additionalCharacteristics.xsd +28 -0
  366. data/data/schemas/iso/shared-bibliography.xsd +144 -0
  367. data/data/schemas/iso/shared-commonSimpleTypes.xsd +172 -0
  368. data/data/schemas/iso/shared-customXmlDataProperties.xsd +25 -0
  369. data/data/schemas/iso/shared-customXmlSchemaProperties.xsd +18 -0
  370. data/data/schemas/iso/shared-documentPropertiesCustom.xsd +59 -0
  371. data/data/schemas/iso/shared-documentPropertiesExtended.xsd +56 -0
  372. data/data/schemas/iso/shared-documentPropertiesVariantTypes.xsd +195 -0
  373. data/data/schemas/iso/shared-math.xsd +582 -0
  374. data/data/schemas/iso/shared-relationshipReference.xsd +25 -0
  375. data/data/schemas/iso/sml.xsd +4439 -0
  376. data/data/schemas/iso/vml-main.xsd +570 -0
  377. data/data/schemas/iso/vml-officeDrawing.xsd +509 -0
  378. data/data/schemas/iso/vml-presentationDrawing.xsd +12 -0
  379. data/data/schemas/iso/vml-spreadsheetDrawing.xsd +108 -0
  380. data/data/schemas/iso/vml-wordprocessingDrawing.xsd +96 -0
  381. data/data/schemas/iso/wml.xsd +3646 -0
  382. data/data/schemas/iso/xml.xsd +116 -0
  383. data/data/schemas/mce/mc.xsd +75 -0
  384. data/data/schemas/microsoft/wml-2010.xsd +560 -0
  385. data/data/schemas/microsoft/wml-2012.xsd +66 -0
  386. data/data/schemas/microsoft/wml-2018.xsd +14 -0
  387. data/data/schemas/microsoft/wml-cex-2018.xsd +19 -0
  388. data/data/schemas/microsoft/wml-cid-2016.xsd +13 -0
  389. data/data/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  390. data/data/schemas/microsoft/wml-symex-2015.xsd +8 -0
  391. data/data/schemas/microsoft/word12.xsd +3 -0
  392. data/data/stylesets/ceremonial.yml +929 -0
  393. data/data/stylesets/classic.yml +1051 -0
  394. data/data/stylesets/contemporary.yml +951 -0
  395. data/data/stylesets/gazette.yml +1452 -0
  396. data/data/stylesets/heritage.yml +898 -0
  397. data/data/stylesets/minimal.yml +855 -0
  398. data/data/stylesets/ornate.yml +920 -0
  399. data/data/stylesets/outlook.yml +1428 -0
  400. data/data/stylesets/refined.yml +956 -0
  401. data/data/stylesets/scrollwork.yml +891 -0
  402. data/data/stylesets/signature.yml +903 -0
  403. data/data/stylesets/wicker.yml +1285 -0
  404. data/data/themes/abyss.yml +197 -0
  405. data/data/themes/archive.yml +197 -0
  406. data/data/themes/boardwalk.yml +197 -0
  407. data/data/themes/botanical.yml +197 -0
  408. data/data/themes/bulletin.yml +197 -0
  409. data/data/themes/calculus.yml +389 -0
  410. data/data/themes/constellation.yml +197 -0
  411. data/data/themes/contrail.yml +197 -0
  412. data/data/themes/corporate.yml +197 -0
  413. data/data/themes/emblem.yml +197 -0
  414. data/data/themes/exhibit.yml +197 -0
  415. data/data/themes/harvest.yml +197 -0
  416. data/data/themes/incision.yml +197 -0
  417. data/data/themes/lather.yml +197 -0
  418. data/data/themes/letterpress.yml +197 -0
  419. data/data/themes/memoir.yml +389 -0
  420. data/data/themes/meridian.yml +197 -0
  421. data/data/themes/mosaic.yml +197 -0
  422. data/data/themes/parkway.yml +197 -0
  423. data/data/themes/plasma.yml +197 -0
  424. data/data/themes/plumage.yml +197 -0
  425. data/data/themes/prism.yml +197 -0
  426. data/data/themes/ripple.yml +197 -0
  427. data/data/themes/spectrum.yml +197 -0
  428. data/data/themes/spotlight.yml +197 -0
  429. data/data/themes/vista.yml +197 -0
  430. data/data/themes/weave.yml +197 -0
  431. data/data/themes/workspace.yml +197 -0
  432. data/data/themes/zephyr.yml +197 -0
  433. data/exe/uniword +2 -2
  434. data/lib/uniword/accessibility/accessibility_checker.rb +4 -4
  435. data/lib/uniword/accessibility/accessibility_profile.rb +20 -11
  436. data/lib/uniword/accessibility/accessibility_report.rb +9 -9
  437. data/lib/uniword/accessibility/accessibility_rule.rb +7 -7
  438. data/lib/uniword/accessibility/accessibility_violation.rb +1 -1
  439. data/lib/uniword/accessibility/rules/descriptive_headings_rule.rb +5 -5
  440. data/lib/uniword/accessibility/rules/document_title_rule.rb +3 -3
  441. data/lib/uniword/accessibility/rules/heading_structure_rule.rb +6 -6
  442. data/lib/uniword/accessibility/rules/image_alt_text_rule.rb +7 -5
  443. data/lib/uniword/accessibility/rules/language_specification_rule.rb +2 -2
  444. data/lib/uniword/accessibility/rules/table_headers_rule.rb +2 -2
  445. data/lib/uniword/accessibility/rules.rb +4 -2
  446. data/lib/uniword/accessibility.rb +8 -4
  447. data/lib/uniword/assembly/assembly_manifest.rb +27 -18
  448. data/lib/uniword/assembly/component_registry.rb +10 -10
  449. data/lib/uniword/assembly/cross_reference_resolver.rb +1 -1
  450. data/lib/uniword/assembly/document_assembler.rb +19 -19
  451. data/lib/uniword/assembly/toc.rb +4 -4
  452. data/lib/uniword/assembly/toc_entry.rb +2 -1
  453. data/lib/uniword/assembly/toc_instruction.rb +3 -3
  454. data/lib/uniword/assembly/variable_substitutor.rb +2 -2
  455. data/lib/uniword/assembly.rb +2 -1
  456. data/lib/uniword/batch/batch_result.rb +20 -20
  457. data/lib/uniword/batch/document_processor.rb +32 -28
  458. data/lib/uniword/batch/processing_stage.rb +6 -6
  459. data/lib/uniword/batch/stages/compress_images_stage.rb +2 -2
  460. data/lib/uniword/batch/stages/convert_format_stage.rb +7 -7
  461. data/lib/uniword/batch/stages/normalize_styles_stage.rb +14 -14
  462. data/lib/uniword/batch/stages/quality_check_stage.rb +13 -9
  463. data/lib/uniword/batch/stages/update_metadata_stage.rb +7 -11
  464. data/lib/uniword/batch/stages/validate_links_stage.rb +9 -9
  465. data/lib/uniword/batch.rb +6 -3
  466. data/lib/uniword/bibliography/author.rb +21 -21
  467. data/lib/uniword/bibliography/city.rb +3 -3
  468. data/lib/uniword/bibliography/corporate.rb +3 -3
  469. data/lib/uniword/bibliography/day.rb +3 -3
  470. data/lib/uniword/bibliography/edition.rb +3 -3
  471. data/lib/uniword/bibliography/first.rb +3 -3
  472. data/lib/uniword/bibliography/first_name.rb +3 -3
  473. data/lib/uniword/bibliography/guid.rb +3 -3
  474. data/lib/uniword/bibliography/issue.rb +3 -3
  475. data/lib/uniword/bibliography/last.rb +3 -3
  476. data/lib/uniword/bibliography/last_name.rb +3 -3
  477. data/lib/uniword/bibliography/lcid.rb +3 -3
  478. data/lib/uniword/bibliography/locale_id.rb +3 -3
  479. data/lib/uniword/bibliography/month.rb +3 -3
  480. data/lib/uniword/bibliography/name_list.rb +3 -3
  481. data/lib/uniword/bibliography/pages.rb +3 -3
  482. data/lib/uniword/bibliography/person.rb +5 -5
  483. data/lib/uniword/bibliography/publisher.rb +3 -3
  484. data/lib/uniword/bibliography/ref_order.rb +3 -3
  485. data/lib/uniword/bibliography/source.rb +59 -55
  486. data/lib/uniword/bibliography/source_tag.rb +3 -3
  487. data/lib/uniword/bibliography/source_type.rb +3 -3
  488. data/lib/uniword/bibliography/sources.rb +6 -6
  489. data/lib/uniword/bibliography/tag.rb +3 -3
  490. data/lib/uniword/bibliography/title.rb +3 -3
  491. data/lib/uniword/bibliography/url.rb +3 -3
  492. data/lib/uniword/bibliography/volume_number.rb +3 -3
  493. data/lib/uniword/bibliography/year.rb +3 -3
  494. data/lib/uniword/bibliography.rb +30 -30
  495. data/lib/uniword/bookmark.rb +2 -2
  496. data/lib/uniword/builder/base_builder.rb +44 -0
  497. data/lib/uniword/builder/bibliography_builder.rb +7 -7
  498. data/lib/uniword/builder/chart_builder.rb +100 -159
  499. data/lib/uniword/builder/comment_builder.rb +1 -1
  500. data/lib/uniword/builder/document_builder.rb +18 -59
  501. data/lib/uniword/builder/footnote_builder.rb +2 -2
  502. data/lib/uniword/builder/has_borders.rb +26 -0
  503. data/lib/uniword/builder/has_shading.rb +19 -0
  504. data/lib/uniword/builder/header_footer_builder.rb +2 -2
  505. data/lib/uniword/builder/image_builder.rb +41 -36
  506. data/lib/uniword/builder/list_builder.rb +5 -4
  507. data/lib/uniword/builder/numbering_builder.rb +4 -16
  508. data/lib/uniword/builder/paragraph_builder.rb +16 -89
  509. data/lib/uniword/builder/run_builder.rb +31 -158
  510. data/lib/uniword/builder/sdt_builder.rb +19 -37
  511. data/lib/uniword/builder/section_builder.rb +11 -39
  512. data/lib/uniword/builder/style_builder.rb +3 -3
  513. data/lib/uniword/builder/table_builder.rb +11 -51
  514. data/lib/uniword/builder/table_cell_builder.rb +14 -58
  515. data/lib/uniword/builder/table_row_builder.rb +4 -16
  516. data/lib/uniword/builder/toc_builder.rb +4 -4
  517. data/lib/uniword/builder/watermark_builder.rb +17 -17
  518. data/lib/uniword/builder.rb +37 -36
  519. data/lib/uniword/chart/area3_d_chart.rb +9 -9
  520. data/lib/uniword/chart/area_chart.rb +8 -8
  521. data/lib/uniword/chart/auto_title_deleted.rb +3 -3
  522. data/lib/uniword/chart/axis_id.rb +3 -3
  523. data/lib/uniword/chart/axis_position.rb +3 -3
  524. data/lib/uniword/chart/bar3_d_chart.rb +11 -11
  525. data/lib/uniword/chart/bar_chart.rb +10 -10
  526. data/lib/uniword/chart/bubble_chart.rb +10 -10
  527. data/lib/uniword/chart/bubble_size.rb +4 -4
  528. data/lib/uniword/chart/cat_ax.rb +14 -14
  529. data/lib/uniword/chart/category_axis_data.rb +6 -6
  530. data/lib/uniword/chart/chart.rb +9 -8
  531. data/lib/uniword/chart/chart_reference.rb +3 -3
  532. data/lib/uniword/chart/chart_space.rb +9 -9
  533. data/lib/uniword/chart/color_map_override.rb +3 -3
  534. data/lib/uniword/chart/data_label.rb +9 -9
  535. data/lib/uniword/chart/data_labels.rb +12 -12
  536. data/lib/uniword/chart/date_ax.rb +14 -14
  537. data/lib/uniword/chart/diagram_reference.rb +3 -3
  538. data/lib/uniword/chart/doughnut_chart.rb +7 -7
  539. data/lib/uniword/chart/drop_lines.rb +3 -3
  540. data/lib/uniword/chart/error_bar_type.rb +3 -3
  541. data/lib/uniword/chart/error_bars.rb +10 -10
  542. data/lib/uniword/chart/error_direction.rb +3 -3
  543. data/lib/uniword/chart/explosion.rb +3 -3
  544. data/lib/uniword/chart/gap_width.rb +3 -3
  545. data/lib/uniword/chart/hi_low_lines.rb +3 -3
  546. data/lib/uniword/chart/index.rb +3 -3
  547. data/lib/uniword/chart/layout.rb +3 -3
  548. data/lib/uniword/chart/legend.rb +10 -9
  549. data/lib/uniword/chart/legend_entry.rb +5 -5
  550. data/lib/uniword/chart/legend_position.rb +3 -3
  551. data/lib/uniword/chart/line3_d_chart.rb +9 -9
  552. data/lib/uniword/chart/line_chart.rb +12 -12
  553. data/lib/uniword/chart/major_gridlines.rb +3 -3
  554. data/lib/uniword/chart/marker.rb +5 -5
  555. data/lib/uniword/chart/marker_size.rb +3 -3
  556. data/lib/uniword/chart/marker_style.rb +3 -3
  557. data/lib/uniword/chart/minor_gridlines.rb +3 -3
  558. data/lib/uniword/chart/number_reference.rb +4 -4
  559. data/lib/uniword/chart/numbering_format.rb +4 -4
  560. data/lib/uniword/chart/order.rb +3 -3
  561. data/lib/uniword/chart/orientation.rb +3 -3
  562. data/lib/uniword/chart/pie3_d_chart.rb +5 -5
  563. data/lib/uniword/chart/pie_chart.rb +6 -6
  564. data/lib/uniword/chart/plot_area.rb +9 -9
  565. data/lib/uniword/chart/plot_vis_only.rb +3 -3
  566. data/lib/uniword/chart/radar_chart.rb +7 -7
  567. data/lib/uniword/chart/scaling.rb +6 -6
  568. data/lib/uniword/chart/scatter_chart.rb +7 -7
  569. data/lib/uniword/chart/ser_ax.rb +13 -13
  570. data/lib/uniword/chart/series.rb +6 -6
  571. data/lib/uniword/chart/series_text.rb +4 -4
  572. data/lib/uniword/chart/shape_properties.rb +3 -3
  573. data/lib/uniword/chart/show_category_name.rb +3 -3
  574. data/lib/uniword/chart/show_legend_key.rb +3 -3
  575. data/lib/uniword/chart/show_value.rb +3 -3
  576. data/lib/uniword/chart/smooth.rb +3 -3
  577. data/lib/uniword/chart/stock_chart.rb +8 -8
  578. data/lib/uniword/chart/style.rb +3 -3
  579. data/lib/uniword/chart/surface3_d_chart.rb +6 -6
  580. data/lib/uniword/chart/surface_chart.rb +6 -6
  581. data/lib/uniword/chart/text_properties.rb +3 -3
  582. data/lib/uniword/chart/tick_label_position.rb +3 -3
  583. data/lib/uniword/chart/title.rb +7 -7
  584. data/lib/uniword/chart/trendline.rb +9 -9
  585. data/lib/uniword/chart/trendline_type.rb +3 -3
  586. data/lib/uniword/chart/up_down_bars.rb +5 -5
  587. data/lib/uniword/chart/val_ax.rb +16 -16
  588. data/lib/uniword/chart/values.rb +4 -4
  589. data/lib/uniword/chart/x_values.rb +4 -4
  590. data/lib/uniword/chart/y_values.rb +4 -4
  591. data/lib/uniword/cli/diff_cli.rb +188 -0
  592. data/lib/uniword/cli/generate_cli.rb +83 -0
  593. data/lib/uniword/cli/headers_cli.rb +159 -0
  594. data/lib/uniword/cli/helpers.rb +43 -0
  595. data/lib/uniword/cli/images_cli.rb +166 -0
  596. data/lib/uniword/cli/main.rb +550 -0
  597. data/lib/uniword/cli/protect_cli.rb +97 -0
  598. data/lib/uniword/cli/resources_cli.rb +165 -0
  599. data/lib/uniword/cli/review_cli.rb +291 -0
  600. data/lib/uniword/cli/spellcheck_cli.rb +102 -0
  601. data/lib/uniword/cli/styleset_cli.rb +191 -0
  602. data/lib/uniword/cli/template_cli.rb +194 -0
  603. data/lib/uniword/cli/theme_cli.rb +221 -0
  604. data/lib/uniword/cli/toc_cli.rb +154 -0
  605. data/lib/uniword/cli/watermark_cli.rb +97 -0
  606. data/lib/uniword/cli.rb +18 -735
  607. data/lib/uniword/column_configuration.rb +2 -2
  608. data/lib/uniword/comment.rb +7 -7
  609. data/lib/uniword/comment_range.rb +5 -5
  610. data/lib/uniword/comments_part.rb +7 -3
  611. data/lib/uniword/configuration/configuration_loader.rb +3 -3
  612. data/lib/uniword/configuration.rb +2 -1
  613. data/lib/uniword/content_types/default.rb +4 -4
  614. data/lib/uniword/content_types/override.rb +4 -4
  615. data/lib/uniword/content_types/types.rb +4 -7
  616. data/lib/uniword/content_types.rb +35 -35
  617. data/lib/uniword/customxml/custom_xml.rb +6 -6
  618. data/lib/uniword/customxml/custom_xml_attribute.rb +5 -5
  619. data/lib/uniword/customxml/custom_xml_block.rb +6 -6
  620. data/lib/uniword/customxml/custom_xml_cell.rb +6 -6
  621. data/lib/uniword/customxml/custom_xml_del_range_start.rb +5 -5
  622. data/lib/uniword/customxml/custom_xml_ins_range_end.rb +3 -3
  623. data/lib/uniword/customxml/custom_xml_ins_range_start.rb +5 -5
  624. data/lib/uniword/customxml/custom_xml_move_from_range_end.rb +3 -3
  625. data/lib/uniword/customxml/custom_xml_move_from_range_start.rb +5 -5
  626. data/lib/uniword/customxml/custom_xml_move_to_range_end.rb +3 -3
  627. data/lib/uniword/customxml/custom_xml_move_to_range_start.rb +5 -5
  628. data/lib/uniword/customxml/custom_xml_properties.rb +7 -6
  629. data/lib/uniword/customxml/custom_xml_row.rb +6 -6
  630. data/lib/uniword/customxml/custom_xml_run.rb +6 -6
  631. data/lib/uniword/customxml/data_binding.rb +5 -5
  632. data/lib/uniword/customxml/data_store_item.rb +4 -4
  633. data/lib/uniword/customxml/element_name.rb +3 -3
  634. data/lib/uniword/customxml/name.rb +3 -3
  635. data/lib/uniword/customxml/namespace_uri.rb +3 -3
  636. data/lib/uniword/customxml/placeholder.rb +3 -3
  637. data/lib/uniword/customxml/placeholder_text.rb +3 -3
  638. data/lib/uniword/customxml/prefix_mappings.rb +3 -3
  639. data/lib/uniword/customxml/schema_reference.rb +5 -5
  640. data/lib/uniword/customxml/showing_placeholder.rb +3 -3
  641. data/lib/uniword/customxml/showing_placeholder_header.rb +3 -3
  642. data/lib/uniword/customxml/smart_tag.rb +6 -6
  643. data/lib/uniword/customxml/smart_tag_attribute.rb +4 -4
  644. data/lib/uniword/customxml/smart_tag_element.rb +3 -3
  645. data/lib/uniword/customxml/smart_tag_name.rb +3 -3
  646. data/lib/uniword/customxml/smart_tag_properties.rb +5 -4
  647. data/lib/uniword/customxml/smart_tag_type.rb +5 -5
  648. data/lib/uniword/customxml/smart_tag_uri.rb +3 -3
  649. data/lib/uniword/customxml/store_item_id.rb +3 -3
  650. data/lib/uniword/customxml/x_path.rb +3 -3
  651. data/lib/uniword/customxml/x_path_expression.rb +3 -3
  652. data/lib/uniword/customxml.rb +45 -38
  653. data/lib/uniword/diff/diff_result.rb +100 -0
  654. data/lib/uniword/diff/document_differ.rb +517 -0
  655. data/lib/uniword/diff/formatter.rb +120 -0
  656. data/lib/uniword/diff/package_diff_result.rb +204 -0
  657. data/lib/uniword/diff/package_differ.rb +581 -0
  658. data/lib/uniword/diff.rb +19 -0
  659. data/lib/uniword/document_factory.rb +55 -26
  660. data/lib/uniword/document_variables/data_type.rb +3 -3
  661. data/lib/uniword/document_variables/default_value.rb +3 -3
  662. data/lib/uniword/document_variables/doc_var.rb +4 -4
  663. data/lib/uniword/document_variables/doc_vars.rb +3 -3
  664. data/lib/uniword/document_variables/read_only.rb +3 -3
  665. data/lib/uniword/document_variables/variable_binding.rb +5 -5
  666. data/lib/uniword/document_variables/variable_collection.rb +4 -4
  667. data/lib/uniword/document_variables/variable_expression.rb +3 -3
  668. data/lib/uniword/document_variables/variable_format.rb +3 -3
  669. data/lib/uniword/document_variables/variable_scope.rb +3 -3
  670. data/lib/uniword/document_writer.rb +18 -17
  671. data/lib/uniword/docx/document_statistics.rb +142 -0
  672. data/lib/uniword/docx/package.rb +492 -0
  673. data/lib/uniword/docx/package_defaults.rb +151 -0
  674. data/lib/uniword/docx/package_serialization.rb +490 -0
  675. data/lib/uniword/docx/profile.rb +256 -0
  676. data/lib/uniword/docx/reconciler.rb +1006 -0
  677. data/lib/uniword/docx.rb +15 -0
  678. data/lib/uniword/drawingml/adjust_value_list.rb +3 -3
  679. data/lib/uniword/drawingml/alpha.rb +3 -3
  680. data/lib/uniword/drawingml/alpha_bi_level.rb +3 -3
  681. data/lib/uniword/drawingml/alpha_modulation.rb +3 -3
  682. data/lib/uniword/drawingml/alpha_modulation_fixed.rb +3 -3
  683. data/lib/uniword/drawingml/alpha_offset.rb +3 -3
  684. data/lib/uniword/drawingml/arc_to.rb +6 -6
  685. data/lib/uniword/drawingml/background_color.rb +4 -4
  686. data/lib/uniword/drawingml/bevel_top.rb +5 -5
  687. data/lib/uniword/drawingml/bi_level.rb +3 -3
  688. data/lib/uniword/drawingml/blip.rb +11 -9
  689. data/lib/uniword/drawingml/blip_fill.rb +6 -6
  690. data/lib/uniword/drawingml/blue.rb +3 -3
  691. data/lib/uniword/drawingml/blur.rb +4 -4
  692. data/lib/uniword/drawingml/body_properties.rb +3 -3
  693. data/lib/uniword/drawingml/camera.rb +4 -4
  694. data/lib/uniword/drawingml/close_path.rb +2 -2
  695. data/lib/uniword/drawingml/color_scheme.rb +71 -71
  696. data/lib/uniword/drawingml/complex_script_font.rb +4 -4
  697. data/lib/uniword/drawingml/custom_dash.rb +3 -3
  698. data/lib/uniword/drawingml/custom_geometry.rb +4 -4
  699. data/lib/uniword/drawingml/dash_stop.rb +4 -4
  700. data/lib/uniword/drawingml/default_paragraph_properties.rb +4 -4
  701. data/lib/uniword/drawingml/duotone.rb +5 -4
  702. data/lib/uniword/drawingml/east_asian_font.rb +4 -4
  703. data/lib/uniword/drawingml/effect_container.rb +3 -3
  704. data/lib/uniword/drawingml/effect_list.rb +7 -7
  705. data/lib/uniword/drawingml/extension.rb +11 -11
  706. data/lib/uniword/drawingml/extension_list.rb +2 -2
  707. data/lib/uniword/drawingml/extents.rb +4 -4
  708. data/lib/uniword/drawingml/extra_color_scheme_list.rb +1 -1
  709. data/lib/uniword/drawingml/fill_overlay.rb +3 -3
  710. data/lib/uniword/drawingml/fill_rect.rb +27 -0
  711. data/lib/uniword/drawingml/fill_to_rect.rb +6 -6
  712. data/lib/uniword/drawingml/font_reference.rb +4 -4
  713. data/lib/uniword/drawingml/font_scheme.rb +30 -30
  714. data/lib/uniword/drawingml/foreground_color.rb +4 -4
  715. data/lib/uniword/drawingml/format_scheme.rb +23 -23
  716. data/lib/uniword/drawingml/gamma.rb +2 -2
  717. data/lib/uniword/drawingml/geometry_guide.rb +4 -4
  718. data/lib/uniword/drawingml/glow.rb +5 -5
  719. data/lib/uniword/drawingml/gradient_fill.rb +6 -6
  720. data/lib/uniword/drawingml/gradient_stop.rb +5 -5
  721. data/lib/uniword/drawingml/gradient_stop_list.rb +5 -4
  722. data/lib/uniword/drawingml/graphic.rb +3 -3
  723. data/lib/uniword/drawingml/graphic_data.rb +6 -6
  724. data/lib/uniword/drawingml/graphic_frame_locks.rb +24 -0
  725. data/lib/uniword/drawingml/grayscale.rb +2 -2
  726. data/lib/uniword/drawingml/green.rb +3 -3
  727. data/lib/uniword/drawingml/group_locking.rb +10 -10
  728. data/lib/uniword/drawingml/group_shape_properties.rb +3 -3
  729. data/lib/uniword/drawingml/gvml.rb +17 -12
  730. data/lib/uniword/drawingml/gvml_connector.rb +5 -5
  731. data/lib/uniword/drawingml/gvml_connector_non_visual.rb +4 -4
  732. data/lib/uniword/drawingml/gvml_graphic_frame_non_visual.rb +5 -4
  733. data/lib/uniword/drawingml/gvml_graphical_object_frame.rb +6 -5
  734. data/lib/uniword/drawingml/gvml_group_shape.rb +10 -10
  735. data/lib/uniword/drawingml/gvml_group_shape_non_visual.rb +4 -4
  736. data/lib/uniword/drawingml/gvml_picture.rb +6 -6
  737. data/lib/uniword/drawingml/gvml_picture_non_visual.rb +4 -4
  738. data/lib/uniword/drawingml/gvml_shape.rb +6 -6
  739. data/lib/uniword/drawingml/gvml_shape_non_visual.rb +4 -4
  740. data/lib/uniword/drawingml/gvml_text_shape.rb +5 -5
  741. data/lib/uniword/drawingml/gvml_use_shape_rectangle.rb +2 -2
  742. data/lib/uniword/drawingml/hue.rb +3 -3
  743. data/lib/uniword/drawingml/hue_modulation.rb +3 -3
  744. data/lib/uniword/drawingml/hue_offset.rb +3 -3
  745. data/lib/uniword/drawingml/inner_shadow.rb +7 -7
  746. data/lib/uniword/drawingml/inverse_gamma.rb +2 -2
  747. data/lib/uniword/drawingml/level1_paragraph_properties.rb +4 -4
  748. data/lib/uniword/drawingml/level2_paragraph_properties.rb +4 -4
  749. data/lib/uniword/drawingml/level3_paragraph_properties.rb +4 -4
  750. data/lib/uniword/drawingml/light_rig.rb +5 -5
  751. data/lib/uniword/drawingml/line_defaults.rb +6 -6
  752. data/lib/uniword/drawingml/line_join_miter.rb +3 -3
  753. data/lib/uniword/drawingml/line_join_round.rb +2 -2
  754. data/lib/uniword/drawingml/line_properties.rb +10 -10
  755. data/lib/uniword/drawingml/line_to.rb +3 -3
  756. data/lib/uniword/drawingml/linear_gradient.rb +4 -4
  757. data/lib/uniword/drawingml/list_style.rb +6 -6
  758. data/lib/uniword/drawingml/luminance.rb +3 -3
  759. data/lib/uniword/drawingml/luminance_modulation.rb +3 -3
  760. data/lib/uniword/drawingml/luminance_offset.rb +3 -3
  761. data/lib/uniword/drawingml/move_to.rb +3 -3
  762. data/lib/uniword/drawingml/no_fill.rb +2 -2
  763. data/lib/uniword/drawingml/non_visual_connector_properties.rb +3 -3
  764. data/lib/uniword/drawingml/non_visual_drawing_properties.rb +10 -4
  765. data/lib/uniword/drawingml/non_visual_graphic_frame_properties.rb +3 -3
  766. data/lib/uniword/drawingml/non_visual_group_drawing_shape_properties.rb +3 -3
  767. data/lib/uniword/drawingml/non_visual_picture_properties.rb +6 -5
  768. data/lib/uniword/drawingml/non_visual_shape_properties.rb +3 -3
  769. data/lib/uniword/drawingml/object_defaults.rb +4 -4
  770. data/lib/uniword/drawingml/office_art_extension.rb +5 -3
  771. data/lib/uniword/drawingml/office_art_extension_list.rb +5 -4
  772. data/lib/uniword/drawingml/offset.rb +4 -4
  773. data/lib/uniword/drawingml/outer_shadow.rb +11 -11
  774. data/lib/uniword/drawingml/path_gradient.rb +4 -4
  775. data/lib/uniword/drawingml/path_list.rb +3 -3
  776. data/lib/uniword/drawingml/pattern_fill.rb +5 -5
  777. data/lib/uniword/drawingml/picture_locking.rb +10 -10
  778. data/lib/uniword/drawingml/preset_dash.rb +3 -3
  779. data/lib/uniword/drawingml/preset_geometry.rb +4 -4
  780. data/lib/uniword/drawingml/preset_shadow.rb +5 -5
  781. data/lib/uniword/drawingml/red.rb +3 -3
  782. data/lib/uniword/drawingml/red_modulation.rb +3 -3
  783. data/lib/uniword/drawingml/red_offset.rb +3 -3
  784. data/lib/uniword/drawingml/reflection.rb +10 -10
  785. data/lib/uniword/drawingml/relative_rect.rb +6 -6
  786. data/lib/uniword/drawingml/rotation.rb +5 -5
  787. data/lib/uniword/drawingml/saturation.rb +3 -3
  788. data/lib/uniword/drawingml/saturation_modulation.rb +3 -3
  789. data/lib/uniword/drawingml/saturation_offset.rb +3 -3
  790. data/lib/uniword/drawingml/scene_3d.rb +4 -4
  791. data/lib/uniword/drawingml/scheme_color.rb +13 -13
  792. data/lib/uniword/drawingml/shade.rb +3 -3
  793. data/lib/uniword/drawingml/shape.rb +4 -4
  794. data/lib/uniword/drawingml/shape_3d.rb +6 -6
  795. data/lib/uniword/drawingml/shape_defaults.rb +6 -6
  796. data/lib/uniword/drawingml/shape_properties.rb +4 -4
  797. data/lib/uniword/drawingml/shape_style.rb +6 -6
  798. data/lib/uniword/drawingml/soft_edge.rb +3 -3
  799. data/lib/uniword/drawingml/solid_fill.rb +4 -4
  800. data/lib/uniword/drawingml/source_rect.rb +6 -6
  801. data/lib/uniword/drawingml/srgb_color.rb +13 -13
  802. data/lib/uniword/drawingml/stretch.rb +6 -2
  803. data/lib/uniword/drawingml/style_matrix.rb +6 -6
  804. data/lib/uniword/drawingml/style_matrix_reference.rb +5 -5
  805. data/lib/uniword/drawingml/style_reference.rb +4 -4
  806. data/lib/uniword/drawingml/text_body.rb +6 -5
  807. data/lib/uniword/drawingml/text_character_properties.rb +8 -8
  808. data/lib/uniword/drawingml/text_defaults.rb +6 -6
  809. data/lib/uniword/drawingml/text_font.rb +4 -4
  810. data/lib/uniword/drawingml/text_paragraph.rb +3 -3
  811. data/lib/uniword/drawingml/text_paragraph_properties.rb +5 -5
  812. data/lib/uniword/drawingml/text_run.rb +3 -3
  813. data/lib/uniword/drawingml/theme.rb +29 -29
  814. data/lib/uniword/drawingml/tile.rb +8 -8
  815. data/lib/uniword/drawingml/tile_rect.rb +6 -6
  816. data/lib/uniword/drawingml/tint.rb +3 -3
  817. data/lib/uniword/drawingml/transform2_d.rb +4 -4
  818. data/lib/uniword/drawingml/use_local_dpi.rb +21 -0
  819. data/lib/uniword/drawingml.rb +163 -144
  820. data/lib/uniword/element.rb +1 -1
  821. data/lib/uniword/element_registry.rb +1 -1
  822. data/lib/uniword/endnote.rb +1 -1
  823. data/lib/uniword/errors.rb +1 -1
  824. data/lib/uniword/field.rb +21 -21
  825. data/lib/uniword/footer.rb +8 -5
  826. data/lib/uniword/footnote.rb +1 -1
  827. data/lib/uniword/format_converter.rb +6 -6
  828. data/lib/uniword/format_detector.rb +39 -16
  829. data/lib/uniword/generation/document_generator.rb +135 -0
  830. data/lib/uniword/generation/structured_text_parser.rb +131 -0
  831. data/lib/uniword/generation/style_extractor.rb +90 -0
  832. data/lib/uniword/generation/style_mapper.rb +89 -0
  833. data/lib/uniword/generation.rb +17 -0
  834. data/lib/uniword/glossary/auto_text.rb +3 -3
  835. data/lib/uniword/glossary/category_name.rb +3 -3
  836. data/lib/uniword/glossary/doc_part.rb +4 -4
  837. data/lib/uniword/glossary/doc_part_behavior.rb +3 -3
  838. data/lib/uniword/glossary/doc_part_behaviors.rb +5 -4
  839. data/lib/uniword/glossary/doc_part_body.rb +7 -6
  840. data/lib/uniword/glossary/doc_part_category.rb +4 -4
  841. data/lib/uniword/glossary/doc_part_description.rb +3 -3
  842. data/lib/uniword/glossary/doc_part_gallery.rb +3 -3
  843. data/lib/uniword/glossary/doc_part_id.rb +3 -3
  844. data/lib/uniword/glossary/doc_part_name.rb +3 -3
  845. data/lib/uniword/glossary/doc_part_properties.rb +9 -9
  846. data/lib/uniword/glossary/doc_part_type.rb +3 -3
  847. data/lib/uniword/glossary/doc_part_types.rb +4 -4
  848. data/lib/uniword/glossary/doc_parts.rb +3 -3
  849. data/lib/uniword/glossary/equation.rb +3 -3
  850. data/lib/uniword/glossary/glossary_document.rb +5 -5
  851. data/lib/uniword/glossary/style_id.rb +3 -3
  852. data/lib/uniword/glossary/text_box.rb +3 -3
  853. data/lib/uniword/glossary.rb +19 -19
  854. data/lib/uniword/header.rb +8 -5
  855. data/lib/uniword/headers_footers/manager.rb +140 -0
  856. data/lib/uniword/headers_footers.rb +12 -0
  857. data/lib/uniword/hyperlink.rb +1 -1
  858. data/lib/uniword/image.rb +12 -9
  859. data/lib/uniword/images/image_info.rb +48 -0
  860. data/lib/uniword/images/image_manager.rb +253 -0
  861. data/lib/uniword/images.rb +15 -0
  862. data/lib/uniword/infrastructure/mime_packager.rb +15 -17
  863. data/lib/uniword/infrastructure/mime_parser.rb +28 -18
  864. data/lib/uniword/infrastructure/xml_namespace_normalizer.rb +8 -6
  865. data/lib/uniword/infrastructure/zip_extractor.rb +23 -15
  866. data/lib/uniword/infrastructure/zip_packager.rb +30 -29
  867. data/lib/uniword/lazy_loader.rb +5 -11
  868. data/lib/uniword/line_numbering.rb +11 -11
  869. data/lib/uniword/logger.rb +1 -1
  870. data/lib/uniword/math/accent.rb +4 -4
  871. data/lib/uniword/math/accent_properties.rb +4 -4
  872. data/lib/uniword/math/argument_properties.rb +3 -3
  873. data/lib/uniword/math/bar.rb +4 -4
  874. data/lib/uniword/math/bar_properties.rb +4 -4
  875. data/lib/uniword/math/begin_char.rb +3 -3
  876. data/lib/uniword/math/border_box.rb +4 -4
  877. data/lib/uniword/math/border_box_properties.rb +11 -11
  878. data/lib/uniword/math/box.rb +4 -4
  879. data/lib/uniword/math/box_properties.rb +8 -8
  880. data/lib/uniword/math/char.rb +3 -3
  881. data/lib/uniword/math/control_properties.rb +3 -3
  882. data/lib/uniword/math/degree.rb +4 -4
  883. data/lib/uniword/math/delimiter.rb +4 -4
  884. data/lib/uniword/math/delimiter_properties.rb +8 -8
  885. data/lib/uniword/math/denominator.rb +4 -4
  886. data/lib/uniword/math/element.rb +29 -24
  887. data/lib/uniword/math/end_char.rb +3 -3
  888. data/lib/uniword/math/equation_array.rb +4 -4
  889. data/lib/uniword/math/equation_array_properties.rb +8 -8
  890. data/lib/uniword/math/fraction.rb +5 -5
  891. data/lib/uniword/math/fraction_properties.rb +4 -4
  892. data/lib/uniword/math/function.rb +5 -5
  893. data/lib/uniword/math/function_name.rb +4 -4
  894. data/lib/uniword/math/function_properties.rb +3 -3
  895. data/lib/uniword/math/group_char.rb +4 -4
  896. data/lib/uniword/math/group_char_properties.rb +6 -6
  897. data/lib/uniword/math/lim.rb +4 -4
  898. data/lib/uniword/math/lower_limit.rb +5 -5
  899. data/lib/uniword/math/lower_limit_properties.rb +3 -3
  900. data/lib/uniword/math/math_break.rb +3 -3
  901. data/lib/uniword/math/math_font.rb +3 -3
  902. data/lib/uniword/math/math_properties.rb +18 -18
  903. data/lib/uniword/math/math_run.rb +5 -5
  904. data/lib/uniword/math/math_run_properties.rb +9 -9
  905. data/lib/uniword/math/math_simple_int_val.rb +3 -3
  906. data/lib/uniword/math/math_simple_val.rb +3 -3
  907. data/lib/uniword/math/math_style.rb +3 -3
  908. data/lib/uniword/math/math_text.rb +2 -2
  909. data/lib/uniword/math/matrix.rb +4 -4
  910. data/lib/uniword/math/matrix_column.rb +3 -3
  911. data/lib/uniword/math/matrix_column_properties.rb +4 -4
  912. data/lib/uniword/math/matrix_columns.rb +3 -3
  913. data/lib/uniword/math/matrix_properties.rb +10 -10
  914. data/lib/uniword/math/matrix_row.rb +3 -3
  915. data/lib/uniword/math/nary.rb +6 -6
  916. data/lib/uniword/math/nary_properties.rb +8 -8
  917. data/lib/uniword/math/numerator.rb +4 -4
  918. data/lib/uniword/math/o_math.rb +28 -23
  919. data/lib/uniword/math/o_math_para.rb +4 -4
  920. data/lib/uniword/math/o_math_para_properties.rb +3 -3
  921. data/lib/uniword/math/phantom.rb +4 -4
  922. data/lib/uniword/math/phantom_properties.rb +8 -8
  923. data/lib/uniword/math/plurimath_adapter.rb +26 -22
  924. data/lib/uniword/math/pre_sub_superscript.rb +6 -6
  925. data/lib/uniword/math/pre_sub_superscript_properties.rb +3 -3
  926. data/lib/uniword/math/radical.rb +5 -5
  927. data/lib/uniword/math/radical_properties.rb +4 -4
  928. data/lib/uniword/math/separator_char.rb +3 -3
  929. data/lib/uniword/math/sub.rb +4 -4
  930. data/lib/uniword/math/sub_superscript.rb +6 -6
  931. data/lib/uniword/math/sub_superscript_properties.rb +4 -4
  932. data/lib/uniword/math/subscript.rb +5 -5
  933. data/lib/uniword/math/subscript_properties.rb +3 -3
  934. data/lib/uniword/math/sup.rb +4 -4
  935. data/lib/uniword/math/superscript.rb +5 -5
  936. data/lib/uniword/math/superscript_properties.rb +3 -3
  937. data/lib/uniword/math/upper_limit.rb +5 -5
  938. data/lib/uniword/math/upper_limit_properties.rb +3 -3
  939. data/lib/uniword/math.rb +70 -68
  940. data/lib/uniword/math_equation.rb +6 -6
  941. data/lib/uniword/mhtml/css_number_formatter.rb +7 -6
  942. data/lib/uniword/mhtml/document.rb +24 -18
  943. data/lib/uniword/mhtml/html_part.rb +19 -18
  944. data/lib/uniword/mhtml/math_converter.rb +17 -15
  945. data/lib/uniword/mhtml/metadata/document_properties.rb +21 -21
  946. data/lib/uniword/mhtml/metadata/latent_styles.rb +8 -8
  947. data/lib/uniword/mhtml/metadata/office_document_settings.rb +4 -4
  948. data/lib/uniword/mhtml/metadata/word_document_settings.rb +16 -15
  949. data/lib/uniword/mhtml/metadata.rb +4 -2
  950. data/lib/uniword/mhtml/mhtml_package.rb +7 -9
  951. data/lib/uniword/mhtml/mime_part.rb +17 -13
  952. data/lib/uniword/mhtml/namespaces.rb +7 -7
  953. data/lib/uniword/mhtml/numbering_configuration.rb +3 -3
  954. data/lib/uniword/mhtml/styles_configuration.rb +3 -3
  955. data/lib/uniword/mhtml/theme.rb +2 -2
  956. data/lib/uniword/mhtml/word_css.rb +15 -29
  957. data/lib/uniword/office/bottom.rb +3 -3
  958. data/lib/uniword/office/brightness.rb +3 -3
  959. data/lib/uniword/office/button.rb +5 -5
  960. data/lib/uniword/office/callout.rb +10 -10
  961. data/lib/uniword/office/callout_anchor.rb +3 -3
  962. data/lib/uniword/office/checkbox.rb +4 -4
  963. data/lib/uniword/office/color_menu.rb +4 -4
  964. data/lib/uniword/office/color_mru.rb +4 -4
  965. data/lib/uniword/office/complex.rb +3 -3
  966. data/lib/uniword/office/diagram.rb +10 -10
  967. data/lib/uniword/office/diffusity.rb +3 -3
  968. data/lib/uniword/office/document_protection.rb +5 -5
  969. data/lib/uniword/office/document_view.rb +3 -3
  970. data/lib/uniword/office/edge.rb +4 -4
  971. data/lib/uniword/office/extrusion.rb +19 -19
  972. data/lib/uniword/office/extrusion_color.rb +4 -4
  973. data/lib/uniword/office/extrusion_color_mode.rb +3 -3
  974. data/lib/uniword/office/extrusion_ok.rb +3 -3
  975. data/lib/uniword/office/field.rb +4 -4
  976. data/lib/uniword/office/forms.rb +3 -3
  977. data/lib/uniword/office/id_map.rb +4 -4
  978. data/lib/uniword/office/ink.rb +4 -4
  979. data/lib/uniword/office/ink_annotation.rb +4 -4
  980. data/lib/uniword/office/left.rb +3 -3
  981. data/lib/uniword/office/lock.rb +7 -7
  982. data/lib/uniword/office/metal.rb +3 -3
  983. data/lib/uniword/office/proof_state.rb +4 -4
  984. data/lib/uniword/office/regroup.rb +3 -3
  985. data/lib/uniword/office/regroup_table.rb +3 -3
  986. data/lib/uniword/office/relation_table.rb +3 -3
  987. data/lib/uniword/office/right.rb +3 -3
  988. data/lib/uniword/office/rules.rb +3 -3
  989. data/lib/uniword/office/shape_defaults.rb +6 -6
  990. data/lib/uniword/office/shape_layout.rb +4 -4
  991. data/lib/uniword/office/signature_line.rb +12 -12
  992. data/lib/uniword/office/skew.rb +6 -6
  993. data/lib/uniword/office/specularity.rb +3 -3
  994. data/lib/uniword/office/top.rb +3 -3
  995. data/lib/uniword/office/writing_style.rb +6 -6
  996. data/lib/uniword/office/zoom.rb +3 -3
  997. data/lib/uniword/office.rb +41 -41
  998. data/lib/uniword/ooxml/additional_characteristics.rb +8 -8
  999. data/lib/uniword/ooxml/app_properties.rb +44 -44
  1000. data/lib/uniword/ooxml/core_properties.rb +15 -14
  1001. data/lib/uniword/ooxml/custom_properties.rb +35 -35
  1002. data/lib/uniword/ooxml/dotx_package.rb +161 -52
  1003. data/lib/uniword/ooxml/namespaces.rb +267 -114
  1004. data/lib/uniword/ooxml/package_file.rb +13 -10
  1005. data/lib/uniword/ooxml/relationships/hyperlink_relationship.rb +3 -3
  1006. data/lib/uniword/ooxml/relationships/image_relationship.rb +2 -2
  1007. data/lib/uniword/ooxml/relationships/office_document_relationship.rb +3 -3
  1008. data/lib/uniword/ooxml/relationships/package_relationship.rb +6 -6
  1009. data/lib/uniword/ooxml/relationships/package_relationships.rb +16 -16
  1010. data/lib/uniword/ooxml/relationships/relationship.rb +6 -6
  1011. data/lib/uniword/ooxml/relationships/relationships.rb +7 -6
  1012. data/lib/uniword/ooxml/relationships.rb +6 -3
  1013. data/lib/uniword/ooxml/schema/attribute_definition.rb +10 -9
  1014. data/lib/uniword/ooxml/schema/child_definition.rb +17 -17
  1015. data/lib/uniword/ooxml/schema/element_definition.rb +3 -3
  1016. data/lib/uniword/ooxml/schema/element_serializer.rb +43 -21
  1017. data/lib/uniword/ooxml/schema/ooxml_schema.rb +7 -6
  1018. data/lib/uniword/ooxml/schema_library.rb +9 -8
  1019. data/lib/uniword/ooxml/styleset_package.rb +1 -1
  1020. data/lib/uniword/ooxml/theme_package.rb +6 -6
  1021. data/lib/uniword/ooxml/thmx_package.rb +13 -12
  1022. data/lib/uniword/ooxml/types/cp_description_type.rb +1 -1
  1023. data/lib/uniword/ooxml/types/cp_keywords_type.rb +1 -1
  1024. data/lib/uniword/ooxml/types/cp_last_modified_by_type.rb +1 -1
  1025. data/lib/uniword/ooxml/types/cp_revision_type.rb +1 -1
  1026. data/lib/uniword/ooxml/types/dc_creator_type.rb +1 -1
  1027. data/lib/uniword/ooxml/types/dc_subject_type.rb +1 -1
  1028. data/lib/uniword/ooxml/types/dc_title_type.rb +1 -1
  1029. data/lib/uniword/ooxml/types/dcterms_created_type.rb +4 -4
  1030. data/lib/uniword/ooxml/types/dcterms_modified_type.rb +4 -4
  1031. data/lib/uniword/ooxml/types/dcterms_w3cdtf_type.rb +6 -35
  1032. data/lib/uniword/ooxml/types/mc_ignorable_type.rb +1 -1
  1033. data/lib/uniword/ooxml/types/on_off_type.rb +5 -5
  1034. data/lib/uniword/ooxml/types/ooxml_boolean.rb +7 -7
  1035. data/lib/uniword/ooxml/types/ooxml_boolean_optional.rb +7 -7
  1036. data/lib/uniword/ooxml/types/relationship_id.rb +18 -0
  1037. data/lib/uniword/ooxml/types/variant_types.rb +41 -41
  1038. data/lib/uniword/ooxml/types.rb +29 -25
  1039. data/lib/uniword/ooxml.rb +2 -2
  1040. data/lib/uniword/page_borders.rb +9 -9
  1041. data/lib/uniword/paragraph_border.rb +9 -8
  1042. data/lib/uniword/picture/fill_rect.rb +6 -6
  1043. data/lib/uniword/picture/non_visual_drawing_properties.rb +29 -0
  1044. data/lib/uniword/picture/non_visual_picture_drawing_properties.rb +4 -4
  1045. data/lib/uniword/picture/non_visual_picture_properties.rb +5 -5
  1046. data/lib/uniword/picture/picture.rb +5 -5
  1047. data/lib/uniword/picture/picture_blip_fill.rb +6 -6
  1048. data/lib/uniword/picture/picture_locks.rb +4 -4
  1049. data/lib/uniword/picture/picture_shape_properties.rb +5 -5
  1050. data/lib/uniword/picture/picture_source_rect.rb +6 -6
  1051. data/lib/uniword/picture/picture_stretch.rb +3 -3
  1052. data/lib/uniword/picture/tile.rb +7 -7
  1053. data/lib/uniword/picture.rb +4 -1
  1054. data/lib/uniword/presentationml/audio.rb +5 -5
  1055. data/lib/uniword/presentationml/body_properties.rb +7 -7
  1056. data/lib/uniword/presentationml/break.rb +3 -3
  1057. data/lib/uniword/presentationml/color_map.rb +6 -6
  1058. data/lib/uniword/presentationml/common_slide_data.rb +5 -5
  1059. data/lib/uniword/presentationml/common_time_node.rb +8 -8
  1060. data/lib/uniword/presentationml/connection_shape.rb +4 -4
  1061. data/lib/uniword/presentationml/embed.rb +3 -3
  1062. data/lib/uniword/presentationml/embedded_font.rb +4 -4
  1063. data/lib/uniword/presentationml/end_conditions_list.rb +3 -3
  1064. data/lib/uniword/presentationml/end_paragraph_run_properties.rb +5 -5
  1065. data/lib/uniword/presentationml/extension.rb +3 -3
  1066. data/lib/uniword/presentationml/extension_list.rb +3 -3
  1067. data/lib/uniword/presentationml/field.rb +7 -7
  1068. data/lib/uniword/presentationml/graphic_frame.rb +5 -5
  1069. data/lib/uniword/presentationml/group_shape.rb +6 -6
  1070. data/lib/uniword/presentationml/handout_master.rb +4 -4
  1071. data/lib/uniword/presentationml/handout_master_id_list.rb +3 -3
  1072. data/lib/uniword/presentationml/list_style.rb +6 -6
  1073. data/lib/uniword/presentationml/non_visual_shape_properties.rb +5 -5
  1074. data/lib/uniword/presentationml/notes.rb +5 -5
  1075. data/lib/uniword/presentationml/notes_master_id_list.rb +3 -3
  1076. data/lib/uniword/presentationml/notes_size.rb +4 -4
  1077. data/lib/uniword/presentationml/ole_object.rb +5 -5
  1078. data/lib/uniword/presentationml/paragraph.rb +7 -7
  1079. data/lib/uniword/presentationml/paragraph_properties.rb +7 -7
  1080. data/lib/uniword/presentationml/parallel_time_node.rb +3 -3
  1081. data/lib/uniword/presentationml/picture.rb +5 -5
  1082. data/lib/uniword/presentationml/presentation.rb +14 -11
  1083. data/lib/uniword/presentationml/run.rb +4 -4
  1084. data/lib/uniword/presentationml/run_properties.rb +9 -9
  1085. data/lib/uniword/presentationml/sequence_time_node.rb +5 -5
  1086. data/lib/uniword/presentationml/shape.rb +5 -5
  1087. data/lib/uniword/presentationml/shape_properties.rb +7 -7
  1088. data/lib/uniword/presentationml/shape_tree.rb +13 -11
  1089. data/lib/uniword/presentationml/slide.rb +8 -8
  1090. data/lib/uniword/presentationml/slide_id.rb +6 -5
  1091. data/lib/uniword/presentationml/slide_id_list.rb +3 -3
  1092. data/lib/uniword/presentationml/slide_layout.rb +8 -8
  1093. data/lib/uniword/presentationml/slide_master.rb +8 -8
  1094. data/lib/uniword/presentationml/slide_master_id.rb +6 -5
  1095. data/lib/uniword/presentationml/slide_master_id_list.rb +5 -4
  1096. data/lib/uniword/presentationml/slide_size.rb +5 -5
  1097. data/lib/uniword/presentationml/start_conditions_list.rb +3 -3
  1098. data/lib/uniword/presentationml/text_body.rb +5 -5
  1099. data/lib/uniword/presentationml/time_node_list.rb +4 -4
  1100. data/lib/uniword/presentationml/timing.rb +4 -4
  1101. data/lib/uniword/presentationml/transition.rb +8 -8
  1102. data/lib/uniword/presentationml/video.rb +4 -4
  1103. data/lib/uniword/presentationml.rb +54 -50
  1104. data/lib/uniword/properties/adjust_right_ind.rb +27 -0
  1105. data/lib/uniword/properties/alignment.rb +3 -3
  1106. data/lib/uniword/properties/auto_space_de.rb +27 -0
  1107. data/lib/uniword/properties/auto_space_dn.rb +27 -0
  1108. data/lib/uniword/properties/bold.rb +5 -5
  1109. data/lib/uniword/properties/boolean_formatting.rb +44 -30
  1110. data/lib/uniword/properties/border.rb +8 -8
  1111. data/lib/uniword/properties/borders.rb +8 -8
  1112. data/lib/uniword/properties/cell_vertical_align.rb +3 -3
  1113. data/lib/uniword/properties/cell_width.rb +4 -4
  1114. data/lib/uniword/properties/character_spacing.rb +3 -3
  1115. data/lib/uniword/properties/color_value.rb +6 -6
  1116. data/lib/uniword/properties/contextual_spacing.rb +4 -4
  1117. data/lib/uniword/properties/displaced_by_custom_xml_value.rb +18 -0
  1118. data/lib/uniword/properties/emphasis_mark.rb +3 -3
  1119. data/lib/uniword/properties/font_size.rb +3 -3
  1120. data/lib/uniword/properties/highlight.rb +3 -3
  1121. data/lib/uniword/properties/history_value.rb +17 -0
  1122. data/lib/uniword/properties/indentation.rb +6 -6
  1123. data/lib/uniword/properties/italic.rb +5 -5
  1124. data/lib/uniword/properties/kerning.rb +3 -3
  1125. data/lib/uniword/properties/language.rb +5 -5
  1126. data/lib/uniword/properties/margin.rb +3 -3
  1127. data/lib/uniword/properties/numbering_id.rb +3 -3
  1128. data/lib/uniword/properties/numbering_level.rb +3 -3
  1129. data/lib/uniword/properties/numbering_properties.rb +4 -4
  1130. data/lib/uniword/properties/outline.rb +6 -6
  1131. data/lib/uniword/properties/outline_level.rb +3 -3
  1132. data/lib/uniword/properties/page_break_before.rb +26 -0
  1133. data/lib/uniword/properties/position.rb +3 -3
  1134. data/lib/uniword/properties/relationship_id.rb +17 -0
  1135. data/lib/uniword/properties/run_fonts.rb +11 -11
  1136. data/lib/uniword/properties/shading.rb +6 -6
  1137. data/lib/uniword/properties/spacing.rb +12 -6
  1138. data/lib/uniword/properties/style_reference.rb +5 -5
  1139. data/lib/uniword/properties/tab_stop.rb +5 -5
  1140. data/lib/uniword/properties/table_caption.rb +19 -0
  1141. data/lib/uniword/properties/table_cell_margin.rb +6 -6
  1142. data/lib/uniword/properties/table_indent.rb +4 -4
  1143. data/lib/uniword/properties/table_justification.rb +3 -3
  1144. data/lib/uniword/properties/table_layout.rb +23 -0
  1145. data/lib/uniword/properties/table_look.rb +9 -9
  1146. data/lib/uniword/properties/table_width.rb +4 -4
  1147. data/lib/uniword/properties/tabs.rb +3 -3
  1148. data/lib/uniword/properties/text_fill.rb +3 -3
  1149. data/lib/uniword/properties/text_outline.rb +4 -4
  1150. data/lib/uniword/properties/underline.rb +6 -6
  1151. data/lib/uniword/properties/vertical_align.rb +3 -3
  1152. data/lib/uniword/properties/widow_control.rb +27 -0
  1153. data/lib/uniword/properties/width_scale.rb +3 -3
  1154. data/lib/uniword/properties/word2010_id_value.rb +17 -0
  1155. data/lib/uniword/properties.rb +69 -55
  1156. data/lib/uniword/protect/manager.rb +124 -0
  1157. data/lib/uniword/protect.rb +11 -0
  1158. data/lib/uniword/quality/document_checker.rb +10 -10
  1159. data/lib/uniword/quality/quality_report.rb +19 -19
  1160. data/lib/uniword/quality/quality_rule.rb +7 -7
  1161. data/lib/uniword/quality/rules/heading_hierarchy_rule.rb +2 -2
  1162. data/lib/uniword/quality/rules/image_alt_text_rule.rb +4 -4
  1163. data/lib/uniword/quality/rules/link_validation_rule.rb +8 -10
  1164. data/lib/uniword/quality/rules/paragraph_length_rule.rb +4 -4
  1165. data/lib/uniword/quality/rules/style_consistency_rule.rb +6 -5
  1166. data/lib/uniword/quality/rules/table_header_rule.rb +2 -2
  1167. data/lib/uniword/quality.rb +8 -4
  1168. data/lib/uniword/resource/cache.rb +1 -1
  1169. data/lib/uniword/resource/cache_paths.rb +9 -7
  1170. data/lib/uniword/resource/cache_version.rb +4 -3
  1171. data/lib/uniword/resource/color_scheme_loader.rb +36 -0
  1172. data/lib/uniword/resource/color_transformer.rb +2 -2
  1173. data/lib/uniword/resource/document_element_converter.rb +63 -0
  1174. data/lib/uniword/resource/document_element_loader.rb +54 -0
  1175. data/lib/uniword/resource/document_element_template.rb +54 -0
  1176. data/lib/uniword/resource/font_scheme_loader.rb +50 -0
  1177. data/lib/uniword/resource/font_substitutor.rb +98 -21
  1178. data/lib/uniword/resource/importer.rb +54 -6
  1179. data/lib/uniword/resource/resource_location.rb +1 -1
  1180. data/lib/uniword/resource/resource_resolver.rb +9 -7
  1181. data/lib/uniword/resource/theme_mapping_loader.rb +138 -0
  1182. data/lib/uniword/resource/theme_processor.rb +7 -10
  1183. data/lib/uniword/resource/theme_transition.rb +124 -0
  1184. data/lib/uniword/resource.rb +18 -0
  1185. data/lib/uniword/review/accept_reject.rb +120 -0
  1186. data/lib/uniword/review/interactive_review.rb +233 -0
  1187. data/lib/uniword/review/review_manager.rb +250 -0
  1188. data/lib/uniword/review.rb +19 -0
  1189. data/lib/uniword/revision.rb +8 -8
  1190. data/lib/uniword/schema/model_generator.rb +22 -21
  1191. data/lib/uniword/schema/schema_loader.rb +8 -8
  1192. data/lib/uniword/section.rb +28 -25
  1193. data/lib/uniword/section_properties.rb +15 -13
  1194. data/lib/uniword/serialization/ooxml_serializer.rb +3 -2
  1195. data/lib/uniword/shading.rb +15 -14
  1196. data/lib/uniword/shared_types/angle.rb +3 -3
  1197. data/lib/uniword/shared_types/boolean_value.rb +3 -3
  1198. data/lib/uniword/shared_types/decimal_number.rb +3 -3
  1199. data/lib/uniword/shared_types/emu_measure.rb +3 -3
  1200. data/lib/uniword/shared_types/fixed_percentage.rb +3 -3
  1201. data/lib/uniword/shared_types/hex_color.rb +3 -3
  1202. data/lib/uniword/shared_types/on_off.rb +3 -3
  1203. data/lib/uniword/shared_types/percent_value.rb +3 -3
  1204. data/lib/uniword/shared_types/pixel_measure.rb +3 -3
  1205. data/lib/uniword/shared_types/point_measure.rb +3 -3
  1206. data/lib/uniword/shared_types/positive_percentage.rb +3 -3
  1207. data/lib/uniword/shared_types/string_type.rb +3 -3
  1208. data/lib/uniword/shared_types/text_alignment.rb +3 -3
  1209. data/lib/uniword/shared_types/twips_measure.rb +3 -3
  1210. data/lib/uniword/shared_types/vertical_alignment.rb +3 -3
  1211. data/lib/uniword/shared_types.rb +16 -16
  1212. data/lib/uniword/spellcheck/grammar_checker.rb +135 -0
  1213. data/lib/uniword/spellcheck/hunspell_adapter.rb +100 -0
  1214. data/lib/uniword/spellcheck/spell_checker.rb +160 -0
  1215. data/lib/uniword/spellcheck/spellcheck_result.rb +82 -0
  1216. data/lib/uniword/spellcheck.rb +10 -0
  1217. data/lib/uniword/spreadsheetml/alignment.rb +8 -8
  1218. data/lib/uniword/spreadsheetml/authors.rb +5 -4
  1219. data/lib/uniword/spreadsheetml/auto_filter.rb +7 -6
  1220. data/lib/uniword/spreadsheetml/bold.rb +3 -3
  1221. data/lib/uniword/spreadsheetml/book_views.rb +3 -3
  1222. data/lib/uniword/spreadsheetml/border.rb +7 -7
  1223. data/lib/uniword/spreadsheetml/borders.rb +6 -5
  1224. data/lib/uniword/spreadsheetml/calc_properties.rb +5 -5
  1225. data/lib/uniword/spreadsheetml/cell.rb +7 -7
  1226. data/lib/uniword/spreadsheetml/cell_format.rb +12 -12
  1227. data/lib/uniword/spreadsheetml/cell_formats.rb +4 -4
  1228. data/lib/uniword/spreadsheetml/cell_formula.rb +6 -6
  1229. data/lib/uniword/spreadsheetml/cell_style.rb +8 -8
  1230. data/lib/uniword/spreadsheetml/cell_style_xfs.rb +4 -4
  1231. data/lib/uniword/spreadsheetml/cell_styles.rb +4 -4
  1232. data/lib/uniword/spreadsheetml/cell_value.rb +3 -3
  1233. data/lib/uniword/spreadsheetml/chartsheet.rb +4 -4
  1234. data/lib/uniword/spreadsheetml/col.rb +8 -8
  1235. data/lib/uniword/spreadsheetml/col_breaks.rb +4 -4
  1236. data/lib/uniword/spreadsheetml/color.rb +6 -6
  1237. data/lib/uniword/spreadsheetml/color_filter.rb +4 -4
  1238. data/lib/uniword/spreadsheetml/colors.rb +3 -3
  1239. data/lib/uniword/spreadsheetml/cols.rb +3 -3
  1240. data/lib/uniword/spreadsheetml/comment.rb +5 -5
  1241. data/lib/uniword/spreadsheetml/comment_list.rb +5 -4
  1242. data/lib/uniword/spreadsheetml/comments.rb +4 -4
  1243. data/lib/uniword/spreadsheetml/conditional_formatting.rb +6 -5
  1244. data/lib/uniword/spreadsheetml/conditional_formatting_rule.rb +5 -5
  1245. data/lib/uniword/spreadsheetml/custom_filter.rb +4 -4
  1246. data/lib/uniword/spreadsheetml/custom_filters.rb +6 -5
  1247. data/lib/uniword/spreadsheetml/custom_workbook_views.rb +3 -3
  1248. data/lib/uniword/spreadsheetml/data_validation.rb +13 -13
  1249. data/lib/uniword/spreadsheetml/data_validations.rb +6 -5
  1250. data/lib/uniword/spreadsheetml/date_group_item.rb +9 -9
  1251. data/lib/uniword/spreadsheetml/defined_name.rb +6 -6
  1252. data/lib/uniword/spreadsheetml/defined_names.rb +3 -3
  1253. data/lib/uniword/spreadsheetml/dimension.rb +3 -3
  1254. data/lib/uniword/spreadsheetml/drawing.rb +3 -3
  1255. data/lib/uniword/spreadsheetml/dynamic_filter.rb +5 -5
  1256. data/lib/uniword/spreadsheetml/external_reference.rb +3 -3
  1257. data/lib/uniword/spreadsheetml/external_references.rb +3 -3
  1258. data/lib/uniword/spreadsheetml/file_sharing.rb +3 -3
  1259. data/lib/uniword/spreadsheetml/file_version.rb +4 -4
  1260. data/lib/uniword/spreadsheetml/fill.rb +3 -3
  1261. data/lib/uniword/spreadsheetml/fills.rb +4 -4
  1262. data/lib/uniword/spreadsheetml/filter.rb +3 -3
  1263. data/lib/uniword/spreadsheetml/filter_column.rb +11 -11
  1264. data/lib/uniword/spreadsheetml/filters.rb +8 -7
  1265. data/lib/uniword/spreadsheetml/font.rb +7 -7
  1266. data/lib/uniword/spreadsheetml/font_name.rb +3 -3
  1267. data/lib/uniword/spreadsheetml/font_size.rb +3 -3
  1268. data/lib/uniword/spreadsheetml/fonts.rb +4 -4
  1269. data/lib/uniword/spreadsheetml/hyperlink.rb +7 -7
  1270. data/lib/uniword/spreadsheetml/hyperlinks.rb +3 -3
  1271. data/lib/uniword/spreadsheetml/icon_filter.rb +4 -4
  1272. data/lib/uniword/spreadsheetml/italic.rb +3 -3
  1273. data/lib/uniword/spreadsheetml/legacy_drawing.rb +3 -3
  1274. data/lib/uniword/spreadsheetml/merge_cell.rb +3 -3
  1275. data/lib/uniword/spreadsheetml/merge_cells.rb +4 -4
  1276. data/lib/uniword/spreadsheetml/number_format.rb +4 -4
  1277. data/lib/uniword/spreadsheetml/number_formats.rb +4 -4
  1278. data/lib/uniword/spreadsheetml/ole_object.rb +4 -4
  1279. data/lib/uniword/spreadsheetml/ole_objects.rb +3 -3
  1280. data/lib/uniword/spreadsheetml/ole_size.rb +3 -3
  1281. data/lib/uniword/spreadsheetml/pattern_fill.rb +5 -5
  1282. data/lib/uniword/spreadsheetml/phonetic_pr.rb +10 -10
  1283. data/lib/uniword/spreadsheetml/phonetic_properties.rb +4 -4
  1284. data/lib/uniword/spreadsheetml/pivot_caches.rb +3 -3
  1285. data/lib/uniword/spreadsheetml/pivot_table.rb +4 -4
  1286. data/lib/uniword/spreadsheetml/pivot_table_definition.rb +5 -5
  1287. data/lib/uniword/spreadsheetml/protected_ranges.rb +3 -3
  1288. data/lib/uniword/spreadsheetml/query_table.rb +4 -4
  1289. data/lib/uniword/spreadsheetml/rich_text_run.rb +4 -4
  1290. data/lib/uniword/spreadsheetml/row.rb +8 -8
  1291. data/lib/uniword/spreadsheetml/row_breaks.rb +4 -4
  1292. data/lib/uniword/spreadsheetml/run_properties.rb +6 -6
  1293. data/lib/uniword/spreadsheetml/scenarios.rb +5 -5
  1294. data/lib/uniword/spreadsheetml/shared_string_table.rb +7 -6
  1295. data/lib/uniword/spreadsheetml/sheet.rb +6 -6
  1296. data/lib/uniword/spreadsheetml/sheet_data.rb +3 -3
  1297. data/lib/uniword/spreadsheetml/sheet_format_pr.rb +12 -9
  1298. data/lib/uniword/spreadsheetml/sheet_protection.rb +6 -6
  1299. data/lib/uniword/spreadsheetml/sheet_view.rb +7 -7
  1300. data/lib/uniword/spreadsheetml/sheet_views.rb +3 -3
  1301. data/lib/uniword/spreadsheetml/sheets.rb +3 -3
  1302. data/lib/uniword/spreadsheetml/sort_condition.rb +9 -9
  1303. data/lib/uniword/spreadsheetml/sort_state.rb +6 -5
  1304. data/lib/uniword/spreadsheetml/sparkline_group.rb +4 -4
  1305. data/lib/uniword/spreadsheetml/sparkline_groups.rb +5 -4
  1306. data/lib/uniword/spreadsheetml/string_item.rb +5 -5
  1307. data/lib/uniword/spreadsheetml/table.rb +9 -9
  1308. data/lib/uniword/spreadsheetml/table_column.rb +4 -4
  1309. data/lib/uniword/spreadsheetml/table_columns.rb +4 -4
  1310. data/lib/uniword/spreadsheetml/table_formula.rb +3 -3
  1311. data/lib/uniword/spreadsheetml/table_parts.rb +4 -4
  1312. data/lib/uniword/spreadsheetml/table_style_info.rb +7 -7
  1313. data/lib/uniword/spreadsheetml/table_styles.rb +6 -5
  1314. data/lib/uniword/spreadsheetml/text.rb +4 -4
  1315. data/lib/uniword/spreadsheetml/top10.rb +6 -6
  1316. data/lib/uniword/spreadsheetml/workbook.rb +7 -7
  1317. data/lib/uniword/spreadsheetml/workbook_properties.rb +5 -5
  1318. data/lib/uniword/spreadsheetml/workbook_protection.rb +4 -4
  1319. data/lib/uniword/spreadsheetml/workbook_view.rb +5 -5
  1320. data/lib/uniword/spreadsheetml/worksheet/sheet_format_pr.rb +12 -9
  1321. data/lib/uniword/spreadsheetml/worksheet.rb +8 -8
  1322. data/lib/uniword/spreadsheetml.rb +108 -105
  1323. data/lib/uniword/streaming_parser.rb +21 -21
  1324. data/lib/uniword/styles.rb +12 -7
  1325. data/lib/uniword/styleset.rb +12 -12
  1326. data/lib/uniword/stylesets/package.rb +13 -9
  1327. data/lib/uniword/stylesets/styleset_importer.rb +10 -10
  1328. data/lib/uniword/stylesets/yaml_styleset_loader.rb +4 -4
  1329. data/lib/uniword/tab_stop.rb +13 -12
  1330. data/lib/uniword/table_border.rb +16 -15
  1331. data/lib/uniword/template/helpers/conditional_helper.rb +2 -1
  1332. data/lib/uniword/template/helpers/filter_helper.rb +20 -17
  1333. data/lib/uniword/template/template.rb +4 -2
  1334. data/lib/uniword/template/template_parser.rb +5 -5
  1335. data/lib/uniword/template/template_validator.rb +5 -4
  1336. data/lib/uniword/template/variable_resolver.rb +10 -10
  1337. data/lib/uniword/template_manager.rb +163 -0
  1338. data/lib/uniword/text_box.rb +5 -4
  1339. data/lib/uniword/text_frame.rb +16 -16
  1340. data/lib/uniword/theme/media_file.rb +18 -12
  1341. data/lib/uniword/theme/theme_applicator.rb +13 -12
  1342. data/lib/uniword/theme/theme_package_reader.rb +5 -5
  1343. data/lib/uniword/theme/theme_xml_parser.rb +67 -56
  1344. data/lib/uniword/theme_writer.rb +1 -1
  1345. data/lib/uniword/themes/theme.rb +29 -21
  1346. data/lib/uniword/themes/theme_importer.rb +24 -24
  1347. data/lib/uniword/themes/theme_transformation.rb +41 -13
  1348. data/lib/uniword/toc/toc_entry.rb +73 -0
  1349. data/lib/uniword/toc/toc_generator.rb +302 -0
  1350. data/lib/uniword/toc.rb +16 -0
  1351. data/lib/uniword/tracked_changes.rb +8 -7
  1352. data/lib/uniword/transformation/html_element_builder.rb +445 -0
  1353. data/lib/uniword/transformation/html_formatting_mapper.rb +245 -0
  1354. data/lib/uniword/transformation/html_to_ooxml_converter.rb +48 -457
  1355. data/lib/uniword/transformation/hyperlink_transformation_rule.rb +2 -2
  1356. data/lib/uniword/transformation/image_transformation_rule.rb +1 -1
  1357. data/lib/uniword/transformation/mhtml_element_renderer.rb +626 -0
  1358. data/lib/uniword/transformation/mhtml_metadata_builder.rb +233 -0
  1359. data/lib/uniword/transformation/mhtml_style_builder.rb +713 -0
  1360. data/lib/uniword/transformation/ooxml_to_html_converter.rb +19 -19
  1361. data/lib/uniword/transformation/ooxml_to_mhtml_converter.rb +182 -1278
  1362. data/lib/uniword/transformation/paragraph_transformation_rule.rb +10 -10
  1363. data/lib/uniword/transformation/run_transformation_rule.rb +1 -1
  1364. data/lib/uniword/transformation/table_transformation_rule.rb +3 -3
  1365. data/lib/uniword/transformation/transformation_rule_registry.rb +1 -1
  1366. data/lib/uniword/transformation/transformer.rb +41 -46
  1367. data/lib/uniword/transformation.rb +31 -11
  1368. data/lib/uniword/validation/checkers/external_link_checker.rb +30 -18
  1369. data/lib/uniword/validation/checkers/file_reference_checker.rb +25 -17
  1370. data/lib/uniword/validation/checkers/footnote_reference_checker.rb +19 -11
  1371. data/lib/uniword/validation/checkers/internal_link_checker.rb +19 -11
  1372. data/lib/uniword/validation/checkers.rb +4 -2
  1373. data/lib/uniword/validation/document_validator.rb +12 -12
  1374. data/lib/uniword/validation/layer_validation_result.rb +3 -3
  1375. data/lib/uniword/validation/layer_validator.rb +5 -5
  1376. data/lib/uniword/validation/link_validator.rb +8 -8
  1377. data/lib/uniword/validation/opc_validator.rb +229 -0
  1378. data/lib/uniword/validation/report/layer_result.rb +59 -0
  1379. data/lib/uniword/validation/report/terminal_formatter.rb +102 -0
  1380. data/lib/uniword/validation/report/validation_issue.rb +56 -0
  1381. data/lib/uniword/validation/report/verification_report.rb +66 -0
  1382. data/lib/uniword/validation/rules/base.rb +100 -0
  1383. data/lib/uniword/validation/rules/bookmarks_rule.rb +84 -0
  1384. data/lib/uniword/validation/rules/content_types_coverage_rule.rb +64 -0
  1385. data/lib/uniword/validation/rules/core_properties_namespace_rule.rb +86 -0
  1386. data/lib/uniword/validation/rules/document_context.rb +197 -0
  1387. data/lib/uniword/validation/rules/font_table_signature_rule.rb +55 -0
  1388. data/lib/uniword/validation/rules/fonts_rule.rb +64 -0
  1389. data/lib/uniword/validation/rules/footnotes_rule.rb +164 -0
  1390. data/lib/uniword/validation/rules/headers_footers_rule.rb +91 -0
  1391. data/lib/uniword/validation/rules/images_rule.rb +115 -0
  1392. data/lib/uniword/validation/rules/mc_ignorable_namespace_rule.rb +82 -0
  1393. data/lib/uniword/validation/rules/numbering_preservation_rule.rb +139 -0
  1394. data/lib/uniword/validation/rules/numbering_rule.rb +81 -0
  1395. data/lib/uniword/validation/rules/registry.rb +69 -0
  1396. data/lib/uniword/validation/rules/relationship_integrity_rule.rb +85 -0
  1397. data/lib/uniword/validation/rules/rsid_rule.rb +65 -0
  1398. data/lib/uniword/validation/rules/section_properties_rule.rb +72 -0
  1399. data/lib/uniword/validation/rules/settings_rule.rb +76 -0
  1400. data/lib/uniword/validation/rules/settings_values_rule.rb +76 -0
  1401. data/lib/uniword/validation/rules/style_references_rule.rb +98 -0
  1402. data/lib/uniword/validation/rules/tables_rule.rb +69 -0
  1403. data/lib/uniword/validation/rules/theme_completeness_rule.rb +72 -0
  1404. data/lib/uniword/validation/rules/theme_rule.rb +88 -0
  1405. data/lib/uniword/validation/rules.rb +47 -0
  1406. data/lib/uniword/validation/schema_registry.rb +200 -0
  1407. data/lib/uniword/validation/structural_validator.rb +116 -0
  1408. data/lib/uniword/validation/validation_report.rb +18 -18
  1409. data/lib/uniword/validation/validation_result.rb +3 -3
  1410. data/lib/uniword/validation/validators/content_type_validator.rb +28 -22
  1411. data/lib/uniword/validation/validators/document_semantics_validator.rb +42 -123
  1412. data/lib/uniword/validation/validators/file_structure_validator.rb +10 -7
  1413. data/lib/uniword/validation/validators/ooxml_part_validator.rb +19 -19
  1414. data/lib/uniword/validation/validators/relationship_validator.rb +22 -21
  1415. data/lib/uniword/validation/validators/xml_schema_validator.rb +110 -73
  1416. data/lib/uniword/validation/validators/zip_integrity_validator.rb +8 -8
  1417. data/lib/uniword/validation/validators.rb +10 -5
  1418. data/lib/uniword/validation/verify_orchestrator.rb +171 -0
  1419. data/lib/uniword/validation.rb +3 -1
  1420. data/lib/uniword/validators/element_validator.rb +11 -9
  1421. data/lib/uniword/validators/paragraph_validator.rb +5 -11
  1422. data/lib/uniword/validators/table_validator.rb +6 -12
  1423. data/lib/uniword/version.rb +1 -1
  1424. data/lib/uniword/visitor/text_extractor.rb +6 -6
  1425. data/lib/uniword/vml/arc.rb +13 -13
  1426. data/lib/uniword/vml/background.rb +9 -9
  1427. data/lib/uniword/vml/curve.rb +11 -11
  1428. data/lib/uniword/vml/fill.rb +8 -8
  1429. data/lib/uniword/vml/formula.rb +3 -3
  1430. data/lib/uniword/vml/formulas.rb +3 -3
  1431. data/lib/uniword/vml/group.rb +7 -7
  1432. data/lib/uniword/vml/handle.rb +11 -11
  1433. data/lib/uniword/vml/handles.rb +3 -3
  1434. data/lib/uniword/vml/image.rb +16 -16
  1435. data/lib/uniword/vml/imagedata.rb +14 -9
  1436. data/lib/uniword/vml/line.rb +10 -10
  1437. data/lib/uniword/vml/oval.rb +11 -11
  1438. data/lib/uniword/vml/path.rb +6 -6
  1439. data/lib/uniword/vml/polyline.rb +9 -9
  1440. data/lib/uniword/vml/rect.rb +11 -11
  1441. data/lib/uniword/vml/roundrect.rb +12 -12
  1442. data/lib/uniword/vml/shadow.rb +9 -9
  1443. data/lib/uniword/vml/shape.rb +22 -22
  1444. data/lib/uniword/vml/shapetype.rb +10 -10
  1445. data/lib/uniword/vml/stroke.rb +9 -9
  1446. data/lib/uniword/vml/textbox.rb +5 -5
  1447. data/lib/uniword/vml/textpath.rb +5 -5
  1448. data/lib/uniword/vml/wrap.rb +4 -4
  1449. data/lib/uniword/vml.rb +24 -24
  1450. data/lib/uniword/vml_office/vml_anchor_lock.rb +3 -3
  1451. data/lib/uniword/vml_office/vml_bottom.rb +4 -4
  1452. data/lib/uniword/vml_office/vml_callout.rb +10 -10
  1453. data/lib/uniword/vml_office/vml_clip_path.rb +4 -4
  1454. data/lib/uniword/vml_office/vml_color_mru.rb +4 -4
  1455. data/lib/uniword/vml_office/vml_column.rb +4 -4
  1456. data/lib/uniword/vml_office/vml_complex.rb +3 -3
  1457. data/lib/uniword/vml_office/vml_complex_extension.rb +4 -4
  1458. data/lib/uniword/vml_office/vml_diagram.rb +8 -8
  1459. data/lib/uniword/vml_office/vml_entry.rb +4 -4
  1460. data/lib/uniword/vml_office/vml_extrusion.rb +14 -14
  1461. data/lib/uniword/vml_office/vml_id_map.rb +4 -4
  1462. data/lib/uniword/vml_office/vml_ink.rb +5 -5
  1463. data/lib/uniword/vml_office/vml_left.rb +4 -4
  1464. data/lib/uniword/vml_office/vml_lock.rb +11 -11
  1465. data/lib/uniword/vml_office/vml_office_fill.rb +8 -8
  1466. data/lib/uniword/vml_office/vml_proxy.rb +6 -6
  1467. data/lib/uniword/vml_office/vml_regroup.rb +3 -3
  1468. data/lib/uniword/vml_office/vml_relation_table.rb +4 -4
  1469. data/lib/uniword/vml_office/vml_right.rb +4 -4
  1470. data/lib/uniword/vml_office/vml_rule.rb +5 -5
  1471. data/lib/uniword/vml_office/vml_rules.rb +4 -4
  1472. data/lib/uniword/vml_office/vml_shape_defaults.rb +9 -9
  1473. data/lib/uniword/vml_office/vml_shape_layout.rb +12 -12
  1474. data/lib/uniword/vml_office/vml_signature_line.rb +11 -11
  1475. data/lib/uniword/vml_office/vml_skew.rb +7 -7
  1476. data/lib/uniword/vml_office/vml_top.rb +4 -4
  1477. data/lib/uniword/vml_office/vml_wrap_block.rb +4 -4
  1478. data/lib/uniword/vml_office/vml_wrap_coords.rb +3 -3
  1479. data/lib/uniword/vml_office.rb +31 -31
  1480. data/lib/uniword/vml_word/border_bottom.rb +7 -7
  1481. data/lib/uniword/vml_word/border_left.rb +7 -7
  1482. data/lib/uniword/vml_word/border_right.rb +7 -7
  1483. data/lib/uniword/vml_word/border_top.rb +7 -7
  1484. data/lib/uniword/vml_word.rb +4 -4
  1485. data/lib/uniword/warnings/warning.rb +1 -1
  1486. data/lib/uniword/warnings/warning_collector.rb +9 -9
  1487. data/lib/uniword/warnings/warning_report.rb +6 -6
  1488. data/lib/uniword/watermark/manager.rb +119 -0
  1489. data/lib/uniword/watermark.rb +11 -0
  1490. data/lib/uniword/word2010_ext/wrap.rb +4 -4
  1491. data/lib/uniword/word2010_ext.rb +2 -2
  1492. data/lib/uniword/word_implementation.rb +12 -4
  1493. data/lib/uniword/word_implementation_factory.rb +1 -1
  1494. data/lib/uniword/word_implementation_linux.rb +7 -7
  1495. data/lib/uniword/word_implementation_macos.rb +8 -8
  1496. data/lib/uniword/word_implementation_null.rb +1 -1
  1497. data/lib/uniword/word_implementation_windows.rb +22 -17
  1498. data/lib/uniword/wordprocessing_group.rb +5 -5
  1499. data/lib/uniword/wordprocessing_shape.rb +10 -10
  1500. data/lib/uniword/wordprocessingml/abstract_num.rb +5 -5
  1501. data/lib/uniword/wordprocessingml/abstract_num_id.rb +3 -3
  1502. data/lib/uniword/wordprocessingml/alternate_content.rb +4 -4
  1503. data/lib/uniword/wordprocessingml/anchor.rb +9 -9
  1504. data/lib/uniword/wordprocessingml/based_on.rb +3 -3
  1505. data/lib/uniword/wordprocessingml/body.rb +38 -14
  1506. data/lib/uniword/wordprocessingml/bookmark_end.rb +5 -3
  1507. data/lib/uniword/wordprocessingml/bookmark_start.rb +6 -4
  1508. data/lib/uniword/wordprocessingml/border.rb +7 -7
  1509. data/lib/uniword/wordprocessingml/break.rb +4 -4
  1510. data/lib/uniword/wordprocessingml/carriage_return.rb +2 -2
  1511. data/lib/uniword/wordprocessingml/character_style.rb +64 -63
  1512. data/lib/uniword/wordprocessingml/choice.rb +4 -4
  1513. data/lib/uniword/wordprocessingml/cnf_style.rb +15 -15
  1514. data/lib/uniword/wordprocessingml/columns.rb +5 -5
  1515. data/lib/uniword/wordprocessingml/comment_range_end.rb +3 -3
  1516. data/lib/uniword/wordprocessingml/comment_range_start.rb +3 -3
  1517. data/lib/uniword/wordprocessingml/comment_reference.rb +3 -3
  1518. data/lib/uniword/wordprocessingml/compat.rb +7 -6
  1519. data/lib/uniword/wordprocessingml/compat_setting.rb +5 -5
  1520. data/lib/uniword/wordprocessingml/deleted_text.rb +3 -3
  1521. data/lib/uniword/wordprocessingml/doc_defaults.rb +4 -4
  1522. data/lib/uniword/wordprocessingml/doc_grid.rb +5 -5
  1523. data/lib/uniword/wordprocessingml/doc_pr.rb +5 -5
  1524. data/lib/uniword/wordprocessingml/document_root/feature_facade.rb +317 -0
  1525. data/lib/uniword/wordprocessingml/document_root.rb +145 -30
  1526. data/lib/uniword/wordprocessingml/drawing.rb +4 -4
  1527. data/lib/uniword/wordprocessingml/emboss.rb +3 -3
  1528. data/lib/uniword/wordprocessingml/endnote.rb +5 -5
  1529. data/lib/uniword/wordprocessingml/endnote_ref.rb +2 -2
  1530. data/lib/uniword/wordprocessingml/endnote_reference.rb +3 -3
  1531. data/lib/uniword/wordprocessingml/endnotes.rb +5 -4
  1532. data/lib/uniword/wordprocessingml/extent.rb +4 -4
  1533. data/lib/uniword/wordprocessingml/fallback.rb +4 -4
  1534. data/lib/uniword/wordprocessingml/field_char.rb +4 -4
  1535. data/lib/uniword/wordprocessingml/font.rb +36 -26
  1536. data/lib/uniword/wordprocessingml/font_table.rb +23 -5
  1537. data/lib/uniword/wordprocessingml/fonts.rb +3 -3
  1538. data/lib/uniword/wordprocessingml/footer.rb +4 -4
  1539. data/lib/uniword/wordprocessingml/footer_reference.rb +6 -8
  1540. data/lib/uniword/wordprocessingml/footnote.rb +5 -5
  1541. data/lib/uniword/wordprocessingml/footnote_ref.rb +2 -2
  1542. data/lib/uniword/wordprocessingml/footnote_reference.rb +3 -3
  1543. data/lib/uniword/wordprocessingml/footnotes.rb +5 -4
  1544. data/lib/uniword/wordprocessingml/graphic.rb +3 -3
  1545. data/lib/uniword/wordprocessingml/graphic_data.rb +3 -3
  1546. data/lib/uniword/wordprocessingml/grid_after.rb +3 -3
  1547. data/lib/uniword/wordprocessingml/grid_before.rb +3 -3
  1548. data/lib/uniword/wordprocessingml/grid_col.rb +3 -3
  1549. data/lib/uniword/wordprocessingml/header.rb +4 -4
  1550. data/lib/uniword/wordprocessingml/header_reference.rb +6 -8
  1551. data/lib/uniword/wordprocessingml/hide_mark.rb +20 -0
  1552. data/lib/uniword/wordprocessingml/hyperlink.rb +14 -32
  1553. data/lib/uniword/wordprocessingml/imprint.rb +3 -3
  1554. data/lib/uniword/wordprocessingml/inline.rb +5 -5
  1555. data/lib/uniword/wordprocessingml/instr_text.rb +7 -6
  1556. data/lib/uniword/wordprocessingml/last_rendered_page_break.rb +2 -2
  1557. data/lib/uniword/wordprocessingml/latent_styles.rb +16 -16
  1558. data/lib/uniword/wordprocessingml/level.rb +50 -16
  1559. data/lib/uniword/wordprocessingml/link.rb +3 -3
  1560. data/lib/uniword/wordprocessingml/lvl_jc.rb +3 -3
  1561. data/lib/uniword/wordprocessingml/lvl_text.rb +3 -3
  1562. data/lib/uniword/wordprocessingml/mc_requires.rb +1 -1
  1563. data/lib/uniword/wordprocessingml/multi_level_type.rb +3 -3
  1564. data/lib/uniword/wordprocessingml/next.rb +3 -3
  1565. data/lib/uniword/wordprocessingml/no_break_hyphen.rb +2 -2
  1566. data/lib/uniword/wordprocessingml/no_wrap.rb +2 -2
  1567. data/lib/uniword/wordprocessingml/num.rb +7 -4
  1568. data/lib/uniword/wordprocessingml/num_fmt.rb +3 -3
  1569. data/lib/uniword/wordprocessingml/numbering.rb +29 -5
  1570. data/lib/uniword/wordprocessingml/numbering_configuration.rb +29 -9
  1571. data/lib/uniword/wordprocessingml/numbering_definition.rb +37 -27
  1572. data/lib/uniword/wordprocessingml/numbering_elements.rb +14 -14
  1573. data/lib/uniword/wordprocessingml/numbering_instance.rb +40 -8
  1574. data/lib/uniword/wordprocessingml/numbering_level.rb +9 -8
  1575. data/lib/uniword/wordprocessingml/object.rb +4 -4
  1576. data/lib/uniword/wordprocessingml/outline.rb +3 -3
  1577. data/lib/uniword/wordprocessingml/p_pr_default.rb +3 -3
  1578. data/lib/uniword/wordprocessingml/page_margins.rb +9 -9
  1579. data/lib/uniword/wordprocessingml/page_numbering.rb +6 -4
  1580. data/lib/uniword/wordprocessingml/page_size.rb +7 -5
  1581. data/lib/uniword/wordprocessingml/paragraph.rb +33 -75
  1582. data/lib/uniword/wordprocessingml/paragraph_borders.rb +9 -11
  1583. data/lib/uniword/wordprocessingml/paragraph_properties.rb +108 -119
  1584. data/lib/uniword/wordprocessingml/paragraph_style.rb +66 -59
  1585. data/lib/uniword/wordprocessingml/pict.rb +3 -3
  1586. data/lib/uniword/wordprocessingml/picture.rb +4 -4
  1587. data/lib/uniword/wordprocessingml/position_tab.rb +5 -5
  1588. data/lib/uniword/wordprocessingml/proof_err.rb +3 -3
  1589. data/lib/uniword/wordprocessingml/r_pr_default.rb +3 -3
  1590. data/lib/uniword/wordprocessingml/recipient_data.rb +5 -5
  1591. data/lib/uniword/wordprocessingml/recipients.rb +5 -4
  1592. data/lib/uniword/wordprocessingml/run.rb +34 -28
  1593. data/lib/uniword/wordprocessingml/run_properties/accessors.rb +74 -0
  1594. data/lib/uniword/wordprocessingml/run_properties/conversion.rb +167 -0
  1595. data/lib/uniword/wordprocessingml/run_properties/predicates.rb +96 -0
  1596. data/lib/uniword/wordprocessingml/run_properties/yaml_transforms.rb +205 -0
  1597. data/lib/uniword/wordprocessingml/run_properties.rb +89 -598
  1598. data/lib/uniword/wordprocessingml/section_properties.rb +29 -19
  1599. data/lib/uniword/wordprocessingml/semi_hidden.rb +3 -3
  1600. data/lib/uniword/wordprocessingml/settings.rb +174 -136
  1601. data/lib/uniword/wordprocessingml/shading.rb +7 -7
  1602. data/lib/uniword/wordprocessingml/shadow.rb +3 -3
  1603. data/lib/uniword/wordprocessingml/shape.rb +5 -5
  1604. data/lib/uniword/wordprocessingml/simple_field.rb +5 -5
  1605. data/lib/uniword/wordprocessingml/simple_pos.rb +4 -4
  1606. data/lib/uniword/wordprocessingml/soft_hyphen.rb +2 -2
  1607. data/lib/uniword/wordprocessingml/start.rb +3 -3
  1608. data/lib/uniword/wordprocessingml/structured_document_tag/alias.rb +3 -3
  1609. data/lib/uniword/wordprocessingml/structured_document_tag/appearance.rb +3 -3
  1610. data/lib/uniword/wordprocessingml/structured_document_tag/bibliography.rb +2 -2
  1611. data/lib/uniword/wordprocessingml/structured_document_tag/content.rb +19 -10
  1612. data/lib/uniword/wordprocessingml/structured_document_tag/data_binding.rb +6 -5
  1613. data/lib/uniword/wordprocessingml/structured_document_tag/date.rb +16 -15
  1614. data/lib/uniword/wordprocessingml/structured_document_tag/doc_part_obj.rb +11 -10
  1615. data/lib/uniword/wordprocessingml/structured_document_tag/end_properties.rb +3 -3
  1616. data/lib/uniword/wordprocessingml/structured_document_tag/id.rb +3 -3
  1617. data/lib/uniword/wordprocessingml/structured_document_tag/placeholder.rb +5 -5
  1618. data/lib/uniword/wordprocessingml/structured_document_tag/run_properties.rb +31 -31
  1619. data/lib/uniword/wordprocessingml/structured_document_tag/showing_placeholder_header.rb +2 -2
  1620. data/lib/uniword/wordprocessingml/structured_document_tag/tag.rb +3 -3
  1621. data/lib/uniword/wordprocessingml/structured_document_tag/temporary.rb +2 -2
  1622. data/lib/uniword/wordprocessingml/structured_document_tag/text.rb +5 -2
  1623. data/lib/uniword/wordprocessingml/structured_document_tag.rb +15 -10
  1624. data/lib/uniword/wordprocessingml/structured_document_tag_properties.rb +17 -16
  1625. data/lib/uniword/wordprocessingml/style.rb +48 -171
  1626. data/lib/uniword/wordprocessingml/style_name.rb +3 -3
  1627. data/lib/uniword/wordprocessingml/styles/list_style_definition.rb +2 -2
  1628. data/lib/uniword/wordprocessingml/styles/paragraph_style_definition.rb +3 -2
  1629. data/lib/uniword/wordprocessingml/styles/style_definition.rb +1 -1
  1630. data/lib/uniword/wordprocessingml/styles/style_library.rb +1 -1
  1631. data/lib/uniword/wordprocessingml/styles/table_style_definition.rb +7 -5
  1632. data/lib/uniword/wordprocessingml/styles.rb +4 -2
  1633. data/lib/uniword/wordprocessingml/styles_configuration.rb +47 -19
  1634. data/lib/uniword/wordprocessingml/symbol.rb +4 -4
  1635. data/lib/uniword/wordprocessingml/tab.rb +4 -4
  1636. data/lib/uniword/wordprocessingml/tab_stop.rb +5 -37
  1637. data/lib/uniword/wordprocessingml/table.rb +8 -7
  1638. data/lib/uniword/wordprocessingml/table_borders.rb +8 -8
  1639. data/lib/uniword/wordprocessingml/table_cell.rb +8 -38
  1640. data/lib/uniword/wordprocessingml/table_cell_borders.rb +6 -6
  1641. data/lib/uniword/wordprocessingml/table_cell_margin.rb +7 -7
  1642. data/lib/uniword/wordprocessingml/table_cell_properties.rb +14 -28
  1643. data/lib/uniword/wordprocessingml/table_grid.rb +3 -3
  1644. data/lib/uniword/wordprocessingml/table_properties.rb +18 -253
  1645. data/lib/uniword/wordprocessingml/table_row.rb +9 -25
  1646. data/lib/uniword/wordprocessingml/table_row_properties.rb +13 -9
  1647. data/lib/uniword/wordprocessingml/table_style.rb +3 -3
  1648. data/lib/uniword/wordprocessingml/text.rb +6 -13
  1649. data/lib/uniword/wordprocessingml/text_box_content.rb +7 -6
  1650. data/lib/uniword/wordprocessingml/text_direction.rb +3 -3
  1651. data/lib/uniword/wordprocessingml/title_pg.rb +20 -0
  1652. data/lib/uniword/wordprocessingml/tr_height.rb +4 -4
  1653. data/lib/uniword/wordprocessingml/ui_priority.rb +3 -3
  1654. data/lib/uniword/wordprocessingml/val_int.rb +3 -3
  1655. data/lib/uniword/wordprocessingml/w14_attributes.rb +1 -1
  1656. data/lib/uniword/wordprocessingml/web_settings.rb +30 -7
  1657. data/lib/uniword/wordprocessingml/width_after.rb +4 -4
  1658. data/lib/uniword/wordprocessingml/width_before.rb +4 -4
  1659. data/lib/uniword/wordprocessingml/zoom.rb +3 -3
  1660. data/lib/uniword/wordprocessingml.rb +209 -197
  1661. data/lib/uniword/wordprocessingml_2010/checkbox.rb +5 -5
  1662. data/lib/uniword/wordprocessingml_2010/checked_state.rb +4 -4
  1663. data/lib/uniword/wordprocessingml_2010/conditional_format_style.rb +7 -7
  1664. data/lib/uniword/wordprocessingml_2010/conflict_deletion.rb +5 -5
  1665. data/lib/uniword/wordprocessingml_2010/conflict_insertion.rb +5 -5
  1666. data/lib/uniword/wordprocessingml_2010/conflict_mode.rb +3 -3
  1667. data/lib/uniword/wordprocessingml_2010/custom_xml_conflict_insertion.rb +4 -4
  1668. data/lib/uniword/wordprocessingml_2010/doc_id.rb +3 -3
  1669. data/lib/uniword/wordprocessingml_2010/doc_part_gallery.rb +3 -3
  1670. data/lib/uniword/wordprocessingml_2010/doc_part_obj.rb +5 -5
  1671. data/lib/uniword/wordprocessingml_2010/entity_picker.rb +3 -3
  1672. data/lib/uniword/wordprocessingml_2010/ligatures.rb +3 -3
  1673. data/lib/uniword/wordprocessingml_2010/number_form.rb +3 -3
  1674. data/lib/uniword/wordprocessingml_2010/para_id.rb +3 -3
  1675. data/lib/uniword/wordprocessingml_2010/props3d.rb +5 -5
  1676. data/lib/uniword/wordprocessingml_2010/sdt_content.rb +3 -3
  1677. data/lib/uniword/wordprocessingml_2010/sdt_properties.rb +5 -5
  1678. data/lib/uniword/wordprocessingml_2010/structured_document_tag.rb +4 -4
  1679. data/lib/uniword/wordprocessingml_2010/text_fill.rb +5 -5
  1680. data/lib/uniword/wordprocessingml_2010/text_glow.rb +4 -4
  1681. data/lib/uniword/wordprocessingml_2010/text_id.rb +3 -3
  1682. data/lib/uniword/wordprocessingml_2010/text_outline.rb +6 -6
  1683. data/lib/uniword/wordprocessingml_2010/text_reflection.rb +6 -6
  1684. data/lib/uniword/wordprocessingml_2010/text_shadow.rb +6 -6
  1685. data/lib/uniword/wordprocessingml_2010/unchecked_state.rb +4 -4
  1686. data/lib/uniword/wordprocessingml_2010.rb +30 -26
  1687. data/lib/uniword/wordprocessingml_2013/chart_props.rb +4 -4
  1688. data/lib/uniword/wordprocessingml_2013/chart_tracking_ref_based.rb +3 -3
  1689. data/lib/uniword/wordprocessingml_2013/comment_author.rb +5 -5
  1690. data/lib/uniword/wordprocessingml_2013/comment_collapsed.rb +3 -3
  1691. data/lib/uniword/wordprocessingml_2013/comment_done.rb +3 -3
  1692. data/lib/uniword/wordprocessingml_2013/comment_ex.rb +5 -5
  1693. data/lib/uniword/wordprocessingml_2013/comments_ids.rb +3 -3
  1694. data/lib/uniword/wordprocessingml_2013/doc_part_anchor.rb +3 -3
  1695. data/lib/uniword/wordprocessingml_2013/document_part.rb +3 -3
  1696. data/lib/uniword/wordprocessingml_2013/footnote_columns.rb +3 -3
  1697. data/lib/uniword/wordprocessingml_2013/people_group.rb +4 -4
  1698. data/lib/uniword/wordprocessingml_2013/person.rb +5 -5
  1699. data/lib/uniword/wordprocessingml_2013/presence_info.rb +4 -4
  1700. data/lib/uniword/wordprocessingml_2013/repeating_section.rb +4 -4
  1701. data/lib/uniword/wordprocessingml_2013/repeating_section_item.rb +3 -3
  1702. data/lib/uniword/wordprocessingml_2013/sdt_appearance.rb +3 -3
  1703. data/lib/uniword/wordprocessingml_2013/sdt_color.rb +3 -3
  1704. data/lib/uniword/wordprocessingml_2013/sdt_data_binding.rb +4 -4
  1705. data/lib/uniword/wordprocessingml_2013/web_extension.rb +3 -3
  1706. data/lib/uniword/wordprocessingml_2013/web_extension_linked.rb +3 -3
  1707. data/lib/uniword/wordprocessingml_2013.rb +26 -21
  1708. data/lib/uniword/wordprocessingml_2016/cell_rsid.rb +3 -3
  1709. data/lib/uniword/wordprocessingml_2016/chart_color_style.rb +3 -3
  1710. data/lib/uniword/wordprocessingml_2016/chart_style2016.rb +3 -3
  1711. data/lib/uniword/wordprocessingml_2016/comments_ext.rb +4 -4
  1712. data/lib/uniword/wordprocessingml_2016/conflict_mode2016.rb +3 -3
  1713. data/lib/uniword/wordprocessingml_2016/content_id.rb +3 -3
  1714. data/lib/uniword/wordprocessingml_2016/data_binding2016.rb +5 -5
  1715. data/lib/uniword/wordprocessingml_2016/extension.rb +4 -4
  1716. data/lib/uniword/wordprocessingml_2016/extension_list.rb +3 -3
  1717. data/lib/uniword/wordprocessingml_2016/persistent_document_id.rb +3 -3
  1718. data/lib/uniword/wordprocessingml_2016/row_rsid.rb +3 -3
  1719. data/lib/uniword/wordprocessingml_2016/sdt_appearance2016.rb +3 -3
  1720. data/lib/uniword/wordprocessingml_2016/separator_extension.rb +3 -3
  1721. data/lib/uniword/wordprocessingml_2016/table_rsid.rb +3 -3
  1722. data/lib/uniword/wordprocessingml_2016/web_video_property.rb +4 -4
  1723. data/lib/uniword/wordprocessingml_2016.rb +21 -16
  1724. data/lib/uniword/wp_drawing/align.rb +3 -3
  1725. data/lib/uniword/wp_drawing/allow_overlap.rb +3 -3
  1726. data/lib/uniword/wp_drawing/anchor.rb +29 -27
  1727. data/lib/uniword/wp_drawing/behind_doc.rb +3 -3
  1728. data/lib/uniword/wp_drawing/c_nv_graphic_frame_pr.rb +5 -5
  1729. data/lib/uniword/wp_drawing/doc_pr.rb +7 -7
  1730. data/lib/uniword/wp_drawing/doc_properties.rb +8 -6
  1731. data/lib/uniword/wp_drawing/effect_extent.rb +6 -6
  1732. data/lib/uniword/wp_drawing/extent.rb +4 -4
  1733. data/lib/uniword/wp_drawing/hidden.rb +3 -3
  1734. data/lib/uniword/wp_drawing/inline.rb +16 -11
  1735. data/lib/uniword/wp_drawing/layout_in_cell.rb +3 -3
  1736. data/lib/uniword/wp_drawing/line_to.rb +4 -4
  1737. data/lib/uniword/wp_drawing/locked.rb +3 -3
  1738. data/lib/uniword/wp_drawing/non_visual_drawing_props.rb +6 -4
  1739. data/lib/uniword/wp_drawing/pos_offset.rb +3 -3
  1740. data/lib/uniword/wp_drawing/position_h.rb +5 -5
  1741. data/lib/uniword/wp_drawing/position_v.rb +5 -5
  1742. data/lib/uniword/wp_drawing/relative_height.rb +3 -3
  1743. data/lib/uniword/wp_drawing/simple_pos.rb +4 -4
  1744. data/lib/uniword/wp_drawing/size_rel_h.rb +4 -4
  1745. data/lib/uniword/wp_drawing/size_rel_v.rb +4 -4
  1746. data/lib/uniword/wp_drawing/start.rb +4 -4
  1747. data/lib/uniword/wp_drawing/wrap_none.rb +2 -2
  1748. data/lib/uniword/wp_drawing/wrap_polygon.rb +5 -5
  1749. data/lib/uniword/wp_drawing/wrap_square.rb +8 -8
  1750. data/lib/uniword/wp_drawing/wrap_through.rb +6 -6
  1751. data/lib/uniword/wp_drawing/wrap_tight.rb +6 -6
  1752. data/lib/uniword/wp_drawing/wrap_top_and_bottom.rb +5 -5
  1753. data/lib/uniword/wp_drawing.rb +30 -29
  1754. data/lib/uniword.rb +139 -121
  1755. metadata +583 -41
  1756. data/lib/uniword/document_properties/app_version.rb +0 -22
  1757. data/lib/uniword/document_properties/application.rb +0 -22
  1758. data/lib/uniword/document_properties/bool_value.rb +0 -22
  1759. data/lib/uniword/document_properties/company.rb +0 -22
  1760. data/lib/uniword/document_properties/custom_properties.rb +0 -23
  1761. data/lib/uniword/document_properties/custom_property.rb +0 -37
  1762. data/lib/uniword/document_properties/doc_security.rb +0 -22
  1763. data/lib/uniword/document_properties/extended_properties.rb +0 -41
  1764. data/lib/uniword/document_properties/file_time.rb +0 -22
  1765. data/lib/uniword/document_properties/heading_pairs.rb +0 -23
  1766. data/lib/uniword/document_properties/hyperlinks_changed.rb +0 -22
  1767. data/lib/uniword/document_properties/i4.rb +0 -22
  1768. data/lib/uniword/document_properties/links_up_to_date.rb +0 -22
  1769. data/lib/uniword/document_properties/lpw_str.rb +0 -22
  1770. data/lib/uniword/document_properties/manager.rb +0 -22
  1771. data/lib/uniword/document_properties/scale_crop.rb +0 -22
  1772. data/lib/uniword/document_properties/shared_doc.rb +0 -22
  1773. data/lib/uniword/document_properties/titles_of_parts.rb +0 -23
  1774. data/lib/uniword/document_properties/variant.rb +0 -25
  1775. data/lib/uniword/document_properties/vector.rb +0 -27
  1776. data/lib/uniword/document_properties.rb +0 -32
  1777. data/lib/uniword/metadata/metadata.rb +0 -345
  1778. data/lib/uniword/metadata/metadata_extractor.rb +0 -403
  1779. data/lib/uniword/metadata/metadata_index.rb +0 -455
  1780. data/lib/uniword/metadata/metadata_manager.rb +0 -334
  1781. data/lib/uniword/metadata/metadata_updater.rb +0 -243
  1782. data/lib/uniword/metadata/metadata_validator.rb +0 -326
  1783. data/lib/uniword/metadata.rb +0 -12
  1784. data/lib/uniword/ooxml/docx_package.rb +0 -989
@@ -0,0 +1,920 @@
1
+ # Chart Schema
2
+ # ISO/IEC 29500-1:2016 - Section 21.2 (DrawingML - Charts)
3
+ # Chart and diagram elements
4
+
5
+ schema:
6
+ namespace: c
7
+ category: "Charts"
8
+ iso_section: "21.2"
9
+
10
+ elements:
11
+ # Chart space (root element)
12
+ chart_space:
13
+ tag: 'c:chartSpace'
14
+ description: "Root element for chart part"
15
+ iso_reference: "21.2.2.27"
16
+ children:
17
+ - element: date1904
18
+ tag: 'c:date1904'
19
+ optional: true
20
+ - element: lang
21
+ tag: 'c:lang'
22
+ optional: true
23
+ - element: rounding_mode
24
+ tag: 'c:roundedCorners'
25
+ optional: true
26
+ - element: chart
27
+ tag: 'c:chart'
28
+ optional: false
29
+ - element: sp_pr
30
+ tag: 'c:spPr'
31
+ optional: true
32
+ - element: tx_pr
33
+ tag: 'c:txPr'
34
+ optional: true
35
+ - element: external_data
36
+ tag: 'c:externalData'
37
+ optional: true
38
+ - element: print_settings
39
+ tag: 'c:printSettings'
40
+ optional: true
41
+ attributes: []
42
+
43
+ # Chart container
44
+ chart:
45
+ tag: 'c:chart'
46
+ description: "Main chart container"
47
+ iso_reference: "21.2.2.25"
48
+ children:
49
+ - element: title
50
+ tag: 'c:title'
51
+ optional: true
52
+ - element: auto_title_deleted
53
+ tag: 'c:autoTitleDeleted'
54
+ optional: true
55
+ - element: plot_area
56
+ tag: 'c:plotArea'
57
+ optional: false
58
+ - element: legend
59
+ tag: 'c:legend'
60
+ optional: true
61
+ - element: plot_vis_only
62
+ tag: 'c:plotVisOnly'
63
+ optional: true
64
+ - element: disp_blanks_as
65
+ tag: 'c:dispBlanksAs'
66
+ optional: true
67
+ - element: show_dlbls_over_max
68
+ tag: 'c:showDLblsOverMax'
69
+ optional: true
70
+ attributes: []
71
+
72
+ # Plot area
73
+ plot_area:
74
+ tag: 'c:plotArea'
75
+ description: "Chart plotting area"
76
+ iso_reference: "21.2.2.145"
77
+ children:
78
+ - element: layout
79
+ tag: 'c:layout'
80
+ optional: true
81
+ - element: bar_chart
82
+ tag: 'c:barChart'
83
+ optional: true
84
+ - element: bar3d_chart
85
+ tag: 'c:bar3DChart'
86
+ optional: true
87
+ - element: line_chart
88
+ tag: 'c:lineChart'
89
+ optional: true
90
+ - element: line3d_chart
91
+ tag: 'c:line3DChart'
92
+ optional: true
93
+ - element: pie_chart
94
+ tag: 'c:pieChart'
95
+ optional: true
96
+ - element: pie3d_chart
97
+ tag: 'c:pie3DChart'
98
+ optional: true
99
+ - element: area_chart
100
+ tag: 'c:areaChart'
101
+ optional: true
102
+ - element: area3d_chart
103
+ tag: 'c:area3DChart'
104
+ optional: true
105
+ - element: scatter_chart
106
+ tag: 'c:scatterChart'
107
+ optional: true
108
+ - element: radar_chart
109
+ tag: 'c:radarChart'
110
+ optional: true
111
+ - element: doughnut_chart
112
+ tag: 'c:doughnutChart'
113
+ optional: true
114
+ - element: bubble_chart
115
+ tag: 'c:bubbleChart'
116
+ optional: true
117
+ - element: stock_chart
118
+ tag: 'c:stockChart'
119
+ optional: true
120
+ - element: surface_chart
121
+ tag: 'c:surfaceChart'
122
+ optional: true
123
+ - element: surface3d_chart
124
+ tag: 'c:surface3DChart'
125
+ optional: true
126
+ - element: cat_ax
127
+ tag: 'c:catAx'
128
+ optional: true
129
+ - element: val_ax
130
+ tag: 'c:valAx'
131
+ optional: true
132
+ - element: date_ax
133
+ tag: 'c:dateAx'
134
+ optional: true
135
+ - element: ser_ax
136
+ tag: 'c:serAx'
137
+ optional: true
138
+ - element: sp_pr
139
+ tag: 'c:spPr'
140
+ optional: true
141
+ attributes: []
142
+
143
+ # Bar chart
144
+ bar_chart:
145
+ tag: 'c:barChart'
146
+ description: "Bar chart definition"
147
+ iso_reference: "21.2.2.16"
148
+ children:
149
+ - element: bar_dir
150
+ tag: 'c:barDir'
151
+ optional: false
152
+ - element: grouping
153
+ tag: 'c:grouping'
154
+ optional: true
155
+ - element: vary_colors
156
+ tag: 'c:varyColors'
157
+ optional: true
158
+ - element: ser
159
+ tag: 'c:ser'
160
+ optional: false
161
+ - element: d_lbls
162
+ tag: 'c:dLbls'
163
+ optional: true
164
+ - element: gap_width
165
+ tag: 'c:gapWidth'
166
+ optional: true
167
+ - element: overlap
168
+ tag: 'c:overlap'
169
+ optional: true
170
+ - element: ax_id
171
+ tag: 'c:axId'
172
+ optional: false
173
+ attributes: []
174
+
175
+ # Line chart
176
+ line_chart:
177
+ tag: 'c:lineChart'
178
+ description: "Line chart definition"
179
+ iso_reference: "21.2.2.97"
180
+ children:
181
+ - element: grouping
182
+ tag: 'c:grouping'
183
+ optional: true
184
+ - element: vary_colors
185
+ tag: 'c:varyColors'
186
+ optional: true
187
+ - element: ser
188
+ tag: 'c:ser'
189
+ optional: false
190
+ - element: d_lbls
191
+ tag: 'c:dLbls'
192
+ optional: true
193
+ - element: drop_lines
194
+ tag: 'c:dropLines'
195
+ optional: true
196
+ - element: hi_low_lines
197
+ tag: 'c:hiLowLines'
198
+ optional: true
199
+ - element: up_down_bars
200
+ tag: 'c:upDownBars'
201
+ optional: true
202
+ - element: marker
203
+ tag: 'c:marker'
204
+ optional: true
205
+ - element: smooth
206
+ tag: 'c:smooth'
207
+ optional: true
208
+ - element: ax_id
209
+ tag: 'c:axId'
210
+ optional: false
211
+ attributes: []
212
+
213
+ # Pie chart
214
+ pie_chart:
215
+ tag: 'c:pieChart'
216
+ description: "Pie chart definition"
217
+ iso_reference: "21.2.2.126"
218
+ children:
219
+ - element: vary_colors
220
+ tag: 'c:varyColors'
221
+ optional: true
222
+ - element: ser
223
+ tag: 'c:ser'
224
+ optional: false
225
+ - element: d_lbls
226
+ tag: 'c:dLbls'
227
+ optional: true
228
+ - element: first_slice_ang
229
+ tag: 'c:firstSliceAng'
230
+ optional: true
231
+ attributes: []
232
+
233
+ # Scatter chart
234
+ scatter_chart:
235
+ tag: 'c:scatterChart'
236
+ description: "Scatter (XY) chart definition"
237
+ iso_reference: "21.2.2.166"
238
+ children:
239
+ - element: scatter_style
240
+ tag: 'c:scatterStyle'
241
+ optional: false
242
+ - element: vary_colors
243
+ tag: 'c:varyColors'
244
+ optional: true
245
+ - element: ser
246
+ tag: 'c:ser'
247
+ optional: false
248
+ - element: d_lbls
249
+ tag: 'c:dLbls'
250
+ optional: true
251
+ - element: ax_id
252
+ tag: 'c:axId'
253
+ optional: false
254
+ attributes: []
255
+
256
+ # Area chart
257
+ area_chart:
258
+ tag: 'c:areaChart'
259
+ description: "Area chart definition"
260
+ iso_reference: "21.2.2.6"
261
+ children:
262
+ - element: grouping
263
+ tag: 'c:grouping'
264
+ optional: true
265
+ - element: vary_colors
266
+ tag: 'c:varyColors'
267
+ optional: true
268
+ - element: ser
269
+ tag: 'c:ser'
270
+ optional: false
271
+ - element: d_lbls
272
+ tag: 'c:dLbls'
273
+ optional: true
274
+ - element: drop_lines
275
+ tag: 'c:dropLines'
276
+ optional: true
277
+ - element: ax_id
278
+ tag: 'c:axId'
279
+ optional: false
280
+ attributes: []
281
+
282
+ # Series
283
+ ser:
284
+ tag: 'c:ser'
285
+ description: "Chart series (data series)"
286
+ iso_reference: "21.2.2.168"
287
+ children:
288
+ - element: idx
289
+ tag: 'c:idx'
290
+ optional: false
291
+ - element: order
292
+ tag: 'c:order'
293
+ optional: false
294
+ - element: tx
295
+ tag: 'c:tx'
296
+ optional: true
297
+ - element: sp_pr
298
+ tag: 'c:spPr'
299
+ optional: true
300
+ - element: marker
301
+ tag: 'c:marker'
302
+ optional: true
303
+ - element: d_pt
304
+ tag: 'c:dPt'
305
+ optional: true
306
+ - element: d_lbls
307
+ tag: 'c:dLbls'
308
+ optional: true
309
+ - element: trendline
310
+ tag: 'c:trendline'
311
+ optional: true
312
+ - element: err_bars
313
+ tag: 'c:errBars'
314
+ optional: true
315
+ - element: cat
316
+ tag: 'c:cat'
317
+ optional: true
318
+ - element: val
319
+ tag: 'c:val'
320
+ optional: true
321
+ - element: smooth
322
+ tag: 'c:smooth'
323
+ optional: true
324
+ attributes: []
325
+
326
+ # Series index
327
+ idx:
328
+ tag: 'c:idx'
329
+ description: "Series index"
330
+ iso_reference: "21.2.2.85"
331
+ children: []
332
+ attributes:
333
+ - name: val
334
+ type: integer
335
+ required: true
336
+
337
+ # Series order
338
+ order:
339
+ tag: 'c:order'
340
+ description: "Series order"
341
+ iso_reference: "21.2.2.119"
342
+ children: []
343
+ attributes:
344
+ - name: val
345
+ type: integer
346
+ required: true
347
+
348
+ # Series text
349
+ tx:
350
+ tag: 'c:tx'
351
+ description: "Series text (name)"
352
+ iso_reference: "21.2.2.215"
353
+ children:
354
+ - element: str_ref
355
+ tag: 'c:strRef'
356
+ optional: true
357
+ - element: v
358
+ tag: 'c:v'
359
+ optional: true
360
+ attributes: []
361
+
362
+ # Categories
363
+ cat:
364
+ tag: 'c:cat'
365
+ description: "Category axis data"
366
+ iso_reference: "21.2.2.24"
367
+ children:
368
+ - element: num_ref
369
+ tag: 'c:numRef'
370
+ optional: true
371
+ - element: num_lit
372
+ tag: 'c:numLit'
373
+ optional: true
374
+ - element: str_ref
375
+ tag: 'c:strRef'
376
+ optional: true
377
+ - element: str_lit
378
+ tag: 'c:strLit'
379
+ optional: true
380
+ - element: multi_lvl_str_ref
381
+ tag: 'c:multiLvlStrRef'
382
+ optional: true
383
+ attributes: []
384
+
385
+ # Values
386
+ val:
387
+ tag: 'c:val'
388
+ description: "Values"
389
+ iso_reference: "21.2.2.225"
390
+ children:
391
+ - element: num_ref
392
+ tag: 'c:numRef'
393
+ optional: true
394
+ - element: num_lit
395
+ tag: 'c:numLit'
396
+ optional: true
397
+ attributes: []
398
+
399
+ # Number reference
400
+ num_ref:
401
+ tag: 'c:numRef'
402
+ description: "Number reference (references cells in worksheet)"
403
+ iso_reference: "21.2.2.115"
404
+ children:
405
+ - element: f
406
+ tag: 'c:f'
407
+ optional: false
408
+ - element: num_cache
409
+ tag: 'c:numCache'
410
+ optional: true
411
+ attributes: []
412
+
413
+ # Number literal
414
+ num_lit:
415
+ tag: 'c:numLit'
416
+ description: "Number literal (embedded data)"
417
+ iso_reference: "21.2.2.114"
418
+ children:
419
+ - element: format_code
420
+ tag: 'c:formatCode'
421
+ optional: true
422
+ - element: pt_count
423
+ tag: 'c:ptCount'
424
+ optional: true
425
+ - element: pt
426
+ tag: 'c:pt'
427
+ optional: true
428
+ attributes: []
429
+
430
+ # String reference
431
+ str_ref:
432
+ tag: 'c:strRef'
433
+ description: "String reference (references cells in worksheet)"
434
+ iso_reference: "21.2.2.187"
435
+ children:
436
+ - element: f
437
+ tag: 'c:f'
438
+ optional: false
439
+ - element: str_cache
440
+ tag: 'c:strCache'
441
+ optional: true
442
+ attributes: []
443
+
444
+ # String literal
445
+ str_lit:
446
+ tag: 'c:strLit'
447
+ description: "String literal (embedded data)"
448
+ iso_reference: "21.2.2.186"
449
+ children:
450
+ - element: pt_count
451
+ tag: 'c:ptCount'
452
+ optional: true
453
+ - element: pt
454
+ tag: 'c:pt'
455
+ optional: true
456
+ attributes: []
457
+
458
+ # Formula
459
+ f:
460
+ tag: 'c:f'
461
+ description: "Formula"
462
+ iso_reference: "21.2.2.61"
463
+ children: []
464
+ attributes: []
465
+ text_content: true
466
+
467
+ # Point
468
+ pt:
469
+ tag: 'c:pt'
470
+ description: "Data point"
471
+ iso_reference: "21.2.2.148"
472
+ children:
473
+ - element: v
474
+ tag: 'c:v'
475
+ optional: false
476
+ attributes:
477
+ - name: idx
478
+ type: integer
479
+ required: true
480
+
481
+ # Value
482
+ v:
483
+ tag: 'c:v'
484
+ description: "Cell value"
485
+ iso_reference: "21.2.2.224"
486
+ children: []
487
+ attributes: []
488
+ text_content: true
489
+
490
+ # Point count
491
+ pt_count:
492
+ tag: 'c:ptCount'
493
+ description: "Point count"
494
+ iso_reference: "21.2.2.147"
495
+ children: []
496
+ attributes:
497
+ - name: val
498
+ type: integer
499
+ required: true
500
+
501
+ # Category axis
502
+ cat_ax:
503
+ tag: 'c:catAx'
504
+ description: "Category axis"
505
+ iso_reference: "21.2.2.18"
506
+ children:
507
+ - element: ax_id
508
+ tag: 'c:axId'
509
+ optional: false
510
+ - element: scaling
511
+ tag: 'c:scaling'
512
+ optional: false
513
+ - element: delete
514
+ tag: 'c:delete'
515
+ optional: true
516
+ - element: ax_pos
517
+ tag: 'c:axPos'
518
+ optional: false
519
+ - element: major_gridlines
520
+ tag: 'c:majorGridlines'
521
+ optional: true
522
+ - element: minor_gridlines
523
+ tag: 'c:minorGridlines'
524
+ optional: true
525
+ - element: title
526
+ tag: 'c:title'
527
+ optional: true
528
+ - element: num_fmt
529
+ tag: 'c:numFmt'
530
+ optional: true
531
+ - element: major_tick_mark
532
+ tag: 'c:majorTickMark'
533
+ optional: true
534
+ - element: minor_tick_mark
535
+ tag: 'c:minorTickMark'
536
+ optional: true
537
+ - element: tick_lbl_pos
538
+ tag: 'c:tickLblPos'
539
+ optional: true
540
+ - element: sp_pr
541
+ tag: 'c:spPr'
542
+ optional: true
543
+ - element: tx_pr
544
+ tag: 'c:txPr'
545
+ optional: true
546
+ - element: crosses_at
547
+ tag: 'c:crossesAt'
548
+ optional: true
549
+ - element: crosses
550
+ tag: 'c:crosses'
551
+ optional: true
552
+ - element: auto
553
+ tag: 'c:auto'
554
+ optional: true
555
+ - element: lbl_algn
556
+ tag: 'c:lblAlgn'
557
+ optional: true
558
+ - element: lbl_offset
559
+ tag: 'c:lblOffset'
560
+ optional: true
561
+ - element: tick_lbl_skip
562
+ tag: 'c:tickLblSkip'
563
+ optional: true
564
+ - element: tick_mark_skip
565
+ tag: 'c:tickMarkSkip'
566
+ optional: true
567
+ attributes: []
568
+
569
+ # Value axis
570
+ val_ax:
571
+ tag: 'c:valAx'
572
+ description: "Value axis"
573
+ iso_reference: "21.2.2.226"
574
+ children:
575
+ - element: ax_id
576
+ tag: 'c:axId'
577
+ optional: false
578
+ - element: scaling
579
+ tag: 'c:scaling'
580
+ optional: false
581
+ - element: delete
582
+ tag: 'c:delete'
583
+ optional: true
584
+ - element: ax_pos
585
+ tag: 'c:axPos'
586
+ optional: false
587
+ - element: major_gridlines
588
+ tag: 'c:majorGridlines'
589
+ optional: true
590
+ - element: minor_gridlines
591
+ tag: 'c:minorGridlines'
592
+ optional: true
593
+ - element: title
594
+ tag: 'c:title'
595
+ optional: true
596
+ - element: num_fmt
597
+ tag: 'c:numFmt'
598
+ optional: true
599
+ - element: major_tick_mark
600
+ tag: 'c:majorTickMark'
601
+ optional: true
602
+ - element: minor_tick_mark
603
+ tag: 'c:minorTickMark'
604
+ optional: true
605
+ - element: tick_lbl_pos
606
+ tag: 'c:tickLblPos'
607
+ optional: true
608
+ - element: sp_pr
609
+ tag: 'c:spPr'
610
+ optional: true
611
+ - element: tx_pr
612
+ tag: 'c:txPr'
613
+ optional: true
614
+ - element: crosses_at
615
+ tag: 'c:crossesAt'
616
+ optional: true
617
+ - element: crosses
618
+ tag: 'c:crosses'
619
+ optional: true
620
+ - element: cross_between
621
+ tag: 'c:crossBetween'
622
+ optional: true
623
+ - element: major_unit
624
+ tag: 'c:majorUnit'
625
+ optional: true
626
+ - element: minor_unit
627
+ tag: 'c:minorUnit'
628
+ optional: true
629
+ - element: disp_units
630
+ tag: 'c:dispUnits'
631
+ optional: true
632
+ attributes: []
633
+
634
+ # Axis ID
635
+ ax_id:
636
+ tag: 'c:axId'
637
+ description: "Axis ID"
638
+ iso_reference: "21.2.2.9"
639
+ children: []
640
+ attributes:
641
+ - name: val
642
+ type: integer
643
+ required: true
644
+
645
+ # Axis position
646
+ ax_pos:
647
+ tag: 'c:axPos'
648
+ description: "Axis position"
649
+ iso_reference: "21.2.2.10"
650
+ children: []
651
+ attributes:
652
+ - name: val
653
+ type: enum
654
+ values: [b, l, r, t]
655
+ required: true
656
+
657
+ # Scaling
658
+ scaling:
659
+ tag: 'c:scaling'
660
+ description: "Axis scaling"
661
+ iso_reference: "21.2.2.164"
662
+ children:
663
+ - element: log_base
664
+ tag: 'c:logBase'
665
+ optional: true
666
+ - element: orientation
667
+ tag: 'c:orientation'
668
+ optional: true
669
+ - element: max
670
+ tag: 'c:max'
671
+ optional: true
672
+ - element: min
673
+ tag: 'c:min'
674
+ optional: true
675
+ attributes: []
676
+
677
+ # Title
678
+ title:
679
+ tag: 'c:title'
680
+ description: "Chart or axis title"
681
+ iso_reference: "21.2.2.205"
682
+ children:
683
+ - element: tx
684
+ tag: 'c:tx'
685
+ optional: true
686
+ - element: layout
687
+ tag: 'c:layout'
688
+ optional: true
689
+ - element: overlay
690
+ tag: 'c:overlay'
691
+ optional: true
692
+ - element: sp_pr
693
+ tag: 'c:spPr'
694
+ optional: true
695
+ - element: tx_pr
696
+ tag: 'c:txPr'
697
+ optional: true
698
+ attributes: []
699
+
700
+ # Legend
701
+ legend:
702
+ tag: 'c:legend'
703
+ description: "Chart legend"
704
+ iso_reference: "21.2.2.93"
705
+ children:
706
+ - element: legend_pos
707
+ tag: 'c:legendPos'
708
+ optional: true
709
+ - element: legend_entry
710
+ tag: 'c:legendEntry'
711
+ optional: true
712
+ - element: layout
713
+ tag: 'c:layout'
714
+ optional: true
715
+ - element: overlay
716
+ tag: 'c:overlay'
717
+ optional: true
718
+ - element: sp_pr
719
+ tag: 'c:spPr'
720
+ optional: true
721
+ - element: tx_pr
722
+ tag: 'c:txPr'
723
+ optional: true
724
+ attributes: []
725
+
726
+ # Legend position
727
+ legend_pos:
728
+ tag: 'c:legendPos'
729
+ description: "Legend position"
730
+ iso_reference: "21.2.2.94"
731
+ children: []
732
+ attributes:
733
+ - name: val
734
+ type: enum
735
+ values: [b, l, r, t, tr]
736
+ required: true
737
+
738
+ # Data labels
739
+ d_lbls:
740
+ tag: 'c:dLbls'
741
+ description: "Data labels"
742
+ iso_reference: "21.2.2.49"
743
+ children:
744
+ - element: d_lbl
745
+ tag: 'c:dLbl'
746
+ optional: true
747
+ - element: num_fmt
748
+ tag: 'c:numFmt'
749
+ optional: true
750
+ - element: sp_pr
751
+ tag: 'c:spPr'
752
+ optional: true
753
+ - element: tx_pr
754
+ tag: 'c:txPr'
755
+ optional: true
756
+ - element: d_lbl_pos
757
+ tag: 'c:dLblPos'
758
+ optional: true
759
+ - element: show_legend_key
760
+ tag: 'c:showLegenKey'
761
+ optional: true
762
+ - element: show_val
763
+ tag: 'c:showVal'
764
+ optional: true
765
+ - element: show_cat_name
766
+ tag: 'c:showCatName'
767
+ optional: true
768
+ - element: show_ser_name
769
+ tag: 'c:showSerName'
770
+ optional: true
771
+ - element: show_percent
772
+ tag: 'c:showPercent'
773
+ optional: true
774
+ - element: show_bubble_size
775
+ tag: 'c:showBubbleSize'
776
+ optional: true
777
+ - element: separator
778
+ tag: 'c:separator'
779
+ optional: true
780
+ - element: show_leader_lines
781
+ tag: 'c:showLeaderLines'
782
+ optional: true
783
+ - element: leader_lines
784
+ tag: 'c:leaderLines'
785
+ optional: true
786
+ attributes: []
787
+
788
+ # Shape properties
789
+ sp_pr:
790
+ tag: 'c:spPr'
791
+ description: "Shape properties"
792
+ iso_reference: "21.2.2.183"
793
+ children:
794
+ - element: xfrm
795
+ tag: 'a:xfrm'
796
+ optional: true
797
+ - element: prst_geom
798
+ tag: 'a:prstGeom'
799
+ optional: true
800
+ - element: no_fill
801
+ tag: 'a:noFill'
802
+ optional: true
803
+ - element: solid_fill
804
+ tag: 'a:solidFill'
805
+ optional: true
806
+ - element: grad_fill
807
+ tag: 'a:gradFill'
808
+ optional: true
809
+ - element: ln
810
+ tag: 'a:ln'
811
+ optional: true
812
+ - element: effect_lst
813
+ tag: 'a:effectLst'
814
+ optional: true
815
+ attributes: []
816
+
817
+ # Layout
818
+ layout:
819
+ tag: 'c:layout'
820
+ description: "Layout"
821
+ iso_reference: "21.2.2.88"
822
+ children:
823
+ - element: manual_layout
824
+ tag: 'c:manualLayout'
825
+ optional: true
826
+ attributes: []
827
+
828
+ # Manual layout
829
+ manual_layout:
830
+ tag: 'c:manualLayout'
831
+ description: "Manual layout"
832
+ iso_reference: "21.2.2.103"
833
+ children:
834
+ - element: layout_target
835
+ tag: 'c:layoutTarget'
836
+ optional: true
837
+ - element: x_mode
838
+ tag: 'c:xMode'
839
+ optional: true
840
+ - element: y_mode
841
+ tag: 'c:yMode'
842
+ optional: true
843
+ - element: w_mode
844
+ tag: 'c:wMode'
845
+ optional: true
846
+ - element: h_mode
847
+ tag: 'c:hMode'
848
+ optional: true
849
+ - element: x
850
+ tag: 'c:x'
851
+ optional: true
852
+ - element: y
853
+ tag: 'c:y'
854
+ optional: true
855
+ - element: w
856
+ tag: 'c:w'
857
+ optional: true
858
+ - element: h
859
+ tag: 'c:h'
860
+ optional: true
861
+ attributes: []
862
+
863
+ # Marker
864
+ marker:
865
+ tag: 'c:marker'
866
+ description: "Data point marker"
867
+ iso_reference: "21.2.2.104"
868
+ children:
869
+ - element: symbol
870
+ tag: 'c:symbol'
871
+ optional: true
872
+ - element: size
873
+ tag: 'c:size'
874
+ optional: true
875
+ - element: sp_pr
876
+ tag: 'c:spPr'
877
+ optional: true
878
+ attributes: []
879
+
880
+ # Vary colors
881
+ vary_colors:
882
+ tag: 'c:varyColors'
883
+ description: "Vary colors by point"
884
+ iso_reference: "21.2.2.227"
885
+ children: []
886
+ attributes:
887
+ - name: val
888
+ type: boolean
889
+ required: true
890
+
891
+ # Grouping
892
+ grouping:
893
+ tag: 'c:grouping'
894
+ description: "Grouping"
895
+ iso_reference: "21.2.2.76"
896
+ children: []
897
+ attributes:
898
+ - name: val
899
+ type: enum
900
+ values: [percentStacked, standard, stacked]
901
+ required: true
902
+
903
+ # Bar direction
904
+ bar_dir:
905
+ tag: 'c:barDir'
906
+ description: "Bar direction"
907
+ iso_reference: "21.2.2.17"
908
+ children: []
909
+ attributes:
910
+ - name: val
911
+ type: enum
912
+ values: [bar, col]
913
+ required: true
914
+
915
+ metadata:
916
+ element_count: 50
917
+ priority: "HIGH"
918
+ status: "complete"
919
+ phase: "5"
920
+ notes: "Chart elements for Phase 5 Part 2 (v6.0) - complete chart support with ~50 elements"