Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
3/28/2014
This function retrieves a list of typographic features for the defined writing system for OpenType processing. The typographic feature tags are retrieved from the font in the supplied device context or cache.
Syntax
HRESULT ScriptGetFontFeatureTags(
HDC hdc,
SCRIPT_CACHE* psc,
SCRIPT_ANALYSIS* psa,
OPENTYPE_TAG tagScript,
OPENTYPE_TAG tagLangSys,
int cMaxTags,
OPENTYPE_TAG* pFeatureTags,
int* pcTags
);
Parameters
- hdc
[in] Optional. Handle to the device context.
- psc
[in/out] Pointer to a SCRIPT_CACHE structure identifying the script cache.
psa
[in] Pointer to a SCRIPT_ANALYSIS structure obtained from a previous call to ScriptItemizeOpenType. This parameter identifies the shaping engine, so that the font-feature tags for the appropriate font and scripts can be retrieved.Alternatively, the application can supply a null pointer to retrieve unfiltered results.
- tagScript
[in] An OPENTYPE_TAG structure defining the script tag associated with the specified feature tags.
- tagLangSys
[in] An OPENTYPE_TAG structure defining the language tag associated with the specified feature tags.
- cMaxTags
[in] The length of the array specified by pFeatureTags.
- pFeatureTags
[out] Pointer to a buffer in which this function retrieves an array of OPENTYPE_TAG structures defining the typographic feature tags supported by the font in the device context or cache for the defined writing system.
- pcTags
[out] Pointer to the number of elements in the feature-tag array.
Return Values
If the function is successful, it returns 0. If it does not succeed, it returns a nonzero HRESULT value. The application can test the return value with the SUCCEEDED and FAILED macros.
If the number of matching tags exceeds the value of cMaxTags, the function fails with E_OUTOFMEMORY. The application can call the function again with larger buffers.
Remarks
While formally declared as a ULONG type, an OPENTYPE_TAG structure contains a 4-byte array that contains four 8-bit ASCII values of space, A-Z, or a-z. For example, the feature tag for the Ligature feature is "liga".
This method hides script-required or language-required features because the shaping engine controls these features. The application has no control over the shaping engine handling for language-required features. For example, ScriptGetFontFeatureTags hides the Arabic script features for initial, medial, and final forms.
Requirements
Header |
usp10.h |
Library |
Uspce.lib |
See Also
Reference
Uniscribe Functions
SCRIPT_CACHE
SCRIPT_ANALYSIS
ScriptItemizeOpenType
OPENTYPE_TAG