Module #04.02.04.02 : Annotation text - workstation support

All PVT documentation can be found under PHIGS Validation Tests - Overview. You may also return to the hierarchical table of topics covered by the PVT. For an explanation of the format of the individual module documentation, please see section 2.5 of the User's Guide.


DESCRIPTION: This module tests the bundled entries and other
workstation facilities for Annotation text.  These entries control
the appearance of Annotation text when they are under bundled (as
opposed to individual) control.

SEMANTIC REQUIREMENTS:

*** *** *** ***   Text index   *** *** *** ***


SR1. Upon traversal of a "annotation text relative" or "annotation text relative 3" element, the current text index in the PTSL is bound to the resulting primitive.
#F 27
#D 7.3.1.7 7.3.1.8 3.3.1
#S 4.5.2/38/3
#T P01/1 P01/2 P01/3 P02/1 P02/2 P03/1 P03/2 P03/3 P03/4 P03/5 P03/6
#T P04/1 P04/2 P04/3 P04/4 P04/5 P04/6 P06/1 P06/2 P06/3 P06/4 P07/1
#T P07/2 P08/1

SR2. <Set text index> creates a "set text index" element (in the open structure), whose associated value is taken from the function's parameter.
#F 27
#D 7.3.2.1.3
#S 4.4.1/23/1 4.5.2/38/3
#T P02/1 P02/2

SR3. Upon traversal of a "set text index" element, the current text index entry in the PHIGS traversal state list (PTSL) is set to the element's associated value.
#F 27
#D 3.3.1 7.3.2.1.3
#S 4.4.1/23/1 4.5.2/38/3
#T P02/1 P02/2 P03/1 P03/2 P03/3 P03/4 P03/5 P03/6 P04/1 P04/2 P04/3
#T P04/4 P04/5 P04/6 P06/1 P06/2 P06/3 P06/4 P07/1 P07/2 P08/1

SR4. When an annotation text relative primitive is displayed, if its bound text index is defined on the workstation, then the indicated bundle is the source for the bundled aspects of that primitive.
#F 27
#D 3.3.1 5.11.1 5.11.2
#S 4.5.2/38/7 4.5.2/39/7 4.5.5/44/10
#T P01/1 P01/2 P01/3 P02/1 P03/1 P03/2 P03/3 P03/4 P03/5 P03/6 P04/1
#T P04/2 P04/3 P04/4 P04/5 P04/6 P06/1 P06/2 P06/3 P06/4 P07/1 P07/2
#T P08/1

SR5. When an annotation text relative primitive is displayed, if its bound text index is undefined on the workstation, then bundle number 1 in the text bundle table is the source for the bundled aspects of that primitive.
#F 27
#D 3.3.1 5.11.1 5.11.2
#S 4.5.2/38/7 4.5.2/39/7 4.5.2/43/3 4.5.5/44/10
#T P02/2
*** *** ***   Text index: network traversal   *** *** ***


SR6. At the start of a top-level traversal of a structure network (not a sub-traversal caused by execute structure), the current text index of the PTSL is set to 1.
#F
#D 2.12.1 3.3.1
#S 4.4.3/26/2 4.4.3/28/1 6.3/309/1
#T P08/1

SR7. As part of the PTSL, the current text index is saved (but not changed) by execute structure and then, upon completion of the sub-traversal of the invoked network, restored to the saved value.
#F 113
#D 3.3.1
#S 4.4.3/28/1
#T P08/1
*** *** ***   Predefined Bundle Facilities   *** *** ***


SR8. <Inquire predefined text representation> returns the font, precision, character expansion factor, character spacing, and text color index for a predefined text bundle.
#F 267
#D 6.12.2
#S
#T P01/1 P01/2 P01/3

SR9. Immediately after <open workstation>, for each WDT predefined text entry there exists a Workstation State List (WSL) text entry with the same attributes, including the same text index.
#F 226 227 267 3
#D 5.11.2 6.12.2
#S 4.5.2/42/3 6.6/317/1 6.7/322/1
#T P01/1 P01/2
*** *** ***   Font Precision Pairs Support   *** *** ***


