No difference between font size units 'pixels' and 'points'

9 vues (au cours des 30 derniers jours)
Jakob Weis
Jakob Weis le 20 Sep 2024
Commenté : Jakob Weis le 7 Fév 2025
I noticed when changing the font size of a figure it makes no difference if one chooses pixels or points as units. Is this a known issue or intended?
figure(1)
set(gcf,'Position',[10 10 800 800])
peaks;
fontsize(16,'pixels')
figure(2)
set(gcf,'Position',[10 10 800 800])
peaks;
fontsize(16,'points')
left: figure 1, font size = 16 px; right: figure 2, font size = 16 pt; created using MATLAB Desktop
Interestingly, creating the same figures using the code above in the New Desktop for MATLAB produces 33% bigger font sizes given in points compared to pixels (consistent with the points/pixels size conversion).
left: figure 1, font size = 16 px; right: figure 2, font size = 16 pt; created using New Desktop for MATLAB
  5 commentaires
Bruno Luong
Bruno Luong le 22 Sep 2024
Perhaps the New Desktop redefines the pixel unit differently. I don't know New Desktop myself.
Jakob Weis
Jakob Weis le 7 Fév 2025
Just to clarify, as of R2025a (featuring the New Desktop by default) pixels seem to be redefined. Running on Mac and using the same screen:
get(0,'ScreenPixelsPerInch')
returns 72 in R2024b and 96 in R2025a prerelease.

Connectez-vous pour commenter.

Réponse acceptée

DGM
DGM le 20 Sep 2024
Modifié(e) : DGM le 20 Sep 2024
I'm not sure how it's doing the scaling internally, but my guess would start here:
% units per em
sz = 16;
% units per inch
pxpin = get(0,'ScreenPixelsPerInch'); % px/in
ptpin = 72; % pt/in
% inches per em
szinpx = sz/pxpin
szinpx = 0.1600
szinpt = sz/ptpin
szinpt = 0.2222
That would tell us that on this system, the rendered sizes should differ, but measuring the exact height of 1 em is a bit of a chore unless you know what text features are 1 em high. Instead, we can just measure the ratio of character heights.
% expected ratio of on-screen sizes
ptpin/pxpin
ans = 0.7200
On my machine, the calculated ratio seems to be quite close to the size ratio I can measure from screenshots.
If your reported display resolution were 72, then the rendered sizes would be the same. It seems that would be expected on a Mac.

Plus de réponses (0)

Catégories

En savoir plus sur Startup and Shutdown dans Help Center et File Exchange

Produits


Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by