Bug 165886 - FILEOPEN XLSX Formula containing curvy quotation marks altered on import
Summary: FILEOPEN XLSX Formula containing curvy quotation marks altered on import
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
3.3.0 release
Hardware: All All
: low trivial
Assignee: Aron Budea
URL:
Whiteboard: target:25.8.0 target:25.2.3 target:24...
Keywords:
Depends on:
Blocks: XLSX-Corrupted Cell-Formula
  Show dependency treegraph
 
Reported: 2025-03-24 04:38 UTC by Aron Budea
Modified: 2025-04-30 11:56 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
Sample XLSX (8.65 KB, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
2025-03-24 04:38 UTC, Aron Budea
Details
Screenshot in Excel (28.80 KB, image/png)
2025-03-24 04:41 UTC, Aron Budea
Details
forum-mso-en4-149289.xlsx (21.95 KB, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
2025-03-24 05:10 UTC, Aron Budea
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aron Budea 2025-03-24 04:38:18 UTC
Created attachment 199984 [details]
Sample XLSX

Excel accepts a number of quotation marks as valid characters in names. For example these curvy quotation marks: ‘ and ’ and “ and ” (but not „).
These aren't treated as regular quotation marks, as far as I could see.
Further reference on quotation marks: https://en.wikipedia.org/wiki/Quotation_mark

In Calc these are invalid characters, and it shows Err:501 for formula containing these (except when inside a string).
Eg. in attached sample XLSX:
- A1: =“
- B1: =OR(D1=0;D1<>““)
- C1: =OR(E1=0;E1<>“)

The problem is that some of these formula get changed on import:
- B1 becomes: =OR(D1=0;D1<>““))
- C1 becomes: =OR(E1=0;E1<>“))

Saving these files back to XLSX makes Excel complain, and attempting recovery removes the affected formula:
"Removed Records: Formula from /xl/worksheets/sheet1.xml part"

Observed in LO 25.8.0.0.alpha0+ (81dfc7afcdc473bd655ff64038e8a449a9999c0c), 3.3.0 / Windows.
Before the commit below in 6.3, the import is bad in a different way, the closing brackets don't get duplicated, but the quotes get dropped, eg. B1 becomes: =OR(D1=0;D1<>)

https://cgit.freedesktop.org/libreoffice/core/commit/?id=7d6f30d04c51088b26815c241a7473c48822c6c3
https://git.libreoffice.org/core/commit/7d6f30d04c51088b26815c241a7473c48822c6c3
author		Eike Rathke <erack@redhat.com>	Tue Jan 29 15:25:52 2019 +0100
committer	Eike Rathke <erack@redhat.com>	Wed Jan 30 10:55:12 2019 +0100

"Resolves: tdf#93951 set remainder as bad string if not parsed as valid"

Adding these quotes at the end of the switch solves the issue (they are in category U_INITIAL_PUNCTUATION and U_FINAL_PUNCTUATION), but I'm not sure if there is impact to consider when working with native ODF files:
https://opengrok.libreoffice.org/xref/core/i18npool/source/characterclassification/cclass_unicode_parser.cxx?r=ff16c4e3f27efc0fc9ed734b19ae778482566cdb#614

While there is likely little practical value in making this particular case work, the following should be considered:
- altering the input this way is wrong in general,
- imported files that were valid should remain valid when exported,
- I have encountered a number of invalid roundtripped spreadsheets where formula get discarded; analyzing them is tedious work, and being able to eliminate trivial cases like this would be helpful when trying to identify relevant issues.
Comment 1 Aron Budea 2025-03-24 04:41:17 UTC
Created attachment 199985 [details]
Screenshot in Excel

Note that in the sample there are defined names for “ and ” but not for ‘ and ’, that's why the results are different in rows A and B compared to C and D.
Comment 2 Aron Budea 2025-03-24 05:10:09 UTC
Created attachment 199986 [details]
forum-mso-en4-149289.xlsx

