/** * Script for generating swf assets for fonts for Flash CS3. * Add new fonts in font list. Four files generated for each passed font: * FontRegular.swf, FontBold.swf, FontItalic.swf, FontBoldItalic.swf. * @author Stan Reshetnic */ /** * Write here path to directory where you want to store generated swfs */ var workPath = "file:///C:/fonts/"; FLfile.createFolder(workPath); fl.closeAll(); fl.createDocument(); var d = fl.getDocumentDOM(); d.addNewPublishProfile("fontOutput"); var textData = []; function putTextData(fontName){ textData.push({face:fontName, bold:false, italic:false, output:trim(fontName)+"Regular.swf"}); textData.push({face:fontName, bold:true, italic:false, output:trim(fontName)+"Bold.swf"}); textData.push({face:fontName, bold:false, italic:true, output:trim(fontName)+"Italic.swf"}); textData.push({face:fontName, bold:true, italic:true, output:trim(fontName)+"BoldItalic.swf"}); } function trim(value){ return value.split(" ").join(""); } /** FONT LIST ************************ * List of used fonts. Fonts should be installed in your system */ putTextData("Arial Black"); putTextData("Comic Sans MS"); putTextData("Courier New"); // generate thumbnails for (var i=0; i < textData.length; i+=4) { var info = textData[i]; d.addNewText({left:0, top:0, right:100, bottom:100, textType:"dynamic"} , info.face); var t = d.getTimeline().layers[0].frames[0].elements[i/4]; t.textType = "dynamic"; t.setTextAttr("face", info.face); t.embeddedCharacters = info.face; } if (d.canTestMovie()) { d.exportSWF(workPath + "thumbnail.swf", true); } else { fl.trace("Can't test thumbnail movie"); } // generate assets d.getTimeline().clearFrames(); d.addNewText({left:0, top:0, right:100, bottom:100, textType:"dynamic"} , "Hello World!" ); for (var i =0; i < textData.length; i++) { var info = textData[i]; d.selectAll(); var t = d.selection[0]; t.textType = "dynamic"; t.embeddedCharacters = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + "!#$%^*()-=_+,.?/\\><&';:\"\u2022"; d.setElementTextAttr("italic", info.italic); d.setElementTextAttr("bold", info.bold); d.setElementTextAttr("face", info.face); d.setTextString("Hello World!"); if (d.canTestMovie()) { d.exportSWF(workPath + info.output, true); } else { break; fl.trace("Can't test movie"); } } fl.closeAll();