summaryrefslogtreecommitdiffstats
path: root/Doc/library/fm.rst
blob: 0ab2781ec9d168a8f617da0176d3183383d2c94e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96

:mod:`fm` --- *Font Manager* interface
======================================

.. module:: fm
   :platform: IRIX
   :synopsis: Font Manager interface for SGI workstations.


.. index::
   single: Font Manager, IRIS
   single: IRIS Font Manager

This module provides access to the IRIS *Font Manager* library.   It is
available only on Silicon Graphics machines. See also: *4Sight User's Guide*,
section 1, chapter 5: "Using the IRIS Font Manager."

This is not yet a full interface to the IRIS Font Manager. Among the unsupported
features are: matrix operations; cache operations; character operations (use
string operations instead); some details of font info; individual glyph metrics;
and printer matching.

It supports the following operations:


.. function:: init()

   Initialization function. Calls :cfunc:`fminit`. It is normally not necessary to
   call this function, since it is called automatically the first time the
   :mod:`fm` module is imported.


.. function:: findfont(fontname)

   Return a font handle object. Calls ``fmfindfont(fontname)``.


.. function:: enumerate()

   Returns a list of available font names. This is an interface to
   :cfunc:`fmenumerate`.


.. function:: prstr(string)

   Render a string using the current font (see the :func:`setfont` font handle
   method below). Calls ``fmprstr(string)``.


.. function:: setpath(string)

   Sets the font search path. Calls ``fmsetpath(string)``. (XXX Does not work!?!)


.. function:: fontpath()

   Returns the current font search path.

Font handle objects support the following operations:


.. method:: font handle.scalefont(factor)

   Returns a handle for a scaled version of this font. Calls ``fmscalefont(fh,
   factor)``.


.. method:: font handle.setfont()

   Makes this font the current font. Note: the effect is undone silently when the
   font handle object is deleted. Calls ``fmsetfont(fh)``.


.. method:: font handle.getfontname()

   Returns this font's name. Calls ``fmgetfontname(fh)``.


.. method:: font handle.getcomment()

   Returns the comment string associated with this font. Raises an exception if
   there is none. Calls ``fmgetcomment(fh)``.


.. method:: font handle.getfontinfo()

   Returns a tuple giving some pertinent data about this font. This is an interface
   to ``fmgetfontinfo()``. The returned tuple contains the following numbers:
   ``(printermatched, fixed_width, xorig, yorig, xsize, ysize, height, nglyphs)``.


.. method:: font handle.getstrwidth(string)

   Returns the width, in pixels, of *string* when drawn in this font. Calls
   ``fmgetstrwidth(fh, string)``.