| STRINGSIZE(3) | STRINGSIZE(3)
| NAME
| stringsize, stringwidth, stringnwidth, runestringsize, runestringwidth, runestringnwidth – graphical size of strings
SYNOPSIS
| `#include <u.h> #include <libc.h> #include <draw.h>
` `Point stringsize(Font *f, char *s)
` `int stringwidth(Font *f, char *s)
` `int stringnwidth(Font *f, char *s, int n)
` `Point runestringsize(Font *f, Rune *s)
` `int runestringwidth(Font *f, Rune *s)
` `int runestringnwidth(Font *f, Rune *s, int n)`
DESCRIPTION
| These routines compute the geometrical extent of character strings when drawn on the display. The most straightforward, `stringsize`, returns a `Point` representing the vector from upper left to lower right of the NUL-terminated string s drawn in font f. `Stringwidth` returns just the x component. `Stringnwidth` returns the width of the first n characters of s.
The routines beginning with `rune` are analogous, but accept an array of runes rather than UTF-encoded bytes.
FILES
| `/lib/font/bit` directory of fonts
SOURCE
| `/usr/local/plan9/src/libdraw`
SEE ALSO
| addpt(3), cachechars(3), subfont(3), draw(3), draw(3), image(7), font(7)
DIAGNOSTICS
| Because strings are loaded dynamically, these routines may generate I/O to the server and produce calls to the graphics error function.