Bug 103345 - FILEOPEN: Non-English numbering characters "①, ②, ③", "α, β, γ" are converted to digits (1,2,3)
Summary: FILEOPEN: Non-English numbering characters "①, ②, ③", "α, β, γ" are converted...
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
5.2.0.4 release
Hardware: All All
: medium normal
Assignee: Samuel Mehrbrodt (allotropia)
URL:
Whiteboard: target:6.4.0 target:6.3.2
Keywords:
Depends on:
Blocks: DOCX-Bullet-Number-Outline-Lists Numbering-Formats
  Show dependency treegraph
 
Reported: 2016-10-20 07:39 UTC by Kevin Suo
Modified: 2019-09-06 11:17 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
PDF from docx (14.51 KB, application/pdf)
2019-08-22 12:15 UTC, Samuel Mehrbrodt (allotropia)
Details
PDF from odt (22.70 KB, application/pdf)
2019-08-22 12:16 UTC, Samuel Mehrbrodt (allotropia)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Suo 2016-10-20 07:39:24 UTC
Description:
This is a follow-up bug report of bug 84317. The fix of bug 84317 (commit id 91b926d4b9939337f54d6c9f0b940b161dc3437f) has fixed the issue of lossing outline numbering when save as DOCX, but numbering such as "①, ②, ③" and "α, β, γ" are converted to digits (1,2,3).

Steps to Reproduce:
1. Save attachment 106839 [details] as DOCX.
2. Reopen in Writer

Actual Results:  
The outline numbering such as "①, ②, ③" and "α, β, γ" are converted to "1,2,3..".

Expected Results:
"①, ②, ③" and "α, β, γ" are reserved when save as DOCX.


Reproducible: Always

User Profile Reset: No

Additional Info:

Reproducible in
Version: 5.2.3.1
Build ID: 01ec8f357e651ca9656837b783cf7e6a32ee4d92
CPU Threads: 4; OS Version: Linux 4.4; UI Render: default; 
Locale: zh-CN (zh_CN.UTF-8); Calc: group
Ubuntu 16.04 LTS x64.


User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0
Comment 1 V Stuart Foote 2016-10-20 15:39:40 UTC
Kevin, not sure that is the whole issue.

The LibreOffice numbering formats are described in IDL http://opengrok.libreoffice.org/xref/core/offapi/com/sun/star/style/NumberingType.idl

And if you look at Mark's work in

https://gerrit.libreoffice.org/#/c/12252/
https://gerrit.libreoffice.org/#/c/21741/  ( for bug 84317 ) 
the CIRCLE_NUMBER numbering format is being coverted to its OOXML/ECMA 376 form of "decimalEnclosedCircle"

The CHARS_GREEK_UPPER_LETTER and CHARS_GREEK_LOWER_LETTER formats can not be converted because there is no corresponding OOXML/ECMA 376 format to change to [1]. So they are reasonably export filtered to "decimal" w:numFormat value.

They open showing their assigned numFormat values correctly in MS Word.

But, there is an issue on round trip reopening in LibreOffice, as there is no ww8 import filter to convert "decimalEnclosedCircle" to its corresponding CIRCLE_NUMBER format.

That needs to be tweaked, and possibly import filter for some of the others that have specific assignments on export. 

@Mark, Miklos?

=-ref-=
http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-376,%20Fourth%20Edition,%20Part%201%20-%20Fundamentals%20And%20Markup%20Language%20Reference.zip

§17.18.59
Comment 2 V Stuart Foote 2016-10-20 16:01:47 UTC
Do we need one more test case to push decimalEnclosedCircle into CIRCLE_NUMBER on import?

http://opengrok.libreoffice.org/xref/core/writerfilter/source/dmapper/ConversionHelper.cxx?#526

maybe "case NS_ooxml::LN_Value_ST_NumberFormat_decimalEnclosedCircle:"
Comment 3 QA Administrators 2018-10-13 03:14:13 UTC Comment hidden (obsolete)
Comment 4 Timur 2018-10-17 15:11:00 UTC
Repro 6.2+.
Comment 5 Samuel Mehrbrodt (allotropia) 2019-08-22 12:15:52 UTC
Created attachment 153571 [details]
PDF from docx
Comment 6 Samuel Mehrbrodt (allotropia) 2019-08-22 12:16:21 UTC
Created attachment 153572 [details]
PDF from odt
Comment 7 Commit Notification 2019-08-23 08:44:28 UTC
Samuel Mehrbrodt committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/+/66576edf4e7ed26f09788fac348ea6b556ae1c47%5E%21

tdf#103345 Import decimalEnclosedCircle correctly

It will be available in 6.4.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 8 Samuel Mehrbrodt (allotropia) 2019-08-23 08:50:06 UTC
So I fixed the problem that ①, ②, ③ were not reserved at import (was merely an import problem, export worked already). Thanks Stuart for you excellent research in comment 2!

As also mentioned by Stuart, we can't handle α, β, γ with OOXML as there is no equivalent.

So the bug can be considered fixed.
Comment 9 Commit Notification 2019-08-28 16:34:29 UTC
Samuel Mehrbrodt committed a patch related to this issue.
It has been pushed to "libreoffice-6-3":

https://git.libreoffice.org/core/+/2ceed469b1f45aa94a2c10f7dc41c1e2378d60d2%5E%21

tdf#103345 Import decimalEnclosedCircle correctly

It will be available in 6.3.2.

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 10 Timur 2019-08-29 13:24:40 UTC
MSO also opens as "①, ②, ③. I'll set Verified.