mdraw_text_per_char_extents(3) Compute the text dimensions of each character of M-text.


int mdraw_text_per_char_extents (MFrame * frame, MText * mt, int from, int to, MDrawControl * control, MDrawMetric * ink_array_return, MDrawMetric * logical_array_return, int array_size, int * num_chars_return, MDrawMetric * overall_ink_return, MDrawMetric * overall_logical_return)


Compute the text dimensions of each character of M-text. The mdraw_text_per_char_extents() function computes the drawn metric of each character between from and to of M-text mt assuming that they are drawn on a window of frame frame using the mdraw_text_with_control() function with the drawing control object control.

array_size specifies the size of ink_array_return and logical_array_return. Each successive element of ink_array_return and logical_array_return 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 ink_array_return and logical_array_return that have been set is returned to num_chars_return.

If array_size is too small to return all metrics, the function returns -1 and store the requested size in num_chars_return. Otherwise, it returns zero.

If pointer overall_ink_return and overall_logical_return are not NULL, this function also computes the metrics of the overall text and stores the results in the members of the structure pointed to by overall_ink_return and overall_logical_return.

If control->two_dimensional is nonzero, this function computes only the metrics of characters in the first line.


Copyright (C) 2001 Information-technology Promotion Agency (IPA)
Copyright (C) 2001-2011 National Institute of Advanced Industrial Science and Technology (AIST)
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License <>.