This is the file the sample is based on, exhibiting the issue in a conditional formatting formula.
Comment 3 Aron Budea 2025-04-11 08:04:45 UTC
For the record, OOXML expects names to conform to ST_Xstring (string of characters with support for escaped invalid-XML characters), and ODF expects names to be strings.
Comment 4 Aron Budea 2025-04-11 08:09:59 UTC
I have a patch that enables parsing these particular characters: https://gerrit.libreoffice.org/c/core/+/183987

Eike, can you please share your thoughts whether that is a reasonable approach, or if this has to be solved differently?
Comment 5 Eike Rathke 2025-04-14 14:24:45 UTC
Horrible ;) (to allow these as name characters) but a valid approach..

But why restrict to
U+2018 ‘ LEFT SINGLE QUOTATION MARK
U+201C “ LEFT DOUBLE QUOTATION MARK
and
U+2019 ’ RIGHT SINGLE QUOTATION MARK
U+201d ” RIGHT DOUBLE QUOTATION MARK
and not allow other quotation marks? Does Excel restrict them? e.g. there are at least

<‘> U+2018 LEFT SINGLE QUOTATION MARK
<’> U+2019 RIGHT SINGLE QUOTATION MARK
<‚> U+201A SINGLE LOW-9 QUOTATION MARK
<‛> U+201B SINGLE HIGH-REVERSED-9 QUOTATION MARK
<‹> U+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
<›> U+203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK

