fourthline / mmlTools

MabiIcco - マビノギ用MMLエディタ (MML editor for Mabinogi)
https://fourthline.jp/mabiicco/
51 stars 19 forks source link

スプラッシュスクリーンにて「MIDI初期化中...」のまま進行しない事象について #58

Closed angiodianxin closed 2 years ago

angiodianxin commented 2 years ago

スプラッシュスクリーン(起動画面)にて「MIDI初期化中...」(添付画像)のまま一向に進行しない事象(10分以上)が発生しています。

fourthline commented 2 years ago

何点か確認したいです。

angiodianxin commented 2 years ago
  • 添付いただいている画像に「MIDI初期化中...」という表示はみえないですが、どのあたりに表示されているのでしょうか?
  • "スプラッシュスクリーンの文字が透けています" とは、どの現象のことでしょうか?

白枠で囲まれたテキストボックスに書かれています。(コピーが可能でしたので、それにて確認しました) https://github.com/fourthline/mmlTools/blob/ff7c26cff520fbfecd338cc7239e5ec38a8d8df7/src/fourthline/mabiicco/MabiIcco.java#L47 によって書かれているものと思われます。

  • MabiIccoのバージョンはいくつのものでしょうか?リリース版のexeでしょうか?

リリース版 1.0.53 を使用しています。

  • Windowsは、32bit/64bit 版どちらでしょうか?

64bit版を使用しています。

fourthline commented 2 years ago

スプラッシュスクリーン(起動画面)にて「MIDI初期化中...」(添付画像)のまま

すみません。白枠で囲まれたテキストボックスには何も写っていないように見えます。"「MIDI初期化中...」(添付画像)"という表示は私の目では見えないのですが、添付画像には写っていないという理解でよいですか?

angiodianxin commented 2 years ago

その通りです。 文字色が透明になっているか、背景色と同じになっていると推測されます。そのため、画像化した場合何も書かれていないように見えています。

fourthline commented 2 years ago

コマンドプロンプトより、下記で実行できますか? エラーログが出力されるかもしれません。

cd <MabiIcco配置ディレクトリ> .\runtime\jre\bin\java.exe -jar MabiIcco.exe

angiodianxin commented 2 years ago
D:\MabiIcco-1.0.53>.\runtime\jre\bin\java.exe -jar MabiIcco.exe -Dsun.java2d.debugfonts=true
java.lang.Error: Probable fatal error:No fonts found.
        at sun.font.SunFontManager.getDefaultPhysicalFont(Unknown Source)
        at sun.font.SunFontManager.initialiseDeferredFont(Unknown Source)
        at sun.font.SunFontManager.initialiseDeferredFonts(Unknown Source)
        at sun.font.SunFontManager.loadFonts(Unknown Source)
        at sun.font.SunFontManager.findFont2D(Unknown Source)
        at sun.font.SunFontManager.getDefaultPhysicalFont(Unknown Source)
        at sun.font.SunFontManager.initialiseDeferredFont(Unknown Source)
        at sun.font.SunFontManager.initialiseDeferredFonts(Unknown Source)
        at sun.font.SunFontManager.loadFonts(Unknown Source)
