Bugzilla – Full Text Bug Listing
|Summary:||FILEOPEN: The Greek codepage instead the Russian codepage (*.vsd by MS_Visio-2000)|
|Component:||Drawing||Assignee:||Fridrich Strba <fridrich.strba>|
|Status:||RESOLVED FIXED||QA Contact:|
|Priority:||medium||CC:||fridrich.strba, frob, serval2412|
|Whiteboard:||target:220.127.116.11.beta3 target:3.7.0 target:3.5.5|
Description ape 2012-04-12 05:49:06 UTC
Created attachment 59856 [details] extention This file ([url=https://bugs.freedesktop.org/attachment.cgi?id=59854]attachment 59854[/url]) is created Microsoft Visio 2000, and contains blocks of text in Russian. Draw opens text blocks in the Greek character set. Now I use an extension (see attachment) to correct this error. -- P.S. Text blocks (CP-1251) of MS_Visio-XP&2003's files open correctly.
Comment 1 Urmas 2012-04-13 10:01:02 UTC
That document crashes LO 3.5.2, BTW.
Comment 2 ape 2012-04-13 11:36:23 UTC
(In reply to comment #1) > That document crashes LO 3.5.2, BTW. Start the LibreOffice and run Draw. Open the document after these actions. All OK - LibO-3.5.2 and LibO-3.5.3rc0 in Windows-XPsp2 (x64) and Windows-7sp1 (HPx32).
Comment 3 Fridrich Strba 2012-06-17 12:28:31 UTC
OK, we don't really convert correctly the charsets for visio 2000 and 2002 file-format. We only recently reverse-engineered how this is stored and did not yet have the time to implement it.
Comment 4 Fridrich Strba 2012-06-17 12:38:55 UTC
I would discourage the use of random extensions. It would be much better to help a bit to extend libvisio capacities. We have the conversion tables for all MS codepages (apart the CJK ones that are a bit more complicated) and if someone has some time, I would not mind to explain what to do.
Comment 5 Fridrich Strba 2012-06-18 01:07:01 UTC
Valek, could you check what is going wrong with this file: https://bugs.freedesktop.org/attachment.cgi?id=59854 Oletoy spits the following on the console when opening it: Version: 6 Size: 26c61 ptr_search failed in 1d !!! --------------- !!! 82 03 1:2:11:1:1:405:0:0 !!! --------------- !!! 82 03 1:2:11:1:1:452:0:0 And we get out of bonds when we try to access an index of a colour. Two things come to mind: 1) Either the colours are having somewhere ids that are not the same as their order 2) we are reading the colourId to be used wrongly.
Comment 6 Valek Filippov 2012-06-18 06:00:53 UTC
I don't see any place in the file from where this out of range colourID could be requested (Line/Fill/CharIX). "ptr_search failed in 1d" -- cosmetic (no stencils, so no pointers in stream 1d). "!!! --------------- !!! 82 03 1:2:11:1:1:405:0:0 !!! --------------- !!! 82 03 1:2:11:1:1:452:0:0" oletoy barfs because we've never seen chunk 0x82 before. Both 0x82 in the file only have 0's. Those chunks are part of the 'Shape="Guide"', shouldn't be a problem. For charset conversion: - text is stored in "Text IX" ('readText' in VSD6Parser.cpp), - charset is at offset 2 (after header) in Font ('readFontIX' in VSDXParser.cpp), - conversion is here http://cgit.freedesktop.org/libreoffice/libcdr/commit/?id=5c5a45a5dbfdaf4e63f08bdcdbe98300dcc5b6fa
Comment 7 Urmas 2012-06-21 07:04:32 UTC
But why does it still crash Draw somewhere in component_getFactory?
Comment 8 Not Assigned 2012-06-22 03:17:16 UTC
Fridrich Štrba committed a patch related to this issue. It has been pushed to "libreoffice-3-6": http://cgit.freedesktop.org/libreoffice/core/commit/?id=c1ee18d5dfb92a9ffb0f8f5f069b8de936c75562&g=libreoffice-3-6 Uploading libvisio 0.0.18, fixing fdo#48602 It will be available in LibreOffice 3.6.
Comment 9 Not Assigned 2012-06-22 03:18:10 UTC
Fridrich Å trba committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=8c2843d807c15452a5b03ec8287d4f1c1ed35b01 Uploading libvisio 0.0.18, fixing fdo#48602
Comment 10 Not Assigned 2012-06-22 08:08:25 UTC
Fridrich Å trba committed a patch related to this issue. It has been pushed to "libreoffice-3-5": http://cgit.freedesktop.org/libreoffice/core/commit/?id=949c6d959af1971552ae78e69251fab1b8e7dce3&g=libreoffice-3-5 Uploading libvisio 0.0.18, fixing fdo#48602 It will be available in LibreOffice 3.5.6.
Comment 11 Not Assigned 2012-06-25 04:47:12 UTC
Fridrich Å trba committed a patch related to this issue. It has been pushed to "libreoffice-3-5-5": http://cgit.freedesktop.org/libreoffice/core/commit/?id=4a6b4b93173e5c354f315ff85afa6ffa8ee1774a&g=libreoffice-3-5-5 Uploading libvisio 0.0.18, fixing fdo#48602 It will be available already in LibreOffice 3.5.5.
Comment 12 Valek Filippov 2012-07-08 09:52:29 UTC
I believe this one is fixed. ape, Большое спасибо за сообщение об ошибке!