Commit Graph
29 Commits
Author SHA1 Message Date
Divyanshu Gupta f996654264 fix(engine): do not treat decimal points as sentence boundaries in Sentence case
In crates/engine/src/cmd/format.rs, convert_chars treated any period as a sentence boundary, causing numbers with decimal points (e.g. 3.14, 2.5) to capitalize the subsequent word in Sentence case.

Check if a period is surrounded by ASCII digits, and do not trigger uppercase capitalization when encountering a decimal point.

Closes #3485
2026-10-22 01:56:09 +05:30
Divyanshu Gupta 4f924ca518 fix(engine): allow leading underscore for hidden bookmarks in name validation 2026-10-22 01:49:33 +05:30
Divyanshu Gupta c5de19a287 fix(engine, layout): invalidate layout cache on filename change and unify untitled fallback 2026-10-22 01:01:54 +05:30
Divyanshu Gupta 05827d20fc fix(engine): validate bookmark names by character count and character classes
In bookmark_name_ok, validate length by Unicode character count (at most 40 characters) rather than byte count, require an initial alphabetic letter, and restrict characters to alphanumeric and underscore.

Closes #3491
2026-10-22 00:12:31 +05:30
Divyanshu Gupta 084b76d9de fix(engine): preserve existing table cell margins when side is omitted
In table.cellMargins, resolve existing margins from the table, its style, or defaults and only overwrite the sides explicitly provided in the command parameters.

Closes #3490
2026-10-22 00:04:20 +05:30
Divyanshu Gupta 034e083f58 test(ui): restrict AltGr Ctrl+Alt+Q regression test to non-macOS platforms
On macOS, AltGr does not produce Ctrl+Alt and Command-Q is the native application close chord. Restrict the Windows/Linux AltGr Q regression test to non-macOS platforms as requested by review, preserving the existing macOS Command-Q close test coverage (#3424).
2026-10-21 23:34:15 +05:30
Divyanshu Gupta 93dc6000f9 fix(engine, layout): evaluate FILENAME field and support \p switch
Fixes #3449
2026-10-21 22:10:54 +05:30
Divyanshu Gupta e9c0def9bf fix(ui): preserve Ctrl+Alt+Q and allow typing @ on German layout
Ensure Ctrl+Alt+Q (German shortcut for @, or AltGr+Q) is not treated as a command shortcut or default quit shortcut, preventing unexpected app closure and allowing the @ symbol to be typed.

Fixes #3424
2026-10-21 21:12:02 +05:30
Divyanshu Gupta a8ba49e68b fix(docx): preserve East Asian language w:eastAsia on w:lang
Preserve w:lang/@w:eastAsia when reading and writing DOCX documents.
Previously, only w:val and w:bidi were handled, causing w:eastAsia to be
dropped on save.

Fixes #3457
2026-10-21 20:13:15 +05:30
Divyanshu Gupta bfb81b72eb fix(sheet/xls): track substream depth and support CONTINUE records on formula strings 2026-10-21 20:00:37 +05:30
Divyanshu Gupta 22ae9e8961 fix(docbin): preserve external URLs with sublocations in doc hyperlink fields 2026-10-21 18:59:30 +05:30
Divyanshu Gupta b333885228 fix(formats): support 4/8-digit hex, space-separated rgb and hsl in parse_color 2026-10-21 18:52:08 +05:30
Divyanshu Gupta c60d9df0c3 fix(formats): support table cell vertical alignment in rtf, html, and odt 2026-10-21 18:35:08 +05:30
Divyanshu Gupta c9bebab058 fix(mathml): support linethickness=none and menclose notations 2026-10-16 07:04:27 +05:30
Divyanshu Gupta 48ff1e52be fix(formats): support bullet, top, bot, hslash, accents, bm, and mod in LaTeX math 2026-10-16 05:08:58 +05:30
Divyanshu Gupta 772cccf038 fix(formats): support xs:time, string-value, and case-insensitive cell types in spreadsheets 2026-10-16 04:39:59 +05:30
Divyanshu Gupta 51fc220092 fix(formats): support asian/complex scripts and underline/strike types in ODT 2026-10-16 04:03:21 +05:30
Divyanshu Gupta 5817874b6d fix(formats): parse leading plus and case-insensitive units in LaTeX lengths 2026-10-16 03:47:04 +05:30
Divyanshu Gupta 4818b7b8f2 fix(formats): parse case-insensitive and pica units in ODT lengths 2026-10-16 03:44:21 +05:30
Divyanshu Gupta f9808ae495 fix(docx): correctly parse emu and case-insensitive units in measure 2026-10-16 03:41:06 +05:30
Divyanshu Gupta 07ecf526a6 fix(formats): support case-insensitive and spaced !important in HTML CSS 2026-10-16 03:21:50 +05:30
Divyanshu Gupta 8711f5cfd1 fix(docx): inspect textbox style for v-text-anchor and handle case-insensitivity 2026-10-16 03:05:52 +05:30
Divyanshu Gupta 16e18d8492 fix(docx, doc): support VML wrap side and case-insensitive float anchors 2026-10-16 02:40:25 +05:30
Divyanshu Gupta a4e2cebc07 fix(formats): support borderless and bordered tables in LaTeX import and export 2026-10-16 02:05:49 +05:30
Divyanshu Gupta 9e477da0ee fix(formats): support small and big tags and relative/large font-size keywords in HTML 2026-10-15 23:45:12 +05:30
Divyanshu Gupta 68479ee33f fix(formats): support column break in RTF import and export 2026-10-15 23:38:07 +05:30
Divyanshu Gupta 147866bce5 fix(formats): support tab-separated list markers in markdown 2026-10-15 22:25:36 +05:30
Divyanshu Gupta 19109657d0 fix(formats): support distributed paragraph alignment in RTF 2026-10-15 22:01:39 +05:30
Divyanshu Gupta bdbfa62056 fix(formats): support left alignment in markdown tables 2026-10-15 21:49:08 +05:30