summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ben Wagner <bungeman@google.com> 2024-01-18 15:07:40 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-01-18 15:07:40 +0000
commit5eba07633a0d8dd79285b2d5eb2bb1a3d94bcccc (patch)
treeafe8f90120acb4273fdf0831770aaa1f5c054e5f
parent90c49e7084cbf2a172ba8ea0f8d7f9e6c55bf769 (diff)
parent27ddcf49cf8dfd1472c8d406823d13228ec04e88 (diff)
Merge "Use SkTypeface::makeClone when creating variation" into main
-rw-r--r--libs/hwui/hwui/MinikinSkia.cpp10
1 files changed, 2 insertions, 8 deletions
diff --git a/libs/hwui/hwui/MinikinSkia.cpp b/libs/hwui/hwui/MinikinSkia.cpp
index f4ee36ec66d1..bbb142014ed8 100644
--- a/libs/hwui/hwui/MinikinSkia.cpp
+++ b/libs/hwui/hwui/MinikinSkia.cpp
@@ -131,11 +131,6 @@ std::shared_ptr<minikin::MinikinFont> MinikinFontSkia::createFontWithVariation(
const std::vector<minikin::FontVariation>& variations) const {
SkFontArguments args;
- int ttcIndex;
- std::unique_ptr<SkStreamAsset> stream(mTypeface->openStream(&ttcIndex));
- LOG_ALWAYS_FATAL_IF(stream == nullptr, "openStream failed");
-
- args.setCollectionIndex(ttcIndex);
std::vector<SkFontArguments::VariationPosition::Coordinate> skVariation;
skVariation.resize(variations.size());
for (size_t i = 0; i < variations.size(); i++) {
@@ -143,11 +138,10 @@ std::shared_ptr<minikin::MinikinFont> MinikinFontSkia::createFontWithVariation(
skVariation[i].value = SkFloatToScalar(variations[i].value);
}
args.setVariationDesignPosition({skVariation.data(), static_cast<int>(skVariation.size())});
- sk_sp<SkFontMgr> fm = android::FreeTypeFontMgr();
- sk_sp<SkTypeface> face(fm->makeFromStream(std::move(stream), args));
+ sk_sp<SkTypeface> face = mTypeface->makeClone(args);
return std::make_shared<MinikinFontSkia>(std::move(face), mSourceId, mFontData, mFontSize,
- mFilePath, ttcIndex, variations);
+ mFilePath, mTtcIndex, variations);
}
// hinting<<16 | edging<<8 | bools:5bits