| Previous | Next |
| DWRITE_E_CACHEVERSION | DWRITE_E_TEXTRENDERERINCOMPATIBLE |
DWRITE_E_UNSUPPORTEDOPERATION
DWRITE_E_UNSUPPORTEDOPERATION belongs to an unsupported DirectWrite operation. The requested DirectWrite operation is not supported for the specific font resource or interface in use. The diagnostic goal for DWRITE_E_UNSUPPORTEDOPERATION is to identify the first rejecting object and transition, not merely the final high-level symptom.
Subsystem boundary
For DWRITE_E_UNSUPPORTEDOPERATION, DirectWrite capabilities depend on the font face, resource type, interface version, and requested operation. When DWRITE_E_UNSUPPORTEDOPERATION is returned, a font can load successfully while one optional glyph-image, variation, table, or rendering operation remains unsupported. That is different from malformed font data or a missing DirectWrite runtime in the DWRITE_E_UNSUPPORTEDOPERATION path.
For DWRITE_E_UNSUPPORTEDOPERATION, inspect the following boundary: font type, face capabilities, interface version, and operation-specific requirements.
Isolation procedure
Query capabilities for the exact face, then compare a conventional outline font and a lower interface level in the DWRITE_E_UNSUPPORTEDOPERATION path. For DWRITE_E_UNSUPPORTEDOPERATION, keep the requested feature fixed so fallback does not silently change the application requirement.
- For DWRITE_E_UNSUPPORTEDOPERATION, query capabilities before invoking the optional operation.
- When DWRITE_E_UNSUPPORTEDOPERATION is returned, compare an OpenType outline font with the failing resource.
- Use the lowest interface that provides the required feature in the DWRITE_E_UNSUPPORTEDOPERATION path.
- For DWRITE_E_UNSUPPORTEDOPERATION, keep unsupported capability separate from malformed font data.
Facts worth preserving
| Record | Why it matters here |
|---|---|
| Font format and face type | Preserving font format and face type provides the evidence needed to test this distinction: this is not a generic indication that DirectWrite is unavailable; another font face or a supported operation on the same face may work. |
| DirectWrite interface version and method | For DWRITE_E_UNSUPPORTEDOPERATION, recording DirectWrite interface version and method separates the an unsupported DirectWrite operation boundary from a later wrapper symptom. |
| Requested glyph image, variation, simulation, or table operation | In DWRITE_E_UNSUPPORTEDOPERATION diagnostics, recording requested glyph image, variation, simulation, or table operation ties the HRESULT to the an unsupported DirectWrite operation boundary rather than to the final visible failure. |
| Capability-query result for the same face | Comparing capability-query result for the same face shows whether DWRITE_E_UNSUPPORTEDOPERATION follows input, object state, or environment. |
What each result would imply
| Test | Interpretation | Hold constant |
|---|---|---|
| Same environment, reduced input | If DWRITE_E_UNSUPPORTEDOPERATION disappears with a smaller faithful case, complexity within an unsupported DirectWrite operation is implicated. | For DWRITE_E_UNSUPPORTEDOPERATION, keep font format and face type fixed while simplifying requested glyph image, variation, simulation, or table operation. |
| Same input, fresh object generation | If DWRITE_E_UNSUPPORTEDOPERATION changes after rebuilding state, examine ownership across font loader, font file or cache reader, face construction, shaping or glyph operation, and caller fallback. | For DWRITE_E_UNSUPPORTEDOPERATION, place DirectWrite interface version and method on the timeline of the last successful transition. |
| Same operation on a controlled second path | If DWRITE_E_UNSUPPORTEDOPERATION follows one environment, the failure is not explained by source data alone. | For DWRITE_E_UNSUPPORTEDOPERATION, compare OS build, DirectWrite version, font source, process architecture, locale, and rendering parameters while preserving capability-query result for the same face. |
Do not hide the original condition
This is not a generic indication that DirectWrite is unavailable; another font face or a supported operation on the same face may work. For DWRITE_E_UNSUPPORTEDOPERATION, do not convert every unsupported operation into an application-wide font fallback without preserving which feature was unavailable.
Verification after repair
A correction for DWRITE_E_UNSUPPORTEDOPERATION should let the operation at the an unsupported DirectWrite operation boundary complete repeatedly under the original supported conditions. Repeat the control that begins with “Query capabilities before invoking the optional operation” and confirm that the following lifecycle step also succeeds. For DWRITE_E_UNSUPPORTEDOPERATION, keep the original failing sample and one deliberate negative case so fallback cannot be mistaken for repair.
Technical references
When DWRITE_E_UNSUPPORTEDOPERATION is returned, these references define the public API family, object model, or error list used to interpret this status.
- Microsoft: DirectWrite error codes.
- Microsoft: Introducing DirectWrite.
- Microsoft: DirectWrite font interfaces.
- Microsoft: Glyph image formats in DirectWrite.
Looking for a different code? Search another status or error code.