Alex Taylor said in
eComStation@yahoogroups.com
RC7 includes a new feature which may not be obvious, so I'm making a small
announcement about it... because I would like testing and feedback on it.
For users who are too impatient to read the long description below, the
exective summary is this: you can now dynamically change the font used on
(most) dialogs throughout the system, without suffering from clipped text
on controls (up to a point, at least). The WPS properties notebooks are
exempt from this, sadly; it mostly applies to secondary dialogs. Read the
details below for a description of the feature, its limitations,
advantages, and disadvantages.
All versions of eComStation have included redesigned dialogs based on
Richard Castle's superb 'Dialog Enhancer' product. The main features of
these dialogs have been (a) improved layout of controls - generally
intended to make them more attractive, more user-friendly, and/or more
space-efficient; and (b) standardized use of the 'WarpSans' font.
These dialogs have received incremental updates (various bugfixes and minor
tweaks here and there) over the years. However, RC7 marks the first major
overhaul of the entire system, and so testing and feedback would be much
appreciated.
The major change is this: most of the dialogs are NO LONGER hard-coded to
use 9.WarpSans as the font. Instead, they are designed with the system
default font (usually System Proportional). This was done for two main
reasons:
- eStyler 1.1 (introduced in eCS 2.0) includes a feature to set all
dialogs to a user-defined font (at least for dialogs which don't have
any specific font coded). This is set (during eCS installation) to
9.WarpSans by default. So it's no longer necessary to set every
individual dialog to use WarpSans.
Moreover, because this feature allows users to set potentially larger
fonts for all dialogs, it made more sense to (re)design the dialogs for
use with System Proportional, which is one of the largest fonts
available. Thus, you can set the dialog font (in eStyler) to System
Proportional or anything smaller, and text should still display
correctly.
- I was persuaded, in no small part thanks to Jim Read, that designing
dialogs for WarpSans was a bad idea... because it causes the dialogs to
become completely munged up if the PM default dialog font is ever
changed. By this, I'm referring not to the eStyler feature, but the
built-in PM_SystemFonts key "DefaultFont". Changing this key sets the
dialog font system-wide, but unlike the eStyler feature it also changes
the default dialog unit (DU) size, causing all dialog controls to shrink
if the font size is smaller than System Proportional. (Jim pointed out
that he recommends all his users set this key for various reasons, and
that it's automatically set by some video drivers as well.) It, or a
close equivalent, is also set automatically (indeed, it cannot be
UN-set) on all DBCS versions of OS/2.
Basically, designing all dialogs for System Proportional will avoid the
problem of dialog controls being cropped if DefaultFont is ever set or
changed.
In summary, most secondary dialogs are no longer coded to use 9.WarpSans.
(The improved layout derived from Dialog Enhancer is still present,
although of course it had to be reworked a bit in some cases.)
I fully anticipate this to be a rather controversial change, but it was not
something I did lightly, or without carefully considering the various
ramifications. I was convinced, in the end, that this was the most
advantageous approach, regardless of its corresponding disadvantages (for
which, see below).
ADVANTAGES
- You now have much more complete control over the appearance of dialogs.
Specifically most secondary dialogs can now use almost any font,
without causing clipped controls. up to a point, at least. You can set
this using eStyler (if you don't need to use a font larger than System
Proportional), or the PM "DefaultFont" key if you don't mind the
system-wide rescaling of dialog controls this causes. (The latter may
result in problems with third-party applications, so I personally
recommend using eStyler.)
This should be useful to users with vision problems, or those running
on extremely high video resolutions.
- Systems which have the "DefaultFont" key set in OS2.INI should no longer
see clipped text on dialogs.
DISADVANTAGES
- Since all dialogs must now 'work' with fonts as large as System
Proportional, almost all dialogs are necessarily much larger than they
were, and the spacing of controls is sometimes rather wide (though not
generally as wide as they were in the original, unmodified IBM dialogs).
In particular, when the default font is set to 9.WarpSans (or another
small font) using the eStyler method, controls on many dialogs may seem
unusually widely-spaced. Some users may find this annoying, although I
have generally tried to design the dialogs such as to minimize the
phenomenon.
(Using the "DefaultFont" method will largely avoid this problem.)
- Because of the potentially disruptive nature of setting the
"DefaultFont" key, SBCS versions of eCS use the eStyler method by
default. However, this of course depends on eStyler being installed.
If you don't install eStyler, dialogs will therefore display using
System Proportional, which you may find large and ugly. This also means
that most dialogs will be limited to System Proportional during parts of
the OS installation (before eStyler gets installed).
(Conversely, for various technical reasons, DBCS versions of eCS will
use the "DefaultFont" key (or rather, its DBCS equivalent) and have the
eStyler feature disabled by default.)
- Another point worth mentioning is that listbox controls don't seem to react
very well to having their font changed by eStyler: you tend to get
artifacts from scrolling at the bottom of the list control. For this
reason, I had to retain the hardcoded WarpSans on a couple of dialogs,
notably the system File dialog.
It should be pointed out, however, that this problem was present (mostly in
third-party applications) even without my changes to the system dialogs, so
it's not actually a problem with this redesign.
(Actually, I've recently discovered that setting the LS_NOADJUSTPOS style
on the listbox may eliminate this problem, so I will probably experiment
with using that in future updates.)
I should also note that dialogs where the font is actually set to WarpSans
programmatically (like all the WPS system properties notebooks) will still
be WarpSans, regardless of your font settings... but they should receive
the other advantages (i.e. no clipped text with "DefaultFont").
(However, I've noticed something very interesting about the WPS properties
notebooks. It seems that the font is hardcoded to WarpSans, but the point
size is actually dynamic to some extent. I discovered this after
installing my "10.WarpSans" font (available on my website), and all the WPS
properties notebooks now have larger 10-point text on my laptop (1400x1005)
...except, noticeably, the ones from XWorkplace, which do appear hard-coded
to 9-point.)
Finally, let me add that the avoidance of clipped text is entirely
dependent on me having properly re-tuned all of the dialogs. If you do
find a system dialog with clipped text, please report it to me so that I
may correct it.
|