CHARSIZE keyword produces characters of different sizes on different platforms.

Why does specifying the same value for the CHARSIZE keyword to Direct Graphics routines, such as XYOUTS or PLOT, produce characters of different sizes on different platforms?

The reason the sizes appear different on different platforms when the value to the CHARSIZE keyword is identical is because IDL initializes the character size (!D.X_CH_SIZE and !D.Y_CH_SIZE) according to the default hardware fonts for each platform.

If you would like a consistent size (for example, if you are writing an application that uses the Hershey vector fonts on multiple platforms), try using the SET_CHARACTER_SIZE keyword to the DEVICE routine. For example, if you add the following line to the beginning of your code, you will notice that the character size is identical across platforms: