Skip to content

Commit d4eec16

Browse files
committed
Merge branch 'm119_config' into m119
2 parents 8cd7768 + b4e1dca commit d4eec16

2 files changed

Lines changed: 55 additions & 1 deletion

File tree

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ on:
1515
default: 'false'
1616

1717
env:
18-
version: m119-fcb55886b9
18+
version: m119-fcb55886b9-2
1919

2020
jobs:
2121
macos:
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
diff --git a/src/ports/SkTypeface_win_dw.cpp b/src/ports/SkTypeface_win_dw.cpp
2+
index b9d69ab303..36e8422f4f 100644
3+
--- a/src/ports/SkTypeface_win_dw.cpp
4+
+++ b/src/ports/SkTypeface_win_dw.cpp
5+
@@ -543,6 +543,18 @@ std::unique_ptr<SkScalerContext> DWriteFontTypeface::onCreateScalerContext(
6+
sk_ref_sp(const_cast<DWriteFontTypeface*>(this)), effects, desc);
7+
}
8+
9+
+static std::atomic<int> gUseSystemRenderingParams{
10+
+#if defined(SK_FONT_HOST_USE_SYSTEM_SETTINGS)
11+
+ 1
12+
+#else
13+
+ 0
14+
+#endif
15+
+};
16+
+
17+
+extern "C" void DWriteTypeface_UseSystemRenderingParams(int value) {
18+
+ gUseSystemRenderingParams.store(value);
19+
+}
20+
+
21+
void DWriteFontTypeface::onFilterRec(SkScalerContextRec* rec) const {
22+
if (rec->fFlags & SkScalerContext::kLCD_Vertical_Flag) {
23+
rec->fMaskFormat = SkMask::kA8_Format;
24+
@@ -561,19 +573,19 @@ void DWriteFontTypeface::onFilterRec(SkScalerContextRec* rec) const {
25+
}
26+
rec->setHinting(h);
27+
28+
-#if defined(SK_FONT_HOST_USE_SYSTEM_SETTINGS)
29+
- IDWriteFactory* factory = sk_get_dwrite_factory();
30+
- if (factory != nullptr) {
31+
- SkTScopedComPtr<IDWriteRenderingParams> defaultRenderingParams;
32+
- if (SUCCEEDED(factory->CreateRenderingParams(&defaultRenderingParams))) {
33+
- float gamma = defaultRenderingParams->GetGamma();
34+
- rec->setDeviceGamma(gamma);
35+
- rec->setPaintGamma(gamma);
36+
-
37+
- rec->setContrast(defaultRenderingParams->GetEnhancedContrast());
38+
+ if (gUseSystemRenderingParams.load() == 1) {
39+
+ IDWriteFactory* factory = sk_get_dwrite_factory();
40+
+ if (factory != nullptr) {
41+
+ SkTScopedComPtr<IDWriteRenderingParams> defaultRenderingParams;
42+
+ if (SUCCEEDED(factory->CreateRenderingParams(&defaultRenderingParams))) {
43+
+ float gamma = defaultRenderingParams->GetGamma();
44+
+ rec->setDeviceGamma(gamma);
45+
+ rec->setPaintGamma(gamma);
46+
+
47+
+ rec->setContrast(defaultRenderingParams->GetEnhancedContrast());
48+
+ }
49+
}
50+
}
51+
-#endif
52+
}
53+
54+
///////////////////////////////////////////////////////////////////////////////

0 commit comments

Comments
 (0)