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
/sys/src/libdraw

SEE ALSO
addpt(2), cachechars(2), subfont(2), draw(2), draw(3), image(6), font(6)

DIAGNOSTICS
Because strings are loaded dynamically, these routines may generate I/O to the server and produce calls to the graphics error function.