summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md1
-rw-r--r--font/src/darwin/mod.rs8
2 files changed, 7 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1da97b8a..bf0c80c6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -45,6 +45,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Paste from some apps on Wayland
- Slow startup with Nvidia binary drivers on some X11 systems
- Display not scrolling when printing new lines while scrolled in history
+- Regression in font rendering on macOS
## 0.4.3
diff --git a/font/src/darwin/mod.rs b/font/src/darwin/mod.rs
index 2c8d238e..f754c997 100644
--- a/font/src/darwin/mod.rs
+++ b/font/src/darwin/mod.rs
@@ -515,8 +515,12 @@ impl Font {
kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Host,
);
+ let is_colored = self.is_colored();
+
// Set background color for graphics context.
- cg_context.set_rgb_fill_color(0.0, 0.0, 0.0, 0.0);
+ let bg_a = if is_colored { 0.0 } else { 1.0 };
+ cg_context.set_rgb_fill_color(0.0, 0.0, 0.0, bg_a);
+
let context_rect = CGRect::new(
&CGPoint::new(0.0, 0.0),
&CGSize::new(f64::from(rasterized_width), f64::from(rasterized_height)),
@@ -550,7 +554,7 @@ impl Font {
let rasterized_pixels = cg_context.data().to_vec();
- let buf = if self.is_colored() {
+ let buf = if is_colored {
BitmapBuffer::RGBA(byte_order::extract_rgba(&rasterized_pixels))
} else {
BitmapBuffer::RGB(byte_order::extract_rgb(&rasterized_pixels))