Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

BREAKING CHANGE: CoreText now uses DirectWrite instead of FreeType #1336

@ArnOmsft

Description

@ArnOmsft

This month’s release includes a big change with CoreText now leveraging DirectWrite behind the scene instead of FreeType. This implementation offers several key advantages over the previous one:

  • Windows DirectWrite API supports measuring, drawing, and hit-testing of multi-format text
  • DirectWrite also provides a low-level glyph rendering API for developers who want to perform their own layout and Unicode-to-glyph processing
  • DirectWrite handles text in all supported languages for global and localized applications
  • Once we’ll have moved our CoreGraphics stack to Direct2D (more details about this coming change here), CoreText will be able to use hardware accelerated text rendering. For now, CoreText uses IWICBitmap to render text

Most of DirectWrite constructs to format and layout text map pretty well with CoreText. This lets us back most of the CoreText objects with DirectWrite object, allowing us to interact with DirectWrite in the backend without affecting the user facing CoreText APIs. You can find all the details about this change in the spec available here.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions