This is Bugzilla
View Bug Activity | Format For Printing | XML | Clone This Bug
Steps to reproduce it: 1. Open AbiWord running "abiword" from the Terminal 2. Type the French sentence (http://bugs.sugarlabs.org/attachment/ticket/2554/write-sentence-to-type.jpeg) 3. Save it as .odt and .abw 4. Close AbiWord 5. Open AbiWord again 6. Open your .odt and .abw documents Issue: All the special characters (with some special accent) are not displayed in the right way. Expected behavior: All those characters should be shown in the same way that they are shown when you are typing them. Environment: OLPC XO 1.75 os12 - Fedora 17 - AbiWord 2.8.6
Created an attachment (id=5572) [details] Sentence saved as .abw
Created an attachment (id=5573) [details] Sentence saved as .odt
Created an attachment (id=5574) [details] AbiWord file
Created an attachment (id=5575) [details] Open Document file
Created an attachment (id=5576) [details] Sentence that I typed
Just in case, this is the keyboard layout that I'm using: * http://bugs.sugarlabs.org/attachment/ticket/2554/xo-1.75-us-keyboard.jpeg
The accented characters in french-sentence.odt and in french-sentence.abw are written as composed characters (for example "à" is written as U+0061 U+0300 instead of U+00E0). How did you input the accented characters? abiword has only limited support for composed characters.
(In reply to comment #7) > instead of U+00E0). How did you input the accented characters? I used the keyboard of which a picture of it is attached and I pressed: 1. for the first a of the sentence (accented "a"s): * "shift + a" and then "altgr + 3" 2. for the second one * "a" and then "altgr + 3" 3. for the third * "a" and then "altgr + 7" Was this comment helpful?
Input made with keyboard layout "USA-Group toggle on multiply/divide key"
A partial solution: use DejaVu or Free fonts. The default font in abiword is "Times New Roman". On Linux, it is substituted with font "Liberation Serif" which lacks support for Unicode "Combining Diacritical Marks". Since abiword does not allow the use of more than one font per run, pango cannot substitute a different font for these symbols and abiword cannot display the accents. The DejaVu and Free fonts have the "Combining Diacritical Marks" and thus the accents can be displayed correctly if one of these fonts is used. (Note: with most keyboard layouts, accent inputs generate Unicode "Latin-Extended A" code points which are handled fine by abiword). Possible solutions: 1) Rewrite the font implementation in abiword so that font substitution become more flexible and that more than one font per run can be displayed. 2) Normalize all Unicode inputs into abiword to the NFC form. This should be possible with boost::locale::normalize.