Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(321)

Side by Side Diff: core/src/fxcrt/fx_unicode.cpp

Issue 1471323004: Inflict PPDF_ENABLE_XFA ifdefs on XFA core/ (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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_ucd.h" 7 #include "core/include/fxcrt/fx_ucd.h"
8 8
9 FX_DWORD FX_GetUnicodeProperties(FX_WCHAR wch) { 9 FX_DWORD FX_GetUnicodeProperties(FX_WCHAR wch) {
10 size_t idx = static_cast<size_t>(wch); 10 size_t idx = static_cast<size_t>(wch);
11 if (idx < kTextLayoutCodePropertiesSize) 11 if (idx < kTextLayoutCodePropertiesSize)
12 return kTextLayoutCodeProperties[(FX_WORD)wch]; 12 return kTextLayoutCodeProperties[(FX_WORD)wch];
13 return 0; 13 return 0;
14 } 14 }
15 15
16 #ifdef PDF_ENABLE_XFA
16 FX_BOOL FX_IsCtrlCode(FX_WCHAR ch) { 17 FX_BOOL FX_IsCtrlCode(FX_WCHAR ch) {
17 FX_DWORD dwRet = (FX_GetUnicodeProperties(ch) & FX_CHARTYPEBITSMASK); 18 FX_DWORD dwRet = (FX_GetUnicodeProperties(ch) & FX_CHARTYPEBITSMASK);
18 return dwRet == FX_CHARTYPE_Tab || dwRet == FX_CHARTYPE_Control; 19 return dwRet == FX_CHARTYPE_Tab || dwRet == FX_CHARTYPE_Control;
19 } 20 }
20 21
22 #endif
21 FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, FX_BOOL bRTL, FX_BOOL bVertical) { 23 FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, FX_BOOL bRTL, FX_BOOL bVertical) {
22 FX_DWORD dwProps = FX_GetUnicodeProperties(wch); 24 FX_DWORD dwProps = FX_GetUnicodeProperties(wch);
23 FX_DWORD dwTemp = (dwProps & 0xFF800000); 25 FX_DWORD dwTemp = (dwProps & 0xFF800000);
24 if (bRTL && dwTemp < 0xFF800000) { 26 if (bRTL && dwTemp < 0xFF800000) {
25 size_t idx = dwTemp >> 23; 27 size_t idx = dwTemp >> 23;
26 if (idx < kFXTextLayoutBidiMirrorSize) { 28 if (idx < kFXTextLayoutBidiMirrorSize) {
27 wch = kFXTextLayoutBidiMirror[idx]; 29 wch = kFXTextLayoutBidiMirror[idx];
28 dwProps = FX_GetUnicodeProperties(wch); 30 dwProps = FX_GetUnicodeProperties(wch);
29 } 31 }
30 } 32 }
31 if (bVertical) { 33 if (bVertical) {
32 dwTemp = (dwProps & 0x007E0000); 34 dwTemp = (dwProps & 0x007E0000);
33 if (dwTemp < 0x007E0000) { 35 if (dwTemp < 0x007E0000) {
34 size_t idx = dwTemp >> 17; 36 size_t idx = dwTemp >> 17;
35 if (idx < kFXTextLayoutVerticalMirrorSize) 37 if (idx < kFXTextLayoutVerticalMirrorSize)
36 wch = kFXTextLayoutVerticalMirror[idx]; 38 wch = kFXTextLayoutVerticalMirror[idx];
37 } 39 }
38 } 40 }
39 return wch; 41 return wch;
40 } 42 }
43 #ifdef PDF_ENABLE_XFA
41 44
42 FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch, 45 FX_WCHAR FX_GetMirrorChar(FX_WCHAR wch,
43 FX_DWORD dwProps, 46 FX_DWORD dwProps,
44 FX_BOOL bRTL, 47 FX_BOOL bRTL,
45 FX_BOOL bVertical) { 48 FX_BOOL bVertical) {
46 FX_DWORD dwTemp = (dwProps & 0xFF800000); 49 FX_DWORD dwTemp = (dwProps & 0xFF800000);
47 if (bRTL && dwTemp < 0xFF800000) { 50 if (bRTL && dwTemp < 0xFF800000) {
48 size_t idx = dwTemp >> 23; 51 size_t idx = dwTemp >> 23;
49 if (idx < kFXTextLayoutBidiMirrorSize) { 52 if (idx < kFXTextLayoutBidiMirrorSize) {
50 wch = kFXTextLayoutBidiMirror[idx]; 53 wch = kFXTextLayoutBidiMirror[idx];
51 dwProps = FX_GetUnicodeProperties(wch); 54 dwProps = FX_GetUnicodeProperties(wch);
52 } 55 }
53 } 56 }
54 if (bVertical) { 57 if (bVertical) {
55 dwTemp = (dwProps & 0x007E0000); 58 dwTemp = (dwProps & 0x007E0000);
56 if (dwTemp < 0x007E0000) { 59 if (dwTemp < 0x007E0000) {
57 size_t idx = dwTemp >> 17; 60 size_t idx = dwTemp >> 17;
58 if (idx < kFXTextLayoutVerticalMirrorSize) 61 if (idx < kFXTextLayoutVerticalMirrorSize)
59 wch = kFXTextLayoutVerticalMirror[idx]; 62 wch = kFXTextLayoutVerticalMirror[idx];
60 } 63 }
61 } 64 }
62 return wch; 65 return wch;
63 } 66 }
67 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698