SR10. The valid values for text precision are: STRING, CHAR, or STROKE.
#F 65 227 266 267
#D 5.11.2.3 6.12.1.2.1 6.12.2.2
#S 4.5.5/47/5
#T P03/1 P03/2 P03/3 P03/4 P03/5

SR11. When an annotation text relative primitive is displayed, if its text font ASF is bundled, then its text font aspect is taken from the text bundle determined by the text index.
#F 27 62 65
#D 3.3.1 3.3.7 5.11.2.1 5.11.2.2
#S 4.5.2/39/7 4.5.5/44/10
#T P03/1 P03/2 P03/3 P03/4 P03/5 P03/6 P04/1 P04/2 P04/3 P04/4 P04/5
#T P04/6 #C Only valid text fonts may be set in text bundles, so that
the font must be available.

SR12. When an annotation text relative primitive is displayed, if its text precision ASF is bundled, then its requested text precision is taken from the text bundle determined by the text index.
#F 27 62 65
#D 3.3.1 3.3.8 5.11.2.1 5.11.2.3
#S 4.5.2/39/7 4.5.5/44/10
#T P03/1 P03/2 P03/3 P03/4 P03/5 P03/6 P04/1 P04/2 P04/3 P04/4 P04/5
#T P04/6 P05/1

SR13. When an annotation text relative primitive is displayed, then the appearance of the text font agrees with the implementor documentation and, if the text font is greater than 2, with the ISO register.
#F 65 266
#D 5.11.2.2 6.12.1.1 6.12.1.2
#S 4.1.1/15/1 4.1.2/15/2 4.5.2/39/7 4.5.5/44/10 4.5.5/47/4 4.5.5/48/6
#T P03/1 P03/2 P03/3 P03/4 P03/5 P04/1 P04/2 P04/3 P04/4 #C For registered fonts, the details of character shapes may be
set by the implementor, even though the basic character set is
specified.

SR14. Text fonts 1 and 2 both contain all the ASCII characters, i.e. those defined within ANSI X3.4-1986.
#F
#D 2.7
#S 4.5.5/47/4 4.5.5/48/5
#T P03/1 P03/2 P03/3 P03/4 P04/6

SR15. Text fonts 1 and 2 are visually distinguishable.
#F
#D
#S 4.5.5/47/4 4.5.5/48/5
#T P03/5

SR16. For all text fonts, a character body in TLC, before application of annotation character up vector, is a rectangle generally surrounding the character, aligned such that the top, cap, half, base, and bottom lines are all parallel to the TLC x-axis and the left, centre, and right lines are all parallel to the TLC y-axis.
#F
#D
#S 4.5.5/48/6 4.5.5/48/7
#T P03/6 P04/5 #C A small part of a kerned character may lie slightly outside
its character body.

SR17. All text fonts are either monospaced or proportionately spaced. All character bodies within a monospaced font have the same font nominal height and the same font nominal width. All character bodies within a proportionately spaced font have the same font nominal height.
#F
#D
#S 4.5.5/48/6
#T P03/6 P04/5 #C In monospaced fonts, the nominal height need not equal the
nominal width. Font nominal height and width is the size, in
TLC, of the character bodies of a given font as set by the
character height and width aspects, before the application of
other text aspects and before the effect of the transformation
pipeline.

SR18. Text font 1 is monospaced.
#F
#D
#S 4.5.5/48/5 4.14/113/3
#T P03/6 P06/1 P06/2

SR19. If a requested character in an annotation text relative primitive is not available within the font, an implementation dependent representation is generated to so indicate.
#F
#D
#S 4.5.5/47/4
#T P04/6

SR20. A valid text precision (one that may be set by <set text representation>, together with the specified text font) is realized as itself or some higher precision.
#F 65 227 266
#D 5.11.2.3 6.12.1.1 6.12.1.2
#S 4.5.5/48/5
#T P05/1

SR21. For text precision = STRING, the annotation text string as a whole is displayed with the appropriate text font and the nearest DC character expansion factor available on the workstation, based on the first character in the annotation text string.
#F
#D 6.12.1.6 6.12.1.7 6.12.1.8
#S 4.5.5/47/5 4.5.5/48/3 4.5.5/49/5
#T P04/2 P04/4 P05/1 #C In the case where STRING is used as a result of coercion from
an unavailable font and precision, then the actual font (1) may
differ from the requested font. See SRs below for details of
coercion of character height and expansion factor.

SR22. For text precision = CHAR, each character of the annotation text is displayed with the requested text font and the nearest DC character expansion factor available on the workstation. Character spacing and annotation text alignment aspects are applied exactly.
#F
#D 6.12.1.6 6.12.1.7 6.12.1.8
#S 4.5.5/47/5 4.5.5/48/3 4.5.5/49/5
#T P04/2 P04/4 P05/1 #C See SRs below for details of coercion of character height and
expansion factor.

SR23. For text precision = STROKE, annotation text is displayed with all text aspects applied exactly.
#F
#D
#S 4.5.5/48/1 4.5.5/49/5
#T P03/6 P04/5 P06/1 P06/2 P06/3 P06/4
*** ***   Character Expansion Factor Support   *** ***


SR24. When an annotation text relation primitive is displayed, if its character expansion factor ASF is bundled, then its TLC character expansion factor is taken from the text bundle determined by the text index.
#F 27 62 65
#D 3.3.1 3.3.9 5.11.2.1 5.11.2.4
#S 4.5.2/39/7 4.5.5/44/10
#T P03/6 P04/5 P05/1 P06/1 P06/2 P06/3 P06/4

SR25. The magnitude of the TLC character expansion factor specifies the amount by which the font nominal width/height ratio of individual TLC character bodies is multiplied to yield the actual TLC width/height ratio.
#F 269
#D
#S 4.5.5/45/2 4.5.5/45/4 5.4.2/138/6
#T P03/6 P04/5 P05/1 P06/1 P06/2 P06/3 P06/4

SR26. When an annotation text relative primitive is displayed, then the actual DC character expansion factor used when displaying the text is the nearest available to the requested DC character expansion factor resulting from its TLC character expansion factor (after undergoing modelling, viewing and workstation transformations). The requested DC character expansion factor equals the requested DC width to height ratio times the character's font nominal height to width ratio.
#F 266
#D 5.11.2.4 6.12.1.6 6.12.1.7 6.12.1.8
#S 4.5.5/49/2 4.5.5/49/4 4.5.5/49/5 5.4.2/138/6 4.5.5/47/5
#T P05/1 P06/1 P06/2 P06/3 P06/4 #S 4.14/114/2 5.4.2/138/6
#C Character expansion factor may be approximated only for STRING
or CHAR text precision; STROKE precision implies exact
realization. See the SRs on text precision, above. Of course,
by the above rule, if a requested expansion factor is available
on the workstation, then the result is exact for any precision.
Note also that requested DC expansion factor may well differ from
nominal TLC expansion factor, since it reflects both that nominal
factor and the effects of modelling and viewing transformation.
For instance, in the case of a horizontal text string, if the
nominal factor is 2.0 and a modelling transformation scales X
(but not Y) by 3.0, the effective requested DC expansion factor
will be 6.0.
*** *** ***   Character Spacing Support   *** *** ***


SR27. When an annotation text relative primitive is displayed, if its character spacing ASF is bundled, then its requested character spacing is taken from the text bundle determined by the text index.
#F 27 62 65
#D 3.3.1 3.3.10 5.11.2.1 5.11.2.5
#S 4.5.2/39/7 4.5.5/44/10
#T P03/6 P04/5 P06/1 P06/2 P06/3 P06/4 #C See SRs above on text precision for derivation of actual
character from requested character spacing. For STROKE and CHAR
precision, the requested character spacing is realized exactly.

SR28. Character spacing specifies the TLC distance (positive) or overlap (negative) between adjacent character bodies, expressed in units of the font nominal character height.
#F 269
#D
#S 4.5.5/45/3
#T P03/6 P04/5 P06/1 P06/2 P06/3 P06/4
*** *** ***   Text Color Index Support   *** *** ***


SR29. When an annotation text relative primitive is displayed, if its text colour index ASF is bundled, then its requested text colour index is taken from the text bundle determined by the text index.
#F 27 62 65
#D 3.3.1 3.3.11 5.11.2.1 5.11.2.6
#S 4.5.2/39/7 4.5.5/44/10
#T P07/1 P07/2

