From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
altenbach

Font size standardization

Status: New

Re-opening because LabVIEW NXG has been discontinued.

Once in a while I complain about font issues in general (here, here, or here), but one of the really weird things are the font sizes as used in LabVIEW.

 

The font dialog lists them as units of pt, but for some reason they are quite different in size from the same sizes in any other applications (browser, word, etc.). LabVIEW also shows other problems, for example tahoma 14, 15 all look exactly the same... why??

 

Here is a side-by-side comparison of a wordpad document and a LabVIEW panel. Each line is configured for the indicated font size.

 

As you can easily see, LabVIEW is the exception. Any other applications I tried agrees with the left panel.

 

Idea -->LabVIEW should also standardize here!

 

 

 

20 Comments
Darin.K
Trusted Enthusiast

It seems that LabVIEW is actually specifying the font size in pixels rather than points.  A point is rather rigorously defined as 1/72 of an inch.  Left to its own devices, Windows assumes a monitor pitch of 96 dpi.  So a 72 point font should be 1 inch or 96 pixels tall. LabVIEW thinks it should be 72 pixels tall, so it winds up about 25% smaller than what everyone else thinks.

 

The Mac OS has a long tie to graphic artists, so I assume that is why they assumed 72 dpi for the monitor pitch, no need to fuss around.  LabVIEW was born on the Mac and brought to the PC. Since the font handling apparently hasn't changed in twenty plus years, they probably never got around to doing the scaling that other Windows programs do.

 

On the Mac I used to use 9 and 10 point fonts with LV, I'd be squinty if I tried that with LV on Windows...

 

All of that said, I am not sure what I would suggest NI do.  When I use the picture control, I can count on the height of the textbox being equal to the "point" size I choose for the font.  On the other hand, my FPs look different on every different sized monitor.  Should NI adopt a somewhat arbitrary Microsoft hack?  Or, just change the unit from pt to px?  I am inclined to say, move to all vector drawing based on the actual screen dimensions and resolution.  The chances of that seem slim, but how many half-measures make up the full measure?

 

Three choices here:  Do nothing (no), adopt Microsoft standard (better than nothing), change unit to px (accurate at least, explains difference).

dthor
Active Participant

Of the 3 choices Darin mentioned, I'd be most in favor of #3: changing "pt" to "px." It's the simplest, fastest and easiest to implement, and it doesn't break FPs on any OS.

altenbach
Knight of NI

Obviously, the fonts on windows are optimized for the local assumptions on dpi, etc. That's probably also the reason why all the integer sizes scale so well. Converted to the LabVIEW definition, We often get really jumpy behavior (8/9 14/15, 19/20 and are basically the same, and there is a gigantic jump between 13 and 14, right in the size range where we want to fine-tune the size. It is always irritating when I do a ctrl+ or ctrl- and, for some steps, only the vertical spacing changes while for other steps there is a large jump in size.

 

I would not like a definition in pixels, because it probably won't scale well in the future. (Maybe the next generation of displays has a 10x finer pitch).

 

I really don't know what the best solution is, but font issues are one of the biggest problems in LabVIEW. We need a way to ensure WTPSIWTUG (What the programmer sees is what the user gets). Font's should never be tied to the windows theme or OS settings, for example. Maybe there should even be an option to embed unusual fonts in the VI for portability.

CrystalTech
Member

Kudos!  Back to my old rant.  NI needs a MAJOR overhaul of it's Front Panel "EVERYTHING"... not just patches or assorted improvements.  A good lesson in Standards of the current technology would help too.  NI is the best at most everything it does... but certainly not the FP.

altenbach
Knight of NI

Another problem is in the case where company requirements dictate certain font sizes for the user interface for software written in any language.

Obvioulsy, the LabVIEW group would need to get special clearance to use different font sizes so the results conform. The size conversion routines would need to get specified.

Bob_Schor
Knight of NI

Something I'd like to see would be a way to set the "default font size" for a Project.  I know (because I've read the Discussion Groups) that it is possible to set the "global default fonts" by messing with the LabVIEW.ini file within Program Files, but that is both "dangerous" (who wants to mess around in there?) and clumsy (digging under the covers, non-intuitive, etc.).

 

What I'd like to see is a setting within a Project (so that it changes with each Project) that allows you to specify a fixed Font size (and possibly the font, itself, along with attributes).  One option for each setting should be "Default" (which is the current de facto standard).  But when you do want to set it for a particular Project, it would be nice to be able to do so!

 

I'm moving some old code, developed in LabVIEW 7.0 on a Windows XP system, to LabVIEW 2010 on Windows 7.  I noticed that many of my Front Panel controls look really ugly, with controls overlapping labels.  I started trying to "move them all around", and just realized the problem was that the default Font Size is probably one point bigger!  I do not want to change LabVIEW.ini for this one task ...

 

Seems to me this suggestion (assuming the implementation is relatively straight-forward) would solve lots of problems for lots of LabVIEW programmers, but would have minimal negative impact as one could always get the current behavior by using the Default setting.

Active Participant

2.5 years and 335 votes later, and this still hasn't been publically addressed by an NI account? I think the writing's on the wall that fixing this bug -- and yes, if they claim units of [pt] but use units of [px] it's a bug -- would involve too much risk or effort in NI's eyes. Smiley Frustrated

Brian_Powell
Active Participant

Um, 336 votes.  Thanks for reminding me to kudo the idea. 🙂

 

23 years ago, when I wrote the "current" version of LabVIEW's internal font manager, font display technology was, shall we say, more primitive than it is today.  (If only we had jumped on the Display PostScript bandwagon with the NeXT version of LabVIEW!)  There's a lot of great technology that's come out in only the last few years, driven by cross-platform web development.  Just last month, Adobe donated its font rasterizer to the FreeType Project.

 

As we've previewed at NIWeek and with Data Dashboard on tablets, we're experimenting with new user interface mechanisms.  Along with those come better ways of dealing with fonts.

 

Believe me, I want my old code to die be refactored as much as anyone else.

A-T-R
Member

@Bob_Schor wrote:
I'm moving some old code, developed in LabVIEW 7.0 on a Windows XP system, to LabVIEW 2010 on Windows 7.  I noticed that many of my Front Panel controls look really ugly, with controls overlapping labels.  I started trying to "move them all around", and just realized the problem was that the default Font Size is probably one point bigger!

 


 

 

And the default font type itself changes from OS to OS!

 

But as the XP default font is also shipped with Win7 and Win8, you can very easily change the look back to your XP experience. The workaround is to just add the keys for the desired font type in your "old" executables ini files!

 

That is what we did when our customer upgraded his complete company PC environment from Win XP to Win 7

SimonH
NI Employee (retired)

The difference between a LabVIEW font size and the true point size is at least predictable.  I wrote a VI and posted it here that will do the conversion for you.

 

Screen Shot 2013-06-07 at 4.02.26 PM.png

 

https://decibel.ni.com/content/groups/ui/blog/2013/06/07/font-sizes-in-labview--conversion-utility-v...

 

While not really a response to this idea I figured it'd be useful to post a link for anyone who goes searching.