mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-27 12:40:47 +00:00
Character sets are limited to GB2312, Shift_JIS, Unicode, and all singlebyte.
Fixed font code points - proper characters display, adding, etc.
This commit is contained in:
@@ -25,6 +25,7 @@ import com.jpexs.decompiler.flash.tags.base.FontTag;
|
||||
import com.jpexs.decompiler.flash.tags.base.TextTag;
|
||||
import com.jpexs.decompiler.flash.treeitems.TreeItem;
|
||||
import com.jpexs.helpers.Helper;
|
||||
import com.jpexs.helpers.utf8.Utf8Helper;
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.FlowLayout;
|
||||
@@ -166,6 +167,12 @@ public class FontPanel extends JPanel {
|
||||
if (font.getSize() != 1024) { //Do not resize if not required so we can have single instance of custom fonts
|
||||
font = font.deriveFont(f.getFontStyle(), 1024);
|
||||
}
|
||||
if (Utf8Helper.charToCodePoint(c, ft.getCodesCharset()) == -1) {
|
||||
String msg = translate("error.charset.nocharacter").replace("%char%", "" + c);
|
||||
Logger.getLogger(FontPanel.class.getName()).log(Level.SEVERE, msg);
|
||||
ViewMessages.showMessageDialog(FontPanel.this, msg, translate("error"), JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
if (!font.canDisplay(c)) {
|
||||
String msg = translate("error.font.nocharacter").replace("%char%", "" + c);
|
||||
Logger.getLogger(FontPanel.class.getName()).log(Level.SEVERE, msg);
|
||||
|
||||
@@ -949,4 +949,6 @@ contextmenu.moveTagWithDependencies = Move tag with dependencies to
|
||||
contextmenu.moveUp = Move up
|
||||
contextmenu.moveDown = Move down
|
||||
contextmenu.changeCharset = Change charset (Current: %charset%)
|
||||
contextmenu.more = More...
|
||||
contextmenu.more = More...
|
||||
|
||||
error.charset.nocharacter = Selected charset does not contain character "%char%".
|
||||
@@ -921,4 +921,6 @@ contextmenu.moveTagWithDependencies = P\u0159esunout tag se z\u00e1vislostmi do
|
||||
contextmenu.moveUp = Posunout nahoru
|
||||
contextmenu.moveDown = Posunout dol\u016f
|
||||
contextmenu.changeCharset = Zm\u011bnit znakovou sadu (Nyn\u011bj\u0161\u00ed: %charset%)
|
||||
contextmenu.more = V\u00edce...
|
||||
contextmenu.more = V\u00edce...
|
||||
|
||||
error.charset.nocharacter = Vybran\u00e1 znakov\u00e1 sada neobsahuje znak "%char%".
|
||||
@@ -83,6 +83,7 @@ import com.jpexs.decompiler.graph.CompilationException;
|
||||
import com.jpexs.decompiler.graph.DottedChain;
|
||||
import com.jpexs.helpers.Helper;
|
||||
import com.jpexs.helpers.Reference;
|
||||
import com.jpexs.helpers.utf8.Utf8Helper;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.MouseAdapter;
|
||||
@@ -231,7 +232,7 @@ public class TagTreeContextMenu extends JPopupMenu {
|
||||
changeCharsetMenu = new JMenu();
|
||||
JMenu currentCharsetMenu = changeCharsetMenu;
|
||||
int charsetCnt = 0;
|
||||
for (String charsetStr : Charset.availableCharsets().keySet()) {
|
||||
for (String charsetStr : Utf8Helper.allowedCharsets) {
|
||||
if (charsetCnt == 30) {
|
||||
JMenu moreMenu = new JMenu(mainPanel.translate("contextmenu.more"));
|
||||
currentCharsetMenu.add(moreMenu);
|
||||
|
||||
Reference in New Issue
Block a user