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
|
2005-01-11 17:37:33 +00:00
|
|
|
.B \*9/src/libdraw
|
2004-04-10 18:53:55 +00:00
|
|
|
.SH "SEE ALSO"
|
2004-04-11 03:42:27 +00:00
|
|
|
.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.
|