SR30. When annotation text is displayed, if its requested text colour index is defined on the workstation, then the text colour index is realized as itself.
#F 227 235
#D 5.11.2.6 5.15.3
#S 4.5.2/39/7 4.5.5/44/10 4.5.12/63/4
#T P07/1

SR31. When annotation text is displayed, if its requested text colour index is not defined on the workstation, then the text colour index is realized as number 1.
#F 227 235
#D 5.11.2.6 5.15.3
#S 4.5.2/39/7 4.5.2/43/3 4.5.5/44/10 4.5.12/63/4
#T P07/2
LOCAL DICTIONARY:

  Functions ---
  003: popwk   <open workstation>
  027: pstxi   <set text index>
  062: psiasf  <set individual asf>
  065: pstxr   <set text representation>
  113: pexst   <execute structure>
  226: pqetxi  <inquire list of text indices>
  227: pqtxr   <inquire text representation>
  235: pqeci   <inquire list of colour indices>
  266: pqtxf   <inquire text facilities>
  267: pqptxr  <inquire predefined text representation>
  269: pqtxx   <inquire text extent>
 
  Data Structures ---
  2  ...  phigs_description_table
  2.7  ...  list_of_available_character_sets
  2.12 ...  default_text_attributes
  2.12.1  ...  default_text_index
  3  ...  phigs_traversal_state_list
  3.3  ...  current_text_attributes
  3.3.1  ...  current_text_index
  3.3.7  ...  current_text_font_asf
  3.3.8  ...  current_text_precision_asf
  3.3.9  ...  current_character_expansion_factor_asf
  3.3.10 ...  current_character_spacing_asf
  3.3.11 ...  current_text_colour_index_asf
  5  ...  workstation_state_list
  5.11  ...  text_entry
  5.11.1  ...  number_of_text_bundle_table_entries
  5.11.2  ...  text_bundle_table
  5.11.2.1  ...  text_index
  5.11.2.2  ...  text_font
  5.11.2.3  ...  text_precision
  5.11.2.4  ...  character_expansion_factor
  5.11.2.5  ...  character_spacing
  5.11.2.6  ...  text_colour_index
  5.15  ...  colour_entry
  5.15.3  ...  colour_table
  6  ...  workstation_description_table
  6.12  ...  text_entry
  6.12.1  ...  text_facilities
  6.12.1.1  ...  number_of_text_font_and_precision_pairs
  6.12.1.2  ...  list_of_text_font_and_precision_pairs
  6.12.1.2.1  ...  text_font_and_precision_pair
  6.12.1.6  ...  number_of_available_character_expansion_factors
  6.12.1.7  ...  minimum_character_expansion_factor
  6.12.1.8  ...  maximum_character_expansion_factor
  6.12.2  ...  predefined_text_bundle_table
  6.12.2.2  ...  text_precision
  7  ...  structure_state_list
  7.3  ...  list_of_structure_elements
  7.3.1  ...  graphical_primitives
  7.3.1.7  ...  annotation_text_relative_3
  7.3.1.8  ...  annotation_text_relative
  7.3.2  ...  primitive_attributes
  7.3.2.1  ...  bundle_index_attributes
  7.3.2.1.3  ...  text_index
 




PROGRAM 1: Appearance of predefined text bundles

You may inspect either the design or code for this program.


PROGRAM 2: Text bundle index

You may inspect either the design or code for this program.


PROGRAM 3: Appearance of text fonts 1 and 2

You may inspect either the design or code for this program.


PROGRAM 4: Appearance of all text fonts

You may inspect either the design or code for this program.


PROGRAM 5: Appearance of character expansion factor for STRING and CHAR precision

You may inspect either the design or code for this program.


PROGRAM 6: Appearance of character expansion factor and character spacing

You may inspect either the design or code for this program.


PROGRAM 7: Appearance of text color index

You may inspect either the design or code for this program.


PROGRAM 8: Network inheritance and initialization of text index

You may inspect either the design or code for this program.

End of documentation for 04.02.04.02