From d46d32be30aca8f4d52bb8e5c019a976c1a984a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jindra=20Pet=C5=99=C3=ADk?= Date: Sun, 21 Jul 2024 19:43:35 +0200 Subject: [PATCH] Fixed #2239 Default font name detection Fixed #2239 Exporting TTF font on Linux --- CHANGELOG.md | 3 +++ lib/ttf.jar | Bin 745556 -> 745952 bytes libsrc/ffdec_lib/lib/ttf.jar | Bin 745556 -> 745952 bytes .../flash/exporters/FontExporter.java | 6 ++--- .../decompiler/flash/tags/base/FontTag.java | 6 ++--- libsrc/ttf/src/fontastic/Fontastic.java | 21 ++++++++++++++---- 6 files changed, 26 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1f398769..b30bfe4ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -46,6 +46,8 @@ All notable changes to this project will be documented in this file. - [#2231] AS3 coercion to String as convert - [#2257] Shape SVG Importer - Linear gradient matrix - [#2253] Drawing 0,0 grid in transform tool on Linux causing sun internal errors +- [#2239] Default font name detection +- [#2239] Exporting TTF font on Linux ### Changed - [#2185] MochiCrypt no longer offered for auto decrypt, user needs to choose variant from "Use unpacker" menu @@ -3418,6 +3420,7 @@ Major version of SWF to XML export changed to 2. [#2231]: https://www.free-decompiler.com/flash/issues/2231 [#2257]: https://www.free-decompiler.com/flash/issues/2257 [#2253]: https://www.free-decompiler.com/flash/issues/2253 +[#2239]: https://www.free-decompiler.com/flash/issues/2239 [#2206]: https://www.free-decompiler.com/flash/issues/2206 [#2100]: https://www.free-decompiler.com/flash/issues/2100 [#2123]: https://www.free-decompiler.com/flash/issues/2123 diff --git a/lib/ttf.jar b/lib/ttf.jar index 64ca2391bbfe5734b1d6fb4d62a55d38fcbea605..37e97a55af96f4e576a1f8864d53761413754b69 100644 GIT binary patch delta 7087 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 delta 6481 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 diff --git a/libsrc/ffdec_lib/lib/ttf.jar b/libsrc/ffdec_lib/lib/ttf.jar index 64ca2391bbfe5734b1d6fb4d62a55d38fcbea605..37e97a55af96f4e576a1f8864d53761413754b69 100644 GIT binary patch delta 7087 zcmbVQ33wD$wmzq-)1B@rk|qn;AS5J#tPoHjKo%eyTS!PC2?2o!LBhj;B&(kp-73bb4i8ZJ(NO^pi&%xzrIFhJrXT=XGRbmxV_ zg^QM!FKTIA*yN_u^pT6s==3pt!j#b2uBxTJX-@s(IUV*)-pb;N38M;&XBO9v^;JzC zJF%3hPZ!6RUpK--pV2>E^tn!7(3ec%ogI}xZZnf(HiR)vP3^*G2J$Od`G{#<&<>>| zel;5&9VLB_zOXcxP54#s&!Qj}BES?3_}eU=iTx;R7}UdBhwabe%I8@->->=GhHR za~c*0bC%I7B`oG*$Te2BCfuhZXn0#j6~aX2-iS6a0+ny7O*ZN;U{jW;() zV3N+2TqTZ&De<8m>QANk;A)*~xYmg5mz-Cp^E4U)g^kTcjf)#*w=7(|6otdrpm2Bw zQu@lwZ*f57FqD#@5<&6w3L{T+1)i03WU3@D@ zJMR*S@9&rPBJ;h*7wH?>XWW!A&vh*kDLmWwJR^hW7-5-1d<{V2$%W4{a!@X5G?Bbi zPLWhWF*J#isgmbnHGx!ortoz<4}Wn+p|E4~ESw_1+K6)pkfFpppNjE02gm>*(kdwZ zDeCqFP860dohDevagtlNENpHMRZ8cS6=(G=w%% zK5eF%WY9din-~AL%$fLMP}^I!TYwDWJYH^f+4B6X;V<(U0^r zD|CRv=+AI-kbBT`98WKBA9~S@b2<|DFlBNRFT~kqG>1j>5~7($i}?m#j0k7aGH&J; z3WAv3yo7H=S@fbqd=vjh=7^K*9Q{aXyp(Sy#G_CmFT<%~-kAz=8&%oEeQk6#sV)k3 z@h$jI>_XIFK(nwM7Jx zhnKSt)xok&+r*kWn4^ zt!t&%Gg|4Fu8g0fCwvjWsQZ(mbLc8Ns5t>yxzv^6J7_u=zz~?$)fNGB2Z67xE5Q#S zxNrr6H8z2R*V;FDv|TwK8C24pt*mtAyM*d)3*htkL-O!C_T4Vij0f%&37uUCIS2*f zyaM5RHu#ZEw$}z1}(#kzETR9Oe2*u#j zDHP7F9%Qyi4#!v$12lrXXdKBLMcHT`S8+5A+V_g8eNuLESK0mklkCe?$3t~8RQHDJ1gP!<)rnA@1l1{5R-J?#5asZl zza~4wl5O|~NBPor)4)!t&Frc%ocjann&8Wora|cdC{2gb3@FXQ_>hSKtv}^)c7W0> ze}41%x)l3SoX>Z4Rhoqa4+>D4-BsyT|6iq7L+NlR9So&Ipfm?cheGKvC>?Pnr9QvX zjlZUJsJ|5cY8UXNfC3)8n~FMRIp=ci!vmpQ)O6>>``Sx8F!O!U1c(a|PbuOViFigK zoG z&A;sm{F@zw5(xBvmG#R<}EhQJZv%a1&V)`R!@yPz@y7DLFj7bV*H8A ze1=ODs>$q_vBHo{;u&a7zM0gWXHiegm+jGj#vemG8+DTpYk z-L0Hj;<7AvS!f&MvTPYy9lm?uu}qj4+}unNJgbFbFe)U1UHVVA`27BpZ2$0K4i^fP z#F|P}XxPkKZ6!ycL=J3)mnktahb8*Pt#b12wzHkoSWV0vaCsfn+zvGxD2wkv8`yxd zy^BWiMpM+)P@IML2RYryak$Vguh1{AkOkk1`{kzLmOQhm#gWoRy~*doIKwX9=Aza3 z#1joKdNGi`-G2w4#I-V&`CO*v_mXLRhRc|KPyOY2uV=VIp+mH~mDa}Xq=-&f*=};L zQW4+l<{b`DH+e~0<}0R*-ad-8tD<%j&)cA%ZzhsT91A9N1?cC_xh0$X!{ zGs8jW|Aia~f(QPHoG|YI+2zB0UB}Hvq2p%z_L}ZG5AzIBNA0Tz!Aw41f)SV;Ho6iV z47fhn7Rd;x{Z%6H`sP-i+~xZIeE3%gJo1&x7VsI;FK_LH^j4l?+%%%MXX-Wzi*Y&* z@^oY8h-C9+s6U>o#2732Rn*IC)SLf?$J!Cp%$VX1O!RHKtb{q z0>3g?%CU)5>IS-1rt-$zk%=?6ky9NKyh=k!d=eSFjS^$f2@p?sjLVUULD@KxYXww7 z-4W1x25e*QqoOYE);!CCFTd2depG>7QZ9MSfy5^HRF*d=;LD!SM^UUMGU6rue4 zlDuN=+He(z14j@JCk_{mU>t57o&#&cwXrEGetZ-E$kB4-uW<)LhG~^*m*3+=Q?6E{ z%qX$a^bqH6V2^0d)3TK}s!harqgFGPPjQOB=V|H6`D-k2 zR=rC^=4%6$KVRDp#EGT(u<*^Zfb46W;&48A7WpjTn9pM*EO&~S0$3ed)eZ)USq0i~ zrT;n$n7UpwK3d}xOY=0Z(RZU)M@r3qyH@VnWSN}V>JgzMwL!`Y_xJ&$>29ZJ90}$# zJ4|rPdY9NY67GGwETcCc>Ly&H0EF)~0Z~3m%T>bmS*!OYg^O0XdV0ULdTErFqnv)q zT21(i!&vc>LsXB3#onje!6@VTS3<>?wOS8xa&)W-)}%QLb$TlI9l2UgX~5xlx*)DECgqwK>kzI3jtZx0ee3 z?ppcE%N^GYpN2Sp8jCmwf7Ff!iO@4h!FQ+FEJ?4Z8He>Zf3ViYrg7Q`iLjH7|ZLskW+$LAS;7F|n83_w?ahpU!SE_>39Wmm~ zDy>Lel;M!y23Z@Wb~1wdU4aS32ycNy7uzS}n*F0KXzNXmZW8Gs+*4qAVvTK?9i})% z@f27VuXBh8YqVH#ZjB>RoJA)PFH6(;8#{1pk@XIT@KnRzy~V~?Y;nYjqnjK~>!P*Q zxM=VL_TriQ9bR#?8X=xPYePG~bZ8=>1|?joh@CZBAJJ5Un!99vnXDX8Eik%PyIMW& z2(m&xrUeCw6>3mVaeFPu26(#QZgI#Rq{%jzt)2=ATpTtP(4Lt#G;2|Cu(%VDlJ01dQAwXF8zXJ{x-Ceq49-R<~1Z zoDLUz9NrVHVH1cYlOl$T;dhbB1O;zJ2VmDo`B zVJNw32B5w3ZD_>|ZHW5qeeE>Uf+ZAR{*b delta 6481 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 diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FontExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FontExporter.java index 943417a21..398064def 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FontExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FontExporter.java @@ -128,7 +128,7 @@ public class FontExporter { currentIndex++; } } - + return ret; } @@ -158,7 +158,7 @@ public class FontExporter { final double divider = t.getDivider(); File ttfFile = file; - + if (mode == FontExportMode.WOFF) { ttfFile = File.createTempFile("ffdec_export", ".ttf"); } @@ -167,7 +167,7 @@ public class FontExporter { if (fontName.length() == 0) { fontName = "noname"; } - + Fontastic f = new Fontastic(fontName, ttfFile); String cop = t.getCopyright(); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java index c932248af..9e3bf7130 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/FontTag.java @@ -376,11 +376,11 @@ public abstract class FontTag extends DrawableTag implements AloneTag { } if (installedFontsByFamily.containsKey("Times New Roman")) { - defaultFontName = "Times New Roman"; + defaultFontName = installedFontsByFamily.get("Times New Roman").keySet().iterator().next(); } else if (installedFontsByFamily.containsKey("Arial")) { - defaultFontName = "Arial"; + defaultFontName = installedFontsByFamily.get("Arial").keySet().iterator().next(); } else { - defaultFontName = installedFontsByFamily.keySet().iterator().next(); + defaultFontName = installedFontsByFamily.get(installedFontsByFamily.keySet().iterator().next()).keySet().iterator().next(); } } diff --git a/libsrc/ttf/src/fontastic/Fontastic.java b/libsrc/ttf/src/fontastic/Fontastic.java index a997b0e5a..59f6d236b 100644 --- a/libsrc/ttf/src/fontastic/Fontastic.java +++ b/libsrc/ttf/src/fontastic/Fontastic.java @@ -28,9 +28,15 @@ package fontastic; import java.io.File; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; import org.doubletype.ossa.Engine; import org.doubletype.ossa.OutOfRangeException; import org.doubletype.ossa.adapter.EContour; @@ -169,11 +175,18 @@ public class Fontastic { m_engine.getTypeface().addRequiredGlyphs(); m_engine.buildTrueType(); - // End TTF creation - if (outFile.exists()) { - outFile.delete(); + // End TTF creation + + Path copied = outFile.toPath(); + Path originalPath = ttfFile.toPath(); + try { + Files.copy(originalPath, copied, StandardCopyOption.REPLACE_EXISTING); + } catch (IOException ex) { + //ignore } - ttfFile.renameTo(outFile); + + ttfFile.delete(); + cleanup(); }