Returns the value of a property in a font resource. The
arguments name:, family-name:, weight:,
posture:, structure:, or proportionate-width:
select
the font in the same manner as the corresponding characteristics, with
a prefix of font- added, of a character flow object. The
size: argument is a length specifying the size of the font,
which shall be supplied if the ISO/IEC 9541-1 data type of the value is
REL-RATIONAL. string is a string representing a public
identifier specifying the name of the property. list is a list,
each of whose members is either:
| • a list of three strings and an object. |
The property value to be returned shall be determined as follows.
Initially,
the active property-list is the font-resource property-list. Each
member of list in turn shall set the active property-list to a
property-list nested in the active property-list, as follows:
| • If the member is a string, then it shall set the property-list to the
property-list
that is the value of the property of that name in the active
property-list. |
| • Otherwise, the active property-list shall be searched for a
property whose name is equal to the first string.
The value of the property shall be a property-list.
The active property-list shall be set to the value of the property in
that list whose name is equal to the
second string and whose value is a property-list that
contains a property whose name is equal to the third string
and whose value is equal to the fourth member of the list. |
Finally, the value of the property whose name is string in the
active property-list shall be returned.
The optional writing-mode: argument shall have one of the values
left-to-right, right-to-left, or top-to-bottom.
The value left-to-right
is equivalent to prefixing list with the list
("ISO/IEC 9541-1//WRMODES"
"ISO/IEC 9541-1//WRMODE"
"ISO/IEC 9541-1//WRMODENAME"
"ISO/IEC 9541-1//LEFT-TO-RIGHT")
and so on for the other allowed values.
The object returned shall depend on the data type of the value of
the property as defined in ISO/IEC 9541-1:
| • for a BOOLEAN property, a boolean value shall be returned. |
| • for a STRUCTURED-NAME, a string containing the ISO 9070 canonical
representation shall be returned. |
| • for MATCH-STRING or MESSAGE, a string shall be returned. |
| • for OCTET, INTEGER, CARDINAL, or CODE, a number shall be returned. |
| • for REL-RATIONAL, a length shall be returned which is obtained
by scaling the font size. |
| • for ANGLE, a number shall be returned corresponding to the angle
in degrees. |
| • for an OCTET-STRING, a list of integers shall be returned. |
| • for a value-list or an ordered-value-list, a list containing
the result of converting the members of the value-list
or ordered-value-list shall be returned. |
Other types of values shall cause an error to be signaled.