Undocumented style of changing matlab font

조회 수: 3 (최근 30일)
Rostislav Teryaev
Rostislav Teryaev 2018년 1월 10일
편집: Adam Danz 2021년 4월 1일
I'm reading "Undocumented Secrets of matlab-java programming" by Yair Altman and try to change editor's font by means which are described in this book, but it has explicit examples only for color. Anyway, I managed to change font in matlab.prf by the following code:
FontName = "Consolas";
javaLangString = java.lang.String(FontName);
javaAwtFont = java.awt.Font(javaLangString,0,10);
com.mathworks.services.Prefs.setFontPref('Desktop.Font.Code2',javaAwtFont);
It does change font in preferences but doesn't press "apply" button. In other words it doesn't refresh environment font but change it in configuration file (matlab.prf). In case of color it was solved by this:
com.mathworks.services.ColorPrefs.notifyColorListeners('ColorsBackground');
It there any way to do this for font?
  댓글 수: 1
Greg
Greg 2018년 1월 10일
What's wrong with the normal preferences option for changing Editor font?

댓글을 달려면 로그인하십시오.

채택된 답변

Yair Altman
Yair Altman 2018년 1월 10일
com.mathworks.services.FontPrefs.setCodeFont(javaAwtFont)
The FontPrefs class contains other useful static methods to set/get the text and code fonts, and to convert from the display font to the [larger] Java font (note: only the font-size changes) or vice-versa. Use my checkClass or uiinspect utilities (on the File Exchange) to investigate what this class offers.
Yair Altman
  댓글 수: 2
Rostislav Teryaev
Rostislav Teryaev 2018년 1월 10일
Thank you for your answer and book!
Yair Altman
Yair Altman 2018년 1월 10일
My pleasure - please be kind enough to place a positive review about the book on Amazon: http://amazon.com/Undocumented-Secrets-MATLAB-Java-Programming-Altman/product-reviews/1439869030/ref=cm_cr_dp_see_all_summary

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Adam Danz
Adam Danz 2021년 4월 1일
편집: Adam Danz 2021년 4월 1일
Starting in Matlab r2018a, another way to set the editor's font is to use the Settings group.
This change will be maintained until the Matlab session ends:
S = setting;
S.matlab.fonts.codefont.Name.TemporaryValue = 'Consolas';
This change will be persistent across Matlab sessions for an individual user:
S = setting;
S.matlab.fonts.codefont.Name.PersonalValue = 'Consolas';
For Live Script font sizes, see S.matlab.fonts.editor

카테고리

Help CenterFile Exchange에서 Environment and Settings에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by