[prev in list] [next in list] [prev in thread] [next in thread] 

List:       batik-dev
Subject:    RFE in WMF transcoder
From:       Hervé_Girod <herve.girod () club-internet ! fr>
Date:       2004-08-02 17:39:46
Message-ID: 001701c478b7$bb70d9e0$fcbc223e () hppav
[Download RAW message or body]

Hello ! I have some remarks on the WMF transcoder package.

I noticed that the WMF transcoding process don't handle the charset in =
which the fonts are defined in the WMF file, the result being that, for =
example, greek characters are not properly handled : When some text is =
encountered (META_TEXTOUT), the WMFRecordStore uses the standard charset =
to decode the incoming bytes. It should use the charset ID encountered =
for the last font (META_CREATEFONTINDIRECT), and decode the bytes =
accordingly.

Another problem I encountered is that the decoding of WMF text =
(META_TEXTOUT) seems to depend on the fact that there is exactly as many =
bytes as there is characters in the text. In fact, WMF files code =
strings in U16 cells, each cell storing two characters, so if there is =
an odd number of characters, it is necessary to read the last remaining =
half of U16, or the reading of the file will stop abruptly after that...
[Attachment #3 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1400" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hello ! I have some remarks on the WMF transcoder 
package.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I noticed that the WMF transcoding 
process&nbsp;don't handle the charset in which the fonts are defined in the WMF 
file, the result being that, for example, greek characters are not properly 
handled : </FONT><FONT face=Arial size=2>When some text is encountered (<FONT 
size=3><FONT size=2>META_TEXTOUT</FONT>), </FONT><FONT size=2>the WMFRecordStore 
uses the standard charset to decode the incoming bytes. It should use the 
charset ID encountered for the last font (<FONT size=3><FONT 
size=2>META_CREATEFONTINDIRECT</FONT>)</FONT>, and decode the bytes 
accordingly.</FONT></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Another problem I encountered is that the decoding 
of WMF&nbsp;text (<FONT size=3><FONT 
size=2>META_TEXTOUT</FONT>)</FONT>&nbsp;seems to depend on the fact that there 
is exactly as many bytes as there is characters in the text. In fact, WMF files 
code strings in U16 cells, each&nbsp;cell storing two characters, so if there is 
an odd number of characters, it is necessary to read the last remaining half of 
U16, or the reading of the file will stop abruptly after 
that...</FONT></DIV></BODY></HTML>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic