| 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 |