mirror of
https://github.com/penpot/penpot.git
synced 2026-10-29 05:50:35 +00:00
The paragraph language selects the CJK typesetting rules (line breaking, punctuation spacing, the default emphasis position and localized glyphs), but plugins could not read or set it. `lang` holds it as a BCP 47 tag, as the HTML `lang` attribute does; `null` or `''` removes it. On a text shape it applies to every paragraph and reports 'mixed' when they differ. On a text range it applies to the whole paragraphs the range touches: `update-text-range-attrs` now writes paragraph attrs such as the language there instead of copying them into spans. The tag pattern moves to `schema:text-language`, shared by the content schema and the plugin validator. AI-assisted-by: claude-opus-5-5