Summary: | FILEOPEN: The Greek codepage instead the Russian codepage (*.vsd by MS_Visio-2000) | ||
---|---|---|---|
Product: | LibreOffice | Reporter: | ape <idler.1st> |
Component: | Drawing | Assignee: | Fridrich Strba <fridrich.strba> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | fridrich.strba, frob, serval2412 |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | Windows (All) | ||
Whiteboard: | target:3.6.0.0.beta3 target:3.7.0 target:3.5.5 | ||
i915 platform: | i915 features: | ||
Attachments: | extention |
Description
ape
2012-04-12 05:49:06 UTC
That document crashes LO 3.5.2, BTW. (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). 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. 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. 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. 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 But why does it still crash Draw somewhere in component_getFactory? 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. 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 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. 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. I believe this one is fixed. ape, Большое спасибо за сообщение об ошибке! |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.