dotCooCoo
0c3a5929c7
Type: area type opens and lays out with at most 100 rows and 100 columns
...
In a dev build, opening a native file whose area type has 2^60 rows
or 2^60 columns failed with an internal error ("capacity overflow"),
and opening one with 2^32 rows and 2^32 columns failed with "attempt
to multiply with overflow". Text layout reserved room for rows times
columns frame cells. `text.areaOptions` keeps both counts within 1 to
100, but reading a document kept the counts the file gave.
Reading a document now clamps each count to 1 to 100
(`AreaOptions::MAX_ROWS_COLUMNS`): a larger count reads as 100, and 0
reads as 1, as layout already treated it. Text layout clamps both
counts the same way. Area type with 1 to 100 rows and columns lays out
as before.
The cells of a frame now share one copy of the frame's flattened
polygons and one copy of the flattened text wrap shapes. Each cell held
its own copy: in a dev build, a test process that laid out text in 100
rows and 100 columns of a circle frame of radius 1,000,000 pt peaked at
1.33 GB of memory, and now peaks at 100 MB.
2026-10-16 02:21:47 +07:00
..
2026-10-16 02:21:47 +07:00
2026-10-10 14:27:24 +07:00
2026-10-05 06:28:59 +07:00
2026-10-14 04:56:30 +07:00
2026-10-12 11:02:17 +07:00
2026-10-16 02:02:48 +07:00
2026-10-13 18:17:02 +02:00
2026-10-14 13:49:59 +07:00
2026-10-10 10:28:03 +07:00
2026-10-12 11:02:32 +07:00
2026-10-12 09:43:15 +07:00
2026-10-13 03:27:13 +07:00
2026-10-11 01:46:59 +07:00
2026-10-12 11:02:32 +07:00
2026-10-09 17:39:12 +07:00
2026-10-12 11:02:32 +07:00
2026-10-12 11:02:32 +07:00
2026-10-12 11:02:32 +07:00
2026-10-14 03:55:41 +07:00
2026-10-16 02:21:46 +07:00
2026-10-05 01:09:55 +07:00
2026-10-05 00:27:31 +07:00
2026-10-12 11:02:32 +07:00
2026-10-08 07:44:23 +07:00
2026-10-05 03:11:04 +07:00
2026-10-04 11:32:11 +07:00
2026-10-05 04:30:06 +07:00
2026-10-05 00:13:36 +07:00
2026-10-05 05:08:15 +07:00
2026-10-05 07:22:27 +07:00
2026-10-05 05:08:28 +07:00
2026-10-11 23:27:21 +07:00
2026-10-05 16:03:11 +07:00
2026-10-11 01:45:18 +07:00
2026-10-04 23:37:58 +07:00
2026-10-12 00:15:59 +07:00
2026-10-05 08:28:16 +07:00
2026-10-14 03:55:40 +07:00
2026-10-12 11:02:32 +07:00
2026-10-04 23:01:34 +07:00
2026-10-08 09:43:12 +07:00
2026-10-12 11:02:32 +07:00
2026-10-12 11:02:32 +07:00
2026-10-14 08:01:50 +07:00
2026-10-05 06:40:34 +07:00
2026-10-12 11:02:32 +07:00
2026-10-07 13:20:07 +07:00
2026-10-05 09:55:47 +07:00
2026-10-05 02:36:28 +07:00
2026-10-05 02:36:43 +07:00
2026-10-13 05:21:31 +07:00
2026-10-05 06:40:34 +07:00
2026-10-10 09:07:53 +07:00
2026-10-06 15:33:21 -04:00
2026-10-05 04:43:43 +07:00
2026-10-05 04:43:43 +07:00
2026-10-05 02:08:10 +07:00
2026-10-06 00:42:26 +07:00
2026-10-14 08:11:02 +07:00
2026-10-14 05:10:20 -06:00
2026-10-08 15:45:34 -07:00
2026-10-16 02:02:48 +07:00
2026-10-05 07:22:27 +07:00
2026-10-05 07:22:27 +07:00
2026-10-13 12:58:05 +07:00
2026-10-07 22:29:15 +07:00
2026-10-14 05:13:15 +07:00
2026-10-16 01:36:25 +07:00
2026-10-10 17:17:01 +07:00
2026-10-05 07:22:27 +07:00
2026-10-14 10:13:45 +07:00
2026-10-14 04:56:30 +07:00
2026-10-13 06:34:12 +07:00
2026-10-13 18:17:02 +02:00
2026-10-06 12:00:52 +07:00
2026-10-13 05:21:31 +07:00
2026-10-12 11:02:32 +07:00
2026-10-05 03:11:04 +07:00
2026-10-16 02:21:27 +07:00
2026-10-05 12:27:02 +07:00
2026-10-05 04:38:09 +07:00
2026-10-12 00:15:59 +07:00
2026-10-05 06:40:34 +07:00
2026-10-13 05:21:31 +07:00
2026-10-04 23:37:58 +07:00
2026-10-05 00:01:02 +07:00
2026-10-13 18:19:12 +02:00
2026-10-13 18:17:49 +02:00
2026-10-16 02:21:46 +07:00
2026-10-08 15:07:13 -07:00
2026-10-13 11:53:38 +07:00
2026-10-13 10:52:38 +07:00
2026-10-12 08:45:22 +07:00
2026-10-14 03:55:41 +07:00
2026-10-05 11:52:35 +07:00
2026-10-05 13:05:20 +07:00
2026-10-05 18:05:36 +07:00
2026-10-12 11:02:32 +07:00
2026-10-06 11:44:11 +07:00
2026-10-16 02:21:46 +07:00
2026-10-12 11:02:32 +07:00
2026-10-08 03:27:36 +07:00
2026-10-16 02:01:50 +07:00
2026-10-12 06:59:49 +07:00
2026-10-06 00:19:41 +07:00
2026-10-14 03:55:41 +07:00
2026-10-14 04:56:30 +07:00
2026-10-05 15:13:10 +07:00
2026-10-14 05:11:55 +07:00
2026-10-05 16:30:46 +07:00
2026-10-05 16:30:35 +07:00
2026-10-05 17:01:36 +07:00
2026-10-05 17:26:59 +07:00
2026-10-05 02:05:33 +07:00
2026-10-06 11:16:10 +07:00
2026-10-13 11:53:38 +07:00
2026-10-05 09:55:48 +07:00
2026-10-12 06:59:49 +07:00
2026-10-12 11:03:01 +07:00
2026-10-11 05:30:24 +07:00
2026-10-05 07:22:27 +07:00
2026-10-09 08:19:49 +07:00
2026-10-05 15:24:19 +07:00
2026-10-12 11:02:32 +07:00
2026-10-13 13:36:41 +07:00
2026-10-13 02:54:33 +07:00
2026-10-14 13:49:59 +07:00
2026-10-12 11:02:32 +07:00
2026-10-08 23:20:27 +07:00
2026-10-04 17:40:41 +07:00
2026-10-05 07:22:27 +07:00
2026-10-05 02:55:23 +07:00
2026-10-08 12:26:47 +07:00
2026-10-12 11:02:32 +07:00
2026-10-05 06:40:34 +07:00
2026-10-12 11:02:32 +07:00
2026-10-05 02:29:17 +07:00
2026-10-14 08:01:50 +07:00
2026-10-11 11:33:07 +07:00
2026-10-14 04:56:30 +07:00
2026-10-12 11:02:32 +07:00
2026-10-08 20:30:14 -07:00
2026-10-16 02:02:48 +07:00
2026-10-08 17:58:11 +00:00
2026-10-05 01:50:25 +07:00
2026-10-05 07:22:27 +07:00
2026-10-06 09:23:44 +07:00
2026-10-05 03:11:04 +07:00
2026-10-12 08:16:07 +07:00
2026-10-11 07:00:34 +07:00
2026-10-05 07:43:41 +07:00
2026-10-12 14:50:00 +07:00
2026-10-10 10:27:52 +07:00
2026-10-14 05:14:20 +07:00
2026-10-05 02:55:21 +07:00
2026-10-06 12:01:10 +07:00
2026-10-16 02:21:46 +07:00
2026-10-16 02:02:48 +07:00
2026-10-16 01:36:24 +07:00
2026-10-05 07:43:41 +07:00