Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AtlasEngine: Fix support for font features #15912

Merged
merged 1 commit into from
Aug 31, 2023

Conversation

lhecker
Copy link
Member

@lhecker lhecker commented Aug 31, 2023

Font features require us to skip the fast path via GetTextComplexity.
IDWriteTextLayout handles it the same way internally.

Closes #15896

Validation Steps Performed

  • Use Cascadia Code
  • Set features: { "ss19": 1 }
  • "0" has a dash in it instead of a dot ✅

@microsoft-github-policy-service microsoft-github-policy-service bot added Issue-Bug It either shouldn't be doing this or needs an investigation. Area-AtlasEngine Priority-2 A description (P2) Product-Terminal The new Windows Terminal. labels Aug 31, 2023
@@ -648,6 +648,9 @@ void AtlasEngine::_flushBufferLine()

const auto initialIndicesCount = row.glyphIndices.size();

// GetTextComplexity() returns as many glyph indices as its textLength parameter (here: mappedLength).
// This block ensures that the buffer has sufficient capacity. It also initializes the glyphProps buffer because it and
// glyphIndices sort of form a "pair" in the _mapComplex() code and are always simultaneously resized there as well.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DHowett DHowett merged commit 5fb2518 into main Aug 31, 2023
17 checks passed
@DHowett DHowett deleted the dev/lhecker/atlasengine-fixup2 branch August 31, 2023 16:28
DHowett pushed a commit that referenced this pull request Sep 22, 2023
Font features require us to skip the fast path via `GetTextComplexity`.
`IDWriteTextLayout` handles it the same way internally.

Closes #15896

## Validation Steps Performed
* Use Cascadia Code
* Set `features: { "ss19": 1 }`
* "0" has a dash in it instead of a dot ✅

(cherry picked from commit 5fb2518)
Service-Card-Id: 90380016
Service-Version: 1.18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-AtlasEngine Issue-Bug It either shouldn't be doing this or needs an investigation. Priority-2 A description (P2) Product-Terminal The new Windows Terminal.
Projects
Development

Successfully merging this pull request may close these issues.

Atlas engine does not render stylistic sets
3 participants