John MacFarlane and Claude
008afcaba1
OpenDocument writer: reuse identical automatic paragraph styles.
...
Every blockquote, every explicitly aligned table cell, and every
direction-adjusted style got a fresh `Pn` automatic style, even when
an identical one already existed. A document with many of them paid
for a style definition each time, and the style list that gets walked
when emitting `office:automatic-styles` grew with it.
Key the styles on their attributes and paragraph properties and reuse
a match. The direction cache added for RTL support is subsumed by
this one and goes away.
The test output changes only by dropping duplicate definitions:
`writer.opendocument` had three identical `Quotations` styles and
6792.md two identical centred table-cell styles.
Co-Authored-By: Claude <noreply@anthropic.com >
2026-10-01 05:18:49 +00:00
..
2026-02-25 11:45:30 +01:00
2026-09-23 20:16:34 -07:00
2026-07-10 16:38:03 +02:00
2026-09-12 20:02:41 -07:00
2026-09-20 11:33:39 -07:00
2026-05-27 17:35:39 +02:00
2026-09-12 20:02:41 -07:00
2026-09-23 18:14:44 -07:00
2026-09-23 18:14:44 -07:00
2026-09-12 20:02:41 -07:00
2026-09-28 09:54:47 -07:00
2026-08-26 09:46:48 -07:00
2026-09-08 16:10:11 -07:00
2026-08-26 09:46:48 -07:00
2026-09-20 11:33:39 -07:00
2026-07-04 18:52:14 +02:00
2026-03-20 11:39:01 +01:00
2026-08-26 09:46:48 -07:00
2026-05-13 17:15:34 +02:00
2026-05-01 00:15:40 +02:00
2026-09-12 20:02:41 -07:00
2026-08-26 09:46:48 -07:00
2026-07-04 18:52:14 +02:00
2026-10-01 05:18:49 +00:00
2026-03-20 11:39:01 +01:00
2026-09-28 09:54:47 -07:00
2026-09-12 20:02:41 -07:00
2026-09-20 10:28:30 -07:00
2026-06-08 19:22:24 +02:00
2026-09-28 08:45:30 -07:00
2026-05-07 12:10:23 +02:00
2026-05-13 17:15:34 +02:00
2026-09-12 20:02:41 -07:00
2026-06-29 11:40:30 +02:00
2026-05-27 17:35:39 +02:00
2026-09-20 10:28:30 -07:00
2026-09-20 10:28:30 -07:00
2026-09-20 10:28:30 -07:00
2026-09-20 10:28:30 -07:00
2026-09-20 10:28:30 -07:00
2026-08-26 09:51:03 -07:00
2026-05-30 19:11:14 +02:00
2026-05-17 11:02:34 +02:00
2026-09-07 15:41:18 +00:00
2026-09-30 17:33:11 -07:00
2026-05-27 17:35:39 +02:00
2026-03-20 11:39:01 +01:00
2026-09-04 09:37:08 -07:00
2026-04-13 12:04:02 +02:00
2026-09-07 15:41:18 +00:00
2026-03-22 10:36:15 +01:00
2026-09-23 20:16:34 -07:00
2026-04-04 15:12:23 -04:00
2026-09-30 08:49:12 -07:00
2026-09-26 15:49:54 -07:00
2026-09-12 20:02:41 -07:00
2026-09-12 20:02:41 -07:00
2026-09-09 03:12:53 +00:00
2026-05-27 17:35:39 +02:00
2026-08-26 09:51:03 -07:00
2026-08-24 12:07:19 -07:00
2026-09-04 09:37:08 -07:00
2026-08-28 09:30:20 -07:00
2026-08-28 09:30:20 -07:00
2026-02-25 11:45:30 +01:00
2026-02-27 11:51:35 +01:00
2026-03-03 15:38:51 +00:00
2026-03-03 22:31:55 +01:00
2026-03-03 22:31:55 +01:00
2026-03-09 14:10:53 +01:00
2026-03-17 19:37:08 +01:00
2026-03-20 11:39:01 +01:00
2026-04-04 15:27:01 -04:00
2026-04-09 10:51:15 +02:00
2026-09-04 09:37:08 -07:00
2026-04-18 13:05:35 +02:00
2026-04-18 23:19:15 +02:00
2026-04-24 10:55:52 +02:00
2026-05-01 00:15:40 +02:00
2026-05-02 13:07:00 +02:00
2026-05-30 19:11:14 +02:00
2026-05-23 18:09:46 +02:00
2026-05-30 19:11:14 +02:00
2026-06-06 22:49:45 +02:00
2026-06-03 16:36:29 +02:00
2026-06-05 17:17:22 +02:00
2026-06-08 23:49:22 +02:00
2026-06-09 08:42:09 +02:00
2026-06-12 21:01:25 +02:00
2026-07-12 12:01:23 +02:00
2026-06-21 15:15:42 +02:00
2026-06-23 12:06:27 +02:00
2026-07-01 11:17:21 +02:00
2026-06-29 19:28:54 +02:00
2026-07-07 20:58:33 +02:00
2026-07-07 16:58:44 +02:00
2026-07-11 10:57:33 +02:00
2026-07-14 17:34:15 +02:00
2026-08-11 09:35:17 -07:00
2026-08-05 07:18:12 -07:00
2026-09-04 09:37:08 -07:00
2026-08-11 11:22:12 -07:00
2026-08-16 10:44:18 -07:00
2026-08-17 09:27:38 -07:00
2026-08-17 10:01:58 -07:00
2026-08-27 14:51:13 -07:00
2026-08-27 14:51:13 -07:00
2026-08-27 19:55:16 -07:00
2026-09-30 08:53:55 -07:00
2026-09-08 08:34:30 -07:00
2026-09-10 22:14:26 -07:00
2026-09-24 23:43:02 -07:00
2026-09-23 20:16:34 -07:00
2026-09-26 22:07:44 -07:00
2026-03-27 23:56:08 -04:00
2026-09-18 22:34:26 -07:00
2026-09-01 22:45:21 -07:00
2026-07-12 12:01:23 +02:00
2026-05-28 00:07:29 +02:00
2026-09-06 13:28:54 -07:00
2026-09-06 13:28:54 -07:00
2026-09-08 16:10:11 -07:00
2026-09-08 16:10:11 -07:00
2026-09-08 16:10:11 -07:00
2026-10-01 04:36:19 +00:00
2026-10-01 04:32:18 +00:00
2026-10-01 04:36:19 +00:00
2026-09-18 22:34:26 -07:00
2026-09-18 22:34:26 -07:00
2026-03-22 10:36:15 +01:00
2026-07-12 12:51:11 +02:00
2026-05-27 17:35:39 +02:00
2026-06-13 23:38:51 +02:00
2026-09-26 15:49:54 -07:00
2026-09-08 08:34:30 -07:00