isCOBOL Evolve : Appendices : Library Routines : W$FONT : WFONT-GET-CLOSEST-FONT
WFONT-GET-CLOSEST-FONT
The WFONT-GET-CLOSEST-FONT function loads the font matching some characteristics. The function will always load a font, trying to meet the program requirements.
In thin client environment, if the font exists on the server and the server has graphical interface, then the font is loaded both client and server side. This allows you to use the font also for PDF print jobs created server-side (see WINPRINT-SET-PRINTER-AS for details).
Syntax:
 CALL "W$FONT" USING WFONT-GET-CLOSEST-FONT
                     fontHandle
                     WFONT-DATA
              GIVING returnCode
Parameters:
WFONT-GET-CLOSEST-FONT
Constant
 
fontHandle
USAGE HANDLE OF FONT
When the function succeeds, it receives the handle of the font.
WFONT-DATA
 
Group Item
Structure that contains the characteristics of the font to be loaded. All data items it contains should be set properly before calling the function. For your convenience you may INITIALIZE the group item, that way, all subordinate items will be set to a valid value. This group item, defined in isfonts.def, has the following structure:
 
01  wfont-data.
    03 wfont-face-data.
       05 wfont-device                 handlevalue null.
          88 wfdevice-console          value null.
          88 wfdevice-printer          value 1.
       05 wfont-name                   pic x(33).
       05 wfont-char-set               pic x comp-x.
       05 wfont-size                   pic x comp-x.
       05 wfont-bold-state             pic x comp-x.
          88 wfont-bold                value 1false zero.
       05 wfont-italic-state           pic x comp-x.
          88 wfont-italic              value 1false zero.
       05 wfont-underline-state        pic x comp-x.
          88 wfont-underline           value 1false zero.
       05 wfont-strikeout-state        pic x comp-x.
          88 wfont-strikeout           value 1false zero.
       05 wfont-pitch-state            pic x comp-x.
          88 wfont-fixed-pitch         value 1false zero.
       05 wfont-family                 pic x comp-x.
    03 wfont-choose-data.
       05 wfont-choose-flags           pic x comp-x.
       05 wfont-choose-min-size        pic x comp-x.
       05 wfont-choose-max-size        pic x comp-x.
       05 wfont-choose-red             pic x comp-x.
       05 wfont-choose-green           pic x comp-x.
       05 wfont-choose-blue            pic x comp-x.
       05 wfont-choose-color-num       pic x comp-x.
    03 wfont-angle                     pic x(2comp-x.
    03 wfont-scale-x                   float value 0.
    03 wfont-scale-y                   float value 0.
 
Note - members not mentioned below are not used by this function.
 
wfont-device
It is the device the function refers to. The value of this data item should be set with the condition names provided.
When wfdevice-console is set to true, the function will load a font for the current screen configuration.
When wfdevice-printer is set to true, the function will load a font for the current printer configuration.
 
wfont-name
It is the name of the font that will be loaded. Font names are case-sensitive. If a font with the name here specified is not found, the function loads a font matching the remaining characteristics.
 
wfont-size
It is the size of the font that will be loaded. It may be greater than zero.
 
 
 
 
wfont-bold-state
It is the bold state of the font that will be loaded. The value of this data item should be set with the condition name provided.
When wfont-bold is set to true, the font will be bold.
 
wfont-italic-state
It is the italic state of the font that will be loaded. The value of this data item should be set with the condition name provided.
When wfont-italic is set to true, the font will be italic.
 
wfont-underline-state
It is the underline state of the font that will be loaded. The value of this data item should be set with the condition name provided.
When wfont-underline is set to true, the font will be underlined.
 
wfont-strikeout-state
It is the strike-out state of the font that will be loaded. The value of this data item should be set with the condition name provided.
When wfont-strikeout is set to true, the font will be stricken out.
 
wfont-pitch-state
It is the pitch state of the font that will be loaded. The value of this data item should be set with the condition name provided.
When wfont-fixed-pitch is set to true, the font will be loaded only if it is a fixed-pitch font.
When wfont-fixed-pitch is set to false, the function will load fonts with both fixed or variable pitch.
 
wfont-angle
It is the angle at which the font will print. The value can range from the default of "0", which is the normal horizontal orientation, to "360", which is the same as "0". For example, to print at a 90-degree angle, set WFONT-ANGLE to "90". This feature works only when printing a font, not when displaying a font on screen.
 
wfont-scale-x
It is the scale factor on the X coordinate. A value of 0 or 1 means that no scale is performed. This setting should be used only for print fonts (wfont-device = wfdevice-printer) that are not rotated (wfont-angle = 0), otherwise the effects are unpredictable.
 
wfont-scale-y
It is the scale factor on the Y coordinate. A value of 0 or 1 means that no scale is performed. This setting should be used only for print fonts (wfont-device = wfdevice-printer) that are not rotated (wfont-angle = 0), otherwise the effects are unpredictable
Return code:
returnCode can be any signed numeric data item and provides additional information:
1
Operation successful.
WFONTERR-UNSUPPORTED
The W$FONT library routine is not supported.