plan9port/man/man3/stringsize.3

70 lines
1.4 KiB
Groff
Raw Normal View History

2004-04-10 18:53:55 +00:00
.TH STRINGSIZE 3
.SH NAME
stringsize, stringwidth, stringnwidth, runestringsize, runestringwidth, runestringnwidth \- graphical size of strings
.SH SYNOPSIS
.nf
.PP
.ft L
#include <u.h>
#include <libc.h>
#include <draw.h>
.ft P
.ta \w'\fLPoint 'u
.PP
.B
Point stringsize(Font *f, char *s)
.PP
.B
int stringwidth(Font *f, char *s)
.PP
.B
int stringnwidth(Font *f, char *s, int n)
.PP
.B
Point runestringsize(Font *f, Rune *s)
.PP
.B
int runestringwidth(Font *f, Rune *s)
.PP
.B
int runestringnwidth(Font *f, Rune *s, int n)
.SH DESCRIPTION
These routines compute the geometrical extent of character strings when drawn on the display. The most straightforward,
.BR stringsize ,
returns a
.B Point
representing the vector from upper left to lower right of the NUL-terminated string
.I s
drawn in font
.IR f .
.B Stringwidth
returns just the
.I x
component.
.B Stringnwidth
returns the width of the first
.I n
characters of
.IR s .
.PP
The routines beginning with
.B rune
are analogous, but accept an array of runes rather than
.SM UTF\c
-encoded bytes.
.SH FILES
.BR /lib/font/bit " directory of fonts
.SH SOURCE
2004-04-19 19:22:56 +00:00
.B /usr/local/plan9/src/libdraw
2004-04-10 18:53:55 +00:00
.SH "SEE ALSO"
.IR addpt (3),
.IR cachechars (3),
.IR subfont (3),
.IR draw (3),
2004-04-10 18:53:55 +00:00
.IR draw (3),
2005-01-03 06:40:20 +00:00
.IR image (7),
.IR font (7)
2004-04-10 18:53:55 +00:00
.SH DIAGNOSTICS
Because strings are loaded dynamically, these routines may generate I/O
to the server and produce calls to the graphics error function.