Gabriel,

Let me tell you what I found concerning this issue. My environment is
Windows 2000 and used the swfmill-0.2.12 Windows binary distributed at
http://swfmill.org/releases/swfmill-0.2.12-win32.zip.

I obtained the testswfmillText.zip you attached to the post at 2009/01/23
15:35 and worked on it. I made a temporary directory, say C:\temp, where I
unzipped your fixture (jettat.ttf, testTextSimple.xml). I wrote a bat file
C:\temp\go.bat as follows and executed it.
-----------------------------------------------------
mkdir out
rem ---- produce a SWF from XML
.\swfmill.exe -V simple testTextSimple.xml out\result.swf
>out\simple.output.txt   2>out\simple.error.txt
rem ---- print SWF internal into SWFML
.\swfmill.exe -V swf2xml out\result.swf out\result.xml
>out\swf2xml.output.txt   2>out\swf2xml.error.txt
-----------------------------------------------------


The SWF file I got (out\result.swf) looked like this:
 (Embedded image moved to file: pic15922.jpg)

It showed a text "HELLO WORLD" using device font rather than the jettat
font, as you expect, I could reproduce your problem. OK, let's study detail
a little more.

By the second execution of swfmill.exe, I tried to serialize the
out\result.swf into a XML file (of which format is called SWFML). Somehow
the out\result.xml was not produced. --- I do not know why, and I suppose
it should be marked as a problem; but I am not going to dig into it here.

I got a file out\swf2xml.error.txt where I can read extra-verbose messages
logged by swfmill. At the very last part of the file (line#41219) I found
this fragment.

--------------------------------------------------
...
PARSE DefineEditText @1479-0 :1522
PARSE objectID: 2
...
...
PARSE useOutlines: 0
...
PARSE initialText: HELLO world!
--------------------------------------------------

This log tells me that the SWF file has a textfield of which initialText is
"HELLO world!" and of which useOutlines attribute is set "0". THIS IS THE
POINT! why useOutlines attribute of "0"?


The SWF File Format Specification (
http://www.adobe.com/devnet/swf/pdf/swf_file_format_spec_v10.pdf ), page193
DefineEditText, says:

    "useOutlines  UB[1]       0: use device font, 1=use glyph font"

I think the glyph data of jettat.ttf is successfully imported into the SWF
file but not actually used at runtime because the DefineEditText tag of
"HELLO world!" has its useOutlines attribute with value 0 = use device
font.

I do not know why this occurs and how to fix, sorry.

*-------*-------*-------*-------*-------*-------*

I have one thing to add: I have a swfmill.exe for Windows built from source
on MinGW/MSYS. Let me call it "rebuilt-swfmill.exe" for now. I made no
source code change to the swfmill 0.2.12 source. But the 3rd party
dependencies linked to the exe (FreeType for example) would be of different
versions. I tried just the same test using the rebuild-swfmill.exe and ,
surprisingly, I saw the jettat font displayed:
(Embedded image moved to file: pic23008.jpg)


It seems that every curiosities concerning font embedding are swept away
just by rebuilding the exe possibly using update version of 3rd party
libraries.

I will continue looking at this.



MATSUHASHI,kazuaki
Japan









<<attachment: pic15922.jpg>>

<<attachment: pic23008.jpg>>

_______________________________________________
swfmill mailing list
swfmill@osflash.org
http://osflash.org/mailman/listinfo/swfmill_osflash.org

Reply via email to