[PR #9201] [MERGED] Introduce DxFontInfo #27464

Open
opened 2026-01-31 09:22:07 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/9201
Author: @skyline75489
Created: 2/18/2021
Status: Merged
Merged: 6/22/2021
Merged by: @undefined

Base: mainHead: chesterliu/dev/init-dxfontinfo


📝 Commits (10+)

  • eaf86b0 Introduce DxFontInfo
  • b1fc5be Format
  • 6b748f8 Merge branch 'main' into chesterliu/dev/init-dxfontinfo
  • bf1da37 Merge branch 'main' into chesterliu/dev/init-dxfontinfo
  • b2b548b Merge branch 'main' into chesterliu/dev/init-dxfontinfo
  • a877bac Merge branch 'main' into chesterliu/dev/init-dxfontinfo
  • 8456d81 clean
  • 6a61d45 Merge branch 'main' into chesterliu/dev/init-dxfontinfo
  • 4f5e4fc Feedback
  • 04bbcda [skip ci] private method naming

📊 Changes

7 files changed (+864 additions, -595 deletions)

View changed files

📝 src/renderer/dx/CustomTextLayout.cpp (+14 -2)
src/renderer/dx/DxFontInfo.cpp (+405 -0)
src/renderer/dx/DxFontInfo.h (+108 -0)
📝 src/renderer/dx/DxFontRenderData.cpp (+302 -558)
📝 src/renderer/dx/DxFontRenderData.h (+32 -35)
📝 src/renderer/dx/lib/dx.vcxproj (+2 -0)
📝 src/renderer/dx/sources.inc (+1 -0)

📄 Description

This PR Introduces DxFontInfo to simplify the logic in
DxFontRenderData.

DxFontInfo aims to be the DWrite equivalent of FontInfo &
FontInfoBase in GDI. It encapsulates the needed information to
represent a displayable font face. It also provides the ability to
resolve a font face based on the available fonts on the system.

References

This is a follow-up of #9096.
Initial Italic support was introduced by #8580.

The motivation behind this is to support bold & bold-italic text in
Windows Terminal.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/9201 **Author:** [@skyline75489](https://github.com/skyline75489) **Created:** 2/18/2021 **Status:** ✅ Merged **Merged:** 6/22/2021 **Merged by:** [@undefined](undefined) **Base:** `main` ← **Head:** `chesterliu/dev/init-dxfontinfo` --- ### 📝 Commits (10+) - [`eaf86b0`](https://github.com/microsoft/terminal/commit/eaf86b08b1d28a8b3277e182abf074ed38ea4dcb) Introduce DxFontInfo - [`b1fc5be`](https://github.com/microsoft/terminal/commit/b1fc5bebfbd78832f3e3f81c3ba943166f383bd5) Format - [`6b748f8`](https://github.com/microsoft/terminal/commit/6b748f86a3c89303d7cf230c334a3fcf8cc5eda1) Merge branch 'main' into chesterliu/dev/init-dxfontinfo - [`bf1da37`](https://github.com/microsoft/terminal/commit/bf1da374a81025680c5747637ffef2833630e40c) Merge branch 'main' into chesterliu/dev/init-dxfontinfo - [`b2b548b`](https://github.com/microsoft/terminal/commit/b2b548b602bf48b0ad3399722690395e909464c6) Merge branch 'main' into chesterliu/dev/init-dxfontinfo - [`a877bac`](https://github.com/microsoft/terminal/commit/a877bacf6d4920e4f9470b927926a40e8618401e) Merge branch 'main' into chesterliu/dev/init-dxfontinfo - [`8456d81`](https://github.com/microsoft/terminal/commit/8456d8106abedc3237bed2c4e2635e7b4f6546fc) clean - [`6a61d45`](https://github.com/microsoft/terminal/commit/6a61d45ea1b9eec5afeb5f7514df487feb27dc73) Merge branch 'main' into chesterliu/dev/init-dxfontinfo - [`4f5e4fc`](https://github.com/microsoft/terminal/commit/4f5e4fca911a3322634174b5fd9c27dc183fa8f0) Feedback - [`04bbcda`](https://github.com/microsoft/terminal/commit/04bbcda3bc04de35a0ab865e073a38d7c55e60e3) [skip ci] private method naming ### 📊 Changes **7 files changed** (+864 additions, -595 deletions) <details> <summary>View changed files</summary> 📝 `src/renderer/dx/CustomTextLayout.cpp` (+14 -2) ➕ `src/renderer/dx/DxFontInfo.cpp` (+405 -0) ➕ `src/renderer/dx/DxFontInfo.h` (+108 -0) 📝 `src/renderer/dx/DxFontRenderData.cpp` (+302 -558) 📝 `src/renderer/dx/DxFontRenderData.h` (+32 -35) 📝 `src/renderer/dx/lib/dx.vcxproj` (+2 -0) 📝 `src/renderer/dx/sources.inc` (+1 -0) </details> ### 📄 Description This PR Introduces `DxFontInfo` to simplify the logic in `DxFontRenderData`. `DxFontInfo` aims to be the DWrite equivalent of `FontInfo` & `FontInfoBase` in GDI. It encapsulates the needed information to represent a displayable font face. It also provides the ability to resolve a font face based on the available fonts on the system. ## References This is a follow-up of #9096. Initial Italic support was introduced by #8580. The motivation behind this is to support bold & bold-italic text in Windows Terminal. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:22:07 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#27464