ISO/IEC TR 15413:2000
The technology to access large font libraries has become an increasingly important concern of document processing, electronic publishing, and application support facilities such as printing and display services.
This Technical Report specifies a system-independent interface to font services that provides for distribution, management and use of font resources.
This Technical Report is organized as follows:
ISO/IEC TR 15413:2000
This Technical Report provides the access facilities which can be used for creation, distribution, management, and use of font resources conforming to the architecture of ISO/IEC 9541.
This Technical Report is intended to be used in a variety of configurations meeting a variety of connectivity needs, including communication protocols, application programming interfaces, and application services.
This Technical Report defines an abstract interface to the font access facilities. This Technical Report will not specify the concrete syntax for a language binding of font service facilities, nor the concrete protocol used to communicate between the systems that provides or uses the font service facilities.
NOTE The first approach of JTC1/SC18 for Font Services was taken to develop an International Standard with two parts:During the standardization activities JTC1/SC18 found that the protocol for font resource interchange was still under technical development and changed the target to Technical Report for Font Services - Abstract Service Definition.
- Part 1: Abstract Service Definition
- Part 2: Protocol Specification.
This Technical Report is intended for use in a wide variety of document processing environments, including:
The following standards contain provisions that, through reference in this text, constitute provisions of this Technical Report. At the time of publication, the editions indicated are valid. All standards are subject to revision, and parties to agreements based on this Technical Report are encouraged to investigate the possibility of applying the most recent editions of the standards indicated below. Members of IEC and ISO maintain registers of currently valid International Standards.
For the purposes of this Technical Report, the following definitions apply.
3.1 font manager:
A font service user that installs font resources into a system environment, manages the font usage and administers associated contracts (regarding access, royalties, etc.).3.2 font property
: A property as defined in ISO/IEC 9541-1.3.3 font provider
: A font service user that designs typefaces, creates new font resources for sale and distribution (Design Source) or acquires font resources on consignment or for re-marketing with or without intervening modification (Data Source).3.4 font query
: A query which is sent from a font service user to a font service entity to get or modify some font resource information.3.5 font requester
: A font service user that requests font resource information to create format, print, or display documents in a single or multi-system environment.3.6 font resource information
: A block of information about a font resource or some font resources which is returned from a font service entity to a font service user as the result of a font query.3.7 font service
: An interchange facility between a font service user and a server of font resources.3.8 font service API
: The interface between a font service user and a font service entity.3.9 font service entity : An entity (or set of connected entities) which provides access facilities to resolve requests from font service users.
3.10 font service protocol
: The relationship between font service entities to convey font service commands and responses.3.11 font substitution
: Substitution of an alternative font resource for a specified font resource which is not available.3.12 font service user
: A person and/or application software that provides requests, or manages font information in a computer system or network.3.13 glyph association
: the mapping or association of character codes (usually in an unformatted document data stream) to the glyph information contained in a font resource.3.14 glyph substitution
: Substitution (usually in a formatted document data stream) of an alternative glyph for a specified glyph which is not available in a requested font resource.Font service users are classified in the following three categories. In this Technical Report, the term
"font service user" is used to represent all kinds of person(s) and application software in these categories.Font service entity is an entity which provides facilities to access font resource information for font service users. This entity will be implemented as a program or component of a processing system which receives the font queries from font service users and returns font information.
A font service entity manages a set of font resources. Any information retrieval and/or modification on one of those font resources shall be done by this entity. In the case that a font service user sends a font query to a font service entity to get some information from a font resource which is not directly managed by the font service entity, the entity may send a font query to get the information from another font service entity. In such a case, a font service entity itself may act as a font service user to another font service entity.
Figure 4-1 shows a simplified model of the relationship between a font service entity and font service users.
Figure 4-1: Relationship between font service entity and font service users.
Figure 4-2 shows the relationship between the font service entity and the ISO/IEC JTC1/SC18 document processing architecture.
Figure 4-2: Relationship between font service entity and SC18 document processing architectures.
The font resource information requested by these processes is different process by process. Formatting and Layout Process requests the description and metrics information. Presentation Process requests all the font resource information (description information, metrics information, and glyph shape information).
There may be a process called Font Installation and Maintenance Process, which provides new font resources to be managed by the font service entity. This process also executes the usage monitoring and the access control of each font resource.
This Technical Report defines the Abstract Font Service Interface (AFSI), which specifies the abstract interface between a font service user and a font service entity.
This Technical Report defines the AFSI as a set of specifications of
"primitives ".A primitive is a unit of communications between the font service entity and font service users. In this Technical Report, each primitive is defined as an abstract service which takes zero or more parameters, and returns zero or more results. Some primitives modify the internal data objects and/or the status of the font service entity as the side effect.This clause defines data types used in the definitions of the Abstract Font Service Interface (AFSI).
Types used in AFSI are classified in two categories, base types and composite types. Base types are simple, elemental types and values of base types have no subordinate structures. Composite types are structures constructed from base types and/or other composite types.
The set of values of type Boolean consists of two values, true and false. These values represent logical value true and false, respectively.
Each value of type Integer represents an integer number within the range -232 to 232 - 1 inclusive.
Each value of type Cardinal represents an unsigned integer number within the range 0 to 232 - 1 inclusive.
Each value of type Octet represents an 8-bit byte data.
Each value of type Handle represents an unsigned integer number within the range 0 to 232 - 1 inclusive, which uniquely identifies a data object that exists in the font service entity. Font service users can access these data objects through Handles. The value 0 (zero) is reserved to indicate a NULL handle.
A value of type OctetString is an ordered sequence of octets.
A value of type Vector is an ordered sequence of values. Each value contained in a Vector may be a value of any type defined in this Technical Report.
A value of type PropertyList represents a corresponding value of the type property-list which is defined in ISO/IEC 9541-1.
A value of type UserInformationList represents a corresponding value of the type user-information-list which is defined in detail, according to the following structure:
User Information List ui_dataversion-userinformation ::= ui_dataversion-name, ui_dataversion-value ui_datadversion-name ::= STRUCTURED-NAME -- ISO/IEC 155413//UI_DATAVERSION ui_dataversion-value ::= CARDINAL userid-userinformation-list ::= userid-name,userid-value-userinformatin-list userid-name ::= STRUCTURED-NAME -- ISO/IEC 155413//USERID userid-value-userinformation-list ::= ( username-userinformation, accesscode-use rinformation, groupid-userinformation, usercomment-userinformation)* username-userinformation ::= username-name,username-value username-name ::= STRUCTURED-NAME -- ISO/IEC 155413//USERNAME username-value ::= OCTET_STRING accesscode-userinformation ::=accesscode-name,accesscode-value accesscode-name ::= STRUCTURED-NAME -- ISO/IEC 155413//ACCESSCODE accesscode-value ::= OCTET_STRING groupid-userinformation ::=groupid-name,groupid-value groupid-name ::= STRUCTURED-NAME -- ISO/IEC 155413//GROUPID groupid-value ::= groupid-code groupid-code ::= INTEGER { Font Providers (0), Font Managers (1), Font Requesters (2) } usercomment-userinformation ::=usercomment-name,usercomment-value usercomment-name ::= STRUCTURED-NAME -- ISO/IEC 155413//UESRCOMMENT usercomment-value ::= OCTET_STRING
A value of type LicenseInformationList represents a corresponding value of the type license-information-list which is defined in defined in detail, according to the following structure:
Lisence Information List li_dataversion-licenseinformation := li_dataversion-name, li_dataversion-value li_dataversion-name ::= STRUCTURED-NAME -- ISO/IEC 155413//LI_DATAVERSION li_dataversion-value ::= CARDINAL expiredate-licenseinformation ::= expiredate-name, expiredate-value expiredate-name ::= STRUCTURED-NAME -- ISO/IEC 155413//EXPIREDATE expiredate-value := (expireyear-licenseinformation, expiremonth-licenseinformati on, expireday-licenseinformation) expireyear-licenseinformation ::= expireyear-name, expireyear-value expireyear-name ::= STRUCTURED-NAME -- ISO/IEC 155413//EXPIREYEAR expireyear-value ::= OCTET_STRING expiremonth-licenseinformation ::= expiremonth-name, expiremonth-value expiremonth-name ::= STRUCTURED-NAME -- ISO/IEC 155413//EXPIREMONTH expiremonth-value ::= OCTET_STRING expireday-licenseinformation ::= expireday-name, expireday-value expireday-name ::= STRUCTURED-NAME -- ISO/IEC 155413//EXPIREDAY expireday-value ::= OCTET_STRING
This clause defines the notation used to define each primitive in clause 7.
For each primitive in this Technical Report, the primitive description specifies:
The OpenSession primitive takes one parameter:
and returns two result:
The OpenSession primitive establishes a session between a font service user and the font service entity for the purpose of accessing the font resource information.
The result status represents the completion status of the primitive. It takes one of the following values:
The result session-id represents the handle which identifies the newly opened font service session. This result is void when the value of the result status is other than OK.
The value of session-id must be specified as one of the parameters for all other AFSI primitives.
The CloseSession primitive takes one parameter:
and returns one result:
The CloseSession primitive closes an opened session between a font service user and the font service entity.
The parameter session-id specifies an open session to be closed. The value of this parameter must be a value returned from the primitive OpenSession as the result session-id.
The result status represents the completion status of the primitive. It takes one of the following values:
The AssignFontReference primitive takes two parameters:
and returns two results:
The AssignFontReference primitive assigns the specified property-list to the specified font-reference. After the successful completion of this primitive, the assigned font-reference may be used as a parameter for query primitives instead of the property-list itself.
The result status represents the completion status of the primitive. It takes one of the following values:
The ClearFontReference primitive takes two parameters:
and returns one result:
The ClearFontReferenceName primitive cancels the assignment of the specified font-reference to a property list.
The ListFontReferenceProperties primitive takes two parameters:
and returns two results:
The ListFontReferenceProperties primitive return the property list which is associated with the specified font-reference by the AssignFontReference primitive.
The ListAllFontReferences primitive takes one parameter:
and returns two results:
The ListAllFontReferences primitive return the list of all font references which are currently associated with property lists.
The FindFontResource primitive takes two parameters:
and returns two results:
The FindFontResource primitive finds font resources which satisfy the conditions specified by the parameter font-reference, and returns the list of Handles of such font resources. The parameter font-reference may be specified as a Handle (font reference) or a PropertyList.
The GetFontProperty primitive takes three parameters:
and returns two results:
The GetFontProperty primitive retrieves the required properties from the font resource. The specification of the required properties is given by a PropertyList which contains property name and other conditions (if any). The list of all properties which satisfies the specification will be returned.
NOTE
: Since any property name defined in ISO/IEC 9541-1 can be specified in the parameter propety-list-specification, this single primitive may be used to get any property contained in the font resource.The PutFontProperty primitive takes four parameters:
and returns one result:
The PutFontProperty primitive replaces all of the specified properties in the font resource with the new property. The specification of the properties which are the subject to replacement is given by a PropertyList which contains the property name and other conditions (if any). All the properties which satisfies the specification will be replaced.
NOTE
: Since any property name defined in ISO/IEC 9541-1 can be specified in the parameter propety-list-specification, this single primitive may be used to replace any property contained in the font resource.The CreateFontResource primitive takes one parameter:
and returns two results:
The CreateFontResource primitive installs the new font resource into the font resource file with the font-property.
The result status represents the completion status of the primitive. It takes one of the following values:
The GetUserInformation primitive takes three parameters:
and returns two results:
The GetUserInformation primitive retrieves the required-user-information-list of the font-resource. The specification of the required user information is given by UserInformationList which contains the user names and other user information. The list of all user information which satisfy the specification will be returned.
The GetLicenseInformation primitive takes three parameters:
and returns two results:
The GetLicenseInformation primitive retrieves the required-license-information-list of the font-resource. The specification of the required license information is given by LicenseInformationList which contains the license owner names and other license information. The list of all license information which satisfy the specification will be returned.
The PutUserInformation primitive takes four parameters:
and returns one result:
The PutUserInformation primitive replaces all of the specified user-information-list in the font resource with the new user-information-list. The specification of the user-information-list which are the subject to replacement is given by user-information-list which contains the user name and other user information. All user-information which satisfies the specification will be replaced.
The PutLicenseInformation primitive takes four parameters:
and returns one result:
The PutLicenseInformation primitive replaces all of the specified license-information-list in the font resource with the new license-information-list. The specification of the license-information-list which are the subject to replacement is given by license-information-list-specification which contains the license owner names and other license information. All license-information which satisfies the specification will be replaced.
A AFS_Boolean is a 16-bit signed integer, either true (1) or false (0) ; all other values are undefined.
typedef short AFS_Boolean;
A AFS_Int32 is a 32-bit signed integer within the range -231 to 231-1
typedef long AFS_Int32;
A AFS_Card32 is a 32-bit unsigned integer within the range 0 to 232-1.
typedef unsigned AFS_Card32;
A AFS_Octet is a 8-bit value.
typedef char AFS_Octet;
A AFS_Handle is a 32-bit unsigned integer within the range 0 to 232-1 which uniquely identifies for a private data structure managed by the Font Service Entity.
typedef AFS_Card32 AFS_Handle;
AFS_OctetString is a fixed length string consists of an ordered sequence of AFS_Octet[s].
typedef AFS_Octet AFS_OctetString[AFS_MAX_STRING];
AFS_Property is a data structure for a property defined in ISO/IEC 9541-1. A property represents font resource information. member propName in AFS_Property stores the unambiguous property name. propType stores the data type of the property value. When the data type is numerical data (except binary stream), the property value is stored in propValue1 and propValue2. In case of string or binary stream data, it is stored in other area, and propValue1 stores offset value to the area that substantial data is stored, and propValues2 stores data length in byte.
typedef struct {
AFS_OctetString propName;
AFS_Card32 propType;
AFS_Card32 propValue1;
AFS_Card32 propValue2;
} AFS_Property;
AFS_PropertyList is a list of zero or more related AFS_Property[s], the value of some other higher-level property, which may be specified to be ordered in a particular sequence.
typedef AFS_Property *AFS_PropertyList ;
AFS_UserInforamtionList is a data structure that represents User-Information-list.
AFS_UserInforamtionList is a data structure that represents License-Information-list.
AFS_Card32 AFSOpenSession(userID, pSessionID);
AFS_OctetString userID;
AFS_Handle *pSessionID;
userID
- User ID.Access:read-only
pSessoinID - The Handle that uniquely identifies the session between a Font Service User and the Font Service Entity.
Access:write-only
AFS_SUCCESS -- A session is opened successfully;
AFS_ACCESS_DENIED -- Access denied;
AFS_FAILURE -- Failed to open a session because of any reason.
Establishes a session between a Font Service User and the Font Service Entity for accessing the font resource information. This function stores the unique handle in the address pointed by argument pSessionID.
This function should be called first before other AFSI functions called.
AFS_Card32 AFSCloseSession(sessionID);
AFS_Handle sessionID;
sessionID
- The Handle that identifies for a session that AFSOpenSession() returns.Access:read-only
AFS_SUCCESS -- The specified session is closed successfully;
AFS_SESSION_INVALID -- Argument session ID is invalid;
AFS_CLOSE_FAILED -- Failed to close the session (the argument session ID is valid).
Closes a session between a Font Service User and the Font Service Entity.
AFS_Card32 AFSAssignFontReference(sessionID, propList, propString, pFontRef);
AFS_Handle sessionID;
AFS_PropertyList propList;
AFS_Octet *propString;
AFS_Handle *pFontRef;
sessionID
- The Handle that identifies for a session that AFSOpenSession() returns.Access:read-only
propList - A property-list.
Access:read-only
propString - property value stores string or binary stream data.
Access:read-only
pFontRef - A Pointer to the unique identifier specifies assigned property-list.
Access:write-only
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID -- Argument session ID is invalid.
AFS_MEMORY_ERROR -- Memory error occurred.
Assigns the specified property-list to a Handle called font-reference. After the successful completion of this function, the assigned font-reference may be used as a parameter for query functions instead of the property-list itself.
AFS_Card32 AFSClearFontReference(AFS_Handle sessionID, AFS_Handle fontRef);
AFS_Handle sessionID;
AFS_Handle fontRef;
sessionID
- The Handle that identifies for a session that AFSOpenSession() returns.Access:read-only
fontRef - The Handle identifies the specified property-list.
Access:read-only
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID-- Argument session ID is invalid;
AFS_FONT_REFERENCE_INVALID-- Argument font-reference is invalid.
Cancels the assignment of the specified font-reference to the property-list.
AFS_Card32 AFSListFontReferenceProperties(sessionID, fontRef, pPropList, propString);
AFS_Handle sessionID;
AFS_Handle fontRef;
AFS_PropertyList *pPropList;
AFS_Octet *propString;
sessionID
- The Handle that identifies for a session that AFSOpenSession() returns.Access:read-only
fontRef - The Handle identifies the specified property-list.
Access:read-only
pPropList - The property-list that is associated with fontRef.
Access:write-only
propString - The property value stores string or binary stream data.
Access:write-only
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID-- Argument session ID is invalid;
AFS_FONT_REFERENCE_INVALID -- Argument font-reference is invalid;
AFS_MEMORY_ERROR -- Memory error occurred.
Returns the property-list that is associated with the specified font-reference.
AFS_Card32 AFSListAllFontReferences(sessionID, pFonRefVec);
AFS_Handle sessionID;
AFS_Handle *pFontRefVec;
sessionID
- The Handle that identifies for a session that AFSOpenSession() returns.Access:read-only
pFontRefVec - A Pointer to a array that stores font-reference[s] .
Access:write-only
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID-- Argument session ID is invalid;
AFS_MEMORY_ERROR -- Memory error occurred.
Returns the list of all font-reference[s] assigned in the session.
AFS_Card32 AFSFindFontResource(sessionID, fontRef, pFontResVec);
AFS_Handle sessionID;
AFS_Handle fontRef ;
AFS_Handle *pFontResVec;
sessionID
- The Handle that identifies for a session that AFSOpenSession() returns.Access:read-only
fontRef - The Handle identifies the specified property-list for finding font resources.
Access:read-only
pFontResVec - A Pointer to array that stores found font resources.
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID-- Argument session ID is invalid;
AFS_FONT_REFERENCE_INVALID -- Argument font-reference is invalid;
AFS_MEMORY_ERROR -- Memory error occurred.
Finds font resources match to the font-property specified the font-reference, and returns the list of such font resources.
AFS_Card32 AFSGetFontProperty(sessionID, fontRes, propList, propString);
AFS_Handle sessionID;
AFS_Handle fontRes;
AFS_PropertyList propList;
AFS_Octet *propString;
sessionID
- The Handle that identifies for a session that AFSOpenSession() returns.Access:read-only
fontRes - The Handle that uniquely identifies the specifies font resources.
Access:read-only
propList - The property-list specifies properties that retrieve from the Font Service Entity. And stores properties that satisfies the specification as output.
Access:read and write
propString - The property value stores string or binary stream data.
Access:read and write
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID-- Argument session ID is invalid;
AFS_FONT_RESOURCE_INVALID-- Argument font resource is invalid.
Retrieves the required properties from the font resource. The specification of the required properties is given by the argument propList and propString that contains property name and other conditions (if any), and the font resource is specified by the argument fontRes. The list of all properties that satisfies the specification will be returned.
AFS_Card32 AFSPutFontProperty(sessionID, fontRes, propList, propString, newPropList, newPropString);
AFS_Handle sessionID;
AFS_Handle fontRes;
AFS_PropertyList propList;
AFS_Octet *propString;
AFS_PropertyList newPropList;
AFS_Octet *newPropString;
sessionID
- The Handle that identifies for a session that AFSOpenSession() returns.Access:read-only
fontRes - The Handle that uniquely identifies the specifies font resource.
Access:read-only
propList - A property-list that specifies the properties to be replaced in the font resource.
Access:read-only
propString - A property value stores string or binary stream data, that depends on propList.
Access:read-only
newPropList - A property-list that put to the font resource.
Access:read-only
newPropString - A property value stores string or binary stream data, that depends on newPropList.
Access:read-only
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID-- Argument session ID is invalid;
AFS_FONT_RESOURCE_INVALID-- Argument font resource is invalid;
AFS_ACCESS_DENIED -- Access denied;
AFS_MEMORY_ERROR -- Memory error occurred.
Replaces all of the specified properties in the font resources with the new property. The specification of the properties that are the subject to replacement is given by the argument propList and propString that contains the property name and other conditions (if any). All the properties that satisfies the specification will be replaced.
AFS_Card32 AFSPutFontResource(sessionID, pFontRes);
AFS_Card32 sessionID;
AFS_Handle *pFontRes;
sessionID
- The Handle that identifies for a session that AFSOpenSession() returns.Access:read-only
pFontRes - A Handle to a new font resource created in this function.
Access:write-only
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID-- Argument session ID is invalid;
AFS_MEMORY_ERROR -- Memory error occurred.
Creates a new font resource.
AFS_Card32 AFSGetUserInformation(sessionID, fontRes, userInfList);
AFS_Handle sessionID;
AFS_Handle fontRes;
AFS_UserInformationList userInfList;
sessionID
- The Handle that identifies for a session that AFSOpenSession() returns.Access:read-only
fontRes - The Handle that uniquely identifies the specifies font resource.
Access:read-only
userInfList - The user-information -list that retrieve from the Font Service Entity. And stores the user-information -list that satisfies the specification as output.
Access:write-only
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID-- Argument session ID is invalid;
AFS_FONT_RESOURCE_INVALID-- Argument font resource is invalid;
AFS_MEMORY_ERROR -- Memory error occurred.
Retrieves the required user-information-list from the font resource. The specification of the required user-information-list is given by the argument userInfList that contains the user names and other user information. The list of all user information that satisfy the specification will be returned.
AFS_Card32 AFSGetUserInformation(sessionID, fontRes, licenseInfList);
AFS_Handle sessionID;
AFS_Handle fontRes;
AFS_LisenceInformationList licenseInfList;
sessionID
- The Handle that identifies for a session that AFSOpenSession() returns.Access:read-only
fontRes - The Handle that uniquely identifies the specifies font resource.
Access:read-only
licenseInfList - The License-Information -list that retrieve from the Font Service Entity. And stores the License-Information -list that satisfies the specification as output.
Access:write-only
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID-- Argument session ID is invalid;
AFS_FONT_RESOURCE_INVALID-- Argument font resource is invalid;
AFS_MEMORY_ERROR -- Memory error occurred.
Retrieves the required License-Information-list from the font resource. The specification of the required License-Information-list is given by the argument licenseInfList that contains the owner names and other license information. The list of all license information that satisfy the specification will be returned.
AFS_Card32 AFSPutUserInformation(sessionID, fontRes, userInfList, newUserInfList);
AFS_Handle sessionID;
AFS_Handle fontRes;
AFS_UserInformationList userInfList;
AFS_UserInformationList newUserInfList;
sessionID
- The Handle that identifies for a session that AFSOpenSession() returns.Access:read-only
fontRes - The Handle that uniquely identifies the specifies font resource.
Access:read-only
userInfList - A user-information-list that specifies the user information to be replaced in the font resource.
Access:read-only
newUserInfList - A user-information-list that put to the font resource.
Access:read-only
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID-- Argument session ID is invalid;
AFS_FONT_RESOURCE_INVALID-- Argument font resource is invalid;
AFS_ACCESS_DENIED -- Access denied;
AFS_MEMORY_ERROR -- Memory error occurred.
Replaces all of the specified user information in the font resources with the new user information. The specification of the user information that are the subject to replacement is given by the argument userInfList that contains the user name and other user information. All the user information that satisfies the specification will be replaced.
AFS_Card32 AFSPutLicenseInformation(sessionID, fontRes, licenseInfList, newLicenseInfList);
AFS_Handle sessionID;
AFS_Handle fontRes;
AFS_LicenseInformationList licenseInfList;
AFS_LicenseInformationList newLicenseInfList;
sessionID
- The Handle that identifies for a session that AFSOpenSession() returns.Access:read-only
fontRes - The Handle that uniquely identifies the specifies font resource.
Access:read-only
licenseInfList - A license-information-list that specifies the license information to be replaced in the font resource.
Access:read-only
newlicenseInfList - A license-information-list that put to the font resource.
Access:read-only
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID-- Argument session ID is invalid;
AFS_FONT_RESOURCE_INVALID-- Argument font resource is invalid;
AFS_ACCESS_DENIED -- Access denied;
AFS_MEMORY_ERROR -- Memory error occurred.
Replaces all of the specified license information in the font resources with the new license information. The specification of the license information that are the subject to replacement is given by the argument licenseInfList that contains the license owner name and other license information. All the license information that satisfies the specification will be replaced.
AFS_SUCCESS 0
AFS_FAILURE 1
AFS_SESSION_INVALID 2
AFS_CLOSE_FAILED 3
AFS_FONT_REFERENCE_INVALID 4
AFS_FONT_RESOURCE_INVALID 5
AFS_ACCESS_DENIED 10
AFS_MEMORY_ERROR 20