STRINGSIZE(2)                                       STRINGSIZE(2)

     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 straightfor-
          ward, 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.

     Page 1                       Plan 9            (printed 12/21/24)