42 if (!font_name || !
text || !text_size || !line_height) {
65 v->
fHAlign = gAlignMap[std::min<size_t>(ParseDefault<size_t>((*jtxt)[
"j"], 0),
66 std::size(gAlignMap) - 1)];
70 if (jsz->size() == 2) {
71 v->
fBox.
setWH(ParseDefault<SkScalar>((*jsz)[0], 0),
72 ParseDefault<SkScalar>((*jsz)[1], 0));
78 if (jps->size() == 2) {
79 v->
fBox.
offset(ParseDefault<SkScalar>((*jps)[0], 0),
80 ParseDefault<SkScalar>((*jps)[1], 0));
88 v->
fDirection = gDirectionMap[std::min(ParseDefault<size_t>((*jtxt)[
"d"], 0),
89 std::size(gDirectionMap) - 1)];
97 v->
fResize = gResizeMap[std::min(std::max(ParseDefault<size_t>((*jtxt)[
"rs"], 0),
98 ParseDefault<size_t>((*jtxt)[
"sk_rs"], 0)),
99 std::size(gResizeMap) - 1)];
102 v->
fMinTextSize = ParseDefault<SkScalar>((*jtxt)[
"mf"], 0.0f);
103 v->
fMaxTextSize = ParseDefault<SkScalar>((*jtxt)[
"xf"], std::numeric_limits<float>::max());
104 v->
fMaxLines = ParseDefault<size_t> ((*jtxt)[
"xl"], 0);
114 if (text_mode >= 0) {
126 v->
fCapitalization = gCapMap[std::min<size_t>(ParseDefault<size_t>((*jtxt)[
"ca"], 0),
127 std::size(gCapMap) - 1)];
143 if (vj < std::size(gVAlignMap)) {
155 static_assert(std::size(gVAlignMap) > 2);
170 "Ignoring unknown 'sk_vj' value: %zu", vj);
204 v->
fStrokeJoin = gJoins[std::min<size_t>(ParseDefault<size_t>((*jtxt)[
"lj"], 1) - 1,
205 std::size(gJoins) - 1)];
sk_sp< SkTypeface > fTypeface
SkPaint::Join fStrokeJoin
Shaper::Direction fDirection
Shaper::LinebreakPolicy fLineBreak
TextPaintOrder fPaintOrder
Shaper::Capitalization fCapitalization
Shaper::ResizePolicy fResize
SkTextUtils::Align fHAlign