diff --git a/libs/hwui/hwui/MinikinSkia.cpp b/libs/hwui/hwui/MinikinSkia.cpp index 6a12a203b9f8b..a6137b073d5a9 100644 --- a/libs/hwui/hwui/MinikinSkia.cpp +++ b/libs/hwui/hwui/MinikinSkia.cpp @@ -125,22 +125,22 @@ const std::vector& MinikinFontSkia::GetAxes() const { std::shared_ptr MinikinFontSkia::createFontWithVariation( const std::vector& variations) const { - SkFontArguments params; + SkFontArguments args; int ttcIndex; std::unique_ptr stream(mTypeface->openStream(&ttcIndex)); LOG_ALWAYS_FATAL_IF(stream == nullptr, "openStream failed"); - params.setCollectionIndex(ttcIndex); - std::vector skAxes; - skAxes.resize(variations.size()); + args.setCollectionIndex(ttcIndex); + std::vector skVariation; + skVariation.resize(variations.size()); for (size_t i = 0; i < variations.size(); i++) { - skAxes[i].fTag = variations[i].axisTag; - skAxes[i].fStyleValue = SkFloatToScalar(variations[i].value); + skVariation[i].axis = variations[i].axisTag; + skVariation[i].value = SkFloatToScalar(variations[i].value); } - params.setAxes(skAxes.data(), skAxes.size()); + args.setVariationDesignPosition({skVariation.data(), static_cast(skVariation.size())}); sk_sp fm(SkFontMgr::RefDefault()); - sk_sp face(fm->makeFromStream(std::move(stream), params)); + sk_sp face(fm->makeFromStream(std::move(stream), args)); return std::make_shared(std::move(face), mFontData, mFontSize, mFilePath, ttcIndex, variations); diff --git a/libs/hwui/jni/FontFamily.cpp b/libs/hwui/jni/FontFamily.cpp index a2fef1e19328f..68eaa0a3ca54f 100644 --- a/libs/hwui/jni/FontFamily.cpp +++ b/libs/hwui/jni/FontFamily.cpp @@ -104,21 +104,21 @@ static jlong FontFamily_getFamilyReleaseFunc(CRITICAL_JNI_PARAMS) { static bool addSkTypeface(NativeFamilyBuilder* builder, sk_sp&& data, int ttcIndex, jint weight, jint italic) { - FatVector skiaAxes; + FatVector skVariation; for (const auto& axis : builder->axes) { - skiaAxes.emplace_back(SkFontArguments::Axis{axis.axisTag, axis.value}); + skVariation.push_back({axis.axisTag, axis.value}); } const size_t fontSize = data->size(); const void* fontPtr = data->data(); std::unique_ptr fontData(new SkMemoryStream(std::move(data))); - SkFontArguments params; - params.setCollectionIndex(ttcIndex); - params.setAxes(skiaAxes.data(), skiaAxes.size()); + SkFontArguments args; + args.setCollectionIndex(ttcIndex); + args.setVariationDesignPosition({skVariation.data(), static_cast(skVariation.size())}); sk_sp fm(SkFontMgr::RefDefault()); - sk_sp face(fm->makeFromStream(std::move(fontData), params)); + sk_sp face(fm->makeFromStream(std::move(fontData), args)); if (face == NULL) { ALOGE("addFont failed to create font, invalid request"); builder->axes.clear(); diff --git a/libs/hwui/jni/fonts/Font.cpp b/libs/hwui/jni/fonts/Font.cpp index 5714cd1d03902..996cdceed8a7e 100644 --- a/libs/hwui/jni/fonts/Font.cpp +++ b/libs/hwui/jni/fonts/Font.cpp @@ -93,19 +93,19 @@ static jlong Font_Builder_build(JNIEnv* env, jobject clazz, jlong builderPtr, jo sk_sp data(SkData::MakeWithProc(fontPtr, fontSize, release_global_ref, reinterpret_cast(fontRef))); - FatVector skiaAxes; + FatVector skVariation; for (const auto& axis : builder->axes) { - skiaAxes.emplace_back(SkFontArguments::Axis{axis.axisTag, axis.value}); + skVariation.push_back({axis.axisTag, axis.value}); } std::unique_ptr fontData(new SkMemoryStream(std::move(data))); - SkFontArguments params; - params.setCollectionIndex(ttcIndex); - params.setAxes(skiaAxes.data(), skiaAxes.size()); + SkFontArguments args; + args.setCollectionIndex(ttcIndex); + args.setVariationDesignPosition({skVariation.data(), static_cast(skVariation.size())}); sk_sp fm(SkFontMgr::RefDefault()); - sk_sp face(fm->makeFromStream(std::move(fontData), params)); + sk_sp face(fm->makeFromStream(std::move(fontData), args)); if (face == nullptr) { jniThrowException(env, "java/lang/IllegalArgumentException", "Failed to create internal object. maybe invalid font data.");