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 *** *** *** ***#F 27
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
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
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
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
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.
*** *** *** Text index: network traversal *** *** ***#F
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 113
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.
*** *** *** Predefined Bundle Facilities *** *** ***#F 267
SR8. <Inquire predefined text representation> returns the font, precision, character expansion factor, character spacing, and text color index for a predefined text bundle.
#F 226 227 267 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.
*** *** *** Font Precision Pairs Support *** *** ***#F 65 227 266 267
SR10. The valid values for text precision are: STRING, CHAR, or STROKE.
#F 27 62 65
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
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 65 266
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
SR14. Text fonts 1 and 2 both contain all the ASCII characters, i.e. those defined within ANSI X3.4-1986.
#F
SR15. Text fonts 1 and 2 are visually distinguishable.
#F
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
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
SR18. Text font 1 is monospaced.
#F
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 65 227 266
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
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
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
SR23. For text precision = STROKE, annotation text is displayed with all text aspects applied exactly.
*** *** Character Expansion Factor Support *** ***#F 27 62 65
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 269
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 266
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.
*** *** *** Character Spacing Support *** *** ***#F 27 62 65
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 269
SR28. Character spacing specifies the TLC distance (positive) or overlap (negative) between adjacent character bodies, expressed in units of the font nominal character height.
*** *** *** Text Color Index Support *** *** ***#F 27 62 65
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 227 235
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
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.
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
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.
You may inspect either the design or code for this program.