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 "../../include/fxcrt/fx_system.h" | 7 #include "../../include/fxcrt/fx_basic.h" |
| 8 #include "../../include/fxcrt/fx_ucd.h" |
8 | 9 |
9 extern const FX_DWORD gs_FX_TextLayout_CodeProperties[65536] = { | 10 const FX_DWORD kTextLayoutCodeProperties[] = { |
10 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, | 11 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, |
11 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe8ae5, 0xfffe9b5c, 0xfffe9ada, | 12 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe8ae5, 0xfffe9b5c, 0xfffe9ada, |
12 0xfffe9b1a, 0xfffe9b5b, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, | 13 0xfffe9b1a, 0xfffe9b5b, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, |
13 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, | 14 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, |
14 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9b53, 0xfffe9b53, | 15 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9a93, 0xfffe9b53, 0xfffe9b53, |
15 0xfffe9b53, 0xfffe9ad3, 0xfffe9323, 0xfffeb005, 0xfffeb002, 0xfffeb24b, | 16 0xfffe9b53, 0xfffe9ad3, 0xfffe9323, 0xfffeb005, 0xfffeb002, 0xfffeb24b, |
16 0xfffeb248, 0xfffeb249, 0xfffeb00b, 0xfffeb002, 0x007eb000, 0x00feb001, | 17 0xfffeb248, 0xfffeb249, 0xfffeb00b, 0xfffeb002, 0x007eb000, 0x00feb001, |
17 0xfffeb00b, 0xfffeb208, 0xfffeb1c7, 0xfffeb20e, 0xfffeb1c7, 0xfffeb1c6, | 18 0xfffeb00b, 0xfffeb208, 0xfffeb1c7, 0xfffeb20e, 0xfffeb1c7, 0xfffeb1c6, |
18 0xfffea90a, 0xfffea90a, 0xfffea90a, 0xfffea90a, 0xfffea90a, 0xfffea90a, | 19 0xfffea90a, 0xfffea90a, 0xfffea90a, 0xfffea90a, 0xfffea90a, 0xfffea90a, |
19 0xfffea90a, 0xfffea90a, 0xfffea90a, 0xfffea90a, 0xfffeb1c7, 0xfffeb007, | 20 0xfffea90a, 0xfffea90a, 0xfffea90a, 0xfffea90a, 0xfffeb1c7, 0xfffeb007, |
(...skipping 10904 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10924 0xfffe304b, 0xfffe304b, 0xfffe304b, 0xfffe304b, 0xfffe0024, 0xfffe0024, | 10925 0xfffe304b, 0xfffe304b, 0xfffe304b, 0xfffe304b, 0xfffe0024, 0xfffe0024, |
10925 0xfffe304b, 0xfffe304b, 0xfffe304b, 0xfffe304b, 0xfffe304b, 0xfffe304b, | 10926 0xfffe304b, 0xfffe304b, 0xfffe304b, 0xfffe304b, 0xfffe304b, 0xfffe304b, |
10926 0xfffe0024, 0xfffe0024, 0xfffe304b, 0xfffe304b, 0xfffe304b, 0xfffe0024, | 10927 0xfffe0024, 0xfffe0024, 0xfffe304b, 0xfffe304b, 0xfffe304b, 0xfffe0024, |
10927 0xfffe0024, 0xfffe0024, 0xfffe3249, 0xfffe3248, 0xfffe300c, 0xfffe300c, | 10928 0xfffe0024, 0xfffe0024, 0xfffe3249, 0xfffe3248, 0xfffe300c, 0xfffe300c, |
10928 0xfffe300c, 0xfffe3248, 0xfffe3248, 0xfffe0024, 0xfffe300b, 0xfffe300b, | 10929 0xfffe300c, 0xfffe3248, 0xfffe3248, 0xfffe0024, 0xfffe300b, 0xfffe300b, |
10929 0xfffe300b, 0xfffe300b, 0xfffe300b, 0xfffe300b, 0xfffe300b, 0xfffe0024, | 10930 0xfffe300b, 0xfffe300b, 0xfffe300b, 0xfffe300b, 0xfffe300b, 0xfffe0024, |
10930 0xfffe02a4, 0xfffe02a4, 0xfffe02a4, 0xfffe02a4, 0xfffe02a4, 0xfffe02a4, | 10931 0xfffe02a4, 0xfffe02a4, 0xfffe02a4, 0xfffe02a4, 0xfffe02a4, 0xfffe02a4, |
10931 0xfffe02a4, 0xfffe02a4, 0xfffe02a4, 0xfffe3013, 0xfffe3013, 0xfffe3013, | 10932 0xfffe02a4, 0xfffe02a4, 0xfffe02a4, 0xfffe3013, 0xfffe3013, 0xfffe3013, |
10932 0xfffe3011, 0xfffe3022, 0xfffe1aa4, 0xfffe1aa4, | 10933 0xfffe3011, 0xfffe3022, 0xfffe1aa4, 0xfffe1aa4, |
10933 }; | 10934 }; |
10934 extern const FX_WCHAR gs_FX_TextLayout_VerticalMirror[64] = { | 10935 |
| 10936 const size_t kTextLayoutCodePropertiesSize = |
| 10937 FX_ArraySize(kTextLayoutCodeProperties); |
| 10938 |
| 10939 const FX_WCHAR kFXTextLayoutVerticalMirror[] = { |
10935 0xFE33, 0xFE32, 0xFE31, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE3F, | 10940 0xFE33, 0xFE32, 0xFE31, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE3F, |
10936 0xFE40, 0xFE3D, 0xFE3E, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE3B, | 10941 0xFE40, 0xFE3D, 0xFE3E, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE3B, |
10937 0xFE3C, 0xFE39, 0xFE3A, 0xFE34, 0xFE35, 0xFE36, 0xFE37, 0xFE38, | 10942 0xFE3C, 0xFE39, 0xFE3A, 0xFE34, 0xFE35, 0xFE36, 0xFE37, 0xFE38, |
10938 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, | 10943 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, |
10939 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, | 10944 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, |
10940 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, | 10945 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, |
10941 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, | 10946 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, |
10942 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, | 10947 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, |
10943 }; | 10948 }; |
10944 extern const FX_WCHAR gs_FX_TextLayout_BidiMirror[512] = { | 10949 const size_t kFXTextLayoutVerticalMirrorSize = |
| 10950 FX_ArraySize(kFXTextLayoutVerticalMirror); |
| 10951 |
| 10952 const FX_WCHAR kFXTextLayoutBidiMirror[] = { |
10945 0x0029, 0x0028, 0x003E, 0x003C, 0x005D, 0x005B, 0x007D, 0x007B, 0x00BB, | 10953 0x0029, 0x0028, 0x003E, 0x003C, 0x005D, 0x005B, 0x007D, 0x007B, 0x00BB, |
10946 0x00AB, 0x0F3B, 0x0F3A, 0x0F3D, 0x0F3C, 0x169C, 0x169B, 0x2019, 0x2018, | 10954 0x00AB, 0x0F3B, 0x0F3A, 0x0F3D, 0x0F3C, 0x169C, 0x169B, 0x2019, 0x2018, |
10947 0x201D, 0x201C, 0x203A, 0x2039, 0x2046, 0x2045, 0x207E, 0x207D, 0x208E, | 10955 0x201D, 0x201C, 0x203A, 0x2039, 0x2046, 0x2045, 0x207E, 0x207D, 0x208E, |
10948 0x208D, 0x220B, 0x220C, 0x220D, 0x2208, 0x2209, 0x220A, 0x29F5, 0x223D, | 10956 0x208D, 0x220B, 0x220C, 0x220D, 0x2208, 0x2209, 0x220A, 0x29F5, 0x223D, |
10949 0x223C, 0x22CD, 0x2253, 0x2252, 0x2255, 0x2254, 0x2265, 0x2264, 0x2267, | 10957 0x223C, 0x22CD, 0x2253, 0x2252, 0x2255, 0x2254, 0x2265, 0x2264, 0x2267, |
10950 0x2266, 0x2269, 0x2268, 0x226B, 0x226A, 0x226F, 0x226E, 0x2271, 0x2270, | 10958 0x2266, 0x2269, 0x2268, 0x226B, 0x226A, 0x226F, 0x226E, 0x2271, 0x2270, |
10951 0x2273, 0x2272, 0x2275, 0x2274, 0x2277, 0x2276, 0x2279, 0x2278, 0x227B, | 10959 0x2273, 0x2272, 0x2275, 0x2274, 0x2277, 0x2276, 0x2279, 0x2278, 0x227B, |
10952 0x227A, 0x227D, 0x227C, 0x227F, 0x227E, 0x2281, 0x2280, 0x2283, 0x2282, | 10960 0x227A, 0x227D, 0x227C, 0x227F, 0x227E, 0x2281, 0x2280, 0x2283, 0x2282, |
10953 0x2285, 0x2284, 0x2287, 0x2286, 0x2289, 0x2288, 0x228B, 0x228A, 0x2290, | 10961 0x2285, 0x2284, 0x2287, 0x2286, 0x2289, 0x2288, 0x228B, 0x228A, 0x2290, |
10954 0x228F, 0x2292, 0x2291, 0x29B8, 0x22A3, 0x22A2, 0x2ADE, 0x2AE4, 0x2AE3, | 10962 0x228F, 0x2292, 0x2291, 0x29B8, 0x22A3, 0x22A2, 0x2ADE, 0x2AE4, 0x2AE3, |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10993 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, | 11001 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, |
10994 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, | 11002 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, |
10995 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, | 11003 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, |
10996 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, | 11004 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, |
10997 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, | 11005 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, |
10998 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, | 11006 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, |
10999 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, | 11007 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, |
11000 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, | 11008 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, |
11001 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, | 11009 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, 0xFEFF, |
11002 }; | 11010 }; |
| 11011 |
| 11012 const size_t kFXTextLayoutBidiMirrorSize = |
| 11013 FX_ArraySize(kFXTextLayoutBidiMirror); |
OLD | NEW |