Calculate rectangular XTEXT metrics

xcall MIAMEX, MX_GDICALC, MXGDI_CALCRECTX, handle, status, lft, top, rght, btm, file, height, offset

This is used to calculated the XTEXT metrics required for use with the GDI print command //XTEXT, and is essentially the same as the existing MXGDI_CALCRECT (opcode 3) except:

• The memo argument in MXGDI_CALCRECT is replaced here by file, which specifies the filespec of the text file to analyze.

• The overflow argument in MXGDI_CALCRECT is replaced here by offset, which indicates the offset within the file. On input, it is the starting offset (default 0). On output, it will be 0 if the entire file fits within the specified rectangle. Otherwise, it will be the offset to the first character that did not fit (which can then be passed to a subsequent MX_GDICALC call).

• Note that unlike MXGDI_CALCRECT, where the font and other spacing factors must be set in advance (via MX_GDICALC opcode 2), with XTEXT printing, the font and other layout parameters are set within the text file (particularly in the case of RTF files).

The MMOGDI sample program in [908,37] of the EXLIB illustrates the use of //XTEXT and MX_GDICALC, MXGDI_CALCRECTX

This function also works in ATE. As with XTEXT.SBR, a file resident on the server will be transferred to ATECACHEDIR on PC. Since the use of MXGDI_CALCRECTX implies that this will happen multiple times per file printed, you might want to optimize the operation, if you are doing it on a lot of files, by pre-transferring the files to the ATECACHEDIR and then referencing the filespec as "%ATECACHEDIR%\xxxxxx.yyy".