.\"##
.\" $XConsortium: p381,v 5.2 94/04/17 20:58:54 rws Exp $
.\"##
.\"## 
$XMCOPY
.\"## Copyright (c) 1990, 1991 by Sun Microsystems, Inc. 
.\"## 
.\"##                         All Rights Reserved
.\"## 
.\"## Permission to use, copy, modify, and distribute this software and its 
.\"## documentation for any purpose and without fee is hereby granted, 
.\"## provided that the above copyright notice appear in all copies and that
.\"## both that copyright notice and this permission notice appear in 
.\"## supporting documentation, and that the name of Sun Microsystems,
.\"## not be used in advertising or publicity 
.\"## pertaining to distribution of the software without specific, written 
.\"## prior permission.  
.\"## 
.\"## SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 
.\"## INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
.\"## EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
.\"## CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
.\"## USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
.\"## OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\"## PERFORMANCE OF THIS SOFTWARE.
.TH "SET TEXT PRECISION" 3P "29 February 1991"
.SH NAME
SET TEXT PRECISION \- create a structure element to set the current text precision attribute
.IX "Aspect Source Flags" "SET TEXT PRECISION"
.IX "Text Attributes" "SET TEXT PRECISION"
.IX "Attributes, Text Attributes" "SET TEXT PRECISION"
.SH SYNOPSIS
.SS C Syntax
.ft B
.ta 1.25i 3i
.nf
void
pset_text_prec ( precision )
Ptext_prec	precision;	\fItext precision\fP
.fi
.ft R
.SS Required PHIGS Operating States
(PHOP, *, STOP, *)
.SH DESCRIPTION
.SS Purpose
\s-2SET TEXT PRECISION\s+2 creates a structure element
containing a value for the current text precision attribute,
which controls how closely the text must be drawn in
relation to the font definition and the applicable text attributes.
.LP
When the current text precision Aspect Source Flag (\s-2ASF\s+2) is set to
\s-2INDIVIDUAL\s+2, this attribute
defines the text precision applied to the output primitives:
.RS
.ta 0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i +0.2i
.LP
\(bu
.SM "TEXT"
.LP
\(bu 
.SM "TEXT 3"
.LP
\(bu
.SM "ANNOTATION TEXT RELATIVE"
.LP
\(bu
.SM "ANNOTATION TEXT RELATIVE 3"
.ta
.RE
.SS C Input Parameter
.IP \fIprecision\fP
The text precision is an enumerated type with one of the following values:
.sp
.ta .5i +\w'PPREC_STRING     'u
.nf
PPREC_STRING	\fIString Precision\fP
PPREC_CHAR	\fICharacter Precision\fP
PPREC_STROKE	\fIStroke Precision\fP
.sp
.fi
.SS Execution
If the current edit mode is \s-2INSERT\s+2, 
a \s-2SET TEXT PRECISION\s+2 element is inserted into the currently open
structure after the element pointed to by the current element pointer. If
the edit mode is \s-2REPLACE\s+2, the new
\s-2SET TEXT PRECISION\s+2 element
replaces the element pointed to by the element pointer. In either case, the
element pointer is updated to point to the new element.
.LP
When the \s-2SET TEXT PRECISION\s+2 element is traversed,
the current text precision
entry in the traversal state list is set to text precision.
.LP
When the current text precision \s-2ASF\s+2 is set to
\s-2INDIVIDUAL\s+2, the text output primitives that follow in
the structure network are then drawn with the precision specified.
.LP
The text precision attribute allows the tradeoff of quality and performance
for text primitives.
.IP \fIStroke\fP
Stroke precision
demands adherence to all
text attributes. Clipping must be performed on portions of
characters, but need not involve vector strokes.
Stroke precision provides the highest quality available.
.IP \fICharacter\fP
Character precision allows the implementation to
clip on a character-by-character basis. If any portion of a character
is outside the clipping limits, the entire character can be clipped.
.IP \fIString\fP
String precision allows the implementation to ignore the
\fIcharacter up\fR and \fIcharacter base\fR vectors, text path, text alignment, and
character spacing, and permits clipping in an implementation-dependent way.
.LP
The default text font is 1.
The default text precision is \fIString\fP precision.
The default is used when the font selected is
not available in the selected precision on the workstation.
.LP
When the current text precision \s-2ASF\s+2 is set to \s-2BUNDLED\s+2,
the text precision is taken from the
workstation's representation indicated by the current text index.
In this case, the text precision set with \s-2SET TEXT
PRECISION\s+2 has no effect.
.SH ERRORS
.IP 005
Ignoring function, function requires state (\s-2PHOP, *, STOP, *\s+2)
.SH SEE ALSO
.nf
.IP
.ta 0.5i
.SM "SET TEXT FONT (3P)"
.SM "SET INDIVIDUAL ASF (3P)"
.SM "SET TEXT REPRESENTATION (3P)"
.SM "SET TEXT REPRESENTATION PLUS (3P+)"
.fi
