ref: 1cff9ab4e8412d5c6b6a3cbca720fbc4bcccecd9
dir: /sys/man/2/stringsize/
.TH STRINGSIZE 2 .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 .B /sys/src/libdraw .SH "SEE ALSO" .IR addpt (2), .IR cachechars (2), .IR subfont (2), .IR draw (2), .IR draw (3), .IR image (6), .IR font (6) .SH DIAGNOSTICS Because strings are loaded dynamically, these routines may generate I/O to the server and produce calls to the graphics error function.