From c52075ee2bcfde4cf9b091e404517a74ff7cec60 Mon Sep 17 00:00:00 2001 From: Seigo Nonaka Date: Fri, 17 Nov 2017 15:40:06 -0800 Subject: [PATCH] Update FontStyle location in minikin. Bug: 65024629 Test: hwui_unit_tests Change-Id: I54d701945dfb0792f08a4c26cc1f8b6a6ab9e67e --- core/jni/android/graphics/FontFamily.cpp | 6 +- core/jni/android/graphics/Paint.cpp | 7 +- core/jni/android/graphics/Typeface.cpp | 2 +- libs/hwui/hwui/MinikinUtils.cpp | 9 +- libs/hwui/hwui/Paint.h | 6 +- libs/hwui/hwui/PaintImpl.cpp | 13 +- libs/hwui/hwui/Typeface.cpp | 2 +- libs/hwui/tests/unit/TypefaceTests.cpp | 168 +++++++++++------------ 8 files changed, 105 insertions(+), 108 deletions(-) diff --git a/core/jni/android/graphics/FontFamily.cpp b/core/jni/android/graphics/FontFamily.cpp index 1a19a4099e12a..dd3e6f02e9fed 100644 --- a/core/jni/android/graphics/FontFamily.cpp +++ b/core/jni/android/graphics/FontFamily.cpp @@ -44,10 +44,10 @@ namespace android { struct NativeFamilyBuilder { NativeFamilyBuilder(uint32_t langId, int variant) - : langId(langId), variant(static_cast(variant)), + : langId(langId), variant(static_cast(variant)), allowUnsupportedFont(false) {} uint32_t langId; - minikin::FontVariant variant; + minikin::FontFamily::Variant variant; bool allowUnsupportedFont; std::vector fonts; std::vector axes; @@ -141,7 +141,7 @@ static bool addSkTypeface(NativeFamilyBuilder* builder, sk_sp&& data, in } builder->fonts.push_back(minikin::Font(minikinFont, - minikin::FontStyle(weight, static_cast(italic)))); + minikin::FontStyle(weight, static_cast(italic)))); builder->axes.clear(); return true; } diff --git a/core/jni/android/graphics/Paint.cpp b/core/jni/android/graphics/Paint.cpp index 5f32d379af243..1e7f5f5c10226 100644 --- a/core/jni/android/graphics/Paint.cpp +++ b/core/jni/android/graphics/Paint.cpp @@ -581,7 +581,7 @@ namespace PaintGlue { // restore the original settings. paint->setTextSkewX(saveSkewX); paint->setFakeBoldText(savefakeBold); - if (paint->getFontVariant() == minikin::FontVariant::ELEGANT) { + if (paint->getFamilyVariant() == minikin::FontFamily::Variant::ELEGANT) { SkScalar size = paint->getTextSize(); metrics->fTop = -size * kElegantTop / 2048; metrics->fBottom = -size * kElegantBottom / 2048; @@ -880,12 +880,13 @@ namespace PaintGlue { static jboolean isElegantTextHeight(jlong paintHandle) { Paint* obj = reinterpret_cast(paintHandle); - return obj->getFontVariant() == minikin::FontVariant::ELEGANT; + return obj->getFamilyVariant() == minikin::FontFamily::Variant::ELEGANT; } static void setElegantTextHeight(jlong paintHandle, jboolean aa) { Paint* obj = reinterpret_cast(paintHandle); - obj->setFontVariant(aa ? minikin::FontVariant::ELEGANT : minikin::FontVariant::DEFAULT); + obj->setFamilyVariant( + aa ? minikin::FontFamily::Variant::ELEGANT : minikin::FontFamily::Variant::DEFAULT); } static jfloat getTextSize(jlong paintHandle) { diff --git a/core/jni/android/graphics/Typeface.cpp b/core/jni/android/graphics/Typeface.cpp index 3e4073f6f2155..d67c0b018efbe 100644 --- a/core/jni/android/graphics/Typeface.cpp +++ b/core/jni/android/graphics/Typeface.cpp @@ -83,7 +83,7 @@ static jint Typeface_getStyle(JNIEnv* env, jobject obj, jlong faceHandle) { static jint Typeface_getWeight(JNIEnv* env, jobject obj, jlong faceHandle) { Typeface* face = reinterpret_cast(faceHandle); - return face->fStyle.weight; + return face->fStyle.weight(); } static jlong Typeface_createFromArray(JNIEnv *env, jobject, jlongArray familyArray, diff --git a/libs/hwui/hwui/MinikinUtils.cpp b/libs/hwui/hwui/MinikinUtils.cpp index 90fe0b74dcec2..bad766c7d5ef3 100644 --- a/libs/hwui/hwui/MinikinUtils.cpp +++ b/libs/hwui/hwui/MinikinUtils.cpp @@ -29,12 +29,6 @@ namespace android { minikin::MinikinPaint MinikinUtils::prepareMinikinPaint(const Paint* paint, const Typeface* typeface) { const Typeface* resolvedFace = Typeface::resolveDefault(typeface); - minikin::FontStyle resolved = resolvedFace->fStyle; - - const minikin::FontVariant minikinVariant = - (paint->getFontVariant() == minikin::FontVariant::ELEGANT) - ? minikin::FontVariant::ELEGANT - : minikin::FontVariant::COMPACT; minikin::MinikinPaint minikinPaint; /* Prepare minikin Paint */ @@ -46,7 +40,8 @@ minikin::MinikinPaint MinikinUtils::prepareMinikinPaint(const Paint* paint, minikinPaint.wordSpacing = paint->getWordSpacing(); minikinPaint.paintFlags = MinikinFontSkia::packPaintFlags(paint); minikinPaint.localeListId = paint->getMinikinLocaleListId(); - minikinPaint.fontStyle = minikin::FontStyle(minikinVariant, resolved.weight, resolved.slant); + minikinPaint.familyVariant = paint->getFamilyVariant(); + minikinPaint.fontStyle = resolvedFace->fStyle; minikinPaint.fontFeatureSettings = paint->getFontFeatureSettings(); minikinPaint.hyphenEdit = minikin::HyphenEdit(paint->getHyphenEdit()); return minikinPaint; diff --git a/libs/hwui/hwui/Paint.h b/libs/hwui/hwui/Paint.h index 76beb119b6da8..002f75906c35b 100644 --- a/libs/hwui/hwui/Paint.h +++ b/libs/hwui/hwui/Paint.h @@ -73,9 +73,9 @@ public: uint32_t getMinikinLocaleListId() const { return mMinikinLocaleListId; } - void setFontVariant(minikin::FontVariant variant) { mFontVariant = variant; } + void setFamilyVariant(minikin::FontFamily::Variant variant) { mFamilyVariant = variant; } - minikin::FontVariant getFontVariant() const { return mFontVariant; } + minikin::FontFamily::Variant getFamilyVariant() const { return mFamilyVariant; } void setHyphenEdit(uint32_t hyphen) { mHyphenEdit = hyphen; } @@ -90,7 +90,7 @@ private: float mWordSpacing = 0; std::string mFontFeatureSettings; uint32_t mMinikinLocaleListId; - minikin::FontVariant mFontVariant; + minikin::FontFamily::Variant mFamilyVariant; uint32_t mHyphenEdit = 0; // The native Typeface object has the same lifetime of the Java Typeface // object. The Java Paint object holds a strong reference to the Java Typeface diff --git a/libs/hwui/hwui/PaintImpl.cpp b/libs/hwui/hwui/PaintImpl.cpp index 94492c52f365f..ae9c475d09d4c 100644 --- a/libs/hwui/hwui/PaintImpl.cpp +++ b/libs/hwui/hwui/PaintImpl.cpp @@ -24,7 +24,7 @@ Paint::Paint() , mWordSpacing(0) , mFontFeatureSettings() , mMinikinLocaleListId(0) - , mFontVariant(minikin::FontVariant::DEFAULT) {} + , mFamilyVariant(minikin::FontFamily::Variant::DEFAULT) {} Paint::Paint(const Paint& paint) : SkPaint(paint) @@ -32,7 +32,7 @@ Paint::Paint(const Paint& paint) , mWordSpacing(paint.mWordSpacing) , mFontFeatureSettings(paint.mFontFeatureSettings) , mMinikinLocaleListId(paint.mMinikinLocaleListId) - , mFontVariant(paint.mFontVariant) + , mFamilyVariant(paint.mFamilyVariant) , mHyphenEdit(paint.mHyphenEdit) , mTypeface(paint.mTypeface) {} @@ -42,7 +42,7 @@ Paint::Paint(const SkPaint& paint) , mWordSpacing(0) , mFontFeatureSettings() , mMinikinLocaleListId(0) - , mFontVariant(minikin::FontVariant::DEFAULT) {} + , mFamilyVariant(minikin::FontFamily::Variant::DEFAULT) {} Paint::~Paint() {} @@ -52,7 +52,7 @@ Paint& Paint::operator=(const Paint& other) { mWordSpacing = other.mWordSpacing; mFontFeatureSettings = other.mFontFeatureSettings; mMinikinLocaleListId = other.mMinikinLocaleListId; - mFontVariant = other.mFontVariant; + mFamilyVariant = other.mFamilyVariant; mHyphenEdit = other.mHyphenEdit; mTypeface = other.mTypeface; return *this; @@ -62,7 +62,8 @@ bool operator==(const Paint& a, const Paint& b) { return static_cast(a) == static_cast(b) && a.mLetterSpacing == b.mLetterSpacing && a.mWordSpacing == b.mWordSpacing && a.mFontFeatureSettings == b.mFontFeatureSettings && - a.mMinikinLocaleListId == b.mMinikinLocaleListId && a.mFontVariant == b.mFontVariant && - a.mHyphenEdit == b.mHyphenEdit && a.mTypeface == b.mTypeface; + a.mMinikinLocaleListId == b.mMinikinLocaleListId && + a.mFamilyVariant == b.mFamilyVariant && a.mHyphenEdit == b.mHyphenEdit && + a.mTypeface == b.mTypeface; } } // namespace android diff --git a/libs/hwui/hwui/Typeface.cpp b/libs/hwui/hwui/Typeface.cpp index e527adc08fd71..ebc14c8b675b8 100644 --- a/libs/hwui/hwui/Typeface.cpp +++ b/libs/hwui/hwui/Typeface.cpp @@ -45,7 +45,7 @@ static Typeface::Style computeAPIStyle(int weight, bool italic) { static minikin::FontStyle computeMinikinStyle(int weight, bool italic) { return minikin::FontStyle(uirenderer::MathUtils::clamp(weight, 1, 1000), - static_cast(italic)); + static_cast(italic)); } // Resolve the relative weight from the baseWeight and target style. diff --git a/libs/hwui/tests/unit/TypefaceTests.cpp b/libs/hwui/tests/unit/TypefaceTests.cpp index 1fcc028b890fe..66d6f527e6047 100644 --- a/libs/hwui/tests/unit/TypefaceTests.cpp +++ b/libs/hwui/tests/unit/TypefaceTests.cpp @@ -81,39 +81,39 @@ TEST(TypefaceTest, resolveDefault_and_setDefaultTest) { TEST(TypefaceTest, createWithDifferentBaseWeight) { std::unique_ptr bold(Typeface::createWithDifferentBaseWeight(nullptr, 700)); - EXPECT_EQ(700, bold->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, bold->fStyle.slant); + EXPECT_EQ(700, bold->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, bold->fStyle.slant()); EXPECT_EQ(Typeface::kNormal, bold->fAPIStyle); std::unique_ptr light(Typeface::createWithDifferentBaseWeight(nullptr, 300)); - EXPECT_EQ(300, light->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, light->fStyle.slant); + EXPECT_EQ(300, light->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, light->fStyle.slant()); EXPECT_EQ(Typeface::kNormal, light->fAPIStyle); } TEST(TypefaceTest, createRelativeTest_fromRegular) { // In Java, Typeface.create(Typeface.DEFAULT, Typeface.NORMAL); std::unique_ptr normal(Typeface::createRelative(nullptr, Typeface::kNormal)); - EXPECT_EQ(400, normal->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, normal->fStyle.slant); + EXPECT_EQ(400, normal->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, normal->fStyle.slant()); EXPECT_EQ(Typeface::kNormal, normal->fAPIStyle); // In Java, Typeface.create(Typeface.DEFAULT, Typeface.BOLD); std::unique_ptr bold(Typeface::createRelative(nullptr, Typeface::kBold)); - EXPECT_EQ(700, bold->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, bold->fStyle.slant); + EXPECT_EQ(700, bold->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, bold->fStyle.slant()); EXPECT_EQ(Typeface::kBold, bold->fAPIStyle); // In Java, Typeface.create(Typeface.DEFAULT, Typeface.ITALIC); std::unique_ptr italic(Typeface::createRelative(nullptr, Typeface::kItalic)); - EXPECT_EQ(400, italic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, italic->fStyle.slant); + EXPECT_EQ(400, italic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, italic->fStyle.slant()); EXPECT_EQ(Typeface::kItalic, italic->fAPIStyle); // In Java, Typeface.create(Typeface.DEFAULT, Typeface.BOLD_ITALIC); std::unique_ptr boldItalic(Typeface::createRelative(nullptr, Typeface::kBoldItalic)); - EXPECT_EQ(700, boldItalic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, boldItalic->fStyle.slant); + EXPECT_EQ(700, boldItalic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, boldItalic->fStyle.slant()); EXPECT_EQ(Typeface::kBoldItalic, boldItalic->fAPIStyle); } @@ -123,30 +123,30 @@ TEST(TypefaceTest, createRelativeTest_BoldBase) { // In Java, Typeface.create(Typeface.create("sans-serif-bold"), // Typeface.NORMAL); std::unique_ptr normal(Typeface::createRelative(base.get(), Typeface::kNormal)); - EXPECT_EQ(700, normal->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, normal->fStyle.slant); + EXPECT_EQ(700, normal->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, normal->fStyle.slant()); EXPECT_EQ(Typeface::kNormal, normal->fAPIStyle); // In Java, Typeface.create(Typeface.create("sans-serif-bold"), // Typeface.BOLD); std::unique_ptr bold(Typeface::createRelative(base.get(), Typeface::kBold)); - EXPECT_EQ(1000, bold->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, bold->fStyle.slant); + EXPECT_EQ(1000, bold->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, bold->fStyle.slant()); EXPECT_EQ(Typeface::kBold, bold->fAPIStyle); // In Java, Typeface.create(Typeface.create("sans-serif-bold"), // Typeface.ITALIC); std::unique_ptr italic(Typeface::createRelative(base.get(), Typeface::kItalic)); - EXPECT_EQ(700, italic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, italic->fStyle.slant); + EXPECT_EQ(700, italic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, italic->fStyle.slant()); EXPECT_EQ(Typeface::kItalic, italic->fAPIStyle); // In Java, Typeface.create(Typeface.create("sans-serif-bold"), // Typeface.BOLD_ITALIC); std::unique_ptr boldItalic( Typeface::createRelative(base.get(), Typeface::kBoldItalic)); - EXPECT_EQ(1000, boldItalic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, boldItalic->fStyle.slant); + EXPECT_EQ(1000, boldItalic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, boldItalic->fStyle.slant()); EXPECT_EQ(Typeface::kBoldItalic, boldItalic->fAPIStyle); } @@ -156,30 +156,30 @@ TEST(TypefaceTest, createRelativeTest_LightBase) { // In Java, Typeface.create(Typeface.create("sans-serif-light"), // Typeface.NORMAL); std::unique_ptr normal(Typeface::createRelative(base.get(), Typeface::kNormal)); - EXPECT_EQ(300, normal->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, normal->fStyle.slant); + EXPECT_EQ(300, normal->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, normal->fStyle.slant()); EXPECT_EQ(Typeface::kNormal, normal->fAPIStyle); // In Java, Typeface.create(Typeface.create("sans-serif-light"), // Typeface.BOLD); std::unique_ptr bold(Typeface::createRelative(base.get(), Typeface::kBold)); - EXPECT_EQ(600, bold->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, bold->fStyle.slant); + EXPECT_EQ(600, bold->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, bold->fStyle.slant()); EXPECT_EQ(Typeface::kBold, bold->fAPIStyle); // In Java, Typeface.create(Typeface.create("sans-serif-light"), // Typeface.ITLIC); std::unique_ptr italic(Typeface::createRelative(base.get(), Typeface::kItalic)); - EXPECT_EQ(300, italic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, italic->fStyle.slant); + EXPECT_EQ(300, italic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, italic->fStyle.slant()); EXPECT_EQ(Typeface::kItalic, italic->fAPIStyle); // In Java, Typeface.create(Typeface.create("sans-serif-light"), // Typeface.BOLD_ITALIC); std::unique_ptr boldItalic( Typeface::createRelative(base.get(), Typeface::kBoldItalic)); - EXPECT_EQ(600, boldItalic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, boldItalic->fStyle.slant); + EXPECT_EQ(600, boldItalic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, boldItalic->fStyle.slant()); EXPECT_EQ(Typeface::kBoldItalic, boldItalic->fAPIStyle); } @@ -189,22 +189,22 @@ TEST(TypefaceTest, createRelativeTest_fromBoldStyled) { // In Java, Typeface.create(Typeface.create(Typeface.DEFAULT, Typeface.BOLD), // Typeface.NORMAL); std::unique_ptr normal(Typeface::createRelative(base.get(), Typeface::kNormal)); - EXPECT_EQ(400, normal->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, normal->fStyle.slant); + EXPECT_EQ(400, normal->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, normal->fStyle.slant()); EXPECT_EQ(Typeface::kNormal, normal->fAPIStyle); // In Java Typeface.create(Typeface.create(Typeface.DEFAULT, Typeface.BOLD), // Typeface.BOLD); std::unique_ptr bold(Typeface::createRelative(base.get(), Typeface::kBold)); - EXPECT_EQ(700, bold->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, bold->fStyle.slant); + EXPECT_EQ(700, bold->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, bold->fStyle.slant()); EXPECT_EQ(Typeface::kBold, bold->fAPIStyle); // In Java, Typeface.create(Typeface.create(Typeface.DEFAULT, Typeface.BOLD), // Typeface.ITALIC); std::unique_ptr italic(Typeface::createRelative(base.get(), Typeface::kItalic)); - EXPECT_EQ(400, normal->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, italic->fStyle.slant); + EXPECT_EQ(400, normal->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, italic->fStyle.slant()); EXPECT_EQ(Typeface::kItalic, italic->fAPIStyle); // In Java, @@ -212,8 +212,8 @@ TEST(TypefaceTest, createRelativeTest_fromBoldStyled) { // Typeface.BOLD_ITALIC); std::unique_ptr boldItalic( Typeface::createRelative(base.get(), Typeface::kBoldItalic)); - EXPECT_EQ(700, boldItalic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, boldItalic->fStyle.slant); + EXPECT_EQ(700, boldItalic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, boldItalic->fStyle.slant()); EXPECT_EQ(Typeface::kBoldItalic, boldItalic->fAPIStyle); } @@ -224,23 +224,23 @@ TEST(TypefaceTest, createRelativeTest_fromItalicStyled) { // Typeface.create(Typeface.create(Typeface.DEFAULT, Typeface.ITALIC), // Typeface.NORMAL); std::unique_ptr normal(Typeface::createRelative(base.get(), Typeface::kNormal)); - EXPECT_EQ(400, normal->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, normal->fStyle.slant); + EXPECT_EQ(400, normal->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, normal->fStyle.slant()); EXPECT_EQ(Typeface::kNormal, normal->fAPIStyle); // In Java, Typeface.create(Typeface.create(Typeface.DEFAULT, // Typeface.ITALIC), Typeface.BOLD); std::unique_ptr bold(Typeface::createRelative(base.get(), Typeface::kBold)); - EXPECT_EQ(700, bold->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, bold->fStyle.slant); + EXPECT_EQ(700, bold->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, bold->fStyle.slant()); EXPECT_EQ(Typeface::kBold, bold->fAPIStyle); // In Java, // Typeface.create(Typeface.create(Typeface.DEFAULT, Typeface.ITALIC), // Typeface.ITALIC); std::unique_ptr italic(Typeface::createRelative(base.get(), Typeface::kItalic)); - EXPECT_EQ(400, italic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, italic->fStyle.slant); + EXPECT_EQ(400, italic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, italic->fStyle.slant()); EXPECT_EQ(Typeface::kItalic, italic->fAPIStyle); // In Java, @@ -248,8 +248,8 @@ TEST(TypefaceTest, createRelativeTest_fromItalicStyled) { // Typeface.BOLD_ITALIC); std::unique_ptr boldItalic( Typeface::createRelative(base.get(), Typeface::kBoldItalic)); - EXPECT_EQ(700, boldItalic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, boldItalic->fStyle.slant); + EXPECT_EQ(700, boldItalic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, boldItalic->fStyle.slant()); EXPECT_EQ(Typeface::kBoldItalic, boldItalic->fAPIStyle); } @@ -261,8 +261,8 @@ TEST(TypefaceTest, createRelativeTest_fromSpecifiedStyled) { // .setWeight(700).setItalic(false).build(); // Typeface.create(typeface, Typeface.NORMAL); std::unique_ptr normal(Typeface::createRelative(base.get(), Typeface::kNormal)); - EXPECT_EQ(400, normal->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, normal->fStyle.slant); + EXPECT_EQ(400, normal->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, normal->fStyle.slant()); EXPECT_EQ(Typeface::kNormal, normal->fAPIStyle); // In Java, @@ -270,8 +270,8 @@ TEST(TypefaceTest, createRelativeTest_fromSpecifiedStyled) { // .setWeight(700).setItalic(false).build(); // Typeface.create(typeface, Typeface.BOLD); std::unique_ptr bold(Typeface::createRelative(base.get(), Typeface::kBold)); - EXPECT_EQ(700, bold->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, bold->fStyle.slant); + EXPECT_EQ(700, bold->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, bold->fStyle.slant()); EXPECT_EQ(Typeface::kBold, bold->fAPIStyle); // In Java, @@ -279,8 +279,8 @@ TEST(TypefaceTest, createRelativeTest_fromSpecifiedStyled) { // .setWeight(700).setItalic(false).build(); // Typeface.create(typeface, Typeface.ITALIC); std::unique_ptr italic(Typeface::createRelative(base.get(), Typeface::kItalic)); - EXPECT_EQ(400, italic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, italic->fStyle.slant); + EXPECT_EQ(400, italic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, italic->fStyle.slant()); EXPECT_EQ(Typeface::kItalic, italic->fAPIStyle); // In Java, @@ -289,8 +289,8 @@ TEST(TypefaceTest, createRelativeTest_fromSpecifiedStyled) { // Typeface.create(typeface, Typeface.BOLD_ITALIC); std::unique_ptr boldItalic( Typeface::createRelative(base.get(), Typeface::kBoldItalic)); - EXPECT_EQ(700, boldItalic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, boldItalic->fStyle.slant); + EXPECT_EQ(700, boldItalic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, boldItalic->fStyle.slant()); EXPECT_EQ(Typeface::kBoldItalic, boldItalic->fAPIStyle); } @@ -300,8 +300,8 @@ TEST(TypefaceTest, createAbsolute) { // Typeface.Builder(invalid).setFallback("sans-serif").setWeight(400).setItalic(false) // .build(); std::unique_ptr regular(Typeface::createAbsolute(nullptr, 400, false)); - EXPECT_EQ(400, regular->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, regular->fStyle.slant); + EXPECT_EQ(400, regular->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, regular->fStyle.slant()); EXPECT_EQ(Typeface::kNormal, regular->fAPIStyle); // In Java, @@ -309,8 +309,8 @@ TEST(TypefaceTest, createAbsolute) { // Typeface.Builder(invalid).setFallback("sans-serif").setWeight(700).setItalic(false) // .build(); std::unique_ptr bold(Typeface::createAbsolute(nullptr, 700, false)); - EXPECT_EQ(700, bold->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, bold->fStyle.slant); + EXPECT_EQ(700, bold->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, bold->fStyle.slant()); EXPECT_EQ(Typeface::kBold, bold->fAPIStyle); // In Java, @@ -318,8 +318,8 @@ TEST(TypefaceTest, createAbsolute) { // Typeface.Builder(invalid).setFallback("sans-serif").setWeight(400).setItalic(true) // .build(); std::unique_ptr italic(Typeface::createAbsolute(nullptr, 400, true)); - EXPECT_EQ(400, italic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, italic->fStyle.slant); + EXPECT_EQ(400, italic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, italic->fStyle.slant()); EXPECT_EQ(Typeface::kItalic, italic->fAPIStyle); // In Java, @@ -327,8 +327,8 @@ TEST(TypefaceTest, createAbsolute) { // Typeface.Builder(invalid).setFallback("sans-serif").setWeight(700).setItalic(true) // .build(); std::unique_ptr boldItalic(Typeface::createAbsolute(nullptr, 700, true)); - EXPECT_EQ(700, boldItalic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, boldItalic->fStyle.slant); + EXPECT_EQ(700, boldItalic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, boldItalic->fStyle.slant()); EXPECT_EQ(Typeface::kBoldItalic, boldItalic->fAPIStyle); // In Java, @@ -336,8 +336,8 @@ TEST(TypefaceTest, createAbsolute) { // Typeface.Builder(invalid).setFallback("sans-serif").setWeight(1100).setItalic(true) // .build(); std::unique_ptr over1000(Typeface::createAbsolute(nullptr, 1100, false)); - EXPECT_EQ(1000, over1000->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, over1000->fStyle.slant); + EXPECT_EQ(1000, over1000->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, over1000->fStyle.slant()); EXPECT_EQ(Typeface::kBold, over1000->fAPIStyle); } @@ -346,24 +346,24 @@ TEST(TypefaceTest, createFromFamilies_Single) { // Typeface.Builder("Roboto-Regular.ttf").setWeight(400).setItalic(false).build(); std::unique_ptr regular( Typeface::createFromFamilies(makeSingleFamlyVector(kRobotoRegular), 400, false)); - EXPECT_EQ(400, regular->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, regular->fStyle.slant); + EXPECT_EQ(400, regular->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, regular->fStyle.slant()); EXPECT_EQ(Typeface::kNormal, regular->fAPIStyle); // In Java, new // Typeface.Builder("Roboto-Bold.ttf").setWeight(700).setItalic(false).build(); std::unique_ptr bold( Typeface::createFromFamilies(makeSingleFamlyVector(kRobotoBold), 700, false)); - EXPECT_EQ(700, bold->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, bold->fStyle.slant); + EXPECT_EQ(700, bold->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, bold->fStyle.slant()); EXPECT_EQ(Typeface::kBold, bold->fAPIStyle); // In Java, new // Typeface.Builder("Roboto-Italic.ttf").setWeight(400).setItalic(true).build(); std::unique_ptr italic( Typeface::createFromFamilies(makeSingleFamlyVector(kRobotoItalic), 400, true)); - EXPECT_EQ(400, italic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, italic->fStyle.slant); + EXPECT_EQ(400, italic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, italic->fStyle.slant()); EXPECT_EQ(Typeface::kItalic, italic->fAPIStyle); // In Java, @@ -371,8 +371,8 @@ TEST(TypefaceTest, createFromFamilies_Single) { // Typeface.Builder("Roboto-BoldItalic.ttf").setWeight(700).setItalic(true).build(); std::unique_ptr boldItalic( Typeface::createFromFamilies(makeSingleFamlyVector(kRobotoBoldItalic), 700, true)); - EXPECT_EQ(700, boldItalic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, boldItalic->fStyle.slant); + EXPECT_EQ(700, boldItalic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, boldItalic->fStyle.slant()); EXPECT_EQ(Typeface::kItalic, italic->fAPIStyle); // In Java, @@ -380,8 +380,8 @@ TEST(TypefaceTest, createFromFamilies_Single) { // Typeface.Builder("Roboto-BoldItalic.ttf").setWeight(1100).setItalic(false).build(); std::unique_ptr over1000( Typeface::createFromFamilies(makeSingleFamlyVector(kRobotoBold), 1100, false)); - EXPECT_EQ(1000, over1000->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, over1000->fStyle.slant); + EXPECT_EQ(1000, over1000->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, over1000->fStyle.slant()); EXPECT_EQ(Typeface::kBold, over1000->fAPIStyle); } @@ -389,30 +389,30 @@ TEST(TypefaceTest, createFromFamilies_Single_resolveByTable) { // In Java, new Typeface.Builder("Roboto-Regular.ttf").build(); std::unique_ptr regular(Typeface::createFromFamilies( makeSingleFamlyVector(kRobotoRegular), RESOLVE_BY_FONT_TABLE, RESOLVE_BY_FONT_TABLE)); - EXPECT_EQ(400, regular->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, regular->fStyle.slant); + EXPECT_EQ(400, regular->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, regular->fStyle.slant()); EXPECT_EQ(Typeface::kNormal, regular->fAPIStyle); // In Java, new Typeface.Builder("Roboto-Bold.ttf").build(); std::unique_ptr bold(Typeface::createFromFamilies( makeSingleFamlyVector(kRobotoBold), RESOLVE_BY_FONT_TABLE, RESOLVE_BY_FONT_TABLE)); - EXPECT_EQ(700, bold->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, bold->fStyle.slant); + EXPECT_EQ(700, bold->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, bold->fStyle.slant()); EXPECT_EQ(Typeface::kBold, bold->fAPIStyle); // In Java, new Typeface.Builder("Roboto-Italic.ttf").build(); std::unique_ptr italic(Typeface::createFromFamilies( makeSingleFamlyVector(kRobotoItalic), RESOLVE_BY_FONT_TABLE, RESOLVE_BY_FONT_TABLE)); - EXPECT_EQ(400, italic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, italic->fStyle.slant); + EXPECT_EQ(400, italic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, italic->fStyle.slant()); EXPECT_EQ(Typeface::kItalic, italic->fAPIStyle); // In Java, new Typeface.Builder("Roboto-BoldItalic.ttf").build(); std::unique_ptr boldItalic( Typeface::createFromFamilies(makeSingleFamlyVector(kRobotoBoldItalic), RESOLVE_BY_FONT_TABLE, RESOLVE_BY_FONT_TABLE)); - EXPECT_EQ(700, boldItalic->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::ITALIC, boldItalic->fStyle.slant); + EXPECT_EQ(700, boldItalic->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::ITALIC, boldItalic->fStyle.slant()); EXPECT_EQ(Typeface::kItalic, italic->fAPIStyle); } @@ -422,8 +422,8 @@ TEST(TypefaceTest, createFromFamilies_Family) { buildFamily(kRobotoBoldItalic)}; std::unique_ptr typeface(Typeface::createFromFamilies( std::move(families), RESOLVE_BY_FONT_TABLE, RESOLVE_BY_FONT_TABLE)); - EXPECT_EQ(400, typeface->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, typeface->fStyle.slant); + EXPECT_EQ(400, typeface->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, typeface->fStyle.slant()); } TEST(TypefaceTest, createFromFamilies_Family_withoutRegular) { @@ -431,8 +431,8 @@ TEST(TypefaceTest, createFromFamilies_Family_withoutRegular) { buildFamily(kRobotoBold), buildFamily(kRobotoItalic), buildFamily(kRobotoBoldItalic)}; std::unique_ptr typeface(Typeface::createFromFamilies( std::move(families), RESOLVE_BY_FONT_TABLE, RESOLVE_BY_FONT_TABLE)); - EXPECT_EQ(700, typeface->fStyle.weight); - EXPECT_EQ(minikin::FontSlant::UPRIGHT, typeface->fStyle.slant); + EXPECT_EQ(700, typeface->fStyle.weight()); + EXPECT_EQ(minikin::FontStyle::Slant::UPRIGHT, typeface->fStyle.slant()); } } // namespace