.\" Copyright (C) 2001 Information-technology Promotion Agency (IPA)
.\" Copyright (C) 2001-2009
.\"   National Institute of Advanced Industrial Science and Technology (AIST)
.\" This file is part of the m17n library documentation.
.\" Permission is granted to copy, distribute and/or modify this document
.\" under the terms of the GNU Free Documentation License, Version 1.2 or
.\" any later version published by the Free Software Foundation; with no
.\" Invariant Section, no Front-Cover Texts,
.\" and no Back-Cover Texts.  A copy of the license is included in the
.\" appendix entitled "GNU Free Documentation License".
.TH "mdraw_text_per_char_extents" 3m17n "15 Oct 2009" "" "Version 1.5.5" "" "The m17n Library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
mdraw_text_per_char_extents \- Compute the text dimensions of each character of M\-text. 


.SH SYNOPSIS
int
\fBmdraw_text_per_char_extents\fP (\fBMFrame\fP *
\fIframe\fP, \fBMText\fP *
\fImt\fP, int
\fIfrom\fP, int
\fIto\fP, \fBMDrawControl\fP *
\fIcontrol\fP, \fBMDrawMetric\fP *
\fIink_array_return\fP, \fBMDrawMetric\fP *
\fIlogical_array_return\fP, int
\fIarray_size\fP, int *
\fInum_chars_return\fP, \fBMDrawMetric\fP *
\fIoverall_ink_return\fP, \fBMDrawMetric\fP *
\fIoverall_logical_return\fP)


.SH DESCRIPTION
Compute the text dimensions of each character of M\-text. 
.PP
The
.ft B
mdraw_text_per_char_extents()
.ft R
function computes the drawn metric of each character between
.ft B
from
.ft R
and
.ft B
to
.ft R
of M\-text
.ft B
mt
.ft R
assuming that they are drawn on a window of frame
.ft B
frame
.ft R
using the
.ft B
mdraw_text_with_control()
.ft R
function with the drawing control object
.ft B
control\fP.
.ft R
.PP
\fBarray_size
.ft R
specifies the size of
.ft B
ink_array_return
.ft R
and
.ft B
logical_array_return\fP.
.ft R
Each successive element of
.ft B
ink_array_return
.ft R
and
.ft B
logical_array_return
.ft R
are set to the drawn ink and logical metrics of successive characters respectively, relative to the drawing origin of the M\-text. The number of elements of
.ft B
ink_array_return
.ft R
and
.ft B
logical_array_return
.ft R
that have been set is returned to
.ft B
num_chars_return\fP.
.ft R
.PP
If
.ft B
array_size
.ft R
is too small to return all metrics, the function returns \-1 and store the requested size in
.ft B
num_chars_return\fP.
.ft R
Otherwise, it returns zero.
.PP
If pointer
.ft B
overall_ink_return
.ft R
and
.ft B
overall_logical_return
.ft R
are not
.ft C
NULL\fP,
.ft R
this function also computes the metrics of the overall text and stores the results in the members of the structure pointed to by
.ft B
overall_ink_return
.ft R
and
.ft B
overall_logical_return\fP.
.ft R
.PP
If
.ft B
control\->two_dimensional
.ft R
is nonzero, this function computes only the metrics of characters in the first line. 
.SH COPYRIGHT
Copyright (C) 2001 Information\-technology Promotion Agency (IPA)
.br
Copyright (C) 2001\-2009 National Institute of Advanced Industrial Science and Technology (AIST)
.br
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License 
<http://www.gnu.org/licenses/fdl.html>.
