Author Topic: 1185 Win7 UI 1 interface window font  (Read 3369 times)

Offline mschuster

  • PTeam Member
  • PixInsight Jedi
  • *****
  • Posts: 1087
1185 Win7 UI 1 interface window font
« on: 2015 October 09 09:54:39 »
Some subjective feedback:

The interface window font in 1185 Win7 at UI scaling 1 seems to be 8pt DejaVu Sans rather than 9pt Segoe UI in prior version.

IMO this change represents a loss in typographic quality and legibility.

8pt DejaVu Sans has significantly worse character kerning than 9pt Segoi UI. This is visible in many places in process windows and script dialogs. The letter spacing in many words is noticeably bad.

The smaller size affects legibility, especially in multiline items such as TreeBox and tool-tips.

Why this change?

Thanks,
Mike

Offline Juan Conejero

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 7111
    • http://pixinsight.com/
Re: 1185 Win7 UI 1 interface window font
« Reply #1 on: 2015 October 09 12:45:02 »
Quote
seems to be 8pt DejaVu Sans

Actually it is 9pt DejaVu Sans. Windows font rendering is rather poor compared to OS X and Linux desktops (freetype). It is much better on Windows 8, and especially on Windows 10, where DejaVu renders nearly as well as on Linux.

You can select a different font if you wish. Select EDIT > Global Preferences > Core UI Resources > Low-resolution font and change the default "DejaVu Sans" by "Segoe UI". Press F6 or click Apply Global, exit PixInsight, and launch it again.

Note also that the concept of 'points' is relative in current versions of PixInsight, since the UI is fully scalable. You can fine tune font sizes with EDIT > Global Preferences > Core UI Resources > Font resolution. Increase it slightly to get larger fonts. The default is 100 dpi; you can try with 102 or 105 dpi for example.

Quote
Why this change?

Because PixInsight's graphical interface should look and behave identically on all supported operating systems. We know that this is actually impossible, but I try to achieve this goal asymptotically :) Ideally, a user should be unable to tell which O.S. the application is running on by just looking at its main window in full screen mode. As a software development platform, this has important advantages. The current 1.8.4 version is much closer to achieving this goal than previous versions.

That said, I am conscious that DejaVu is probably not the best choice as a universal UI font. Droid Sans and Roboto are much better (they are actually included in all PixInsight distributions), but unfortunately we can't use them because of some Qt rendering bugs. Segoe is quite nice but we can't use it because of legal restrictions. Open Sans is fantastic as a high-resolution UI font (PI uses it by default in high-dpi mode), but is disastrous at low resolutions. M+ fonts look promising and are also included in all PI distros, but I still have to test them thoroughly.
Juan Conejero
PixInsight Development Team
http://pixinsight.com/

Offline mschuster

  • PTeam Member
  • PixInsight Jedi
  • *****
  • Posts: 1087
Re: 1185 Win7 UI 1 interface window font
« Reply #2 on: 2015 October 09 19:10:28 »
Actually it is 9pt DejaVu Sans.

Actually, no, it does not appear to be 9pt. In fact it appears to be 8pt DejaVu Sans as I mentioned. Here is why I say this:

- Changing low-res font from "DejaVu Sans" to "Segoe UI" results in a smaller font that in 1123.

- The default Core Style Sheet File says 8pt for interface windows:

Code: [Select]
QWidget#IWContainer, QWidget#ICContainer, QWidget#RTPContainer {
   background: #DFDFE1;
   color: black;
   font-family: "<core_sans_font>", DejaVu Sans, Vera Sans, Verdana, Helvetica, Sans Serif;
   font-size: 8pt;
}

- When I change 8pt to 9pt in the above style I see a larger size "Segoe UI" that matches 1123.

- With this 9pt edit, changing low-res font back to "DejaVu Sans" give a larger size than in the distribution.

So it appears that 1185 distribution uses a smaller font than in 1123, and as I mentioned IMO less legible.

So now why a smaller size?

Another question. Can a PJSR script access the distro fonts like Droid Sans and M+ via new Font("name", ...)? I would like to use a font available on all platforms for labeling my script generated graphics. I am using "Helvetica" now but given your post that is probably a portability bug.

Edit: I tried new Font("M+ 1m", 9) (i.e. the string matching what I see in the default core style sheet file). This does not work. I tried many other string variations, but got nothing to work.

Thanks,
Mike
« Last Edit: 2015 October 09 21:21:11 by mschuster »

Offline mschuster

  • PTeam Member
  • PixInsight Jedi
  • *****
  • Posts: 1087
Re: 1185 Win7 UI 1 interface window font
« Reply #3 on: 2015 October 10 12:35:06 »
Quote
Open Sans is fantastic as a high-resolution UI font (PI uses it by default in high-dpi mode), but is disastrous at low resolutions.

Open Sans at both 8pt and 9pt looks much better to me than DejaVu Sans in 1185 Win7 low-res (UI scaling 1). Of the two sizes I would prefer the larger 9pt for interface windows, but both sizes are a big improvement over DejaVu Sans.

What issues do you see at low resolution?

Thanks,
Mike