Hello Swftools,

I am not sure if this is the right place to ask about bugs, but I could 
not find any other.
Please direct me to the correct place if there is one...

Anyways, I have an issue with pdf2swf where text gets flipped in the 
outputted SWF.
This happens in all SWF viewers and it happens with almost all of my 
generated SWF files.
It is reproducible by simply shrinking the viewing window -- at a certain 
point, the text will suddenly flip.

Upon further investigation, it seemed to be related to using the "-T 9" 
argument of pdf2swf.
Without this argument, the problem goes away.
However, I need to use this argument...

I diffed two swfdumps - one using "-T 9" and one not using it.
The issue seems to be with the CSMTextSettings property.
See page 208 of the SWF Spec:
www.adobe.com/devnet/swf/pdf/swf_file_format_spec_v9.pdf 

The GridFit field is being set to 1 by pdf2swf, but this is only supported 
with left-aligned dynamic text.
pdf2swf seems to violate this spec.
If I manually fix the SWF to have this field set to 0, then my problem 
goes away.

After grabbing the source for swftools, it looks like there are two places 
where this problem occurs:
swftools-0.9.0/lib/devices/swf.c, line 768
and
swftools-0.9.0/src/swf.c, line 1359

Example:
 if(stack[0].swf->fileVersion >= 8) {
        tag = swf_InsertTag(tag, ST_CSMTEXTSETTINGS);
        swf_SetU16(tag, id);
        //swf_SetU8(tag, /*grid*/(1<<3)|/*flashtype*/0x40);  //old
        swf_SetU8(tag, /*grid*/(0)|/*flashtype*/0x40);  //new. grid 
fitting only supported for left-aligned dynamic text.
        swf_SetU32(tag, 0);//thickness
        swf_SetU32(tag, 0);//sharpness
        swf_SetU8(tag, 0);//reserved
    }


This is my first time looking at the source code, so I am afraid that I 
will screw it up if I try to fix this issue myself.
A developer more familiar with the code base would probably know more 
about what is going on with this setting.

Please help!

Thank you,
-Justin Liebeskind
[email protected]

Reply via email to