Merge "use new SkFontMgr API"

This commit is contained in:
TreeHugger Robot
2017-09-27 14:39:06 +00:00
committed by Android (Google) Code Review
3 changed files with 9 additions and 9 deletions

View File

@@ -97,21 +97,21 @@ static void FontFamily_unref(jlong familyPtr) {
static bool addSkTypeface(NativeFamilyBuilder* builder, sk_sp<SkData>&& data, int ttcIndex,
jint givenWeight, jint givenItalic) {
uirenderer::FatVector<SkFontMgr::FontParameters::Axis, 2> skiaAxes;
uirenderer::FatVector<SkFontArguments::Axis, 2> skiaAxes;
for (const auto& axis : builder->axes) {
skiaAxes.emplace_back(SkFontMgr::FontParameters::Axis{axis.axisTag, axis.value});
skiaAxes.emplace_back(SkFontArguments::Axis{axis.axisTag, axis.value});
}
const size_t fontSize = data->size();
const void* fontPtr = data->data();
std::unique_ptr<SkStreamAsset> fontData(new SkMemoryStream(std::move(data)));
SkFontMgr::FontParameters params;
SkFontArguments params;
params.setCollectionIndex(ttcIndex);
params.setAxes(skiaAxes.data(), skiaAxes.size());
sk_sp<SkFontMgr> fm(SkFontMgr::RefDefault());
sk_sp<SkTypeface> face(fm->createFromStream(fontData.release(), params));
sk_sp<SkTypeface> face(fm->makeFromStream(std::move(fontData), params));
if (face == NULL) {
ALOGE("addFont failed to create font, invalid request");
builder->axes.clear();

View File

@@ -104,14 +104,14 @@ const std::vector<minikin::FontVariation>& MinikinFontSkia::GetAxes() const {
std::shared_ptr<minikin::MinikinFont> MinikinFontSkia::createFontWithVariation(
const std::vector<minikin::FontVariation>& variations) const {
SkFontMgr::FontParameters params;
SkFontArguments params;
int ttcIndex;
SkStreamAsset* stream = mTypeface->openStream(&ttcIndex);
std::unique_ptr<SkStreamAsset> stream(mTypeface->openStream(&ttcIndex));
LOG_ALWAYS_FATAL_IF(stream == nullptr, "openStream failed");
params.setCollectionIndex(ttcIndex);
std::vector<SkFontMgr::FontParameters::Axis> skAxes;
std::vector<SkFontArguments::Axis> skAxes;
skAxes.resize(variations.size());
for (size_t i = 0; i < variations.size(); i++) {
skAxes[i].fTag = variations[i].axisTag;
@@ -119,7 +119,7 @@ std::shared_ptr<minikin::MinikinFont> MinikinFontSkia::createFontWithVariation(
}
params.setAxes(skAxes.data(), skAxes.size());
sk_sp<SkFontMgr> fm(SkFontMgr::RefDefault());
sk_sp<SkTypeface> face(fm->createFromStream(stream, params));
sk_sp<SkTypeface> face(fm->makeFromStream(std::move(stream), params));
return std::make_shared<MinikinFontSkia>(std::move(face), mFontData, mFontSize, ttcIndex,
variations);

View File

@@ -52,7 +52,7 @@ std::shared_ptr<minikin::FontFamily> buildFamily(const char* fileName) {
SkData::MakeWithProc(data, st.st_size, unmap, reinterpret_cast<void*>(st.st_size));
std::unique_ptr<SkStreamAsset> fontData(new SkMemoryStream(skData));
sk_sp<SkFontMgr> fm(SkFontMgr::RefDefault());
sk_sp<SkTypeface> typeface(fm->createFromStream(fontData.release()));
sk_sp<SkTypeface> typeface(fm->makeFromStream(std::move(fontData)));
LOG_ALWAYS_FATAL_IF(typeface == nullptr, "Failed to make typeface from %s", fileName);
std::shared_ptr<minikin::MinikinFont> font = std::make_shared<MinikinFontSkia>(
std::move(typeface), data, st.st_size, 0, std::vector<minikin::FontVariation>());