處理丟失字體的正確方法是什麼?假設我編寫了一個漂亮的腳本,它使用了一些字體 - 您幾乎可以在任何計算機上找到的標準字體,但不是 JMP 默認字體。
我將此腳本分發給我的用戶,並且開始收到有關缺少字體的錯誤消息的反饋。
組織中的某些計算機似乎安裝了極少量的字體。
因此,我將每個 Font 消息包裝在 Try() 語句中,如下所示:
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 元素,否則 - 使用默認字體。
消費者和市場研究數據混合和清理質量和工藝工程回复:處理丟失字體的正確方法是什麼?看起來這在這個例子中是有效的。 讓我看看它在現實生活腳本中會是什麼樣子。
回复:處理丟失字體的正確方法是什麼?這會起作用,和如果 <
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 ));
請注意,沒有 try(...) 因為 <
回复:處理丟失字體的正確方法是什麼?很奇怪。 我認為下一個最佳答案是註釋掉 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:下一個想法更好......
回复:處理丟失字體的正確方法是什麼?奇怪的是,這不起作用:
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);
回复:處理丟失字體的正確方法是什麼?如何防止彈出 JMP 警報?是一個起點,不是最好的……
有一個功能,
batch Interactive(1);
將 JMP 設置為批模式假設沒有用戶在鍵盤上並採用默認按鈕答案。 這有點不可取交互的模式,因為您可能沒有註意到日誌中的消息。 您可以在可能觸發半預期但不需要的對話框的語句之後將其設置為 0。
如果您想使用類似堆棧的機制來恢復值,則每次調用還會返回先前的值。
回复:處理丟失字體的正確方法是什麼?我只能找到一篇關於Python的文章,裡面有這段代碼,沒有太多解釋:
# Set the matplotlib.pyplot interactive flag to false
_JMPpp.interactive(False)
任何幫助將非常感激。
回复:處理丟失字體的正確方法是什麼?遠離我的計算機,但我相信答案是使用批處理交互標誌來抑制對話框。 我認為該標誌仍然沒有記錄,您必須在這個社區內搜索才能了解它是如何工作的。 您可能還會發現使用日誌捕獲功能來抓取對話框中的文本以診斷發生的情況很有用,或者您可能對獲得的默認字體感到滿意。
編輯:鏈接到Wendy 關於 Batch Interactive 的註釋