From ec31310e2bd5b8dbdb16b7037d09da96f8173b32 Mon Sep 17 00:00:00 2001 From: "honfika@gmail.com" Date: Mon, 30 Mar 2015 21:47:03 +0200 Subject: [PATCH] text export fix --- .../decompiler/flash/tags/DefineText2Tag.java | 15 +++++++++++++-- .../decompiler/flash/tags/DefineTextTag.java | 7 ++++++- .../flash/console/CommandLineArgumentParser.java | 1 + src/com/jpexs/decompiler/flash/gui/Main.java | 8 +++++--- 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java index e1b4f799d..6ffbf3613 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineText2Tag.java @@ -16,6 +16,7 @@ */ package com.jpexs.decompiler.flash.tags; +import com.jpexs.decompiler.flash.AppResources; import com.jpexs.decompiler.flash.SWF; import com.jpexs.decompiler.flash.SWFInputStream; import com.jpexs.decompiler.flash.SWFOutputStream; @@ -113,7 +114,12 @@ public class DefineText2Tag extends TextTag { ret += "\r\n"; }*/ } - ret.add(rec.getText(fnt)); + + if (fnt == null) { + ret.add(AppResources.translate("fontNotFound").replace("%fontId%", Integer.toString(rec.fontId))); + } else { + ret.add(rec.getText(fnt)); + } } return ret; } @@ -179,7 +185,12 @@ public class DefineText2Tag extends TextTag { } writer.append("]"); } - writer.hilightSpecial(Helper.escapeString(rec.getText(fnt)).replace("[", "\\[").replace("]", "\\]"), HighlightSpecialType.TEXT); + + if (fnt == null) { + writer.append(AppResources.translate("fontNotFound").replace("%fontId%", Integer.toString(rec.fontId))); + } else { + writer.hilightSpecial(Helper.escapeString(rec.getText(fnt)).replace("[", "\\[").replace("]", "\\]"), HighlightSpecialType.TEXT); + } } return new HighlightedText(writer); } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java index de71fb362..97740366d 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineTextTag.java @@ -114,7 +114,12 @@ public class DefineTextTag extends TextTag { ret += "\r\n"; }*/ } - ret.add(rec.getText(fnt)); + + if (fnt == null) { + ret.add(AppResources.translate("fontNotFound").replace("%fontId%", Integer.toString(rec.fontId))); + } else { + ret.add(rec.getText(fnt)); + } } return ret; } diff --git a/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java b/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java index d14f92cb8..d52be2625 100644 --- a/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java +++ b/src/com/jpexs/decompiler/flash/console/CommandLineArgumentParser.java @@ -922,6 +922,7 @@ public class CommandLineArgumentParser { if (stdErr != null) { System.setErr(new PrintStream(new FileOutputStream(stdErr.replace("{swfFile}", inFileName), true))); + Main.initLogging(Configuration.debugMode.get()); } long startTimeSwf = 0; diff --git a/src/com/jpexs/decompiler/flash/gui/Main.java b/src/com/jpexs/decompiler/flash/gui/Main.java index ee988b852..30a42e620 100644 --- a/src/com/jpexs/decompiler/flash/gui/Main.java +++ b/src/com/jpexs/decompiler/flash/gui/Main.java @@ -78,6 +78,7 @@ import java.util.Map.Entry; import java.util.logging.ConsoleHandler; import java.util.logging.FileHandler; import java.util.logging.Formatter; +import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.Logger; import java.util.logging.SimpleFormatter; @@ -1372,10 +1373,11 @@ public class Main { Logger logger = Logger.getLogger(""); logger.setLevel(Configuration.logLevel); - int handlerCount = logger.getHandlers().length; - for (int i = handlerCount - 1; i >= 0; i--) { - logger.removeHandler(logger.getHandlers()[i]); + Handler[] handlers = logger.getHandlers(); + for (int i = handlers.length - 1; i >= 0; i--) { + logger.removeHandler(handlers[i]); } + ConsoleHandler conHan = new ConsoleHandler(); conHan.setLevel(debug ? Level.CONFIG : Level.WARNING); SimpleFormatter formatterTxt = new SimpleFormatter();