diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2024-08-20 04:02:47 +0500 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2024-08-20 04:34:26 +0200 |
commit | a1b18eba354dc773c214fc3b7ee92c3473ec4a5e (patch) | |
tree | 0ec001e35e94e40f809ede32010fa5a3ff40f510 /vcl/inc/skia/win | |
parent | a05432f02b6441b66addc0f22f1b8444557ac37b (diff) |
Implement Custom Font Collections on pre-Windows 10 systems
Commit 68818db0ec0e9c308c8a0772d46af551f439b32c (build a
IDWriteFontCollection1 of our FR_PRIVATE fonts, 2022-01-11) used
dwrite_3.h, which has API available only starting from Windows 10.
For pre-Windows 10 versions, there is a different way to implement
this, as explained at
https://learn.microsoft.com/en-us/windows/win32/directwrite/custom-font-collections
This change implements that more complex way as a fallback, until
we bump the baseline. Allows to not fall back to gdi in Skia, like
with the original commit, just on older Windows versions.
Change-Id: Ieca13e4a04bc72ce877ab9b512c7821d5466cb70
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172090
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'vcl/inc/skia/win')
-rw-r--r-- | vcl/inc/skia/win/gdiimpl.hxx | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/vcl/inc/skia/win/gdiimpl.hxx b/vcl/inc/skia/win/gdiimpl.hxx index c5b12d08811a..7e399c59effb 100644 --- a/vcl/inc/skia/win/gdiimpl.hxx +++ b/vcl/inc/skia/win/gdiimpl.hxx @@ -65,8 +65,7 @@ protected: virtual void createWindowSurfaceInternal(bool forceRaster = false) override; static sk_sp<SkTypeface> createDirectWriteTypeface(const WinFontInstance* pWinFont); static void initFontInfo(); - inline static sal::systools::COMReference<IDWriteFontSetBuilder> dwriteFontSetBuilder; - inline static sal::systools::COMReference<IDWriteFontCollection1> dwritePrivateCollection; + inline static sal::systools::COMReference<IDWriteFontCollection> dwritePrivateCollection; inline static sk_sp<SkFontMgr> dwriteFontMgr; inline static bool dwriteDone = false; static SkFont::Edging fontEdging; |