From c26603778533cdbb6509c91b1fcbe424971d310c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Fri, 11 Nov 2022 22:18:07 +0100 Subject: [PATCH] Fixed Font names charset --- .../decompiler/flash/SWFInputStream.java | 20 ++----------------- .../decompiler/flash/tags/DefineFont2Tag.java | 6 +----- .../decompiler/flash/tags/DefineFont3Tag.java | 6 +----- .../flash/tags/DefineFontInfo2Tag.java | 6 +----- .../flash/tags/DefineFontInfoTag.java | 6 +----- 5 files changed, 6 insertions(+), 38 deletions(-) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFInputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFInputStream.java index df0ea0236..87133fd96 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFInputStream.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFInputStream.java @@ -515,7 +515,7 @@ public class SWFInputStream implements AutoCloseable { baos.write(r); } } - + /** * Reads one netstring (length + string) value from the stream * @@ -526,23 +526,7 @@ public class SWFInputStream implements AutoCloseable { public String readNetString(String name) throws IOException { newDumpLevel(name, "string"); int length = readEx(); - String ret = new String(readBytesInternalEx(length)); - endDumpLevel(); - return ret; - } - - /** - * Reads one netstring (length + string) value from the stream - * - * @param name - * @param charset - * @return String value - * @throws IOException - */ - public String readNetString(String name, Charset charset) throws IOException { - newDumpLevel(name, "string"); - int length = readEx(); - String ret = new String(readBytesInternalEx(length), charset); + String ret = new String(readBytesInternalEx(length), swf.getCharset()); endDumpLevel(); return ret; } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont2Tag.java index 173abc11e..fc30ba052 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont2Tag.java @@ -138,11 +138,7 @@ public class DefineFont2Tag extends FontTag { fontFlagsItalic = sis.readUB(1, "fontFlagsItalic") == 1; fontFlagsBold = sis.readUB(1, "fontFlagsBold") == 1; languageCode = sis.readLANGCODE("languageCode"); - if (swf.version >= 6) { - fontName = sis.readNetString("fontName", Utf8Helper.charset); - } else { - fontName = sis.readNetString("fontName"); - } + fontName = sis.readNetString("fontName"); int numGlyphs = sis.readUI16("numGlyphs"); long[] offsetTable = new long[numGlyphs]; long pos = sis.getPos(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont3Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont3Tag.java index adc509953..c630603e5 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont3Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFont3Tag.java @@ -132,11 +132,7 @@ public class DefineFont3Tag extends FontTag { fontFlagsItalic = sis.readUB(1, "fontFlagsItalic") == 1; fontFlagsBold = sis.readUB(1, "fontFlagsBold") == 1; languageCode = sis.readLANGCODE("languageCode"); - if (swf.version >= 6) { - fontName = sis.readNetString("fontName", Utf8Helper.charset); - } else { - fontName = sis.readNetString("fontName"); - } + fontName = sis.readNetString("fontName"); int numGlyphs = sis.readUI16("numGlyphs"); long[] offsetTable = new long[numGlyphs]; long pos = sis.getPos(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfo2Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfo2Tag.java index 103bb992f..9f23003f1 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfo2Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfo2Tag.java @@ -92,11 +92,7 @@ public class DefineFontInfo2Tag extends FontInfoTag { @Override public final void readData(SWFInputStream sis, ByteArrayRange data, int level, boolean parallel, boolean skipUnusualTags, boolean lazy) throws IOException { fontID = sis.readUI16("fontID"); - if (swf.version >= 6) { - fontName = sis.readNetString("fontName", Utf8Helper.charset); - } else { - fontName = sis.readNetString("fontName"); - } + fontName = sis.readNetString("fontName"); reserved = (int) sis.readUB(2, "reserved"); fontFlagsSmallText = sis.readUB(1, "fontFlagsSmallText") == 1; fontFlagsShiftJIS = sis.readUB(1, "fontFlagsShiftJIS") == 1; diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfoTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfoTag.java index d1905152c..547455d32 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfoTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineFontInfoTag.java @@ -88,11 +88,7 @@ public class DefineFontInfoTag extends FontInfoTag { @Override public final void readData(SWFInputStream sis, ByteArrayRange data, int level, boolean parallel, boolean skipUnusualTags, boolean lazy) throws IOException { fontID = sis.readUI16("fontId"); - if (swf.version >= 6) { - fontName = sis.readNetString("fontName", Utf8Helper.charset); - } else { - fontName = sis.readNetString("fontName"); - } + fontName = sis.readNetString("fontName"); reserved = (int) sis.readUB(2, "reserved"); fontFlagsSmallText = sis.readUB(1, "fontFlagsSmallText") == 1; fontFlagsShiftJIS = sis.readUB(1, "fontFlagsShiftJIS") == 1;