Merge "Revert "Use new minikin::Font constructor""
This commit is contained in:
@@ -90,7 +90,7 @@ static void FontFamily_unref(jlong familyPtr) {
|
||||
}
|
||||
|
||||
static bool addSkTypeface(NativeFamilyBuilder* builder, sk_sp<SkData>&& data, int ttcIndex,
|
||||
jint weight, jint italic) {
|
||||
jint givenWeight, jint givenItalic) {
|
||||
uirenderer::FatVector<SkFontArguments::Axis, 2> skiaAxes;
|
||||
for (const auto& axis : builder->axes) {
|
||||
skiaAxes.emplace_back(SkFontArguments::Axis{axis.axisTag, axis.value});
|
||||
@@ -114,15 +114,27 @@ static bool addSkTypeface(NativeFamilyBuilder* builder, sk_sp<SkData>&& data, in
|
||||
std::shared_ptr<minikin::MinikinFont> minikinFont =
|
||||
std::make_shared<MinikinFontSkia>(std::move(face), fontPtr, fontSize, ttcIndex,
|
||||
builder->axes);
|
||||
minikin::Font::Builder fontBuilder(minikinFont);
|
||||
|
||||
if (weight != RESOLVE_BY_FONT_TABLE) {
|
||||
fontBuilder.setWeight(weight);
|
||||
int weight = givenWeight;
|
||||
bool italic = givenItalic == 1;
|
||||
if (givenWeight == RESOLVE_BY_FONT_TABLE || givenItalic == RESOLVE_BY_FONT_TABLE) {
|
||||
int os2Weight;
|
||||
bool os2Italic;
|
||||
if (!minikin::FontFamily::analyzeStyle(minikinFont, &os2Weight, &os2Italic)) {
|
||||
ALOGE("analyzeStyle failed. Using default style");
|
||||
os2Weight = 400;
|
||||
os2Italic = false;
|
||||
}
|
||||
if (givenWeight == RESOLVE_BY_FONT_TABLE) {
|
||||
weight = os2Weight;
|
||||
}
|
||||
if (givenItalic == RESOLVE_BY_FONT_TABLE) {
|
||||
italic = os2Italic;
|
||||
}
|
||||
}
|
||||
if (italic != RESOLVE_BY_FONT_TABLE) {
|
||||
fontBuilder.setSlant(static_cast<minikin::FontStyle::Slant>(italic != 0));
|
||||
}
|
||||
builder->fonts.push_back(fontBuilder.build());
|
||||
|
||||
builder->fonts.push_back(minikin::Font(minikinFont,
|
||||
minikin::FontStyle(weight, static_cast<minikin::FontStyle::Slant>(italic))));
|
||||
builder->axes.clear();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -576,7 +576,7 @@ namespace PaintGlue {
|
||||
minikin::FakedFont baseFont = typeface->fFontCollection->baseFontFaked(typeface->fStyle);
|
||||
float saveSkewX = paint->getTextSkewX();
|
||||
bool savefakeBold = paint->isFakeBoldText();
|
||||
MinikinFontSkia::populateSkPaint(paint, baseFont.font->typeface().get(), baseFont.fakery);
|
||||
MinikinFontSkia::populateSkPaint(paint, baseFont.font, baseFont.fakery);
|
||||
SkScalar spacing = paint->getFontMetrics(metrics);
|
||||
// The populateSkPaint call may have changed fake bold / text skew
|
||||
// because we want to measure with those effects applied, so now
|
||||
|
||||
@@ -132,8 +132,8 @@ Typeface* Typeface::createFromFamilies(std::vector<std::shared_ptr<minikin::Font
|
||||
bool italicFromFont;
|
||||
|
||||
const minikin::FontStyle defaultStyle;
|
||||
const minikin::MinikinFont* mf = families.empty() ? nullptr
|
||||
: families[0]->getClosestMatch(defaultStyle).font->typeface().get();
|
||||
const minikin::MinikinFont* mf =
|
||||
families.empty() ? nullptr : families[0]->getClosestMatch(defaultStyle).font;
|
||||
if (mf != nullptr) {
|
||||
SkTypeface* skTypeface = reinterpret_cast<const MinikinFontSkia*>(mf)->GetSkTypeface();
|
||||
const SkFontStyle& style = skTypeface->fontStyle();
|
||||
@@ -183,7 +183,7 @@ void Typeface::setRobotoTypefaceForTest() {
|
||||
std::shared_ptr<minikin::MinikinFont> font = std::make_shared<MinikinFontSkia>(
|
||||
std::move(typeface), data, st.st_size, 0, std::vector<minikin::FontVariation>());
|
||||
std::vector<minikin::Font> fonts;
|
||||
fonts.push_back(minikin::Font::Builder(font).build());
|
||||
fonts.push_back(minikin::Font(std::move(font), minikin::FontStyle()));
|
||||
|
||||
std::shared_ptr<minikin::FontCollection> collection = std::make_shared<minikin::FontCollection>(
|
||||
std::make_shared<minikin::FontFamily>(std::move(fonts)));
|
||||
|
||||
@@ -57,7 +57,7 @@ std::shared_ptr<minikin::FontFamily> buildFamily(const char* fileName) {
|
||||
std::shared_ptr<minikin::MinikinFont> font = std::make_shared<MinikinFontSkia>(
|
||||
std::move(typeface), data, st.st_size, 0, std::vector<minikin::FontVariation>());
|
||||
std::vector<minikin::Font> fonts;
|
||||
fonts.push_back(minikin::Font::Builder(font).build());
|
||||
fonts.push_back(minikin::Font(std::move(font), minikin::FontStyle()));
|
||||
return std::make_shared<minikin::FontFamily>(std::move(fonts));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user