OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "core/fxcrt/include/fx_ext.h" | 9 #include "core/fxcrt/include/fx_ext.h" |
10 #include "core/fxcrt/include/fx_xml.h" | 10 #include "core/fxcrt/include/fx_xml.h" |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 return L""; | 104 return L""; |
105 } | 105 } |
106 void CFX_Locale::GetNumbericSymbol(FX_LOCALENUMSYMBOL eType, | 106 void CFX_Locale::GetNumbericSymbol(FX_LOCALENUMSYMBOL eType, |
107 CFX_WideString& wsNumSymbol) const { | 107 CFX_WideString& wsNumSymbol) const { |
108 if (!m_pElement) { | 108 if (!m_pElement) { |
109 return; | 109 return; |
110 } | 110 } |
111 CFX_ByteString bsSpace; | 111 CFX_ByteString bsSpace; |
112 CFX_WideString wsName = gs_LocalNumberSymbols[eType]; | 112 CFX_WideString wsName = gs_LocalNumberSymbols[eType]; |
113 CXML_Element* pNumberSymbols = | 113 CXML_Element* pNumberSymbols = |
114 m_pElement->GetElement(bsSpace, "numberSymbols"); | 114 m_pElement->GetElement(bsSpace.AsByteStringC(), "numberSymbols"); |
115 if (!pNumberSymbols) { | 115 if (!pNumberSymbols) { |
116 return; | 116 return; |
117 } | 117 } |
118 wsNumSymbol = | 118 wsNumSymbol = FX_GetXMLContent(bsSpace.AsByteStringC(), pNumberSymbols, |
119 FX_GetXMLContent(bsSpace, pNumberSymbols, "numberSymbol", wsName); | 119 "numberSymbol", wsName); |
120 } | 120 } |
121 void CFX_Locale::GetDateTimeSymbols(CFX_WideString& wsDtSymbol) const { | 121 void CFX_Locale::GetDateTimeSymbols(CFX_WideString& wsDtSymbol) const { |
122 if (!m_pElement) { | 122 if (!m_pElement) { |
123 return; | 123 return; |
124 } | 124 } |
125 CFX_ByteString bsSpace; | 125 CFX_ByteString bsSpace; |
126 CXML_Element* pNumberSymbols = | 126 CXML_Element* pNumberSymbols = |
127 m_pElement->GetElement(bsSpace, "dateTimeSymbols"); | 127 m_pElement->GetElement(bsSpace.AsByteStringC(), "dateTimeSymbols"); |
128 if (!pNumberSymbols) { | 128 if (!pNumberSymbols) { |
129 return; | 129 return; |
130 } | 130 } |
131 wsDtSymbol = pNumberSymbols->GetContent(0); | 131 wsDtSymbol = pNumberSymbols->GetContent(0); |
132 } | 132 } |
133 static void FX_GetCalendarSymbol(CXML_Element* pXmlElement, | 133 static void FX_GetCalendarSymbol(CXML_Element* pXmlElement, |
134 const CFX_ByteString& symbol_type, | 134 const CFX_ByteString& symbol_type, |
135 int32_t index, | 135 int32_t index, |
136 FX_BOOL bAbbr, | 136 FX_BOOL bAbbr, |
137 CFX_WideString& wsName) { | 137 CFX_WideString& wsName) { |
138 CFX_ByteString bsSpace; | 138 CFX_ByteString bsSpace; |
139 CFX_ByteString pstrSymbolNames = symbol_type + "Names"; | 139 CFX_ByteString pstrSymbolNames = symbol_type + "Names"; |
140 CXML_Element* pChild = pXmlElement->GetElement(bsSpace, "calendarSymbols"); | 140 CXML_Element* pChild = |
| 141 pXmlElement->GetElement(bsSpace.AsByteStringC(), "calendarSymbols"); |
141 if (!pChild) { | 142 if (!pChild) { |
142 return; | 143 return; |
143 } | 144 } |
144 CXML_Element* pSymbolNames = pChild->GetElement(bsSpace, pstrSymbolNames); | 145 CXML_Element* pSymbolNames = pChild->GetElement( |
| 146 bsSpace.AsByteStringC(), pstrSymbolNames.AsByteStringC()); |
145 if (!pSymbolNames) { | 147 if (!pSymbolNames) { |
146 return; | 148 return; |
147 } | 149 } |
148 if (pSymbolNames->GetAttrInteger("abbr") != bAbbr) { | 150 if (pSymbolNames->GetAttrInteger("abbr") != bAbbr) { |
149 pSymbolNames = pChild->GetElement(bsSpace, pstrSymbolNames, 1); | 151 pSymbolNames = pChild->GetElement(bsSpace.AsByteStringC(), |
| 152 pstrSymbolNames.AsByteStringC(), 1); |
150 } | 153 } |
151 if (pSymbolNames && pSymbolNames->GetAttrInteger("abbr") == bAbbr) { | 154 if (pSymbolNames && pSymbolNames->GetAttrInteger("abbr") == bAbbr) { |
152 CXML_Element* pSymbolName = | 155 CXML_Element* pSymbolName = pSymbolNames->GetElement( |
153 pSymbolNames->GetElement(bsSpace, symbol_type, index); | 156 bsSpace.AsByteStringC(), symbol_type.AsByteStringC(), index); |
154 if (pSymbolName) { | 157 if (pSymbolName) { |
155 wsName = pSymbolName->GetContent(0); | 158 wsName = pSymbolName->GetContent(0); |
156 } | 159 } |
157 } | 160 } |
158 } | 161 } |
159 void CFX_Locale::GetMonthName(int32_t nMonth, | 162 void CFX_Locale::GetMonthName(int32_t nMonth, |
160 CFX_WideString& wsMonthName, | 163 CFX_WideString& wsMonthName, |
161 FX_BOOL bAbbr) const { | 164 FX_BOOL bAbbr) const { |
162 if (!m_pElement) { | 165 if (!m_pElement) { |
163 return; | 166 return; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 if (!m_pElement) { | 224 if (!m_pElement) { |
222 return; | 225 return; |
223 } | 226 } |
224 FX_GetCalendarSymbol(m_pElement, "era", bAD ? 0 : 1, FALSE, wsEraName); | 227 FX_GetCalendarSymbol(m_pElement, "era", bAD ? 0 : 1, FALSE, wsEraName); |
225 } | 228 } |
226 static void FX_GetPattern(CXML_Element* pXmlElement, | 229 static void FX_GetPattern(CXML_Element* pXmlElement, |
227 const CFX_ByteString& bsCategory, | 230 const CFX_ByteString& bsCategory, |
228 const CFX_WideString& wsSubCategory, | 231 const CFX_WideString& wsSubCategory, |
229 CFX_WideString& wsPattern) { | 232 CFX_WideString& wsPattern) { |
230 CFX_ByteString bsSpace; | 233 CFX_ByteString bsSpace; |
231 CXML_Element* pDatePatterns = | 234 CXML_Element* pDatePatterns = pXmlElement->GetElement( |
232 pXmlElement->GetElement(bsSpace, bsCategory + "s"); | 235 bsSpace.AsByteStringC(), (bsCategory + "s").AsByteStringC()); |
233 if (!pDatePatterns) { | 236 if (!pDatePatterns) { |
234 return; | 237 return; |
235 } | 238 } |
236 wsPattern = | 239 wsPattern = FX_GetXMLContent(bsSpace.AsByteStringC(), pDatePatterns, |
237 FX_GetXMLContent(bsSpace, pDatePatterns, bsCategory, wsSubCategory); | 240 bsCategory.AsByteStringC(), wsSubCategory); |
238 } | 241 } |
239 static void FX_GetDateTimePattern(CXML_Element* pXmlElement, | 242 static void FX_GetDateTimePattern(CXML_Element* pXmlElement, |
240 const CFX_ByteString& bsCategory, | 243 const CFX_ByteString& bsCategory, |
241 FX_LOCALEDATETIMESUBCATEGORY eType, | 244 FX_LOCALEDATETIMESUBCATEGORY eType, |
242 CFX_WideString& wsPattern) { | 245 CFX_WideString& wsPattern) { |
243 CFX_WideString wsType = g_FXLocaleDateTimeSubCatData[eType].pName; | 246 CFX_WideString wsType = g_FXLocaleDateTimeSubCatData[eType].pName; |
244 FX_GetPattern(pXmlElement, bsCategory, wsType, wsPattern); | 247 FX_GetPattern(pXmlElement, bsCategory, wsType, wsPattern); |
245 } | 248 } |
246 void CFX_Locale::GetDatePattern(FX_LOCALEDATETIMESUBCATEGORY eType, | 249 void CFX_Locale::GetDatePattern(FX_LOCALEDATETIMESUBCATEGORY eType, |
247 CFX_WideString& wsPattern) const { | 250 CFX_WideString& wsPattern) const { |
(...skipping 4772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5020 } | 5023 } |
5021 CFX_Decimal CFX_Decimal::operator*(const CFX_Decimal& val) const { | 5024 CFX_Decimal CFX_Decimal::operator*(const CFX_Decimal& val) const { |
5022 return Multiply(val); | 5025 return Multiply(val); |
5023 } | 5026 } |
5024 CFX_Decimal CFX_Decimal::operator/(const CFX_Decimal& val) const { | 5027 CFX_Decimal CFX_Decimal::operator/(const CFX_Decimal& val) const { |
5025 return Divide(val); | 5028 return Divide(val); |
5026 } | 5029 } |
5027 CFX_Decimal CFX_Decimal::operator%(const CFX_Decimal& val) const { | 5030 CFX_Decimal CFX_Decimal::operator%(const CFX_Decimal& val) const { |
5028 return Modulus(val); | 5031 return Modulus(val); |
5029 } | 5032 } |
OLD | NEW |