Merge "use new SkFontMgr API"
This commit is contained in:
committed by
Android (Google) Code Review
commit
de893f3f0a
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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>());
|
||||
|
||||
Reference in New Issue
Block a user