MATLAB Answers

MATLAB App Designer does not render new fonts

15 views (last 30 days)
Daniel Vieira
Daniel Vieira on 23 Jul 2019
Commented: Daniel Vieira on 9 Aug 2019
I needed an illegible font for an app that requires a password, and there wasn't any in the App Designer default fonts, so I donwloaded one. I installed an openType font, restarted MATLAB (as in here), tested the font in a figure window using the "text" function, and it works. However, in the App Designer, the font appears in the list of fonts for an Edit Field, but is rendered as the default font. Is it even possible to use new fonts in App Designer? If it is, what am I missing?
A print of what's happening (roll to the right, this print turned unnecessarily big...)


Adam Danz
Adam Danz on 23 Jul 2019
Have you closed the app and restarted it since making the change?
If no, try that first.
If yes, have you tried assigning the fontname within a callback function?
Use listfonts() to list all available fonts in Matlab.
A bigger question: Is this really the best encryption method? Here are alternatives listed by Jan [1] and Stephen Cobeldick [2].
Daniel Vieira
Daniel Vieira on 23 Jul 2019
Ok, I tried both suggestions, and neither worked. I'll make a "real encryption" then...

Sign in to comment.

Answers (1)

Subhadeep Koley
Subhadeep Koley on 9 Aug 2019
Hi, follow the steps below to achieve the same
  1. In the Editor tab of the App Designer click on the Public Property and insert the follwing code
2. Right click on the text field > go to EditFieldValueChanging callback
3. paste the following code inside the callback
app.password = [app.password, c(end:end)];
set(app.EditField, 'Value', [repmat('*', 1, length(c))]);
4. Save & Run the App
The Actual value of the password is stored inside the variable app.password.

  1 Comment

Daniel Vieira
Daniel Vieira on 9 Aug 2019
I already solved, quite similar to your suggestion, but with some extra steps to allow the user to take back characters. The problem is it turned out to be slow, a character may be lost if I type too fast. That's ok for now.
But I'd really like to be able to use new fonts, not necessarily for this.

Sign in to comment.

Sign in to answer this question.


Translated by