1
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
3
.\" Permission is hereby granted, free of charge, to any person obtaining
4
.\" a copy of this software and associated documentation files (the
5
.\" "Software"), to deal in the Software without restriction, including
6
.\" without limitation the rights to use, copy, modify, merge, publish,
7
.\" distribute, sublicense, and/or sell copies of the Software, and to
8
.\" permit persons to whom the Software is furnished to do so, subject to
9
.\" the following conditions:
11
.\" The above copyright notice and this permission notice shall be included
12
.\" in all copies or substantial portions of the Software.
14
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17
.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
18
.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19
.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20
.\" OTHER DEALINGS IN THE SOFTWARE.
22
.\" Except as contained in this notice, the name of the X Consortium shall
23
.\" not be used in advertising or otherwise to promote the sale, use or
24
.\" other dealings in this Software without prior written authorization
25
.\" from the X Consortium.
27
.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
28
.\" Digital Equipment Corporation
30
.\" Portions Copyright \(co 1990, 1991 by
33
.\" Permission to use, copy, modify and distribute this documentation for
34
.\" any purpose and without fee is hereby granted, provided that the above
35
.\" copyright notice appears in all copies and that both that copyright notice
36
.\" and this permission notice appear in all copies, and that the names of
37
.\" Digital and Tektronix not be used in in advertising or publicity pertaining
38
.\" to this documentation without specific, written prior permission.
39
.\" Digital and Tektronix makes no representations about the suitability
40
.\" of this documentation for any purpose.
41
.\" It is provided ``as is'' without express or implied warranty.
43
.\" $XFree86: xc/doc/man/X11/XTextExt.man,v 1.3 2001/02/09 03:47:47 tsi Exp $
45
.ds xT X Toolkit Intrinsics \- C Language Interface
46
.ds xW Athena X Widgets \- C Language X Toolkit Interface
47
.ds xL Xlib \- C Language X Interface
48
.ds xC Inter-Client Communication Conventions Manual
55
.\".if \\n(VS>=40 .vs \\n(VSu
56
.\".if \\n(VS<=39 .vs \\n(VSp
79
.de IN \" send an index entry to the stderr
86
.\" choose appropriate monospace font
87
.\" the imagen conditional, 480,
88
.\" may be changed to L if LB is too
89
.\" heavy for your eyes...
91
.ie "\\*(.T"480" .ft L
92
.el .ie "\\*(.T"300" .ft L
93
.el .ie "\\*(.T"202" .ft PO
94
.el .ie "\\*(.T"aps" .ft CW
97
.ie \\n(VS>40 .vs \\n(VSu
105
.ie t \\$1\fB\^\\$2\^\fR\\$3
106
.el \\$1\fI\^\\$2\^\fP\\$3
109
.ie t \fB\^\\$1\^\fR\\$2
110
.el \fI\^\\$1\^\fP\\$2
113
.ie t <\fB\\$1\fR>\\$2
119
.if \\n(.$>$1 .if !'\\$2'C' .ds NO \\$2
120
.if \\n(.$ .if !'\\$1'C' .ds NO \\$1
134
. \" Note End -- doug kraft 3/85
143
.TH XTextExtents 3X11 __xorgversion__ "XLIB FUNCTIONS"
145
XTextExtents, XTextExtents16, XQueryTextExtents, XQueryTextExtents16 \- compute or query text extents
147
XTextExtents\^(\^\fIfont_struct\fP\^, \fIstring\fP\^, \fInchars\fP\^,
148
\fIdirection_return\fP, \fIfont_ascent_return\fP,
150
\fIfont_descent_return\fP, \fIoverall_return\fP\^)
152
XFontStruct *\fIfont_struct\fP\^;
154
char *\fIstring\fP\^;
158
int *\fIdirection_return\fP\^;
160
int *\fIfont_ascent_return\fP, *\fIfont_descent_return\fP\^;
162
XCharStruct *\fIoverall_return\fP\^;
165
XTextExtents16\^(\^\fIfont_struct\fP\^, \fIstring\fP\^, \fInchars\fP\^,
166
\fIdirection_return\fP, \fIfont_ascent_return\fP,
168
\fIfont_descent_return\fP, \fIoverall_return\fP\^)
170
XFontStruct *\fIfont_struct\fP\^;
172
XChar2b *\fIstring\fP\^;
176
int *\fIdirection_return\fP\^;
178
int *\fIfont_ascent_return\fP, *\fIfont_descent_return\fP\^;
180
XCharStruct *\fIoverall_return\fP\^;
183
XQueryTextExtents\^(\^\fIdisplay\fP, \fIfont_ID\fP, \fIstring\fP,
184
\fInchars\fP, \fIdirection_return\fP, \fIfont_ascent_return\fP,
186
\fIfont_descent_return\fP, \fIoverall_return\fP\^)
188
Display *\fIdisplay\fP\^;
192
char *\fIstring\fP\^;
196
int *\fIdirection_return\fP\^;
198
int *\fIfont_ascent_return\fP, *\fIfont_descent_return\fP\^;
200
XCharStruct *\fIoverall_return\fP\^;
202
XQueryTextExtents16\^(\^\fIdisplay\fP, \fIfont_ID\fP, \fIstring\fP,
203
\fInchars\fP, \fIdirection_return\fP, \fIfont_ascent_return\fP,
205
\fIfont_descent_return\fP, \fIoverall_return\fP\^)
207
Display *\fIdisplay\fP\^;
211
XChar2b *\fIstring\fP\^;
215
int *\fIdirection_return\fP\^;
217
int *\fIfont_ascent_return\fP, *\fIfont_descent_return\fP\^;
219
XCharStruct *\fIoverall_return\fP\^;
221
.IP \fIdirection_return\fP 1i
222
Returns the value of the direction hint
223
.Pn ( FontLeftToRight
225
.ZN FontRightToLeft ).
227
Specifies the connection to the X server.
229
Specifies either the font ID or the
231
ID that contains the font.
232
.IP \fIfont_ascent_return\fP 1i
233
Returns the font ascent.
234
.IP \fIfont_descent_return\fP 1i
235
Returns the font descent.
236
.IP \fIfont_struct\fP 1i
241
Specifies the number of characters in the character string.
243
Specifies the character string.
244
.IP \fIoverall_return\fP 1i
245
Returns the overall size in the specified
254
perform the size computation locally and, thereby,
255
avoid the round-trip overhead of
256
.ZN XQueryTextExtents
258
.ZN XQueryTextExtents16 .
259
Both functions return an
261
structure, whose members are set to the values as follows.
263
The ascent member is set to the maximum of the ascent metrics of all
264
characters in the string.
265
The descent member is set to the maximum of the descent metrics.
266
The width member is set to the sum of the character-width metrics of all
267
characters in the string.
268
For each character in the string,
269
let W be the sum of the character-width metrics of all characters preceding
271
Let L be the left-side-bearing metric of the character plus W.
272
Let R be the right-side-bearing metric of the character plus W.
273
The lbearing member is set to the minimum L of all characters in the string.
274
The rbearing member is set to the maximum R.
276
For fonts defined with linear indexing rather than 2-byte matrix indexing,
279
structure is interpreted as a 16-bit number with byte1 as the
280
most significant byte.
281
If the font has no defined default character,
282
undefined characters in the string are taken to have all zero metrics.
285
.ZN XQueryTextExtents
287
.ZN XQueryTextExtents16
288
functions return the bounding box of the specified 8-bit and 16-bit
289
character string in the specified font or the font contained in the
291
These functions query the X server and, therefore, suffer the round-trip
292
overhead that is avoided by
296
Both functions return a
298
structure, whose members are set to the values as follows.
300
The ascent member is set to the maximum of the ascent metrics
301
of all characters in the string.
302
The descent member is set to the maximum of the descent metrics.
303
The width member is set to the sum of the character-width metrics
304
of all characters in the string.
305
For each character in the string,
306
let W be the sum of the character-width metrics of all characters preceding
308
Let L be the left-side-bearing metric of the character plus W.
309
Let R be the right-side-bearing metric of the character plus W.
310
The lbearing member is set to the minimum L of all characters in the string.
311
The rbearing member is set to the maximum R.
313
For fonts defined with linear indexing rather than 2-byte matrix indexing,
316
structure is interpreted as a 16-bit number with byte1 as the
317
most significant byte.
318
If the font has no defined default character,
319
undefined characters in the string are taken to have all zero metrics.
321
Characters with all zero metrics are ignored.
322
If the font has no defined default_char,
323
the undefined characters in the string are also ignored.
325
.ZN XQueryTextExtents
327
.ZN XQueryTextExtents16
336
A value for a Font or GContext argument does not name a defined Font.
339
A value for a GContext argument does not name a defined GContext.