mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-07-04 02:54:54 +00:00
replace text
This commit is contained in:
@@ -311,7 +311,7 @@ public final class SWF implements SWFContainerItem, Timelined {
|
||||
|
||||
return jtt;
|
||||
}
|
||||
|
||||
|
||||
public void fixCharactersOrder(boolean checkAll) {
|
||||
Set<Integer> addedCharacterIds = new HashSet<>();
|
||||
Set<CharacterTag> movedTags = new HashSet<>();
|
||||
|
||||
@@ -86,7 +86,7 @@ public class TextExporter {
|
||||
|
||||
if (settings.singleFile) {
|
||||
String fileName = Configuration.overrideTextExportFileName.get();
|
||||
if (fileName != null) {
|
||||
if (fileName != null && !fileName.isEmpty()) {
|
||||
String swfName = Path.getFileNameWithoutExtension(new File(tags.get(0).getSwf().getShortFileName()));
|
||||
fileName = fileName.replace("{fileName}", swfName);
|
||||
} else {
|
||||
@@ -104,7 +104,10 @@ public class TextExporter {
|
||||
if (settings.mode == TextExportMode.FORMATTED) {
|
||||
fos.write(Utf8Helper.getBytes(textTag.getFormattedText()));
|
||||
} else {
|
||||
fos.write(Utf8Helper.getBytes(textTag.getText(Configuration.textExportSingleFileRecordSeparator.get())));
|
||||
String separator = Configuration.textExportSingleFileRecordSeparator.get();
|
||||
separator = Helper.newLine + separator + Helper.newLine;
|
||||
List<String> texts = textTag.getTexts();
|
||||
fos.write(Utf8Helper.getBytes(String.join(separator, texts)));
|
||||
}
|
||||
fos.write(Utf8Helper.getBytes(Helper.newLine + Configuration.textExportSingleFileSeparator.get() + Helper.newLine));
|
||||
}
|
||||
@@ -125,7 +128,10 @@ public class TextExporter {
|
||||
if (settings.mode == TextExportMode.FORMATTED) {
|
||||
fos.write(Utf8Helper.getBytes(textTag.getFormattedText()));
|
||||
} else {
|
||||
fos.write(Utf8Helper.getBytes(textTag.getText(Configuration.textExportSingleFileRecordSeparator.get())));
|
||||
String separator = Configuration.textExportSingleFileRecordSeparator.get();
|
||||
separator = Helper.newLine + separator + Helper.newLine;
|
||||
List<String> texts = textTag.getTexts();
|
||||
fos.write(Utf8Helper.getBytes(String.join(separator, texts)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -56,6 +56,7 @@ import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.io.StringReader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
@@ -191,7 +192,7 @@ public class DefineEditTextTag extends TextTag {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText(String separator) {
|
||||
public List<String> getTexts() {
|
||||
String ret = "";
|
||||
if (hasText) {
|
||||
ret = initialText;
|
||||
@@ -200,7 +201,7 @@ public class DefineEditTextTag extends TextTag {
|
||||
ret = stripTags(ret);
|
||||
ret = entitiesReplace(ret);
|
||||
}
|
||||
return ret;
|
||||
return Arrays.asList(ret);
|
||||
}
|
||||
|
||||
private List<CharacterWithStyle> getTextWithStyle() {
|
||||
|
||||
@@ -85,15 +85,10 @@ public class DefineText2Tag extends TextTag {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText(String separator) {
|
||||
public List<String> getTexts() {
|
||||
FontTag fnt = null;
|
||||
String ret = "";
|
||||
boolean first = true;
|
||||
List<String> ret = new ArrayList<>();
|
||||
for (TEXTRECORD rec : textRecords) {
|
||||
if (!first) {
|
||||
ret += Helper.newLine + separator + Helper.newLine;
|
||||
}
|
||||
first = false;
|
||||
if (rec.styleFlagsHasFont) {
|
||||
for (Tag t : swf.tags) {
|
||||
if (t instanceof FontTag) {
|
||||
@@ -109,7 +104,7 @@ public class DefineText2Tag extends TextTag {
|
||||
ret += "\r\n";
|
||||
}*/
|
||||
}
|
||||
ret += rec.getText(fnt);
|
||||
ret.add(rec.getText(fnt));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -86,15 +86,10 @@ public class DefineTextTag extends TextTag {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText(String separator) {
|
||||
public List<String> getTexts() {
|
||||
FontTag fnt = null;
|
||||
String ret = "";
|
||||
boolean first = true;
|
||||
List<String> ret = new ArrayList<>();
|
||||
for (TEXTRECORD rec : textRecords) {
|
||||
if (!first) {
|
||||
ret += Helper.newLine + separator + Helper.newLine;
|
||||
}
|
||||
first = false;
|
||||
if (rec.styleFlagsHasFont) {
|
||||
for (Tag t : swf.tags) {
|
||||
if (t instanceof FontTag) {
|
||||
@@ -110,7 +105,7 @@ public class DefineTextTag extends TextTag {
|
||||
ret += "\r\n";
|
||||
}*/
|
||||
}
|
||||
ret += rec.getText(fnt);
|
||||
ret.add(rec.getText(fnt));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ public abstract class TextTag extends CharacterTag implements DrawableTag {
|
||||
|
||||
public abstract MATRIX getTextMatrix();
|
||||
|
||||
public abstract String getText(String separator);
|
||||
public abstract List<String> getTexts();
|
||||
|
||||
public abstract List<Integer> getFontIds();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user