1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "third_party/blink/renderer/platform/fonts/font_variant_numeric.h"
6 
7 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
8 
9 namespace blink {
10 
11 static const char* kUnknownNumericString = "Unknown";
12 
ToString(NumericFigure figure)13 String FontVariantNumeric::ToString(NumericFigure figure) {
14   switch (figure) {
15     case kNormalFigure:
16       return "NormalFigure";
17     case kLiningNums:
18       return "LiningNums";
19     case kOldstyleNums:
20       return "OldstyleNums";
21   }
22   return kUnknownNumericString;
23 }
24 
ToString(NumericSpacing spacing)25 String FontVariantNumeric::ToString(NumericSpacing spacing) {
26   switch (spacing) {
27     case kNormalSpacing:
28       return "NormalSpacing";
29     case kProportionalNums:
30       return "ProportionalNums";
31     case kTabularNums:
32       return "TabularNums";
33   }
34   return kUnknownNumericString;
35 }
36 
ToString(NumericFraction fraction)37 String FontVariantNumeric::ToString(NumericFraction fraction) {
38   switch (fraction) {
39     case kNormalFraction:
40       return "Normal";
41     case kDiagonalFractions:
42       return "Diagonal";
43     case kStackedFractions:
44       return "Stacked";
45   }
46   return kUnknownNumericString;
47 }
48 
ToString(Ordinal ordinal)49 String FontVariantNumeric::ToString(Ordinal ordinal) {
50   switch (ordinal) {
51     case kOrdinalOff:
52       return "Off";
53     case kOrdinalOn:
54       return "On";
55   }
56   return kUnknownNumericString;
57 }
58 
ToString(SlashedZero slashed)59 String FontVariantNumeric::ToString(SlashedZero slashed) {
60   switch (slashed) {
61     case kSlashedZeroOff:
62       return "Off";
63     case kSlashedZeroOn:
64       return "On";
65   }
66   return kUnknownNumericString;
67 }
68 
ToString() const69 String FontVariantNumeric::ToString() const {
70   return String::Format(
71       "numeric_figure=%s, numeric_spacing=%s, numeric_fraction=%s, ordinal=%s, "
72       "slashed_zero=%s",
73       ToString(NumericFigureValue()).Ascii().c_str(),
74       ToString(NumericSpacingValue()).Ascii().c_str(),
75       ToString(NumericFractionValue()).Ascii().c_str(),
76       ToString(OrdinalValue()).Ascii().c_str(),
77       ToString(SlashedZeroValue()).Ascii().c_str());
78 }
79 
80 }  // namespace blink
81