...繰り返しのため省略...
        at sun.font.SunFontManager.getDefaultPhysicalFont(Unknown Source)
        at sun.font.SunFontManager.initialiseDeferredFont(Unknown Source)
        at sun.font.SunFontManager.findJREDeferredFont(Unknown Source)
        at sun.font.SunFontManager.findFont2D(Unknown Source)
        at sun.font.SunFontManager.getDefaultPhysicalFont(Unknown Source)
        at sun.font.SunFontManager.initialiseDeferredFont(Unknown Source)
        at sun.font.SunFontManager.findOtherDeferredFont(Unknown Source)
        at sun.font.SunFontManager.findDeferredFont(Unknown Source)
        at sun.font.SunFontManager.findFont2D(Unknown Source)
        at java.awt.Font.getFont2D(Unknown Source)
        at java.awt.Font.access$000(Unknown Source)
        at java.awt.Font$FontAccessImpl.getFont2D(Unknown Source)
        at sun.font.FontUtilities.getFont2D(Unknown Source)
        at sun.font.FontUtilities.fontSupportsDefaultEncoding(Unknown Source)
        at com.sun.java.swing.plaf.windows.WindowsLookAndFeel$WindowsFontProperty.configureValue(Unknown Source)
        at com.sun.java.swing.plaf.windows.DesktopProperty.createValue(Unknown Source)
        at javax.swing.UIDefaults.getFromHashtable(Unknown Source)
        at javax.swing.UIDefaults.get(Unknown Source)
        at javax.swing.MultiUIDefaults.get(Unknown Source)
        at javax.swing.UIManager.get(Unknown Source)
        at fourthline.mabiicco.MabiIcco.setUIFont(Unknown Source)
        at fourthline.mabiicco.MabiIcco.initialize(Unknown Source)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Exception in thread "AWT-EventQueue-0" java.lang.Error: Probable fatal error:No fonts found.
        at sun.font.SunFontManager.getDefaultPhysicalFont(Unknown Source)
        at sun.font.SunFontManager.initialiseDeferredFont(Unknown Source)
        at sun.font.CompositeFont.doDeferredInitialisation(Unknown Source)
        at sun.font.CompositeFont.getSlotFont(Unknown Source)
        at sun.font.CompositeStrike.getStrikeForSlot(Unknown Source)
        at sun.font.CompositeStrike.getFontMetrics(Unknown Source)
        at sun.font.FontDesignMetrics.initMatrixAndMetrics(Unknown Source)
        at sun.font.FontDesignMetrics.<init>(Unknown Source)
        at sun.font.FontDesignMetrics.getMetrics(Unknown Source)
        at sun.font.FontDesignMetrics.getMetrics(Unknown Source)
        at sun.awt.SunToolkit.getFontMetrics(Unknown Source)
        at sun.awt.windows.WToolkit.getFontMetrics(Unknown Source)
        at com.sun.java.swing.plaf.windows.WindowsLookAndFeel.calculateBaseUnits(Unknown Source)
        at com.sun.java.swing.plaf.windows.WindowsLookAndFeel.dluToPixels(Unknown Source)
        at com.sun.java.swing.plaf.windows.WindowsLookAndFeel.access$400(Unknown Source)
        at com.sun.java.swing.plaf.windows.WindowsLookAndFeel$XPDLUValue.getXPValue(Unknown Source)
        at com.sun.java.swing.plaf.windows.WindowsLookAndFeel$XPValue.createValue(Unknown Source)
        at javax.swing.UIDefaults.getFromHashtable(Unknown Source)
        at javax.swing.UIDefaults.get(Unknown Source)
        at javax.swing.MultiUIDefaults.get(Unknown Source)
        at javax.swing.UIManager.get(Unknown Source)
        at sun.swing.DefaultLookup.get(Unknown Source)
        at sun.swing.DefaultLookup.getInt(Unknown Source)
        at javax.swing.plaf.basic.BasicOptionPaneUI.getButtons(Unknown Source)
        at javax.swing.plaf.basic.BasicOptionPaneUI.createButtonArea(Unknown Source)
        at javax.swing.plaf.basic.BasicOptionPaneUI.installComponents(Unknown Source)
        at javax.swing.plaf.basic.BasicOptionPaneUI.installUI(Unknown Source)
        at javax.swing.JComponent.setUI(Unknown Source)
        at javax.swing.JOptionPane.setUI(Unknown Source)
        at javax.swing.JOptionPane.updateUI(Unknown Source)
        at javax.swing.JOptionPane.<init>(Unknown Source)
        at javax.swing.JOptionPane.showOptionDialog(Unknown Source)
        at javax.swing.JOptionPane.showMessageDialog(Unknown Source)
        at javax.swing.JOptionPane.showMessageDialog(Unknown Source)
        at fourthline.mabiicco.MabiIcco.initialize(Unknown Source)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

D:\MabiIcco-1.0.53>

https://github.com/fourthline/mmlTools/blob/ff7c26cff520fbfecd338cc7239e5ec38a8d8df7/src/fourthline/mabiicco/MabiIcco.java#L58 でコケているので、ui.fontのメイリオが見つからないのだと思いますが、メイリオはインストールされています。 image

fourthline commented 2 years ago

システムフォントがうまく読み込めていないのでしょうか。

.\runtime\jre\bin\java.exe -jar MabiIcco.exe -Dsun.java2d.debugfonts=true

これだとプロパティとして扱われないので、下記でやればなにかわかるかもしれませんね。

.\runtime\jre\bin\java.exe -Dsun.java2d.debugfonts=true -jar MabiIcco.exe

INFO: Trying to resolve file C:\WINDOWS\Fonts\meiryo.ttc
11 13, 2021 9:42:32 午後 sun.font.TrueTypeFont open
INFO: open TTF: C:\WINDOWS\Fonts\meiryo.ttc
11 13, 2021 9:42:32 午後 sun.font.SunFontManager resolveFontFiles
INFO: Resolved absent registry entry for メイリオ located in C:\WINDOWS\Fonts\meiryo.ttc
11 13, 2021 9:42:32 午後 sun.font.TrueTypeFont open
INFO: open TTF: C:\WINDOWS\Fonts\meiryo.ttc
11 13, 2021 9:42:32 午後 sun.font.SunFontManager resolveFontFiles
INFO: Resolved absent registry entry for メイリオ イタリック located in C:\WINDOWS\Fonts\meiryo.ttc
11 13, 2021 9:42:32 午後 sun.font.TrueTypeFont open
INFO: open TTF: C:\WINDOWS\Fonts\meiryo.ttc
11 13, 2021 9:42:32 午後 sun.font.TrueTypeFont open
INFO: open TTF: C:\WINDOWS\Fonts\meiryo.ttc
11 13, 2021 9:42:32 午後 sun.font.SunFontManager resolveFontFiles
angiodianxin commented 2 years ago

遅くなってすみません、環境内にフォントが大量にあって、それをメモリに載せようとして落ちているような雰囲気がします(Adobeインストール環境下)。 不具合の根が深そうなので何か別の環境を用意して使おうと思います。ありがとうございました。

angiodianxin commented 2 years ago

駄目元でv1.1.54をダウンロードしてみたら動作しました。 jreのバージョンに依存するエラッタを踏んでいたのだと思います。 解決したのでCloseとさせていただきます。

fourthline commented 2 years ago

ありがとうございます。 v1.1.54だと大丈夫だったんですね。