summaryrefslogtreecommitdiff
path: root/vcl/win/gdi/winlayout.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/win/gdi/winlayout.cxx')
-rw-r--r--vcl/win/gdi/winlayout.cxx10
1 files changed, 10 insertions, 0 deletions
diff --git a/vcl/win/gdi/winlayout.cxx b/vcl/win/gdi/winlayout.cxx
index 7b8f5df30180..935aeb84d2a4 100644
--- a/vcl/win/gdi/winlayout.cxx
+++ b/vcl/win/gdi/winlayout.cxx
@@ -345,6 +345,8 @@ float WinFontInstance::getHScale() const
return nWidth / nHeight;
}
+namespace {
+
struct BlobReference
{
hb_blob_t* mpBlob;
@@ -359,7 +361,13 @@ struct BlobReference
}
~BlobReference() { hb_blob_destroy(mpBlob); }
};
+
+}
+
using BlobCacheKey = std::pair<rtl::Reference<PhysicalFontFace>, hb_tag_t>;
+
+namespace {
+
struct BlobCacheKeyHash
{
std::size_t operator()(BlobCacheKey const& rKey) const
@@ -371,6 +379,8 @@ struct BlobCacheKeyHash
}
};
+}
+
static hb_blob_t* getFontTable(hb_face_t* /*face*/, hb_tag_t nTableTag, void* pUserData)
{
static o3tl::lru_map<BlobCacheKey, BlobReference, BlobCacheKeyHash> gCache(50);