Loading core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -16847,6 +16847,7 @@ package android.graphics { field @FlaggedApi("com.android.text.flags.letter_spacing_justification") public static final int TEXT_RUN_FLAG_LEFT_EDGE = 8192; // 0x2000 field @FlaggedApi("com.android.text.flags.letter_spacing_justification") public static final int TEXT_RUN_FLAG_RIGHT_EDGE = 16384; // 0x4000 field public static final int UNDERLINE_TEXT_FLAG = 8; // 0x8 field @FlaggedApi("com.android.text.flags.vertical_text_layout") public static final int VERTICAL_TEXT_FLAG = 4096; // 0x1000 } public enum Paint.Align { core/java/android/text/flags/flags.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -202,3 +202,10 @@ flag { description: "Deprecate the Paint#elegantTextHeight API and stick it to true" bug: "349519475" } flag { name: "vertical_text_layout" namespace: "text" description: "Make Paint class work for vertical layout text." bug: "355296926" } graphics/java/android/graphics/Paint.java +20 −2 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ package android.graphics; import static com.android.text.flags.Flags.FLAG_FIX_LINE_HEIGHT_FOR_LOCALE; import static com.android.text.flags.Flags.FLAG_LETTER_SPACING_JUSTIFICATION; import static com.android.text.flags.Flags.FLAG_DEPRECATE_ELEGANT_TEXT_HEIGHT_API; import static com.android.text.flags.Flags.FLAG_VERTICAL_TEXT_LAYOUT; import android.annotation.ColorInt; import android.annotation.ColorLong; Loading @@ -35,6 +35,7 @@ import android.compat.annotation.ChangeId; import android.compat.annotation.EnabledSince; import android.compat.annotation.UnsupportedAppUsage; import android.graphics.fonts.FontVariationAxis; import android.graphics.text.TextRunShaper; import android.os.Build; import android.os.LocaleList; import android.text.GraphicsOperations; Loading Loading @@ -269,7 +270,24 @@ public class Paint { public static final int EMBEDDED_BITMAP_TEXT_FLAG = 0x400; /** @hide bit mask for the flag forcing freetype's autohinter on for text */ public static final int AUTO_HINTING_TEXT_FLAG = 0x800; /** @hide bit mask for the flag enabling vertical rendering for text */ /** * A flat that controls text to be written in vertical orientation * * <p> * This flag is used for telling the underlying text layout engine that the text is for vertical * direction. By enabling this flag, text measurement, drawing and shaping APIs works for * vertical text layout. For example, {@link Canvas#drawText(String, float, float, Paint)} draws * text from top to bottom. {@link Paint#measureText(String)} returns vertical advances instead * of horizontal advances. {@link TextRunShaper} shapes text vertically and report glyph IDs for * vertical layout. * * <p> * Do not set this flag for making {@link android.text.Layout}. The {@link android.text.Layout} * class and its subclasses are designed for horizontal text only and does not work for vertical * text. */ @FlaggedApi(FLAG_VERTICAL_TEXT_LAYOUT) public static final int VERTICAL_TEXT_FLAG = 0x1000; /** Loading libs/hwui/hwui/MinikinUtils.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,7 @@ minikin::MinikinPaint MinikinUtils::prepareMinikinPaint(const Paint* paint, minikinPaint.fontStyle = resolvedFace->fStyle; minikinPaint.fontFeatureSettings = paint->getFontFeatureSettings(); minikinPaint.fontVariationSettings = paint->getFontVariationOverride(); minikinPaint.verticalText = paint->isVerticalText(); const std::optional<minikin::FamilyVariant>& familyVariant = paint->getFamilyVariant(); if (familyVariant.has_value()) { Loading libs/hwui/hwui/Paint.h +2 −0 Original line number Diff line number Diff line Loading @@ -158,6 +158,7 @@ public: SkSamplingOptions sampling() const { return SkSamplingOptions(this->filterMode()); } bool isVerticalText() const { return mVerticalText; } void setVariationOverride(minikin::VariationSettings&& varSettings) { mFontVariationOverride = std::move(varSettings); Loading Loading @@ -202,6 +203,7 @@ private: bool mUnderline = false; bool mDevKern = false; minikin::RunFlag mRunFlag = minikin::RunFlag::NONE; bool mVerticalText = false; }; } // namespace android Loading Loading
core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -16847,6 +16847,7 @@ package android.graphics { field @FlaggedApi("com.android.text.flags.letter_spacing_justification") public static final int TEXT_RUN_FLAG_LEFT_EDGE = 8192; // 0x2000 field @FlaggedApi("com.android.text.flags.letter_spacing_justification") public static final int TEXT_RUN_FLAG_RIGHT_EDGE = 16384; // 0x4000 field public static final int UNDERLINE_TEXT_FLAG = 8; // 0x8 field @FlaggedApi("com.android.text.flags.vertical_text_layout") public static final int VERTICAL_TEXT_FLAG = 4096; // 0x1000 } public enum Paint.Align {
core/java/android/text/flags/flags.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -202,3 +202,10 @@ flag { description: "Deprecate the Paint#elegantTextHeight API and stick it to true" bug: "349519475" } flag { name: "vertical_text_layout" namespace: "text" description: "Make Paint class work for vertical layout text." bug: "355296926" }
graphics/java/android/graphics/Paint.java +20 −2 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ package android.graphics; import static com.android.text.flags.Flags.FLAG_FIX_LINE_HEIGHT_FOR_LOCALE; import static com.android.text.flags.Flags.FLAG_LETTER_SPACING_JUSTIFICATION; import static com.android.text.flags.Flags.FLAG_DEPRECATE_ELEGANT_TEXT_HEIGHT_API; import static com.android.text.flags.Flags.FLAG_VERTICAL_TEXT_LAYOUT; import android.annotation.ColorInt; import android.annotation.ColorLong; Loading @@ -35,6 +35,7 @@ import android.compat.annotation.ChangeId; import android.compat.annotation.EnabledSince; import android.compat.annotation.UnsupportedAppUsage; import android.graphics.fonts.FontVariationAxis; import android.graphics.text.TextRunShaper; import android.os.Build; import android.os.LocaleList; import android.text.GraphicsOperations; Loading Loading @@ -269,7 +270,24 @@ public class Paint { public static final int EMBEDDED_BITMAP_TEXT_FLAG = 0x400; /** @hide bit mask for the flag forcing freetype's autohinter on for text */ public static final int AUTO_HINTING_TEXT_FLAG = 0x800; /** @hide bit mask for the flag enabling vertical rendering for text */ /** * A flat that controls text to be written in vertical orientation * * <p> * This flag is used for telling the underlying text layout engine that the text is for vertical * direction. By enabling this flag, text measurement, drawing and shaping APIs works for * vertical text layout. For example, {@link Canvas#drawText(String, float, float, Paint)} draws * text from top to bottom. {@link Paint#measureText(String)} returns vertical advances instead * of horizontal advances. {@link TextRunShaper} shapes text vertically and report glyph IDs for * vertical layout. * * <p> * Do not set this flag for making {@link android.text.Layout}. The {@link android.text.Layout} * class and its subclasses are designed for horizontal text only and does not work for vertical * text. */ @FlaggedApi(FLAG_VERTICAL_TEXT_LAYOUT) public static final int VERTICAL_TEXT_FLAG = 0x1000; /** Loading
libs/hwui/hwui/MinikinUtils.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -49,6 +49,7 @@ minikin::MinikinPaint MinikinUtils::prepareMinikinPaint(const Paint* paint, minikinPaint.fontStyle = resolvedFace->fStyle; minikinPaint.fontFeatureSettings = paint->getFontFeatureSettings(); minikinPaint.fontVariationSettings = paint->getFontVariationOverride(); minikinPaint.verticalText = paint->isVerticalText(); const std::optional<minikin::FamilyVariant>& familyVariant = paint->getFamilyVariant(); if (familyVariant.has_value()) { Loading
libs/hwui/hwui/Paint.h +2 −0 Original line number Diff line number Diff line Loading @@ -158,6 +158,7 @@ public: SkSamplingOptions sampling() const { return SkSamplingOptions(this->filterMode()); } bool isVerticalText() const { return mVerticalText; } void setVariationOverride(minikin::VariationSettings&& varSettings) { mFontVariationOverride = std::move(varSettings); Loading Loading @@ -202,6 +203,7 @@ private: bool mUnderline = false; bool mDevKern = false; minikin::RunFlag mRunFlag = minikin::RunFlag::NONE; bool mVerticalText = false; }; } // namespace android Loading