フォントが見つからない場合の正しい対処方法は何ですか?いくつかのフォントを使用する美しいスクリプトを書いたとします。これは、ほとんどすべてのコンピュータにある標準フォントですが、JMP のデフォルト フォントは使用しません。
このスクリプトをユーザーに配布したところ、フォントが見つからないというエラー メッセージに関するフィードバックが得られるようになりました。
組織内には、最小限の数のフォントがインストールされているコンピュータがあるようです。
そこで、次のように Try() ステートメントで各 Font メッセージをラップしました。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Y( :height ), X( :weight ) );
rbiv = biv << Report;
Try((rbiv << XPath( "//AxisBox/MouseBox/DropBox/TextEditBox" )) << Set Font( "Agency FF", 13 ), Write("No Font"));
問題は、依然としてエラーポップアップが表示されることです。

以下を正しくスクリプト化するにはどうすればよいですか:
フォントがインストールされている場合は、指示に従って GUI 要素に設定します。それ以外の場合は、デフォルトのフォントを使用します。
消費者および市場調査データのブレンディングとクリーンアップ品質およびプロセスエンジニアリングRe: フォントが見つからない場合の正しい対処方法は何ですか?この例ではこれでうまくいくようです。 実際のスクリプトではどのように見えるか見てみましょう。
Re: フォントが見つからない場合の正しい対処方法は何ですか?これはうまくいきます、と<
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Y( :height ), X( :weight ) );
rbiv = biv << Report;
Batch Interactive( 1 );
x = Log Capture( ((rbiv << XPath( "//AxisBox/MouseBox/DropBox/TextEditBox" ))) << Set Font( "Comic Sans MS1", 13 ) );
Batch Interactive( 0 );
if(x!="",Show( x ));
<
Re: フォントが見つからない場合の正しい対処方法は何ですか?非常に奇妙な。 次善の策は、Batch Interactive(0) をコメントアウトすることだと思います。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Y( :height ), X( :weight ) );
rbiv = biv << Report;
show(Batch Interactive(1));
((rbiv << XPath( "//AxisBox/MouseBox/DropBox/TextEditBox" ))[1]) << Set Font( "Comic Sans MS1", 13 );
//show(Batch Interactive(0));
何が起こっているのか説明できませんが、おそらくフォントが必要になるまでテストされないためだと思います...しかし、それを修正する wait(1) の実行方法がわかりません。
編集: 開発チームにメモを送信しました。
編集2: 次のアイデアの方が良いです...
Re: フォントが見つからない場合の正しい対処方法は何ですか?奇妙なことに、これは機能しません:
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = dt << Bivariate( Y( :height ), X( :weight ) );
rbiv = biv << Report;
Batch Interactive(1);
Try((rbiv << XPath( "//AxisBox/MouseBox/DropBox/TextEditBox" )) << Set Font( "Agency FF", 13 ), (rbiv << XPath( "//AxisBox/MouseBox/DropBox/TextEditBox" )) << Set Font( "Agency FB", 13 ));
Batch Interactive(0);
これが機能する間、次のようになります。
Batch Interactive(1);
throw("Test");
Batch Interactive(0);
Re: フォントが見つからない場合の正しい対処方法は何ですか?JMP アラートのポップアップを防ぐにはどうすればよいですか?それは出発点であり、最善ではありません...
という機能があり、
batch Interactive(1);
JMP を次のように設定しますバッチユーザーがキーボードを操作していないことを想定し、デフォルトのボタン応答を使用するモード。 これは少し望ましくないことです相互の作用ログ内のメッセージに気付かない可能性があるため、このモードを使用してください。 半ば予期された、しかし望ましくないダイアログをトリガーする可能性があるステートメントの直後にこれを 0 に設定できます。
値を復元するためにスタックのようなメカニズムを使用する場合、各呼び出しは前の値も返します。
Re: フォントが見つからない場合の正しい対処方法は何ですか?あまり説明のない、このコード部分を含む Python に関する投稿は 1 件しか見つかりませんでした。
# Set the matplotlib.pyplot interactive flag to false
_JMPpp.interactive(False)
助けていただければ幸いです。
Re: フォントが見つからない場合の正しい対処方法は何ですか?私のコンピューターからは離れていますが、答えはバッチインタラクティブフラグを使用してダイアログを抑制することだと思います。 このフラグはまだ文書化されていないので、それがどのように機能するかを確認するには、このコミュニティ内を検索する必要があると思います。 また、何が起こったのかを診断するために、ログ キャプチャ機能を使用してダイアログ内のテキストを取得すると便利な場合もあります。あるいは、とにかく取得したデフォルトのフォントに満足している場合もあります。
編集: へのリンクBatch Interactive に関するウェンディのメモ