void XpSetContext ( display, print_context )
XpSetContext sets the print context for a display connection. All subsequent print operations that do not explicitly take a print context-id (for example, XpStartJob) on display will use and act upon the print context set by this call, until the print context is unset or XpDestroyContext is called. The print context can be set and used on multiple jobs, if not destroyed.
If print_context is None, XpSetContext will unset (disassociate) the print context previously associated with display. If there was no previously associated print context, no action is taken. The content of the formerly associated print context is not affected by this call, and other display connections may continue to use the print context.
Since font capabilities can vary from printer to printer, XpSetContext may modify the list of available fonts (see XListFonts) on display, and the actual set of usable fonts (see XLoadFont). A unique combination of fonts may be available from within a given print context; a client should not assume that all the fonts available when no print context is set will be available when a print context is set.
When a print context is set on a display connection, the default behavior of ListFonts and ListFontsWithInfo is to list all of the fonts normally associated with the X print server (i.e. fonts containing glyphs) as well as any internal printer fonts defined for the printer. The xp-listfonts-modes attribute is provided so that applications can control the behavior of ListFonts and ListFontsWithInfo and is typically used to show just internal printer fonts. Using only internal printer fonts is useful for performance reasons; the glyphs associated with the font are contained within the printer and do not have to be downloaded.
If the value of xp-listfonts-modes includes xp-list-glyph-fonts, ListFonts and ListFontsWithInfo will include all of the fonts available to the server that have glyphs associated with them. If the value of xp-listfonts-modes includes xp-list-internal-printer-fonts, then ListFonts and ListFontsWithInfo will include all of the fonts defined as internal printer fonts.
When the print context is unset or XpDestroyContext is called, the available fonts on display revert back to what they were previously.
Table of Contents