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 "core/include/fxcrt/fx_basic.h" | 7 #include "core/include/fxcrt/fx_basic.h" |
8 | 8 |
9 void CFX_UTF8Decoder::Clear() { | 9 void CFX_UTF8Decoder::Clear() { |
10 m_Buffer.Clear(); | 10 m_Buffer.Clear(); |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 int code = unicode; | 67 int code = unicode; |
68 m_Buffer.AppendChar(prefix[nbytes - 2] | (code / order)); | 68 m_Buffer.AppendChar(prefix[nbytes - 2] | (code / order)); |
69 for (int i = 0; i < nbytes - 1; i++) { | 69 for (int i = 0; i < nbytes - 1; i++) { |
70 code = code % order; | 70 code = code % order; |
71 order >>= 6; | 71 order >>= 6; |
72 m_Buffer.AppendChar(0x80 | (code / order)); | 72 m_Buffer.AppendChar(0x80 | (code / order)); |
73 } | 73 } |
74 } | 74 } |
75 } | 75 } |
76 CFX_ByteString FX_UTF8Encode(const FX_WCHAR* pwsStr, FX_STRSIZE len) { | 76 CFX_ByteString FX_UTF8Encode(const FX_WCHAR* pwsStr, FX_STRSIZE len) { |
77 FXSYS_assert(pwsStr != NULL); | 77 FXSYS_assert(pwsStr); |
78 if (len < 0) { | 78 if (len < 0) { |
79 len = FXSYS_wcslen(pwsStr); | 79 len = FXSYS_wcslen(pwsStr); |
80 } | 80 } |
81 CFX_UTF8Encoder encoder; | 81 CFX_UTF8Encoder encoder; |
82 while (len-- > 0) { | 82 while (len-- > 0) { |
83 encoder.Input(*pwsStr++); | 83 encoder.Input(*pwsStr++); |
84 } | 84 } |
85 return encoder.GetResult(); | 85 return encoder.GetResult(); |
86 } | 86 } |
OLD | NEW |