Font or work-around for cross-platform display of units like Angstroms, Ohms, etc.?

I typically do a lot of work in units of inverse Angstroms. I have a bunch of code written with Windows in mind that writes this to the wave scaling info as num2char(197)+"\\S-1\\M". This is far more convenient than, say, "1/Angstroms", which looks horrendous if and when Igor tacks on a metric scaling prefix, and it seems to work for most "standard" fonts on Windows -- e.g., Arial.

On Mac, there is obviously an incompatibility due to lack of unicode support. My question is: Is there some "hidden" cross-platform font in Igor where some common symbols (like Angstroms) overlap between Windows and Mac? If not, is there a recommendation for some crafty trick to quasi-solve my problem? (Like some hook for trace and image displays that reads the units, guesses if they are right for the current platform, and changes them if not? Is that a "hookable" event, by the way?)

Thanks.
Three suggestions:

* Try the following: \F'Arial'A\X0\S o\M \S-1 You might play around with the font to find the appropriate to really align the approximate "half-step" forward needed to get the "o" precisely over the A.

* For the Mac, find the equivalent character representation for "Angstrom" and use it instead. In the Finder, go to Edit and Special Characters ... menu. The Accented Latin set had one that might work. I don't know how to get the num2char equivalent.

* Use a LaTeX program equivalent to generate your axis label as an image and past it in place.

--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAHuntsville
Hi guys,

Thanks for the suggestions. I now realize I should have clarified my goals a little better. This is a fairly big set of software utilities for processing and displaying data. The goal is that it should "just work." Ultimately, it'd be great if the end user could just drop in the software on either platform and have it work more-or-less out of the box. On top of that, users should be able to save their work in a .pxp on one platform, open it on the other, and still have all the units display correctly. In light of this...

Regarding hrodstein's suggestion:
One of the ideas I was toying with was to simply have the code explicitly set the default font for Igor (which I believe can be done programmatically, but I haven't really investigated at this point). In the ideal case, there'd be a "general use" font where the characters overlap from platform to platform. "Symbol" is obviously not such a font. Everything will be scrambled if you make it the default font in Igor.

Alternatively, as far as I have ever experienced, you cannot set a font inside of a wave units assignment. (Maybe I am wrong on this point?) This has always been strange to me, because you can, e.g., include sub/superscripts. *If* this could be done, then of course Symbol font would be the way to go. WM guys: If you could manage to implement this, it would help some of us out until there's unicode support.

In response to jjweimer:
Actually, your first idea may come close to fulfilling my needs. I'll give it a shot. Maybe I'm weird, but this is a particular style of hack that I admire for its craftiness. :)

Best,
Nick

Update: Igor does not like the "\\X0" markup in the wave units! Bummer.
Wave units are not intended to include formatting information.

You can specify a font in an axis label:
Make jack = sin(x/8)
Display jack
Label bottom, "\\Z24\\F'Symbol'q\\]0\\S-1\\M"   // Display theta from Symbol font


However, Angstrom is not a character in the Symbol font as far as I can see.

I think you need to use the axis label, not the wave units, to contain the Angstrom symbol.

Now your choice is:
A. Use platform-dependent codes (num2char(197) on Windows, num2char(129) on Macintosh) or
B. Create your own Angstrom symbol using Igor annotation language (\\x and friends)

You could do B using dynamic annotation code to call a function that returns the right character depending on the platform.

I agree that it is sad that you have to resort to this. I also agree that the only good solution is a Unicode-capable Igor.

For information on positioning in annotations (\\x and friends), see the Details section of the Textbox documentation.

For information on dynamic annotation code:
DisplayHelpTopic "Other Dynamic Escape Codes"