Stackable fonts and Style support

Starting at version 1.34, mkafax supports stackable fonts, and the use of styles, such as Bold, Italic and Underline.

Useage of the command .FONT has been extended, and the commands .STYLE and .ENDF have been added.

The font system has been modified so that fonts are now nestable. This means you can set a font/style, and then return to the original font/style, without needing to know what that was. This can be very useful for include files, which can return to the original font before they exit, for example.

The .FONT command now takes an optional third parameter, which defines the requested style to use. This takes the form of a string, consisting of the letters N, B, U, I and E in any order, upper or lower case.

N - Normal
B - Bold
U - Underlined
I - Italics
E - Extended

Note that the letters are parsed in order, and that N will clear the other flags and set the font back to normal. For example,

.FONT topaz 30 BU
will set the font to topaz 30, Bold and Underlined.

.FONT CGTimes 50 I
set CGTimes at 50-point, Italic.

You can retain the existing font, but change its style, by using the new .STYLE command.

.STYLE U

This is Underlined.

.STYLE IU

This is Underlined and Italic.

All .FONT and .STYLE commands can now be nested. This means that the font/style you set will remain in effect until the new command .ENDF is encountered. After this the previous font/style set will be in force. The Default font, which can be set from your FAXLIB:Config file or by environmental variable, is always the underlying font. No matter how many .ENDF commands you enter, this will not be popped from the font stack.

Note that if you have defined a Header font, this will be automatically pushed for headers, and popped afterwards.

Example .FCOM file:

.FCOM
This is in default font
.FONT CGTimes 30 U
This is in Underlined 30 point CGTimes
.FONT topaz 20 B
This is in Bold 20 point topaz
.STYLE NIU
And this is Italic Underlined 20 point topaz
.ENDF
Bold 20 point topaz
.ENDF
Underlined 30 point CGTimes
.ENDF
Default font
.ENDF
Default font