mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-25 02:07:09 -06:00
* Audit: text layout, shaping, fonts and embedding bounds * Audit: text bitmap chunk walk without overflow * Test: PNG metadata chunk walk * Security: keep the word minimum in wrap regions; allow uncompressed iTXt text A wrap shape can narrow the first baseline of a rectangular region: place_at_least then relaxed the minimum to 0 (the region still counted as "all lines equally wide") and picked the narrow span, breaking a word on that baseline even though a lower one had room for it whole. Treat the width as constant only when the region has no wrap shapes. Also, PNG iTXt chunks may be stored uncompressed: only genuinely compressed text (flag 1, conservatively anything that does not parse) counts as compressed metadata now.