<«> U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
<»> U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
<“> U+201C LEFT DOUBLE QUOTATION MARK
<”> U+201D RIGHT DOUBLE QUOTATION MARK
<„> U+201E DOUBLE LOW-9 QUOTATION MARK
<‟> U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK
Comment 6 Aron Budea 2025-04-14 15:40:45 UTC
(In reply to Eike Rathke from comment #5)
> But why restrict to
> ...
> and not allow other quotation marks? Does Excel restrict them? e.g. there
> are at least
I wasn't sure about the approach, and didn't know of all the different quotation marks. Plus I thought if it ends up being merged, extending the list later will be straightforward.

> <«> U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
> <»> U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
> <„> U+201E DOUBLE LOW-9 QUOTATION MARK
These were among those I checked in Excel (2013), and for unknown reasons they aren't allowed. On the other hand, Japanese quotation marks are.
Let me check the others, I'll amend the patch based on that. Thanks for the feedback!
Comment 7 Aron Budea 2025-04-14 19:17:34 UTC
I checked the listed quotation marks, none of them are accepted in formula, apart from the initial four.

Funny enough, Excel's message when entering an invalid name in Name Manager is:
"The name that you entered is not valid.

Reasons for this can include:
-The name does not begin with a letter or an underscore
-The name contains a space or other invalid characters
-The name conflicts with an Excel built-in name or the name of another object in the workbook"

...I don't think the accepted quotation marks fall into the letter / underscore category.

These are also accepted: 『, 』, 「, 」, 《, 》, 〈, 〉

I have updated the patch with them.
Comment 8 Eike Rathke 2025-04-15 09:57:57 UTC
That's totally weird.. there are 135 Unicode BRACKET characters ...

   Octal  Decimal      Hex        HTML    Character   Unicode
    0133       91     0x5B &lbrack;,&lsqb;    "["         LEFT SQUARE BRACKET
    0135       93     0x5D &rbrack;,&rsqb;    "]"         RIGHT SQUARE BRACKET
    0173      123     0x7B &lbrace;,&lcub;    "{"         LEFT CURLY BRACKET
    0175      125     0x7D &rbrace;,&rcub;    "}"         RIGHT CURLY BRACKET
  020105     8261   0x2045     &#8261;    "⁅"         LEFT SQUARE BRACKET WITH QUILL
  020106     8262   0x2046     &#8262;    "⁆"         RIGHT SQUARE BRACKET WITH QUILL
  021451     9001   0x2329     &#9001;    "〈"         LEFT-POINTING ANGLE BRACKET
  021452     9002   0x232A     &#9002;    "〉"         RIGHT-POINTING ANGLE BRACKET
  021641     9121   0x23A1     &#9121;    "⎡"         LEFT SQUARE BRACKET UPPER CORNER
  021642     9122   0x23A2     &#9122;    "⎢"         LEFT SQUARE BRACKET EXTENSION
  021643     9123   0x23A3     &#9123;    "⎣"         LEFT SQUARE BRACKET LOWER CORNER
  021644     9124   0x23A4     &#9124;    "⎤"         RIGHT SQUARE BRACKET UPPER CORNER
  021645     9125   0x23A5     &#9125;    "⎥"         RIGHT SQUARE BRACKET EXTENSION
  021646     9126   0x23A6     &#9126;    "⎦"         RIGHT SQUARE BRACKET LOWER CORNER
  021647     9127   0x23A7     &#9127;    "⎧"         LEFT CURLY BRACKET UPPER HOOK
  021650     9128   0x23A8     &#9128;    "⎨"         LEFT CURLY BRACKET MIDDLE PIECE
  021651     9129   0x23A9     &#9129;    "⎩"         LEFT CURLY BRACKET LOWER HOOK
  021652     9130   0x23AA     &#9130;    "⎪"         CURLY BRACKET EXTENSION
  021653     9131   0x23AB     &#9131;    "⎫"         RIGHT CURLY BRACKET UPPER HOOK
  021654     9132   0x23AC     &#9132;    "⎬"         RIGHT CURLY BRACKET MIDDLE PIECE
  021655     9133   0x23AD     &#9133;    "⎭"         RIGHT CURLY BRACKET LOWER HOOK
  021660     9136   0x23B0 &lmoust;,&lmoustache;    "⎰"         UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
  021661     9137   0x23B1 &rmoust;,&rmoustache;    "⎱"         UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
  021664     9140   0x23B4 &OverBracket;,&tbrk;    "⎴"         TOP SQUARE BRACKET
  021665     9141   0x23B5 &bbrk;,&UnderBracket;    "⎵"         BOTTOM SQUARE BRACKET
  021666     9142   0x23B6  &bbrktbrk;    "⎶"         BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
  021736     9182   0x23DE &OverBrace;    "⏞"         TOP CURLY BRACKET
  021737     9183   0x23DF &UnderBrace;    "⏟"         BOTTOM CURLY BRACKET
  021740     9184   0x23E0     &#9184;    "⏠"         TOP TORTOISE SHELL BRACKET
  021741     9185   0x23E1     &#9185;    "⏡"         BOTTOM TORTOISE SHELL BRACKET
  023554    10092   0x276C    &#10092;    "❬"         MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
  023555    10093   0x276D    &#10093;    "❭"         MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
  023560    10096   0x2770    &#10096;    "❰"         HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
  023561    10097   0x2771    &#10097;    "❱"         HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
  023562    10098   0x2772     &lbbrk;    "❲"         LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
  023563    10099   0x2773     &rbbrk;    "❳"         LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
  023564    10100   0x2774    &#10100;    "❴"         MEDIUM LEFT CURLY BRACKET ORNAMENT
  023565    10101   0x2775    &#10101;    "❵"         MEDIUM RIGHT CURLY BRACKET ORNAMENT
  023746    10214   0x27E6 &LeftDoubleBracket;,&lobrk;    "⟦"         MATHEMATICAL LEFT WHITE SQUARE BRACKET
  023747    10215   0x27E7 &RightDoubleBracket;,&robrk;    "⟧"         MATHEMATICAL RIGHT WHITE SQUARE BRACKET
  023750    10216   0x27E8 &lang;,&langle;,&LeftAngleBracket;    "⟨"         MATHEMATICAL LEFT ANGLE BRACKET
  023751    10217   0x27E9 &rang;,&rangle;,&RightAngleBracket;    "⟩"         MATHEMATICAL RIGHT ANGLE BRACKET
  023752    10218   0x27EA      &Lang;    "⟪"         MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
  023753    10219   0x27EB      &Rang;    "⟫"         MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
  023754    10220   0x27EC     &loang;    "⟬"         MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
  023755    10221   0x27ED     &roang;    "⟭"         MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
  024603    10627   0x2983    &#10627;    "⦃"         LEFT WHITE CURLY BRACKET
  024604    10628   0x2984    &#10628;    "⦄"         RIGHT WHITE CURLY BRACKET
  024607    10631   0x2987    &#10631;    "⦇"         Z NOTATION LEFT IMAGE BRACKET
  024610    10632   0x2988    &#10632;    "⦈"         Z NOTATION RIGHT IMAGE BRACKET
  024611    10633   0x2989    &#10633;    "⦉"         Z NOTATION LEFT BINDING BRACKET
  024612    10634   0x298A    &#10634;    "⦊"         Z NOTATION RIGHT BINDING BRACKET
  024613    10635   0x298B     &lbrke;    "⦋"         LEFT SQUARE BRACKET WITH UNDERBAR
  024614    10636   0x298C     &rbrke;    "⦌"         RIGHT SQUARE BRACKET WITH UNDERBAR
  024615    10637   0x298D   &lbrkslu;    "⦍"         LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
  024616    10638   0x298E   &rbrksld;    "⦎"         RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
  024617    10639   0x298F   &lbrksld;    "⦏"         LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
  024620    10640   0x2990   &rbrkslu;    "⦐"         RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
  024621    10641   0x2991     &langd;    "⦑"         LEFT ANGLE BRACKET WITH DOT
  024622    10642   0x2992     &rangd;    "⦒"         RIGHT ANGLE BRACKET WITH DOT
  024623    10643   0x2993    &lparlt;    "⦓"         LEFT ARC LESS-THAN BRACKET
  024624    10644   0x2994    &rpargt;    "⦔"         RIGHT ARC GREATER-THAN BRACKET
  024625    10645   0x2995    &gtlPar;    "⦕"         DOUBLE LEFT ARC GREATER-THAN BRACKET
  024626    10646   0x2996    &ltrPar;    "⦖"         DOUBLE RIGHT ARC LESS-THAN BRACKET
  024627    10647   0x2997    &#10647;    "⦗"         LEFT BLACK TORTOISE SHELL BRACKET
  024630    10648   0x2998    &#10648;    "⦘"         RIGHT BLACK TORTOISE SHELL BRACKET
  024774    10748   0x29FC    &#10748;    "⧼"         LEFT-POINTING CURVED ANGLE BRACKET
  024775    10749   0x29FD    &#10749;    "⧽"         RIGHT-POINTING CURVED ANGLE BRACKET
  027002    11778   0x2E02    &#11778;    "⸂"         LEFT SUBSTITUTION BRACKET
  027003    11779   0x2E03    &#11779;    "⸃"         RIGHT SUBSTITUTION BRACKET
  027004    11780   0x2E04    &#11780;    "⸄"         LEFT DOTTED SUBSTITUTION BRACKET
  027005    11781   0x2E05    &#11781;    "⸅"         RIGHT DOTTED SUBSTITUTION BRACKET
  027011    11785   0x2E09    &#11785;    "⸉"         LEFT TRANSPOSITION BRACKET
  027012    11786   0x2E0A    &#11786;    "⸊"         RIGHT TRANSPOSITION BRACKET
  027014    11788   0x2E0C    &#11788;    "⸌"         LEFT RAISED OMISSION BRACKET
  027015    11789   0x2E0D    &#11789;    "⸍"         RIGHT RAISED OMISSION BRACKET
  027034    11804   0x2E1C    &#11804;    "⸜"         LEFT LOW PARAPHRASE BRACKET
  027035    11805   0x2E1D    &#11805;    "⸝"         RIGHT LOW PARAPHRASE BRACKET
  027042    11810   0x2E22    &#11810;    "⸢"         TOP LEFT HALF BRACKET
  027043    11811   0x2E23    &#11811;    "⸣"         TOP RIGHT HALF BRACKET
  027044    11812   0x2E24    &#11812;    "⸤"         BOTTOM LEFT HALF BRACKET
  027045    11813   0x2E25    &#11813;    "⸥"         BOTTOM RIGHT HALF BRACKET
  027046    11814   0x2E26    &#11814;    "⸦"         LEFT SIDEWAYS U BRACKET
  027047    11815   0x2E27    &#11815;    "⸧"         RIGHT SIDEWAYS U BRACKET
  027125    11861   0x2E55    &#11861;    "⹕"         LEFT SQUARE BRACKET WITH STROKE
  027126    11862   0x2E56    &#11862;    "⹖"         RIGHT SQUARE BRACKET WITH STROKE
  027127    11863   0x2E57    &#11863;    "⹗"         LEFT SQUARE BRACKET WITH DOUBLE STROKE
  027130    11864   0x2E58    &#11864;    "⹘"         RIGHT SQUARE BRACKET WITH DOUBLE STROKE
  030010    12296   0x3008    &#12296;    "〈"         LEFT ANGLE BRACKET
  030011    12297   0x3009    &#12297;    "〉"         RIGHT ANGLE BRACKET
  030012    12298   0x300A    &#12298;    "《"         LEFT DOUBLE ANGLE BRACKET
  030013    12299   0x300B    &#12299;    "》"         RIGHT DOUBLE ANGLE BRACKET
  030014    12300   0x300C    &#12300;    "「"         LEFT CORNER BRACKET
  030015    12301   0x300D    &#12301;    "」"         RIGHT CORNER BRACKET
  030016    12302   0x300E    &#12302;    "『"         LEFT WHITE CORNER BRACKET
  030017    12303   0x300F    &#12303;    "』"         RIGHT WHITE CORNER BRACKET
  030020    12304   0x3010    &#12304;    "【"         LEFT BLACK LENTICULAR BRACKET
  030021    12305   0x3011    &#12305;    "】"         RIGHT BLACK LENTICULAR BRACKET
  030024    12308   0x3014    &#12308;    "〔"         LEFT TORTOISE SHELL BRACKET
  030025    12309   0x3015    &#12309;    "〕"         RIGHT TORTOISE SHELL BRACKET
  030026    12310   0x3016    &#12310;    "〖"         LEFT WHITE LENTICULAR BRACKET
  030027    12311   0x3017    &#12311;    "〗"         RIGHT WHITE LENTICULAR BRACKET
  030030    12312   0x3018    &#12312;    "〘"         LEFT WHITE TORTOISE SHELL BRACKET
  030031    12313   0x3019    &#12313;    "〙"         RIGHT WHITE TORTOISE SHELL BRACKET
  030032    12314   0x301A    &#12314;    "〚"         LEFT WHITE SQUARE BRACKET
  030033    12315   0x301B    &#12315;    "〛"         RIGHT WHITE SQUARE BRACKET
 0177027    65047   0xFE17    &#65047;    "︗"         PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
 0177067    65079   0xFE37    &#65079;    "︷"         PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
 0177070    65080   0xFE38    &#65080;    "︸"         PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
 0177071    65081   0xFE39    &#65081;    "︹"         PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
 0177072    65082   0xFE3A    &#65082;    "︺"         PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
 0177073    65083   0xFE3B    &#65083;    "︻"         PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
 0177074    65084   0xFE3C    &#65084;    "︼"         PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
 0177075    65085   0xFE3D    &#65085;    "︽"         PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
 0177076    65086   0xFE3E    &#65086;    "︾"         PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
 0177077    65087   0xFE3F    &#65087;    "︿"         PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
 0177100    65088   0xFE40    &#65088;    "﹀"         PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
 0177101    65089   0xFE41    &#65089;    "﹁"         PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
 0177102    65090   0xFE42    &#65090;    "﹂"         PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
 0177103    65091   0xFE43    &#65091;    "﹃"         PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
 0177104    65092   0xFE44    &#65092;    "﹄"         PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
 0177107    65095   0xFE47    &#65095;    "﹇"         PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
 0177110    65096   0xFE48    &#65096;    "﹈"         PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
 0177133    65115   0xFE5B    &#65115;    "﹛"         SMALL LEFT CURLY BRACKET
 0177134    65116   0xFE5C    &#65116;    "﹜"         SMALL RIGHT CURLY BRACKET
 0177135    65117   0xFE5D    &#65117;    "﹝"         SMALL LEFT TORTOISE SHELL BRACKET
 0177136    65118   0xFE5E    &#65118;    "﹞"         SMALL RIGHT TORTOISE SHELL BRACKET
 0177473    65339   0xFF3B    &#65339;    "["         FULLWIDTH LEFT SQUARE BRACKET
 0177475    65341   0xFF3D    &#65341;    "]"         FULLWIDTH RIGHT SQUARE BRACKET
 0177533    65371   0xFF5B    &#65371;    "{"         FULLWIDTH LEFT CURLY BRACKET
 0177535    65373   0xFF5D    &#65373;    "}"         FULLWIDTH RIGHT CURLY BRACKET
 0177542    65378   0xFF62    &#65378;    "「"         HALFWIDTH LEFT CORNER BRACKET
 0177543    65379   0xFF63    &#65379;    "」"         HALFWIDTH RIGHT CORNER BRACKET
 0350425   119061  0x1D115   &#119061;    "𝄕"         MUSICAL SYMBOL BRACKET
03400133   917595  0xE005B   &#917595;    "󠁛"         TAG LEFT SQUARE BRACKET
03400135   917597  0xE005D   &#917597;    "󠁝"         TAG RIGHT SQUARE BRACKET
03400173   917627  0xE007B   &#917627;    "󠁻"         TAG LEFT CURLY BRACKET
03400175   917629  0xE007D   &#917629;    "󠁽"         TAG RIGHT CURLY BRACKET
Comment 9 Aron Budea 2025-04-15 11:37:35 UTC
(In reply to Eike Rathke from comment #8)
> That's totally weird.. there are 135 Unicode BRACKET characters ...
I was only looking at characters the wikipedia article lists as quotation marks.
Ultimately I would prefer not opening new cans of worms now, and let further exotic characters be considered if/when they come up in real life examples.
Comment 10 Eike Rathke 2025-04-16 10:47:03 UTC
That's fine with me.
Comment 11 Commit Notification 2025-04-20 20:50:11 UTC
Aron Budea committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/8397af1bc49897a2d8ebe30c1e960661271503e9

tdf#165886 sc: parse various quote characters

It will be available in 25.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 12 Commit Notification 2025-04-23 10:29:00 UTC
Aron Budea committed a patch related to this issue.
It has been pushed to "libreoffice-25-2":

https://git.libreoffice.org/core/commit/151e5d9eb6dd64fe96fa122f6151d3abb1b07fc4

tdf#165886 sc: parse various quote characters

It will be available in 25.2.4.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 13 Commit Notification 2025-04-23 12:37:42 UTC
Aron Budea committed a patch related to this issue.
It has been pushed to "libreoffice-24-8":

https://git.libreoffice.org/core/commit/93f2c3d9e196ac27e218a0230ac98f5c03f81881

tdf#165886 sc: parse various quote characters

It will be available in 24.8.8.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 14 Commit Notification 2025-04-23 13:00:09 UTC
Aron Budea committed a patch related to this issue.
It has been pushed to "libreoffice-25-2-3":

https://git.libreoffice.org/core/commit/4fd225c3125ea9d5dfe9e7cec1e9697daf26e172

tdf#165886 sc: parse various quote characters

It will be available in 25.2.3.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 15 Commit Notification 2025-04-30 11:30:58 UTC
Aron Budea committed a patch related to this issue.
It has been pushed to "libreoffice-24-8-7":

https://git.libreoffice.org/core/commit/4453fb4b88b0a11252c3624c95164029c61f29f9

tdf#165886 sc: parse various quote characters

It will be available in 24.8.7.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.