Converting font points to height in psychopy

URL of experiment: Amogh Joshi / SART_New · GitLab

Description of the problem: I’m looking for some guidance on how to operationalize font sizes in an online study. This post (Units for the window and stimuli — PsychoPy v2022.1.4) suggests that we should use height for online experiments. That makes sense but then how do I operationalize a specific font height?

For example: There are five different font sizes (48 point, 72 point, 94 point, 100 point, and 120 point).

For my experiment, I have operationalized the height as following:
0.30
0.25
0.23
0.18
0.12

How do I know that this translates into “48 point, 72 point, 94 point, 100 point, and 120 point”?

Font sizes in points refer to physical size (e.g. 72 point is about 1 inch). Height is relative to the screen height. If you want to fix the physical size then you will need to ask the participant to calibrate their screen, for example by using my ScreenScale routine.

1pt is 1/72 of an inch - this is difficult to get right online as browsers typically don’t know the pixels-per-inch of a user’s monitor, but web designers generally approximate 1px = 1/96 of an inch. Therefore 1pt = 96/72px, or 4/3px when you simplify the fraction. 1 height is therefore 3/4 * psychojs.window.size[1] points, so if you divide the desired number of points by this value you’ll get the equivalent in height units.

Of course, you can always check by running the experiment locally and measuring on screen with a ruler!