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,447 @@
1
+ ---
2
+ description: 'Uniword Theme/StyleSet to Microsoft Office mapping. Used for auto-transition:
3
+ detect MS theme -> apply Uniword equivalent.'
4
+ themes:
5
+ meridian:
6
+ ms_name: Atlas
7
+ ms_thmx: Atlas.thmx
8
+ color_fingerprint:
9
+ dk1: '000000'
10
+ dk2: '454545'
11
+ lt1: FFFFFF
12
+ lt2: E0E0E0
13
+ accent1: F81B02
14
+ accent2: FC7715
15
+ accent3: AFBF41
16
+ accent4: 50C49F
17
+ accent5: 3B95C4
18
+ accent6: B560D4
19
+ emblem:
20
+ ms_name: Badge
21
+ ms_thmx: Badge.thmx
22
+ color_fingerprint:
23
+ dk1: '000000'
24
+ dk2: 2A1A00
25
+ lt1: FFFFFF
26
+ lt2: F3F3F2
27
+ accent1: F8B323
28
+ accent2: 656A59
29
+ accent3: 46B2B5
30
+ accent4: 8CAA7E
31
+ accent5: D36F68
32
+ accent6: '826276'
33
+ mosaic:
34
+ ms_name: Berlin
35
+ ms_thmx: Berlin.thmx
36
+ color_fingerprint:
37
+ dk1: '000000'
38
+ dk2: 9D360E
39
+ lt1: FFFFFF
40
+ lt2: E7E6E6
41
+ accent1: F09415
42
+ accent2: C1B56B
43
+ accent3: 4BAF73
44
+ accent4: 5AA6C0
45
+ accent5: D17DF9
46
+ accent6: FA7E5C
47
+ constellation:
48
+ ms_name: Celestial
49
+ ms_thmx: Celestial.thmx
50
+ color_fingerprint:
51
+ dk1: '000000'
52
+ dk2: 18276C
53
+ lt1: FFFFFF
54
+ lt2: EBEBEB
55
+ accent1: AC3EC1
56
+ accent2: 477BD1
57
+ accent3: 46B298
58
+ accent4: 90BA4C
59
+ accent5: DD9D31
60
+ accent6: E25247
61
+ harvest:
62
+ ms_name: Crop
63
+ ms_thmx: Crop.thmx
64
+ color_fingerprint:
65
+ dk1: '000000'
66
+ dk2: 191B0E
67
+ lt1: FFFFFF
68
+ lt2: EFEDE3
69
+ accent1: 8C8D86
70
+ accent2: E6C069
71
+ accent3: 897B61
72
+ accent4: 8DAB8E
73
+ accent5: 77A2BB
74
+ accent6: E28394
75
+ abyss:
76
+ ms_name: Depth
77
+ ms_thmx: Depth.thmx
78
+ color_fingerprint:
79
+ dk1: '000000'
80
+ dk2: 455F51
81
+ lt1: FFFFFF
82
+ lt2: 94D7E4
83
+ accent1: 41AEBD
84
+ accent2: 97E9D5
85
+ accent3: A2CF49
86
+ accent4: 608F3D
87
+ accent5: F4DE3A
88
+ accent6: FCB11C
89
+ ripple:
90
+ ms_name: Droplet
91
+ ms_thmx: Droplet.thmx
92
+ color_fingerprint:
93
+ dk1: '000000'
94
+ dk2: '355071'
95
+ lt1: FFFFFF
96
+ lt2: AABED7
97
+ accent1: 2FA3EE
98
+ accent2: 4BCAAD
99
+ accent3: 86C157
100
+ accent4: D99C3F
101
+ accent5: CE6633
102
+ accent6: A35DD1
103
+ prism:
104
+ ms_name: Facet
105
+ ms_thmx: Facet.thmx
106
+ color_fingerprint:
107
+ dk1: '000000'
108
+ dk2: 2C3C43
109
+ lt1: FFFFFF
110
+ lt2: EBEBEB
111
+ accent1: 90C226
112
+ accent2: 54A021
113
+ accent3: E6B91E
114
+ accent4: E76618
115
+ accent5: C42F1A
116
+ accent6: '918655'
117
+ plumage:
118
+ ms_name: Feathered
119
+ ms_thmx: Feathered.thmx
120
+ color_fingerprint:
121
+ dk1: '000000'
122
+ dk2: '121316'
123
+ lt1: FFFFFF
124
+ lt2: FEFCF7
125
+ accent1: '606372'
126
+ accent2: 79A8A4
127
+ accent3: B2AD8F
128
+ accent4: AD8082
129
+ accent5: DEC18C
130
+ accent6: 92A185
131
+ exhibit:
132
+ ms_name: Gallery
133
+ ms_thmx: Gallery.thmx
134
+ color_fingerprint:
135
+ dk1: '000000'
136
+ dk2: '454545'
137
+ lt1: FFFFFF
138
+ lt2: DFDBD5
139
+ accent1: B71E42
140
+ accent2: DE478E
141
+ accent3: BC72F0
142
+ accent4: 795FAF
143
+ accent5: 586EA6
144
+ accent6: 6892A0
145
+ bulletin:
146
+ ms_name: Headlines
147
+ ms_thmx: Headlines.thmx
148
+ color_fingerprint:
149
+ dk1: '000000'
150
+ dk2: 1D1A1D
151
+ lt1: FFFFFF
152
+ lt2: F5F5F5
153
+ accent1: 439EB7
154
+ accent2: E28B55
155
+ accent3: DCB64D
156
+ accent4: 4CA198
157
+ accent5: 835B82
158
+ accent6: '645135'
159
+ calculus:
160
+ ms_name: Integral
161
+ ms_thmx: Integral.thmx
162
+ color_fingerprint:
163
+ dk1: '000000'
164
+ dk2: 335B74
165
+ lt1: FFFFFF
166
+ lt2: DFE3E5
167
+ accent1: 1CADE4
168
+ accent2: 2683C6
169
+ accent3: 27CED7
170
+ accent4: 42BA97
171
+ accent5: 3E8853
172
+ accent6: 62A39F
173
+ plasma:
174
+ ms_name: Ion
175
+ ms_thmx: Ion.thmx
176
+ color_fingerprint:
177
+ dk1: '000000'
178
+ dk2: 1E5155
179
+ lt1: FFFFFF
180
+ lt2: EBEBEB
181
+ accent1: B01513
182
+ accent2: EA6312
183
+ accent3: E6B729
184
+ accent4: 6AAC90
185
+ accent5: 54849A
186
+ accent6: 9E5E9B
187
+ boardwalk:
188
+ ms_name: Ion Boardroom
189
+ ms_thmx: Ion Boardroom.thmx
190
+ color_fingerprint:
191
+ dk1: '000000'
192
+ dk2: 3B3059
193
+ lt1: FFFFFF
194
+ lt2: EBEBEB
195
+ accent1: B31166
196
+ accent2: E33D6F
197
+ accent3: E45F3C
198
+ accent4: E9943A
199
+ accent5: 9B6BF2
200
+ accent6: D53DD0
201
+ parkway:
202
+ ms_name: Madison
203
+ ms_thmx: Madison.thmx
204
+ color_fingerprint:
205
+ dk1: '000000'
206
+ dk2: 1F2D29
207
+ lt1: FFFFFF
208
+ lt2: C5FAEB
209
+ accent1: A1D68B
210
+ accent2: 5EC795
211
+ accent3: 4DADCF
212
+ accent4: CDB756
213
+ accent5: E29C36
214
+ accent6: 8EC0C1
215
+ spotlight:
216
+ ms_name: Main Event
217
+ ms_thmx: Main Event.thmx
218
+ color_fingerprint:
219
+ dk1: '000000'
220
+ dk2: '424242'
221
+ lt1: FFFFFF
222
+ lt2: C8C8C8
223
+ accent1: B80E0F
224
+ accent2: A6987D
225
+ accent3: 7F9A71
226
+ accent4: 64969F
227
+ accent5: 9B75B2
228
+ accent6: 80737A
229
+ weave:
230
+ ms_name: Mesh
231
+ ms_thmx: Mesh.thmx
232
+ color_fingerprint:
233
+ dk1: '000000'
234
+ dk2: 363D46
235
+ lt1: FFFFFF
236
+ lt2: EBEBEB
237
+ accent1: 6F6F6F
238
+ accent2: BFBFA5
239
+ accent3: DCD084
240
+ accent4: E7BF5F
241
+ accent5: E9A039
242
+ accent6: CF7133
243
+ workspace:
244
+ ms_name: Office Theme
245
+ ms_thmx: Office Theme.thmx
246
+ color_fingerprint:
247
+ dk1: '000000'
248
+ dk2: 0E2841
249
+ lt1: FFFFFF
250
+ lt2: E8E8E8
251
+ accent1: '156082'
252
+ accent2: E97132
253
+ accent3: 196B24
254
+ accent4: 0F9ED5
255
+ accent5: A02B93
256
+ accent6: 4EA72E
257
+ corporate:
258
+ ms_name: Office 2013-2022
259
+ ms_thmx: Office 2013 - 2022 Theme.thmx
260
+ color_fingerprint:
261
+ dk1: '000000'
262
+ dk2: 44546A
263
+ lt1: FFFFFF
264
+ lt2: E7E6E6
265
+ accent1: 4472C4
266
+ accent2: ED7D31
267
+ accent3: A5A5A5
268
+ accent4: FFC000
269
+ accent5: 5B9BD5
270
+ accent6: 70AD47
271
+ botanical:
272
+ ms_name: Organic
273
+ ms_thmx: Organic.thmx
274
+ color_fingerprint:
275
+ dk1: '000000'
276
+ dk2: '212121'
277
+ lt1: FFFFFF
278
+ lt2: DADADA
279
+ accent1: 83992A
280
+ accent2: 3C9770
281
+ accent3: 44709D
282
+ accent4: A23C33
283
+ accent5: D97828
284
+ accent6: DEB340
285
+ spectrum:
286
+ ms_name: Parallax
287
+ ms_thmx: Parallax.thmx
288
+ color_fingerprint:
289
+ dk1: '000000'
290
+ dk2: '212121'
291
+ lt1: FFFFFF
292
+ lt2: CDD0D1
293
+ accent1: 30ACEC
294
+ accent2: 80C34F
295
+ accent3: E29D3E
296
+ accent4: D64A3B
297
+ accent5: D64787
298
+ accent6: A666E1
299
+ archive:
300
+ ms_name: Parcel
301
+ ms_thmx: Parcel.thmx
302
+ color_fingerprint:
303
+ dk1: '000000'
304
+ dk2: 4A5356
305
+ lt1: FFFFFF
306
+ lt2: E8E3CE
307
+ accent1: F6A21D
308
+ accent2: 9BAFB5
309
+ accent3: C96731
310
+ accent4: 9CA383
311
+ accent5: 87795D
312
+ accent6: A0988C
313
+ memoir:
314
+ ms_name: Retrospect
315
+ ms_thmx: Retrospect.thmx
316
+ color_fingerprint:
317
+ dk1: '000000'
318
+ dk2: '637052'
319
+ lt1: FFFFFF
320
+ lt2: CCDDEA
321
+ accent1: E48312
322
+ accent2: BD582C
323
+ accent3: '865640'
324
+ accent4: 9B8357
325
+ accent5: C2BC80
326
+ accent6: 94A088
327
+ lather:
328
+ ms_name: Savon
329
+ ms_thmx: Savon.thmx
330
+ color_fingerprint:
331
+ dk1: '000000'
332
+ dk2: 1485A4
333
+ lt1: FFFFFF
334
+ lt2: E3DED1
335
+ accent1: 1CADE4
336
+ accent2: 2683C6
337
+ accent3: 27CED7
338
+ accent4: 42BA97
339
+ accent5: 3E8853
340
+ accent6: 62A39F
341
+ incision:
342
+ ms_name: Slice
343
+ ms_thmx: Slice.thmx
344
+ color_fingerprint:
345
+ dk1: '000000'
346
+ dk2: '146194'
347
+ lt1: FFFFFF
348
+ lt2: 76DBF4
349
+ accent1: 052F61
350
+ accent2: A50E82
351
+ accent3: 14967C
352
+ accent4: 6A9E1F
353
+ accent5: E87D37
354
+ accent6: C62324
355
+ contrail:
356
+ ms_name: Vapor Trail
357
+ ms_thmx: Vapor Trail.thmx
358
+ color_fingerprint:
359
+ dk1: '000000'
360
+ dk2: '454545'
361
+ lt1: FFFFFF
362
+ lt2: DADADA
363
+ accent1: DF2E28
364
+ accent2: FE801A
365
+ accent3: E9BF35
366
+ accent4: 81BB42
367
+ accent5: 32C7A9
368
+ accent6: 4A9BDC
369
+ vista:
370
+ ms_name: View
371
+ ms_thmx: View.thmx
372
+ color_fingerprint:
373
+ dk1: '000000'
374
+ dk2: 46464A
375
+ lt1: FFFFFF
376
+ lt2: D6D3CC
377
+ accent1: 6F6F74
378
+ accent2: 92A9B9
379
+ accent3: A7B789
380
+ accent4: B9A489
381
+ accent5: 8D6374
382
+ accent6: 9B7362
383
+ zephyr:
384
+ ms_name: Wisp
385
+ ms_thmx: Wisp.thmx
386
+ color_fingerprint:
387
+ dk1: '000000'
388
+ dk2: 766F54
389
+ lt1: FFFFFF
390
+ lt2: E3EACF
391
+ accent1: A53010
392
+ accent2: DE7E18
393
+ accent3: 9F8351
394
+ accent4: '728653'
395
+ accent5: 92AA4C
396
+ accent6: 6AAC91
397
+ letterpress:
398
+ ms_name: Wood Type
399
+ ms_thmx: Wood Type.thmx
400
+ color_fingerprint:
401
+ dk1: '000000'
402
+ dk2: '696464'
403
+ lt1: FFFFFF
404
+ lt2: E9E5DC
405
+ accent1: D34817
406
+ accent2: 9B2D1F
407
+ accent3: A28E6A
408
+ accent4: '956251'
409
+ accent5: '918485'
410
+ accent6: 855D5D
411
+ stylesets:
412
+ signature:
413
+ ms_name: Distinctive
414
+ ms_dotx: Distinctive.dotx
415
+ refined:
416
+ ms_name: Elegant
417
+ ms_dotx: Elegant.dotx
418
+ ornate:
419
+ ms_name: Fancy
420
+ ms_dotx: Fancy.dotx
421
+ ceremonial:
422
+ ms_name: Formal
423
+ ms_dotx: Formal.dotx
424
+ scrollwork:
425
+ ms_name: Manuscript
426
+ ms_dotx: Manuscript.dotx
427
+ contemporary:
428
+ ms_name: Modern
429
+ ms_dotx: Modern.dotx
430
+ gazette:
431
+ ms_name: Newsprint
432
+ ms_dotx: Newsprint.dotx
433
+ outlook:
434
+ ms_name: Perspective
435
+ ms_dotx: Perspective.dotx
436
+ minimal:
437
+ ms_name: Simple
438
+ ms_dotx: Simple.dotx
439
+ wicker:
440
+ ms_name: Thatch
441
+ ms_dotx: Thatch.dotx
442
+ heritage:
443
+ ms_name: Traditional
444
+ ms_dotx: Traditional.dotx
445
+ classic:
446
+ ms_name: Word 2010
447
+ ms_dotx: Word 2010.dotx
@@ -0,0 +1,160 @@
1
+ # Transformation Rules Configuration
2
+ #
3
+ # Defines transformation rules between format DOM models.
4
+ # External configuration following "configuration over convention" principle.
5
+ #
6
+ # Rules are loaded at runtime and registered in TransformationRuleRegistry.
7
+ # This allows modification without changing code (Open/Closed Principle).
8
+
9
+ # Format-specific property mappings
10
+ property_mappings:
11
+ # Paragraph properties that map directly between formats
12
+ paragraph_direct:
13
+ - alignment
14
+ - spacing_before
15
+ - spacing_after
16
+ - line_spacing
17
+ - line_rule
18
+ - indent_left
19
+ - indent_right
20
+ - indent_first_line
21
+ - keep_next
22
+ - keep_lines
23
+ - page_break_before
24
+ - outline_level
25
+
26
+ # Paragraph properties that need transformation
27
+ paragraph_transform:
28
+ docx_to_mhtml:
29
+ num_id: list_style_type # DOCX numbering → CSS list style
30
+ ilvl: list_indent_level # DOCX level → CSS indent
31
+ mhtml_to_docx:
32
+ list_style_type: num_id
33
+ list_indent_level: ilvl
34
+
35
+ # Run properties that map directly between formats
36
+ run_direct:
37
+ - bold
38
+ - italic
39
+ - underline
40
+ - strike
41
+ - double_strike
42
+ - size
43
+ - font
44
+ - color
45
+ - highlight
46
+ - vertical_align
47
+ - small_caps
48
+ - all_caps
49
+ - style
50
+
51
+ # Table properties that map directly
52
+ table_direct:
53
+ - width
54
+ - width_type
55
+ - alignment
56
+ - border_style
57
+ - borders
58
+ - cell_spacing
59
+ - cell_padding
60
+
61
+ # Image properties that map directly
62
+ image_direct:
63
+ - inline
64
+ - horizontal_alignment
65
+ - vertical_alignment
66
+ - text_wrapping
67
+ - width
68
+ - height
69
+ - alt_text
70
+ - title
71
+
72
+ # Element type mappings
73
+ element_mappings:
74
+ # 1-to-1 mappings
75
+ one_to_one:
76
+ - source: Paragraph
77
+ target: Paragraph
78
+ bidirectional: true
79
+
80
+ - source: Run
81
+ target: Run
82
+ bidirectional: true
83
+
84
+ - source: Table
85
+ target: Table
86
+ bidirectional: true
87
+ recursive: true # Recursively transform rows and cells
88
+
89
+ - source: Image
90
+ target: Image
91
+ bidirectional: true
92
+
93
+ - source: Hyperlink
94
+ target: Hyperlink
95
+ bidirectional: true
96
+ recursive: true # Recursively transform contained runs
97
+
98
+ # Style name normalization rules
99
+ style_name_rules:
100
+ # DOCX style IDs to display names
101
+ docx_to_display:
102
+ Heading1: "Heading 1"
103
+ Heading2: "Heading 2"
104
+ Heading3: "Heading 3"
105
+ Heading4: "Heading 4"
106
+ Heading5: "Heading 5"
107
+ Heading6: "Heading 6"
108
+ ListParagraph: "List Paragraph"
109
+ BodyText: "Body Text"
110
+
111
+ # Display names to DOCX style IDs
112
+ display_to_docx:
113
+ "Heading 1": Heading1
114
+ "Heading 2": Heading2
115
+ "Heading 3": Heading3
116
+ "Heading 4": Heading4
117
+ "Heading 5": Heading5
118
+ "Heading 6": Heading6
119
+ "List Paragraph": ListParagraph
120
+ "Body Text": BodyText
121
+
122
+ # Format-specific defaults
123
+ format_defaults:
124
+ docx:
125
+ # Default numbering for lists
126
+ default_bullet_num_id: 2
127
+ default_decimal_num_id: 1
128
+
129
+ # Default font
130
+ default_font: "Calibri"
131
+ default_font_size: 22 # 11pt in half-points
132
+
133
+ # Default margins (twips)
134
+ default_page_margins:
135
+ top: 1440 # 1 inch
136
+ bottom: 1440
137
+ left: 1440
138
+ right: 1440
139
+ header: 720 # 0.5 inch
140
+ footer: 720
141
+
142
+ mhtml:
143
+ # Default CSS classes for styles
144
+ heading1_class: "Heading1"
145
+ heading2_class: "Heading2"
146
+
147
+ # Default list styles
148
+ bullet_list_style: "disc"
149
+ decimal_list_style: "decimal"
150
+
151
+ # Default fonts
152
+ default_font: "Calibri"
153
+ default_font_size: "11pt"
154
+
155
+ # Error messages (externalized for i18n)
156
+ error_messages:
157
+ invalid_source: "Source must be a Document, got %{type}"
158
+ invalid_format: "Format must be :docx or :mhtml, got %{format}"
159
+ unsupported_element: "No transformation rule for %{element_type}"
160
+ transformation_failed: "Transformation failed: %{reason}"
@@ -0,0 +1,60 @@
1
+ # Document Validation Configuration
2
+ #
3
+ # Defines rules and settings for the 7-layer document validation system.
4
+ # Each layer validates one specific aspect of document integrity (MECE).
5
+
6
+ document_validation:
7
+ # General settings
8
+ fail_fast: true # Stop validation on first critical error
9
+ max_file_size: 104857600 # 100MB maximum file size
10
+
11
+ # Layer 1: File Structure Validation
12
+ file_structure:
13
+ enabled: true
14
+ check_extension: true
15
+ check_size: true
16
+ allowed_extensions:
17
+ - '.docx'
18
+ - '.doc'
19
+
20
+ # Layer 2: ZIP Integrity Validation
21
+ zip_integrity:
22
+ enabled: true
23
+ check_entries: true # Verify required entries exist
24
+ check_corruption: true # Test each entry for corruption
25
+ verify_compression: true # Validate compression method
26
+
27
+ # Layer 3: OOXML Part Validation
28
+ ooxml_parts:
29
+ enabled: true
30
+ require_content_types: true # [Content_Types].xml must exist
31
+ require_document: true # word/document.xml must exist
32
+ require_relationships: true # _rels/.rels must exist
33
+ warn_missing_optional: true # Warn about missing optional parts
34
+
35
+ # Layer 4: XML Schema Validation
36
+ xml_schema:
37
+ enabled: true
38
+ strict_parsing: true # Use strict XML parsing
39
+ check_encoding: true # Validate XML encoding
40
+ validate_namespaces: true # Check namespace declarations
41
+
42
+ # Layer 5: Relationship Validation
43
+ relationships:
44
+ enabled: true
45
+ check_targets_exist: true # Verify relationship targets exist
46
+ check_circular_refs: false # Check for circular references (expensive)
47
+ validate_types: true # Validate relationship type URIs
48
+
49
+ # Layer 6: Content Type Validation
50
+ content_types:
51
+ enabled: true
52
+ check_consistency: true # Verify content types are consistent
53
+ validate_extensions: true # Check file extensions match declarations
54
+
55
+ # Layer 7: Document Semantics Validation
56
+ document_semantics:
57
+ enabled: true
58
+ check_required_elements: true # Verify required elements (body, etc.)
59
+ validate_structure: true # Check document hierarchy
60
+ check_style_references: true # Validate style references (future)
@@ -0,0 +1,57 @@
1
+ # Warning System Configuration
2
+ #
3
+ # Defines rules for tracking unsupported elements and features during
4
+ # document processing. Helps users understand what may be lost in round-trip.
5
+
6
+ warning_system:
7
+ enabled: true
8
+ log_warnings: false # Set to true to log warnings during processing
9
+ log_level: :warn # Log level (:info, :warn, :error)
10
+
11
+ # Critical elements (data-bearing) - severity: error
12
+ # These elements contain important data that will be lost
13
+ critical_elements:
14
+ - chart # Charts - data visualization
15
+ - smartArt # SmartArt diagrams
16
+ - sdt # Content controls - user data
17
+ - customXml # Custom XML - data binding
18
+ - contentPart # Content parts
19
+ - control # ActiveX controls
20
+
21
+ # Warning elements (important but not critical) - severity: warning
22
+ # These elements affect formatting/structure but not core data
23
+ warning_elements:
24
+ - drawingML # Complex drawings
25
+ - vmlDrawing # Legacy VML drawings
26
+ - fldSimple # Simple fields
27
+ - altChunk # Alternative content chunks
28
+ - subDoc # Subdocuments
29
+
30
+ # Element-specific suggestions for users
31
+ element_suggestions:
32
+ chart: "Chart elements are not yet supported. The chart will be preserved as-is but cannot be edited. Consider using image exports for charts. Support planned for v6.1."
33
+
34
+ smartArt: "SmartArt diagrams are not yet supported. Diagram will be preserved but cannot be modified. Consider converting to regular shapes. Support planned for v6.2."
35
+
36
+ sdt: "Content controls are not yet supported. Controls will be preserved but values cannot be updated programmatically. Support planned for v6.1."
37
+
38
+ customXml: "Custom XML data binding is not yet supported. XML data will be preserved but cannot be accessed or modified. Support planned for v6.3."
39
+
40
+ drawingML: "Complex DrawingML graphics may not be fully supported. Basic shapes work, but advanced features may be lost."
41
+
42
+ vmlDrawing: "Legacy VML drawings have limited support. Consider updating to modern DrawingML format."
43
+
44
+ fldSimple: "Some field types are not yet supported. Field will be preserved but may not update correctly."
45
+
46
+ control: "ActiveX controls are not supported. Controls will be preserved but not functional."
47
+
48
+ altChunk: "Alternative content chunks are not supported. Content may be lost."
49
+
50
+ subDoc: "Subdocuments are not supported. Consider consolidating into single document."
51
+
52
+ # Reporting options
53
+ reporting:
54
+ group_by_element: true # Group warnings by element type
55
+ include_counts: true # Include occurrence counts
56
+ include_suggestions: true # Include suggestions in report
57
+ max_warnings: 100 # Maximum warnings to collect (prevent memory issues)