ISO/IEC JTC1/SC34N0020
Document Description and Processing Languages
Title: | Font Services -- Abstract Service Definition |
Source: | Project Editors; Toru Takasawa, Yushi Komachi |
Project: | JTC1.34.33 |
Status of document: | DTR text |
Requested action: | DTR procedure |
Date | Nov. 10, 1998 |
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:
- The general model of font services and its relationship to other parts of the document processing model are specified.
- The Abstract Font Service Interface (AFSI), which defines the facilities to access font resources in a system-independent way, is specified.
- Statements covering the conformance of font service systems are provided.
1.1 Scope
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.
1.2 Field of Application
This Technical Report is intended for use in a wide variety of document processing environments, including:
- authoring;
- formatting and page layout;
- printing and display services;
- electronic publishing via removable media and/or information network.
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.
- ISO/IEC 9541-1:1991, Information technology -- Font information interchange -- Part 1: Architecture.
- ISO/IEC 9541-3:1994, Information technology -- Font information interchange -- Part 3: Glyph Shape Representation.
- ISO/IEC 10179:1996, Information technology -- Text and Office Systems -- Document Style Semantics and Specification Language (DSSSL).
- ISO/IEC 10180:1995, Information technology -- Text Communication -- Standard Page Description Language (SPDL).
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.
4.1 Font Service User Categories
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 people and application software in these categories.
- Font Providers
People (and Application software) that design typefaces, create 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).
- Font Managers
People (and Application software) that installs font resources into a system environment, manages the font usage and administers associated contracts (regarding access, royalties, etc.).
- Font Requesters
People (and Application software) that requests font resource information to create format, print, or display documents in a single or multi-system environment.
4.2 Font Service Entity
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.
4.3 Abstract Font Service Interface (AFSI)
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 part of this International Standard, 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.
5.1 Base Types
5.1.1 Boolean
The set of values of type Boolean consists of two values, true and false. These values represent logical value true and false, respectively.
5.1.2 Integer
Each value of type Integer represents an integer number within the range -232 to 232 - 1 inclusive.
5.1.3 Cardinal
Each value of type Cardinal represents an unsigned integer number within the range 0 to 232 - 1 inclusive.
5.1.4 Octet
Each value of type Octet represents an 8-bit byte data.
5.1.5 Handle
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.
5.2 Composite Types
5.2.1 OctetString
A value of type OctetString is an ordered sequence of octets.
5.2.2 Vector
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.
5.2.3 PropertyList
A value of type PropertyList represents a corresponding value of the type property-list which is defined in ISO/IEC 9541-1.
5.2.4 UserInformationList
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:
5.2.5 LicenseInformationList
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:
This clause defines the notation used to define each primitive in clause 7.
For each primitive in this International Standard, the primitive description specifies:
- the number and types of parameters required to invoke the primitive;
- the number and types of results;
- the relationship between the parameters and the results;
- any other effects the execution of the primitive has upon the internal data objects and/or the status of the font service entity.
7.1 Font Service Session Control Primitives
7.1.1 OpenSession
The OpenSession primitive takes one parameter:
- user-id: OctetString;
and returns two result:
- status: Cardinal;
- session-id: Handle.
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:
- 0 -- A session is opened successfully;
- 1 -- Failed to open a session;
- 10 -- Opening a session is denied.
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.
7.1.2 CloseSession
The CloseSession primitive takes one parameter:
- session-id: Handle;
and returns one result:
- status: Cardinal.
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:
- 0 -- The specified session is closed successfully;
- 2 -- The parameter session-id is invalid;
- 3 -- Failed to close the session (the parameter session-id is valid).
7.2 Font Reference Primitives
7.2.1 AssignFontReference
The AssignFontReference primitive takes two parameters:
- session-id: Handle;
- property-list: PropertyList;
and returns two results:
- status: Cardinal;
- font-reference: Handle.
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:
- 0 -- The assignment is successfully;
- 2 -- The parameter session-id is invalid.
7.2.2 ClearFontReference
The ClearFontReference primitive takes two
parameters:
- session-id: Handle;
- font-reference: Handle;
and returns one result:
- status: Cardinal.
The ClearFontReferenceName primitive cancels the assignment of the specified font-reference to a property list.
7.2.3 ListFontReferenceProperties
The ListFontReferenceProperties primitive
takes two parameters:
- session-id: Handle;
- font-reference: Handle;
and returns two results:
- status: Cardinal;
- property-list: PropertyList.
The ListFontReferenceProperties primitive return the property list which is associated with the specified font-reference by the AssignFontReference primitive.
7.2.4 ListAllFontReferences
The ListAllFontReferences primitive takes one parameter:
- session-id: Handle;
and returns two results:
- status: Cardinal;
- font-reference-list: Vector of Handles.
The ListAllFontReferences primitive return the list of all font references which are currently associated with property lists.
7.3 Availability Check Primitives
7.3.1 FindFontResource
The FindFontResource primitive takes two parameters:
- session-id: Handle;
- font-reference: Handle or PropertyList;
and returns two results:
- status: Cardinal;
- font-resource-list: Vector of Handle.
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.
7.4 Font Properties Query Primitives
7.4.1 GetFontProperty
The GetFontProperty primitive takes three parameters:
- session-id: Handle;
- font-resource: Handle;
- property-list-specification: PropertyList;
and returns two results:
- status: Cardinal;
- required-property: PropertyList.
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.
7.5 Font Resource Management Primitives
7.5.1 PutFontProperty
The PutFontProperty primitive takes four parameters:
- session-id: Handle;
- font-resource: Handle;
- property-list-specification: PropertyList;
- new-property: PropertyList;
and returns one result:
- status: Cardinal.
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.
7.5.2 CreateFontResource
The CreateFontResource primitive takes one parameter:
- session-id: Handle;
and returns two results:
- status: Cardinal;
- new-font-resource: Handle.
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:
- 0 - The font resource is created successfully;
- 2 -- The parameter session-id is invalid.
7.6 Font Service User Manegement Primitives
7.6.1 GetUserInformation
The GetUserInformation primitive takes three parameters:
- session-id: Handle;
- font-resource: Handle;
- user-information-list-specification: UserInformationList;
and returns two results:
- status: Cardinal;
- required-user-information-list: UserInformationList.
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.
7.6.2 GetLisenceInformation
The GetLicenseInformation primitive takes three parameters:
- session-id: Handle;
- font-resource: Handle;
- license-information-list-specification: LicenseInformationList;
and returns two results:
- status: Cardinal;
- required-license-information-list: LicenseInformationList.
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.
7.6.3 PutUserInformation
The PutUserInformation primitive takes four parameters:
- session-id: Handle;
- font-resource: Handle;
- user-information-list-specification: UserInformationList;
- new-user-information-list: UserInformationList;
and returns one result:
- status: Cardinal.
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.
7.6.4 PutLicenseInformation
The PutLicenseInformation primitive takes four parameters:
- session-id: Handle;
- font-resource: Handle;
- license-information-list-specification: LicenseInformationList;
- new-license-information-list : LicenseInformationList;
and returns one result:
- status : Cardinal.
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.
(informative)
The Abstract Font Service Interface C Language Binding
A.1 Data Types
A.1.1 Base Types
AFS_Boolean
A AFS_Boolean is a 16-bit signed integer, either true (1) or false (0) ; all other values are undefined.
C Binding
typedef short AFS_Boolean;
AFS_Int32
A AFS_Int32 is a 32-bit signed integer within the range -231 to 231-1
C Binding
typedef long AFS_Int32;
AFS_Card32
A AFS_Card32 is a 32-bit unsigned integer within the range 0 to 232-1.
C Binding
typedef unsigned AFS_Card32;
AFS_Octet
A AFS_Octet is a 8-bit value.
C Binding
typedef char AFS_Octet;
AFS_Handle
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.
C Binding
typedef AFS_Card32 AFS_Handle;
A.1.2 Composite Types
AFS_OctetString
AFS_OctetString is a fixed length string consists of an ordered sequence of AFS_Octet[s].
C Binding
typedef AFS_Octet
AFS_OctetString[AFS_MAX_STRING];
AFS_Property
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.
C Binding
typedef struct {
AFS_OctetString propName;
AFS_Card32 propType;
AFS_Card32 propValue1;
AFS_Card32 propValue2;
}
AFS_Property;
AFS_PropertyList
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.
C Binding
typedef AFS_Property
*AFS_PropertyList ;
AFS_UserInformationList
AFS_UserInforamtionList is a data structure that represents User-Information-list.
AFS_LicenseInformationList
AFS_UserInforamtionList is a data
structure that represents License-Information-list.
A.2 Application Program Interface
A.2.1 Font Service Session Control Functions
OpenSession
Syntax
AFS_Card32 AFSOpenSession(userID, pSessionID);
AFS_OctetString userID;
AFS_Handle *pSessionID;
Arguments
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
Return Values
AFS_SUCCESS -- A session is opened successfully;
AFS_ACCESS_DENIED -- Access denied;
AFS_FAILURE -- Failed to open a
session because of any reason.
Description
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.
CloseSession
Syntax
AFS_Card32 AFSCloseSession(sessionID);
AFS_Handle sessionID;
Arguments
sessionID - The Handle that identifies for a session that AFSOpenSession() returns.
Access:read-only
Return Values
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).
Description
Closes a session between a Font
Service User and the Font Service Entity.
A.2.2 Font Reference Functions
AssignFontReference
Syntax
AFS_Card32 AFSAssignFontReference(sessionID, propList, propString, pFontRef);
AFS_Handle sessionID;
AFS_PropertyList propList;
AFS_Octet *propString;
AFS_Handle *pFontRef;
Arguments
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
Return Values
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID -- Argument session ID is invalid.
AFS_MEMORY_ERROR -- Memory error
occurred.
Description
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.
ClearFontReference
Syntax
AFS_Card32 AFSClearFontReference(AFS_Handle sessionID, AFS_Handle fontRef);
AFS_Handle sessionID;
AFS_Handle fontRef;
Arguments
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
Return Values
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID-- Argument session ID is invalid;
AFS_FONT_REFERENCE_INVALID-- Argument
font-reference is invalid.
Description
Cancels the assignment of the
specified font-reference to the property-list.
ListFontReferenceProperites
Syntax
AFS_Card32 AFSListFontReferenceProperties(sessionID, fontRef, pPropList, propString);
AFS_Handle sessionID;
AFS_Handle fontRef;
AFS_PropertyList *pPropList;
AFS_Octet *propString;
Arguments
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
Return Values
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.
Description
Returns the property-list that is
associated with the specified font-reference.
ListAllFontReferences
Syntax
AFS_Card32 AFSListAllFontReferences(sessionID, pFonRefVec);
AFS_Handle sessionID;
AFS_Handle *pFontRefVec;
Arguments
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
Return Values
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID-- Argument session ID is invalid;
AFS_MEMORY_ERROR -- Memory error
occurred.
Description
Returns the list of all
font-reference[s] assigned in the session.
A.2.3 Availability Check Functions
FindFontResource
Syntax
AFS_Card32 AFSFindFontResource(sessionID, fontRef, pFontResVec);
AFS_Handle sessionID;
AFS_Handle fontRef ;
AFS_Handle *pFontResVec;
Arguments
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.
Return Values
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.
Description
Finds font resources match to the
font-property specified the font-reference, and returns the list of such font
resources.
A.2.4 Font Properties Query Functions
GetFontProperty
Syntax
AFS_Card32 AFSGetFontProperty(sessionID, fontRes, propList, propString);
AFS_Handle sessionID;
AFS_Handle fontRes;
AFS_PropertyList propList;
AFS_Octet *propString;
Arguments
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
Return Values
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID-- Argument session ID is invalid;
AFS_FONT_RESOURCE_INVALID-- Argument
font resource is invalid.
Description
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.
A.2.5 Font Resource Management Functions
PutFontProperty
Syntax
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;
Arguments
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
Return Values
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.
Description
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.
CreateFontResource
Syntax
AFS_Card32 AFSPutFontResource(sessionID, pFontRes);
AFS_Card32 sessionID;
AFS_Handle *pFontRes;
Arguments
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
Return Values
AFS_SUCCESS -- Successful;
AFS_SESSION_INVALID-- Argument session ID is invalid;
AFS_MEMORY_ERROR -- Memory error
occurred.
Description
Creates a new font resource.
A.2.6 Font Service User Management Functions
GetUserInfomation
Syntax
AFS_Card32 AFSGetUserInformation(sessionID, fontRes, userInfList);
AFS_Handle sessionID;
AFS_Handle fontRes;
AFS_UserInformationList userInfList;
Arguments
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
Return Values
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.
Description
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.
GetLicenseInfomation
Syntax
AFS_Card32 AFSGetUserInformation(sessionID, fontRes, licenseInfList);
AFS_Handle sessionID;
AFS_Handle fontRes;
AFS_LisenceInformationList
licenseInfList;
Arguments
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
Return Values
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.
Description
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.
PutUserInformation
Syntax
AFS_Card32 AFSPutUserInformation(sessionID, fontRes, userInfList, newUserInfList);
AFS_Handle sessionID;
AFS_Handle fontRes;
AFS_UserInformationList userInfList;
AFS_UserInformationList
newUserInfList;
Arguments
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
Return Values
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.
Description
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.
PutLicenseInformation
Syntax
AFS_Card32 AFSPutLicenseInformation(sessionID, fontRes, licenseInfList, newLicenseInfList);
AFS_Handle sessionID;
AFS_Handle fontRes;
AFS_LicenseInformationList licenseInfList;
AFS_LicenseInformationList
newLicenseInfList;
Arguments
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
Return Values
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.
Description
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.
A.3 Error codes
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