Compare commits

..

3190 Commits

Author SHA1 Message Date
f79ad969a4 Merge pull request #1140 from ONLYOFFICE/fix/bug61090
Fix bug #61090
2023-02-08 16:31:53 +03:00
916635782d Fixed working with Clip in wmf to svg conversion 2023-02-08 16:23:54 +03:00
96ff2246fa Fix bug #61090 2023-02-08 16:23:17 +03:00
1b10918258 Fix test.pro 2023-02-08 13:50:37 +03:00
11099d2575 Merge pull request #1139 from ONLYOFFICE/feature/android_packages
Added android packages
2023-02-07 13:12:11 +03:00
52071831de Fix crash on using emdedder data in isolates 2023-02-06 11:36:45 +03:00
a133ce4714 Merge pull request #1136 from ONLYOFFICE/fix/pre7.3.3
Fix/pre7.3.3
2023-02-05 20:04:20 +05:00
608b04ca26 For bug 61014 2023-02-05 11:52:22 +03:00
2b6ad83b36 Fix bug 60433 2023-02-04 23:49:41 +03:00
0b9dc3c296 for bug #60963 (change paragraph place) 2023-02-02 13:08:34 +03:00
47e0ccbe29 fix bug #60963 2023-02-02 12:32:50 +03:00
5d720e75f5 . 2023-02-02 11:03:33 +03:00
ad03ae0390 fix group ole/math_equation in sheets from/to ods 2023-02-01 20:06:57 +03:00
90d709972d Merge pull request #1134 from ONLYOFFICE/fix/v7.3.0-fix-bugs
Fix/v7.3.0 fix bugs
2023-02-01 17:59:43 +03:00
f77d3440f6 Merge pull request #1133 from ONLYOFFICE/feature/pre_7.3.1
Add support tls & no tls in socketio (double code)
2023-01-31 23:01:31 +05:00
1b84274673 Add support tls & no tls in socketio (double code) 2023-01-31 18:07:33 +05:00
f601d95d27 package embedding in binary ms 2023-01-31 11:31:26 +03:00
c16d63c011 Merge branch release/v7.3.0 into master 2023-01-31 07:57:44 +00:00
4e0e0265d0 fix bug #51001 2023-01-30 11:36:01 +03:00
bbf661e74e Fix bug 60874 2023-01-27 23:00:04 +03:00
e5253bbf35 Merge pull request #1130 from ONLYOFFICE/fix/v7.3.0-fix-60848
fix bug #60848
2023-01-27 17:15:50 +05:00
c2591eea02 fix bug #60848 2023-01-27 14:02:04 +03:00
cf0e9febe5 Merge pull request #1129 from ONLYOFFICE/fix/v7.3.0-fix-bugs
for bug #60804
2023-01-26 23:35:19 +05:00
a3696b07df for bug #60804 2023-01-26 20:50:27 +03:00
32e1be7493 Fix bug 60858 2023-01-26 20:01:17 +03:00
46a37c9199 [android] Add publish url 2023-01-26 09:35:33 +03:00
aea4996a45 Fix bug 55616 2023-01-25 21:03:23 +03:00
28257fca25 Fix bug 60850 2023-01-25 19:10:26 +03:00
f846881e88 Merge pull request #1128 from ONLYOFFICE/fix/bug60827
Fix bug 60827
2023-01-25 17:30:35 +03:00
961e955ee4 Fix escape characters im pdf metadata 2023-01-25 17:06:13 +03:00
ac7569bc51 Merge pull request #1127 from ONLYOFFICE/fix/bug60827
Fix bug 60827
2023-01-25 14:42:33 +03:00
1cd49c52d2 Fix bug 60827 2023-01-25 14:40:19 +03:00
8338ff75c8 Merge pull request #1124 from ONLYOFFICE/fix/x2ttester
Fix bug 60241
2023-01-25 12:31:10 +03:00
a215476303 fix bug #60823 2023-01-25 11:37:59 +03:00
7e765011b8 fix bug #60739 2023-01-25 11:28:43 +03:00
c2e4fcfebd [android] Add upload to github packages 2023-01-25 11:26:55 +03:00
e649ecb7a0 Fix memory leak 2023-01-25 01:00:33 +03:00
fc45ed4aaf Merge pull request #1126 from ONLYOFFICE/fix/bug60690
fix typo
2023-01-24 18:40:25 +03:00
5c6956b5d5 fix 2023-01-24 18:37:59 +03:00
8a728e2ec9 Merge pull request #1125 from ONLYOFFICE/fix/bug60690
Fix bug 60690
2023-01-24 18:34:41 +03:00
9a515fc99e fix SetChanged 2023-01-24 18:30:53 +03:00
71ab0560f2 fix bDropEmpty 2023-01-24 18:29:20 +03:00
255c8cd547 Fix bug 60690 2023-01-24 18:24:47 +03:00
e36b2bcd93 bDropEmpty path for fill and clip 2023-01-24 16:47:27 +03:00
79aede17c6 test page 2023-01-24 16:36:05 +03:00
23afcb430c Fix bug 60674 2023-01-24 16:24:53 +03:00
5d4d2d817c fix bug #60735 2023-01-24 16:07:34 +03:00
8a2234d2b5 Update README 2023-01-24 13:40:28 +03:00
3526b286c3 . 2023-01-24 11:32:37 +03:00
d0b9a8e052 . 2023-01-24 10:21:35 +03:00
497ec9b2f1 fix bug #60797 2023-01-23 23:15:18 +03:00
7a4353bc4a Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2023-01-23 20:56:53 +03:00
0b2fa174d5 Add ctDocInfo command in check commands 2023-01-23 20:55:34 +03:00
9b0cd732e3 fix bug #60794 2023-01-23 20:52:58 +03:00
062e410efc Merge pull request #1123 from ONLYOFFICE/fix/v7.3.0-fix-bugs
fix bug #60739
2023-01-23 20:37:17 +03:00
1faa2c3f77 fix bug #60739 2023-01-23 20:36:25 +03:00
70c7635af6 Fix bug 60241 2023-01-23 16:17:59 +03:00
7ae87cf15a Merge pull request #1121 from ONLYOFFICE/fix/bug59621
Fix bug 59621
2023-01-23 15:59:28 +03:00
c73e91094f Merge pull request #1120 from ONLYOFFICE/fix/bug60665
Fix bug 60665
2023-01-23 15:58:20 +03:00
98df4659b5 Fix bug 59621 2023-01-23 15:26:01 +03:00
b2e2b06fc2 Fix bug 60665 2023-01-23 14:34:33 +03:00
a039a36b8f fix bug #60725 2023-01-23 12:01:47 +03:00
d6c4b2b95c Merge pull request #1119 from ONLYOFFICE/fix/html-docinfo
Fix html DocInfo
2023-01-23 10:15:36 +03:00
eb34cb7e23 Fix non-clean build 2023-01-22 20:29:16 +05:00
bc26f0bda4 Fix build 2023-01-22 17:50:09 +03:00
210d5ef30d Fix build in modern systems 2023-01-22 17:01:01 +03:00
b174c2c601 fix bug #60726 2023-01-22 15:13:54 +03:00
fa075d0224 Add support bundle_xcframeworks build flag 2023-01-22 13:24:46 +05:00
4a6c0e340b update external 2023-01-20 18:30:44 +03:00
65604849ac fix bug #60338 2023-01-20 18:18:50 +03:00
276de3c7b0 fix fb2 escaping characters 2023-01-20 17:42:09 +03:00
0ccd31865d fix bug #60674 2023-01-20 16:52:08 +03:00
ab2f79bd19 epub fix DocInfo 2023-01-20 16:08:55 +03:00
33ac9e4f5e Merge pull request #1118 from ONLYOFFICE/fix/metafile_bugs
Fix bug in metafile conversion
2023-01-20 15:52:19 +03:00
7f1e2370d2 fb2 fix DocInfo 2023-01-20 14:55:39 +03:00
a2aec43d22 doctrenderer delete asc_getCoreProps and x2t fix fb2/epub 2023-01-20 14:54:22 +03:00
aaae4d7728 [x2t] For bug 60665 2023-01-20 08:45:32 +03:00
2d1e08fbd1 Fix bug 60683 2023-01-19 22:42:10 +03:00
de4e27f5d7 Merge pull request #1117 from ONLYOFFICE/fix/x2ttester
Fix bug 60671
2023-01-19 19:09:53 +03:00
60e79db7b0 Fix misprint 2023-01-19 19:01:31 +03:00
00114714d1 Fix 2023-01-19 18:57:58 +03:00
62f98a8cc5 Fix
substr -> find
2023-01-19 18:42:00 +03:00
c6d9a22d16 Fix bug in metafile conversion 2023-01-19 18:37:00 +03:00
fab1c09db3 Fix 2023-01-19 18:27:09 +03:00
1911f11e51 Fix bug 60671 2023-01-19 18:01:40 +03:00
dfec7cb0bb . 2023-01-19 16:57:19 +03:00
8f11112c43 . 2023-01-19 16:35:55 +03:00
5071a61692 Merge pull request #1116 from ONLYOFFICE/fix/metafile_bugs
Fix metafile bugs
2023-01-19 13:39:48 +03:00
bd2736ab09 Fix bug in metafile conversion 2023-01-19 12:54:09 +03:00
04196de46e . 2023-01-19 12:23:15 +03:00
e4c334e84c Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2023-01-19 10:39:52 +03:00
6214f187e0 fix bug #60510 2023-01-19 10:37:08 +03:00
55857b803a Fix bug 60276 2023-01-18 23:55:31 +03:00
d1c68f38d7 Fix bug in metafile conversion 2023-01-18 19:49:29 +03:00
ab80f5e399 Fix bug in metafile to svg conversion 2023-01-18 18:38:08 +03:00
457e4dadce Merge pull request #1114 from ONLYOFFICE/fix/bug60648
Fix bug 60648
2023-01-18 13:22:15 +03:00
f556fcf3fc fix m_bChanged in vector 2023-01-18 12:45:10 +03:00
fd88dbd7df fix bug #60515 2023-01-18 12:37:58 +03:00
97f440ebab Fix bug 60648
related bug 59523
2023-01-18 11:27:23 +03:00
3dcc8e916d Merge pull request #1113 from ONLYOFFICE/fix/x2ttester
Fix bug 60241
2023-01-18 10:41:44 +03:00
a1a7b903b6 fix bug #60490 2023-01-17 23:25:23 +03:00
a9a7c3fb22 fix bug #59365 2023-01-17 22:51:44 +03:00
c76f50a2f8 Merge pull request #1105 from ONLYOFFICE/fix/bug59621
Fix bug 59621
2023-01-17 16:15:48 +03:00
55c2b426f4 Merge pull request #1112 from ONLYOFFICE/fix/metafile_bugs
Fix metafile bugs
2023-01-17 14:59:06 +03:00
c5729090b3 Merge pull request #1111 from ONLYOFFICE/fix/bug60468
Fix bug #60468
2023-01-17 14:58:34 +03:00
d3a98c0164 Added scaling of patterns in metafile to svg conversion 2023-01-17 14:46:37 +03:00
2bd9d2fdf3 Fix bug #60609 2023-01-17 12:35:57 +03:00
7065c1a563 Merge remote-tracking branch 'origin/fix/v7.3-fix-bugs-ppt2' into release/v7.3.0 2023-01-17 12:20:02 +03:00
866a36448f Fix bug in metafile to svg conversion 2023-01-17 11:57:29 +03:00
02155b0b97 Fix bug #60608 2023-01-17 11:56:46 +03:00
8e15985b83 Fix
Doesnt create any folders, if no output formats
2023-01-17 11:47:50 +03:00
96b5eae285 fix bug #59405 2023-01-17 10:23:25 +03:00
898844453d Fix bug #60468 2023-01-16 19:33:07 +03:00
e9e87d89c9 Merge pull request #1110 from ONLYOFFICE/fix/bug60405
Fix bug #60405
2023-01-16 18:07:01 +03:00
5f31790f7a Fix bug #60405 2023-01-16 17:13:48 +03:00
ff9884b73d Fix 2023-01-16 17:06:41 +03:00
27bf69fd98 Fix bug 60513 2023-01-16 15:25:07 +03:00
e71d04bd9d Merge pull request #1109 from ONLYOFFICE/fix/v7.3.0-fix-bugs
.
2023-01-16 15:10:20 +03:00
3b802bac97 . 2023-01-16 15:09:38 +03:00
2129ed7492 Merge pull request #1108 from ONLYOFFICE/fix/v7.3.0-fix-bugs
Fix/v7.3.0 fix bugs
2023-01-16 15:08:49 +03:00
96a7298071 Merge remote-tracking branch 'origin/fix/v7.3-fix-bugs-ppt2' into fix/v7.3.0-fix-bugs 2023-01-16 15:04:08 +03:00
da6c775fb8 fix bug #55298 2023-01-16 15:03:53 +03:00
a445b973c2 Fix bug 60241 2023-01-16 14:33:29 +03:00
8f5a7218b8 Merge pull request #1106 from ONLYOFFICE/fix/metafile_to_svg
Fix bugs in metafile to svg conversion
2023-01-15 22:53:24 +03:00
c4ea1ee198 Merge pull request #1107 from ONLYOFFICE/fix/metafile_to_raster
Fix bug in metafile to raster conversion
2023-01-15 22:53:00 +03:00
4d678fc7a7 For bug 60488 2023-01-15 22:28:57 +03:00
738fea25e6 Fix bug 60141 2023-01-14 22:03:05 +03:00
349bed9dbc Fix bug #58904 2023-01-13 17:17:37 +03:00
032ec1dffd Merge pull request #1101 from ONLYOFFICE/fix/bug60483
Fix bug 60483
2023-01-13 17:10:49 +03:00
b04bd26758 Merge pull request #1104 from ONLYOFFICE/fix/bug60114
Fix bug 60114
2023-01-13 16:43:30 +03:00
d67a10268a Fix bug 60114 2023-01-13 16:35:38 +03:00
0d1877efb7 fix bug #59407 2023-01-13 15:40:14 +03:00
d43ff48bc6 Fix bug 60114 2023-01-13 14:57:09 +03:00
e02c6e81be Fix bug #60541 2023-01-13 13:30:52 +03:00
d23d795160 Fix bug 60139 2023-01-13 13:20:06 +03:00
2b5ffd05a2 Fix bug #60486 2023-01-13 13:11:01 +03:00
e297f32b31 fix bug #60542 2023-01-13 12:28:02 +03:00
0f64eadedb Fix bug 60511 2023-01-13 11:38:26 +03:00
13d1d3d3e9 x2t fix 2023-01-13 10:37:35 +03:00
1204a9a501 Add getPaths method to zip engine 2023-01-12 23:20:54 +03:00
8e7e317e4b Fix bug in metafile to svg conversion 2023-01-12 13:40:18 +03:00
05ffb10eaa fix part of 59407 bug 2023-01-12 13:36:10 +03:00
b1474a84c4 SetDocumentInfo 2023-01-12 11:05:05 +03:00
454ef30d56 creator 2023-01-11 17:54:12 +03:00
0570672f95 Merge pull request #1100 from ONLYOFFICE/fix/bug58644
Fix bug 58644
2023-01-11 16:11:03 +03:00
cf8b06f9c2 Merge pull request #1103 from ONLYOFFICE/fix/metafile_to_raster
Fixing bugs in converting metafile to raster
2023-01-11 16:09:07 +03:00
ba77b4632c Merge pull request #1102 from ONLYOFFICE/fix/metafile_to_svg
Fixing bugs in converting metafile to svg
2023-01-11 16:08:50 +03:00
40c65b46be Fix bug #60486 2023-01-11 15:53:08 +03:00
a4ec604b1b Fix bug #60485 2023-01-11 15:10:19 +03:00
9ae3d1623c Added a condition to the creation of lines in the metafile conversion to svg 2023-01-11 13:28:29 +03:00
551d356b79 Fixed a bug with creating a pattern in converting a metafile to svg 2023-01-11 13:11:39 +03:00
931e81a8a0 Refactoring 2023-01-11 12:51:16 +03:00
64a1fd5e7b Fixed a bug with inverted text in metafile to svg conversion 2023-01-11 12:47:58 +03:00
25b61c9838 Fixed bug #60480 2023-01-11 12:47:40 +03:00
d1dde6f1a0 Fix bug #60478 2023-01-10 19:29:57 +03:00
57427336fa Fix bug 60483 2023-01-10 15:59:19 +03:00
c2ef4a871c Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2023-01-10 14:24:51 +03:00
cd1e176b1d fix bug #60491 2023-01-10 14:24:39 +03:00
de1339af79 [mobile] Add document protection defines 2023-01-10 14:17:37 +03:00
2171b5530b fix bug #59705 2023-01-10 14:10:39 +03:00
1a6a9b5cb5 Fix bug 58644 2023-01-10 13:34:24 +03:00
3001b0b6d2 Fixed a bug in converting metafile to svg 2023-01-09 21:54:30 +03:00
2011bf6464 Fix bug #60471 2023-01-09 20:20:58 +03:00
f70be27826 Fix bug #60461 2023-01-09 19:29:26 +03:00
27b407ba48 Remove not used websocket engine 2023-01-01 19:51:50 +03:00
ee22dd9b26 . 2022-12-31 00:53:47 +03:00
3941d51d1e add chart animatin. Fix part of 59407 2022-12-30 18:01:02 +03:00
be7a75c7c9 Merge pull request #1099 from ONLYOFFICE/fix/metafile_to_svg
Fix metafile to svg conversion
2022-12-29 18:43:19 +03:00
a8e5a98d5f Fix bug #60398 2022-12-29 18:22:37 +03:00
cac8df19c1 Fix bug #60397 2022-12-29 18:22:14 +03:00
fe04849ca4 Refactoring 2022-12-29 11:47:19 +03:00
419437b1fa Merge pull request #1098 from ONLYOFFICE/fix/bug57911
Fix bug 57911
2022-12-28 20:09:59 +03:00
6e78bc880d refactoring 2022-12-28 17:28:57 +03:00
29ec077815 Refactoring 2022-12-28 16:47:57 +03:00
8a054f5cdf Fix indents 2022-12-28 14:14:01 +03:00
4310394fc7 fix error empty font 2022-12-28 13:51:47 +03:00
bc7aa9d328 fix bug #60361 2022-12-28 13:32:50 +03:00
1cd73fd770 for bug #60323 2022-12-28 11:51:17 +03:00
11ddc810d7 fix place js_get_stream_id 2022-12-28 11:46:04 +03:00
69ff1ca505 Senf ranges to pdf/xps module 2022-12-27 15:44:35 +03:00
848a1762f9 fix bug #60307 2022-12-23 16:13:27 +03:00
492d86393e fix bug #60314 2022-12-23 15:48:58 +03:00
a70e9c63bc Merge pull request #1097 from ONLYOFFICE/fix/bug59025
Fix bug 59025
2022-12-23 13:12:33 +03:00
a90cdc2cdb Fix bug 59025 2022-12-23 12:57:05 +03:00
37d77e458b fix bug #60305 2022-12-22 18:58:04 +03:00
2b1db43259 for bug #60299 2022-12-22 17:59:09 +03:00
5f80804661 fix 2022-12-22 15:34:45 +03:00
fba86b7071 InitializeFontsRanges 2022-12-22 14:52:41 +03:00
539d067dc4 fix bug #60270 2022-12-22 12:41:01 +03:00
54b8c99431 rebase js_get_stream_id 2022-12-21 18:25:28 +03:00
69e0524960 fix bug #59960 2022-12-21 13:37:40 +03:00
36810c9127 oform 2022-12-20 20:16:54 +03:00
e4fa81b16b Merge pull request #1089 from ONLYOFFICE/fix/bug56904
Fix bugs 56130, 56904, 59379
2022-12-20 19:51:23 +03:00
3c2f982bb2 Rebuild module 2022-12-20 18:10:14 +03:00
c6930b4ffd fix IsNeedCMap 2022-12-20 17:36:42 +03:00
abec59d9bf define 2022-12-20 17:14:34 +03:00
86edbdf9a5 fix 56130 2022-12-20 16:42:43 +03:00
b7fc8748d2 fix 2022-12-20 16:12:05 +03:00
e9a116c1c8 Merge pull request #1094 from ONLYOFFICE/fix/x2ttester
Fix bug 60093
2022-12-20 15:04:28 +03:00
cd3b39581d protect (+) 2022-12-20 11:16:30 +03:00
24e04314d8 Merge branch hotfix/v7.2.2 into master 2022-12-20 07:55:40 +00:00
0368fa0f36 fix bug #40946 2022-12-19 21:22:22 +03:00
eb169b49ed setCMap for drawingfile_base 2022-12-19 18:17:07 +03:00
eaf3b7fd9f create IsNeedCMap and three types of getting CMap 2022-12-19 17:53:58 +03:00
cba1724045 Fix bug #59714 2022-12-16 17:52:13 +03:00
77529ecc7e Merge pull request #1095 from ONLYOFFICE/fix/metafileToSvg
Refactoring metafile to svg conversion
2022-12-16 14:07:19 +03:00
902f7a33d1 Fixed typos 2022-12-16 11:53:52 +03:00
48ae9df1cf Fix ignore file 2022-12-16 11:51:30 +03:00
06668af052 Add test app 2022-12-16 11:47:33 +03:00
a6e7d21f80 Fix build 2022-12-16 11:10:18 +03:00
84d1d8a68d Add sources for keychain plugin 2022-12-15 23:17:16 +03:00
5890849e42 Hatches generation has been moved to a separate class 2022-12-15 21:34:16 +03:00
086c0e71cc fix bug #59193 2022-12-15 19:31:10 +03:00
3404bea247 fix bug #59917 2022-12-15 19:06:58 +03:00
a5756e42ce for bug #59496 2022-12-15 16:07:35 +03:00
fb2e149f95 Refactoring and combining code 2022-12-15 16:01:27 +03:00
2c0c356371 . 2022-12-14 16:35:12 +03:00
a7c9bf8f1d . 2022-12-14 16:29:19 +03:00
7b1715cfcf Update readme 2022-12-14 14:31:43 +03:00
22b709b4d7 . 2022-12-14 12:15:58 +03:00
f0ffe097da . 2022-12-14 12:05:04 +03:00
27c918d810 . 2022-12-14 11:49:09 +03:00
de8746898a fix build 2022-12-14 11:34:59 +03:00
7f2e1ed97d Fix bug 60093 2022-12-13 22:19:53 +03:00
4cd3b71c07 fix bug #56631 2022-12-13 20:40:57 +03:00
791c786bf7 Refactoring modules [hash, oform, all] 2022-12-13 18:26:43 +03:00
41a358764f watermark id 2022-12-13 18:25:39 +03:00
3d077122c6 Merge pull request #1093 from ONLYOFFICE/fix/x2ttester
Fix BOM
2022-12-13 17:13:45 +03:00
f3a393080c Fix BOM 2022-12-13 17:11:39 +03:00
71553d5aa4 Merge pull request #1092 from ONLYOFFICE/fix/x2ttester
Fix bugs
2022-12-13 16:33:28 +03:00
e97569a4bb Fix bug 60129 2022-12-13 15:24:21 +03:00
cd56cb6dc8 comments 2022-12-13 14:08:57 +03:00
162e96cebd Developing 2022-12-13 13:02:56 +03:00
6d29cda8ea Add code for engine_base.js 2022-12-13 12:45:08 +03:00
f215c343b4 Merge pull request #1091 from ONLYOFFICE/fix/bug60110
Fix bug #60110
2022-12-13 11:24:12 +03:00
f3b8e8158a Add compiled module 2022-12-13 11:21:49 +03:00
9d31985ae0 Merge pull request #1090 from ONLYOFFICE/fix/x2t
Fix/x2t
2022-12-13 10:01:48 +03:00
28c99c4d4f Fix bug 60118 2022-12-12 22:57:11 +03:00
b31ceac8c9 Fix 2022-12-12 22:49:21 +03:00
e9a17f9593 Fix bug 60120 2022-12-12 22:31:47 +03:00
35b301b382 Fix bug #60110 2022-12-12 20:29:18 +03:00
fdb49b7b69 load CMapData and create CMapToMemory 2022-12-12 18:03:31 +03:00
7f47ac262c fix bug #60112 2022-12-12 18:02:29 +03:00
4325e5f9d3 . 2022-12-12 17:42:58 +03:00
0e604235fb fix bug #60111 2022-12-12 17:39:03 +03:00
4551f1eadc . 2022-12-12 17:24:50 +03:00
eb5180471e Fix compile module 2022-12-12 16:45:13 +03:00
796190157a Optimize code 2022-12-12 16:19:48 +03:00
297f963990 Refactoring oform plugin module 2022-12-12 16:13:14 +03:00
fdf39011dd Refactoring 2022-12-12 16:07:49 +03:00
044c8b59c2 CMap file 2022-12-12 15:28:29 +03:00
f69aab7562 Add methods for sign/keys module 2022-12-12 14:52:33 +03:00
d79a6977dc . 2022-12-11 21:18:14 +03:00
aa20538015 - precompiled odf 2022-12-11 17:15:08 +03:00
36b6e4b5ff . 2022-12-11 16:21:44 +03:00
4eae0651d6 ppt build fix. ready to merge 2022-12-11 16:08:37 +03:00
2fd4e80650 Merge branch 'release/v7.3.0' into fix/refact 2022-12-11 15:48:32 +03:00
99fee71d3a . 2022-12-11 15:05:37 +03:00
291dbbe0bb Merge branch 'release/v7.3.0' into fix/refact 2022-12-11 14:22:25 +03:00
8a49166605 . 2022-12-11 13:57:44 +03:00
8d649c370b fix build 2022-12-11 13:45:59 +03:00
baf917818c Merge branch 'release/v7.3.0' into fix/refact 2022-12-11 13:28:50 +03:00
585d2e5a4a fix build 2022-12-11 13:16:16 +03:00
6ca66fa683 Merge branch 'release/v7.3.0' into fix/refact 2022-12-11 11:51:41 +03:00
ddc20afc2c . 2022-12-11 09:34:25 +03:00
cd7f4e5c1f Merge remote-tracking branch 'origin/fix/refact-ppt3' into release/v7.3.0 2022-12-11 09:19:40 +03:00
d5dbf1b8eb Separate some h and cpp (Reader/Records) 2022-12-10 15:23:36 +03:00
676cdaf04a remove iostream includes and using namespace in header file 2022-12-10 14:54:44 +03:00
3cd9e6d397 add missing license - part 2 2022-12-10 13:42:34 +03:00
ab6424731c add missing license 2022-12-10 13:20:52 +03:00
3870d16cbc PPT_FORMAT -> PPT in all project 2022-12-10 13:16:21 +03:00
e802ed01e1 Fix SSlidePersist build problem 2022-12-10 12:20:34 +03:00
74bac4cec6 Reformat records. SSlidePersist build problem 2022-12-10 11:47:59 +03:00
85a5dcd7ee Merge branch 'release/v7.3.0' into fix/refact 2022-12-10 10:39:24 +03:00
aeaa86c88f odf minor 2022-12-10 10:39:02 +03:00
0da7b35757 rtf include changes 2022-12-09 23:44:55 +03:00
690a75022c sepatate h files. No records 2022-12-09 19:56:49 +03:00
5d57702985 create CMapDirToFile 2022-12-09 18:49:31 +03:00
2d0baac6fe change namespace PPT_FORMAT -> PPT 2022-12-09 18:01:24 +03:00
b1c9245223 Fix compile modules 2022-12-09 17:07:06 +03:00
3685bb311c Add cert engine for oform 2022-12-09 17:03:24 +03:00
4673d68387 . 2022-12-08 18:50:53 +03:00
98175e438f Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-08 18:22:59 +03:00
8d01de861f ready to merge
rtf format refactored.
x2t compiled.
2022-12-08 17:57:42 +03:00
5aa6386249 Fix bug 60054 2022-12-08 17:39:56 +03:00
2341689208 clear 2022-12-08 17:02:48 +03:00
6823e0e241 fix 2022-12-08 17:01:02 +03:00
31b5771a19 file length comparison 2022-12-08 16:59:58 +03:00
c1b84ee96f Merge branch 'release/v7.3.0' into fix/refact 2022-12-08 14:37:04 +03:00
237d20eed2 RtfFile refact
OOXml/Writer folder
2022-12-08 14:31:37 +03:00
dd988ad3cf RtfFile/Format refact 2022-12-08 13:30:24 +03:00
c609c616f0 . 2022-12-08 09:31:32 +03:00
93cb4b1be3 fix bug #59977 2022-12-07 18:52:34 +03:00
4b1190f54b Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-07 15:56:22 +03:00
664c14b894 ready to merge
doc format done.
2022-12-07 15:20:44 +03:00
dbb4b67491 Fix previous commit 2022-12-07 15:11:33 +03:00
1c10b51ec2 Merge branch 'release/v7.3.0' into fix/refact 2022-12-07 15:00:58 +03:00
a280d5822c Doc format refactored
x2t compiled.
2022-12-07 15:00:36 +03:00
bf6747d362 Fix previous commit 2022-12-07 14:56:10 +03:00
b96ab6bd1f Fix build 2022-12-07 14:52:18 +03:00
1d61dba795 Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2022-12-07 14:40:32 +03:00
cc522274b6 Change app for server sharing 2022-12-07 14:39:45 +03:00
7bf7e80100 Add missed file 2022-12-07 10:40:17 +03:00
528e3e3e15 Remove unneeded code 2022-12-07 00:10:38 +03:00
d69ff8e495 Add comment 2022-12-06 20:50:22 +03:00
59153b1a38 Fix build for multiply arches at the same time 2022-12-06 19:48:07 +03:00
f1499aeae4 generate autogen 2022-12-06 18:29:15 +03:00
657d04adb2 get binary cmap 2022-12-06 18:24:12 +03:00
c46f81630d Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-06 17:48:59 +03:00
55d5573e17 Add ignore file 2022-12-06 17:04:50 +03:00
2aed22cd6b FIx previous commit 2022-12-06 16:35:29 +03:00
8796dacf93 Add socketio worked version 2022-12-06 16:33:47 +03:00
24fc302a32 ready to merge
x2t compiled with pptx optimization
2022-12-06 14:26:01 +03:00
5dbfc32c3e Merge branch 'release/v7.3.0' into fix/refact 2022-12-06 13:34:59 +03:00
90283fab8a pptx: optimization on
without AVSINLINE
2022-12-06 13:34:38 +03:00
d809afc62a fix bug #59976 2022-12-06 12:37:02 +03:00
5a7ed95b7e fix bug #60000 2022-12-06 12:21:33 +03:00
eb73c4592b Merge pull request #1088 from ONLYOFFICE/fix/bug35023
Fix bug 35023 and other fixes
2022-12-06 10:36:31 +03:00
aa55140bd7 . 2022-12-06 09:53:34 +03:00
b4f7005f7b Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-06 09:48:19 +03:00
c085828e02 . 2022-12-06 09:29:40 +03:00
147fd5de04 x2t compiled
pptx: pch disabled.
2022-12-06 09:17:43 +03:00
e38498ecba Merge branch 'release/v7.3.0' into fix/refact 2022-12-05 20:28:58 +03:00
fbea298e13 pptx done 2022-12-05 20:27:53 +03:00
e0eecd44cb precompiled - lite mode 2022-12-05 19:20:09 +03:00
a214c3a7cd fix debug build 2022-12-05 19:12:31 +03:00
ce07772680 small refactoring 2022-12-05 17:41:48 +03:00
f38ddc22f1 Merge pull request #1075 from ONLYOFFICE/fix/bug59524
Fix bug 59524
2022-12-05 16:05:45 +03:00
b2e5f6a039 openjpeg support 2022-12-05 16:02:57 +03:00
86dc8b5eb0 . 2022-12-05 15:23:39 +03:00
83060ec8a0 Fixed bug 2022-12-05 15:16:21 +03:00
fab394f33f Removed unnecessary 2022-12-05 15:12:34 +03:00
6506542e35 pptx: Logic/(Runs, Table, Transitions, Path2D)
pch turn off temporarily
2022-12-05 14:34:51 +03:00
d5fa2f3070 Merge pull request #1083 from ONLYOFFICE/fix/bug59250
Fix bug 59250
2022-12-05 09:44:28 +03:00
73116f6375 . 2022-12-05 09:28:44 +03:00
e2d2aba8e5 Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-05 08:54:52 +03:00
b4820e0e05 fix build linux/macos 2022-12-05 08:21:54 +03:00
46ab617a67 Merge branch 'release/v7.3.0' into fix/refact 2022-12-04 13:35:56 +03:00
3541a01301 Merge pull request #1087 from ONLYOFFICE/fix/x2ttester
Fix bug 60002
2022-12-04 13:33:33 +03:00
bddf255598 pptx: Logic/(Colors, Fills, Media, Path2D) 2022-12-04 13:30:17 +03:00
9b58a31759 Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-12-04 10:09:48 +03:00
6d27258090 pptx: Logic/Bullets & Logic/Effects 2022-12-04 00:12:56 +03:00
0507f52a84 Fix bug 60002 2022-12-03 15:54:07 +03:00
2203b9a98e odf pch 2022-12-03 10:26:35 +03:00
96380b314e x2t compiled (debug/release)
debug: compilation speed up
2022-12-02 22:52:40 +03:00
8502c3cea3 Update precompiled.h 2022-12-02 20:42:30 +03:00
c1673b148c Update precompiled.h 2022-12-02 20:40:44 +03:00
04c84c7a9a fix TxtXmlFormatLib + pch files (not final) 2022-12-02 20:38:05 +03:00
53dfc2f2d1 Fixed bugs 2022-12-02 19:06:48 +03:00
2e77b8ef2f Fixed memory leak 2022-12-02 19:05:58 +03:00
62d6f365cb all CMap for Adobe-GB1 2022-12-02 17:16:14 +03:00
eb67c01e34 Merge pull request #1085 from ONLYOFFICE/fix/x2ttester
Fix/x2ttester
2022-12-01 21:37:21 +03:00
0a72a6d1c8 Refactoring 2022-12-01 21:34:49 +03:00
d7d64cbead Refactoring 2022-12-01 21:23:44 +03:00
519e950218 Fixed bug 35023 2022-12-01 17:59:42 +03:00
fb3152fe65 Merge branch 'release/v7.3.0' into fix/refact 2022-12-01 14:43:12 +03:00
4130df7b6c PPTXFormat: Logic (root files)
PPTXFormatLib compiled(release/debug).
x2t compiled.
2022-12-01 14:37:40 +03:00
d529009e26 fix txt 2022-12-01 10:41:59 +03:00
5362ad02db Refactoring 2022-12-01 00:31:38 +03:00
98e3fc20d5 Refactoring 2022-12-01 00:24:09 +03:00
15f10641aa Update x2t readme 2022-12-01 00:12:09 +03:00
572dfd97ce x2t/x2ttester/standardarttester update 2022-12-01 00:08:56 +03:00
d6022efefb Add new algs 2022-11-30 21:48:07 +03:00
de0146e007 Merge pull request #1084 from ONLYOFFICE/fix/bug57911
Fix bug 57911
2022-11-30 19:26:13 +03:00
837b4d5d9b fix 2022-11-30 17:07:39 +03:00
472677cc61 Fix bug 57911
Also partially fixed 58084
2022-11-30 16:44:47 +03:00
641b77da3b minor 2022-11-30 16:19:06 +03:00
583eb8d41e Merge branch 'release/v7.3.0' into fix/refact 2022-11-30 16:04:56 +03:00
ce17a08b17 PPTXFormat: Limit 2022-11-30 16:02:28 +03:00
6cf6013fd6 fix link 2022-11-30 14:57:25 +03:00
e5812bb7c7 Refactoring 2022-11-30 14:50:16 +03:00
239fb5115a . 2022-11-30 14:16:59 +03:00
7f22fa5ce2 fix mac build 2022-11-30 13:10:52 +03:00
712014cfd8 . 2022-11-30 11:40:45 +03:00
a2ac053f85 Merge branch 'release/v7.3.0' into fix/refact 2022-11-30 11:39:10 +03:00
446b8da69a PPTXFormat: ShowPr, Presentation
checked on debug build
2022-11-30 11:33:37 +03:00
27fbc6fa06 . 2022-11-30 11:27:04 +03:00
cc160a50c8 . 2022-11-30 10:56:03 +03:00
ce3aa935d4 build fix after commit 21046ac 2022-11-30 10:09:36 +03:00
8828e9c678 PPTXFormat: Theme, ViewProps 2022-11-30 09:23:02 +03:00
10365d431a unzip fix 2022-11-30 01:43:07 +03:00
def2fb7f85 . 2022-11-29 22:42:58 +03:00
b77268485d . 2022-11-29 22:29:27 +03:00
21046acdd7 . 2022-11-29 22:17:24 +03:00
4a86601909 Merge branch 'release/v7.3.0' into fix/refact 2022-11-29 19:38:35 +03:00
246e62242c fix after merge 2022-11-29 19:27:27 +03:00
9bddef6976 fix namespaces 2022-11-29 19:17:57 +03:00
5f9526d4a0 sync 2022-11-29 18:56:32 +03:00
f382bc9bc8 Merge branch 'release/v7.3.0' into fix/refact 2022-11-29 18:42:55 +03:00
9363fb6e68 PPTXFormat cpp
part 1
2022-11-29 18:32:26 +03:00
566c44a74b revert ppt 2022-11-29 17:09:15 +03:00
a327e4e1fe [x2t] Fix ContentTypes writing for XlsIO library(minfin) 2022-11-29 16:17:34 +03:00
5e37534f4f fix 2022-11-29 14:59:07 +03:00
e1acff706f fix 2022-11-29 13:59:57 +03:00
a87e1d3467 Merge remote-tracking branch 'origin/fix/refact' into release/v7.3.0 2022-11-29 12:42:35 +03:00
7dc713d4fb fix 2022-11-29 12:41:54 +03:00
958badadf9 Merge remote-tracking branch 'origin/fix/refact-ppt' into release/v7.3.0 2022-11-29 11:27:23 +03:00
30f804bfd9 BinDocument refactoring 2022-11-29 09:45:40 +03:00
5399478419 Merge branch 'release/v7.3.0' into fix/refact 2022-11-28 21:10:48 +03:00
b0fe9d0c5b Added .cpp files for all files 2022-11-28 18:49:17 +03:00
adfdac39ef Added .cpp files for all records 2022-11-28 17:37:12 +03:00
9edbe9fee2 fix 2022-11-28 13:57:57 +03:00
502f612aa2 Fix bug 59250 2022-11-28 13:48:21 +03:00
eb5eb69be3 fix bug #59786 2022-11-28 13:32:50 +03:00
ad3faa301d references 2022-11-28 13:14:17 +03:00
dba6f3c705 - unused files 2022-11-27 21:06:01 +03:00
a44a287ca9 . 2022-11-26 11:54:16 +03:00
1b2a57a220 minor 2022-11-26 11:19:09 +03:00
663d780b77 Fix freeze on subfolders 2022-11-26 01:14:35 +03:00
0f929b4a88 build fix after merge 2022-11-25 20:20:45 +03:00
92aa553740 Merge branch 'release/v7.3.0' into fix/refact 2022-11-25 19:01:41 +03:00
f7e0d6e004 OOXML/XlsxFormat done 2022-11-25 18:37:50 +03:00
56fb02d113 externalReference 2022-11-25 17:09:59 +03:00
8958e6e28b Merge pull request #1082 from ONLYOFFICE/fix/metafile2svg
Fixed a bug in metafile to svg conversion
2022-11-25 16:38:30 +03:00
624ed0e449 Add new minimal module for openssl 2022-11-25 16:25:30 +03:00
46a71964d1 perm 2022-11-25 15:40:00 +03:00
3f1cc2707d fix win build 2022-11-25 15:08:04 +03:00
566b612613 . 2022-11-25 14:30:23 +03:00
da33dda7dc Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2022-11-25 14:28:32 +03:00
df7390ad2a build fix 2022-11-25 14:11:39 +03:00
cc0baaafec . 2022-11-25 14:09:33 +03:00
810f7dc592 Fix build 2022-11-25 12:58:56 +03:00
783aa4c7be . 2022-11-25 12:14:48 +03:00
16280f1957 . 2022-11-25 11:37:56 +03:00
6593ff5fac Merge remote-tracking branch 'origin/fix/v7.3-fix-bugs-ppt' into fix/v7.3.0-fix 2022-11-25 11:34:13 +03:00
47679d47ba . 2022-11-25 10:43:28 +03:00
524f4cc285 XlsxFormat changes
part 2
2022-11-25 10:17:04 +03:00
4a74b4a934 XlsxFormat changes
part 1
2022-11-24 20:52:35 +03:00
0caa98998f [x2t] Change order of writing font properties to fix OOXML validator errors 2022-11-24 20:12:37 +03:00
01d99fec57 Fix bug 2022-11-24 19:50:11 +03:00
919ab72ece return animation 2022-11-24 18:41:48 +03:00
d7d7596b10 Merge pull request #1081 from ONLYOFFICE/hotfix/v7.2.2
Fix bug 59462
2022-11-24 18:13:47 +03:00
12ef2e6510 Fix bug 59462 2022-11-24 18:11:20 +03:00
f03a7584dc add HashCode10Atom. But it does not calculate hash correct 2022-11-24 13:50:29 +03:00
782c8aad32 Fix build 2022-11-24 10:41:51 +03:00
6cf47b33f4 Fix build 2022-11-24 10:02:10 +03:00
1dd6e91180 fix build (inline)
must be agreed with the top)
2022-11-23 22:52:51 +03:00
92742e8b69 Fix build 2022-11-23 19:25:00 +03:00
d15762cb36 OOXML/DocxFormat done 2022-11-23 19:06:13 +03:00
5fc0a26c59 Merge pull request #1072 from ONLYOFFICE/fix/metafile_to_svg
Fix/metafile to svg
2022-11-23 18:57:40 +03:00
12e2413944 Merge pull request #1076 from ONLYOFFICE/fix/bug59621
Fix bug 59621
2022-11-23 18:55:39 +03:00
e51258029d Add new wmf/emf => svg convertation 2022-11-23 18:52:54 +03:00
78dcd9065c fix JPXStream2 2022-11-23 17:23:57 +03:00
404139b8d0 Merge branch 'fix/metafile_to_svg' of https://github.com/ONLYOFFICE/core into fix/metafile_to_svg 2022-11-23 17:07:00 +03:00
86ac3febbb Fixed bugs 2022-11-23 16:37:44 +03:00
f3da6a7f1b The algorithm for calculating the width of the minimum pen has been changed 2022-11-23 16:37:25 +03:00
7edc38716f Merge pull request #1074 from ONLYOFFICE/release/v7.3.0
Release/v7.3.0
2022-11-23 16:32:34 +03:00
4608620da8 Fix create core in doctrenderer for pdf 2022-11-23 15:02:29 +03:00
7307376d43 Merge branch 'release/v7.3.0' of https://github.com/ONLYOFFICE/core into release/v7.3.0 2022-11-22 21:15:26 +03:00
244dc8e33f . 2022-11-22 21:15:03 +03:00
00d9ed438b docx cpp
+Math, +Media, +Settings
2022-11-22 21:14:38 +03:00
93f935237d Merge pull request #1071 from ONLYOFFICE/feature/pdffile
Feature/pdffile
2022-11-22 20:51:02 +03:00
5029172e12 . 2022-11-22 20:13:39 +03:00
cb52f87188 Refactoring module 2022-11-22 17:42:14 +03:00
b3cbcbf7ad fix wasm 2022-11-22 17:31:39 +03:00
8ee5b43ce0 GetRotate for edit mode 2022-11-22 17:30:00 +03:00
d2dbd64a21 fix bug #59791 2022-11-22 17:22:00 +03:00
2fe7f309af logic to cpp 2022-11-22 16:52:21 +03:00
1cd225e279 Merge remote-tracking branch 'origin/release/v7.3.0' into feature/pdffile 2022-11-22 16:44:13 +03:00
71226b6b37 comments 2022-11-22 16:29:34 +03:00
6a1e2a8e05 . 2022-11-22 15:41:35 +03:00
27cc65a08a fix vba 2022-11-22 15:13:54 +03:00
07f1c63459 create separate States 2022-11-22 13:30:09 +03:00
0f50633f87 . 2022-11-22 13:25:48 +03:00
37daa3f56a Revert bad commit 2022-11-22 13:23:47 +03:00
bae1da1f1e refactoring and fix empty p:bldLst 2022-11-22 11:10:00 +03:00
53a33cfb19 Merge remote-tracking branch 'origin/fix/v7.3.0-fix' into release/v7.3.0 2022-11-22 10:18:16 +03:00
7e515862a5 build fix 2022-11-22 00:06:36 +03:00
194f2f6b26 . 2022-11-21 23:53:48 +03:00
b2665a2e68 . 2022-11-21 23:10:02 +03:00
4fa833bac2 DocxFormat Opt
to cpp:
- Diagram
- Drawing
- External
- Logic

Without core_release:
145MB -> 129MB
2022-11-21 23:00:31 +03:00
6275bc8fa2 Refactoring 2022-11-21 21:42:13 +03:00
34afdf71e3 . 2022-11-21 20:45:03 +03:00
968002fb2a . 2022-11-21 20:38:55 +03:00
6035597060 trying to throw exeption when timing_2010 isn't actual 2022-11-21 19:47:54 +03:00
5e8e20fbed . 2022-11-21 18:55:27 +03:00
6430a9394f fix nativegraphics and drawingfile 2022-11-21 18:46:43 +03:00
513301aeae . 2022-11-21 17:51:36 +03:00
edd5d6aead fix another project without Mode 2022-11-21 16:18:26 +03:00
4b0ca24396 . 2022-11-21 15:32:23 +03:00
14541b9ee4 Merge pull request #1070 from ONLYOFFICE/feature/x2ttester
Feature/x2ttester
2022-11-21 15:03:06 +03:00
b3b0a158a7 Refactoring 2022-11-21 15:01:18 +03:00
d36b6038a2 PdfReader and PdfWriter moved entirely to PdfFile 2022-11-21 14:12:22 +03:00
45e89465d1 . 2022-11-21 14:04:57 +03:00
4cef6d3f68 . 2022-11-21 13:51:47 +03:00
9ecee62d94 . 2022-11-21 13:01:33 +03:00
8f5baab348 fix 2022-11-21 12:05:14 +03:00
d090b6cd70 . 2022-11-21 11:23:52 +03:00
b8b98795b4 Merge branch 'fix/refact' into fix/v7.3.0-fix 2022-11-21 11:22:35 +03:00
3fb845fc97 SetCore 2022-11-21 10:43:29 +03:00
e0c0166faf Update x2ttester README 2022-11-21 02:12:29 +03:00
64308d7cf0 Update x2ttester 2022-11-21 01:55:34 +03:00
06d0754982 Fix build ios 2022-11-20 21:42:51 +03:00
9af65f4e39 Refactoring formfields 2022-11-20 16:55:40 +03:00
8085865daa Fix CRecordBuildListSubContainer problem and FillBuildNodeBase ref missing 2022-11-20 12:19:08 +03:00
687836b781 Add correct animation spid searcher and checker. Found CRecordBuildListSubContainer problem 2022-11-20 11:52:42 +03:00
e7854cdf40 Fix ios build 2022-11-18 23:25:05 +03:00
9a91a1695b Fix build 2022-11-18 23:11:04 +03:00
6b8804ec27 Fix build 2022-11-18 22:20:51 +03:00
bbe72674e2 create SetCore for pdf 59621 2022-11-18 18:26:14 +03:00
12c93209a3 x2t compiled
- short project names
- win32 projects
- ASCOfficeDocxFile2Lib->BinDocument
- minor fixes
2022-11-18 18:06:15 +03:00
101b79ea49 add animation rejection 2022-11-18 17:01:23 +03:00
abab3dc3d6 Fixed bugs 2022-11-18 15:44:59 +03:00
4f19fca2ed Big refactoring
new project scheme
2022-11-18 15:01:21 +03:00
c667dd6624 fix bug #59786 2022-11-18 14:28:41 +03:00
b1831a0467 Merge pull request #1069 from ONLYOFFICE/hotfix/v7.2.2
Hotfix/v7.2.2
2022-11-18 12:47:10 +03:00
da3a6b3189 Fix bugs with cache 2022-11-18 12:20:05 +03:00
ab849cc03d Fixed bugs 2022-11-17 22:10:51 +03:00
81e03f64db Add support print custom pages in pdf/xps/djvu 2022-11-17 19:24:11 +03:00
a267039f5b fix bug #59716 2022-11-17 14:17:13 +03:00
75ac8dae17 Fix bug 59523 2022-11-17 11:27:43 +03:00
0aed94b748 Fix ios/android build 2022-11-17 10:19:34 +03:00
5af4ebba9e Fix bug with caches 2022-11-16 23:25:19 +03:00
a8f0c12d0f Merge pull request #1068 from ONLYOFFICE/feature/cacheJS
Feature/cache js
2022-11-16 20:46:01 +03:00
e5351899c5 Refactoring js cache directory 2022-11-16 18:58:48 +03:00
cc7644bc36 Timing_2010 restructed to control converter of animation 2022-11-16 18:56:01 +03:00
f6cc44d386 Added implementation of EMFPLUS_DRAWDRIVERSTRING in metafile->svg conversion 2022-11-16 18:16:41 +03:00
6a61318513 the heart of the matter 2022-11-16 18:16:14 +03:00
0d5a478949 Added clips support in metafile->svg conversion and refactoring 2022-11-16 18:15:40 +03:00
aee82236cc fix bug #59716 2022-11-16 17:44:11 +03:00
559f274677 fix bug #59719 2022-11-16 17:43:42 +03:00
fa094e152c Create js caches for server 2022-11-16 17:34:45 +03:00
13c6b18c3f Include Timing_2010.Convert(), no anim correction 2022-11-16 16:47:11 +03:00
ecd3aeed88 Fix second file from 5 9 5 2 3 2022-11-16 15:08:08 +03:00
d2f8669552 refactoring 2022-11-16 15:07:03 +03:00
8ba3ab030d fix bug #59708 2022-11-16 13:02:41 +03:00
503f916d54 Added raw code base for class Timing_2010 2022-11-15 18:54:08 +03:00
7aca8b1d7b for bug #48897 2022-11-15 15:46:26 +03:00
f28221336c Fixed bugs 2022-11-14 20:26:43 +03:00
ed07e856e4 start Timing_2010 mainSeq convertation 2022-11-14 18:34:00 +03:00
9b5c153e64 add class Timing_2010 and tag p:BldLst 2022-11-14 15:56:32 +03:00
c937c57160 minor 2022-11-14 14:55:52 +03:00
1dab4b08d5 Merge pull request #1067 from ONLYOFFICE/fix/v7.3.0-refactoring
Fix/v7.3.0 refactoring
2022-11-12 21:11:09 +03:00
2db34852ea . 2022-11-12 21:08:36 +03:00
de62b3b383 Merge remote-tracking branch 'origin/fix/cpp' into fix/v7.3.0-refactoring 2022-11-12 21:06:17 +03:00
a83cdd6e7f fix bug #59691 2022-11-12 20:38:01 +03:00
805f1d1214 . 2022-11-12 17:53:09 +03:00
3f1960eee3 DocxFormat/Drawing to cpp 2022-11-12 17:14:01 +03:00
1e7c85d310 fix bug #59692 2022-11-12 17:10:25 +03:00
6fd694af1f DocxFormat/Diagram to cpp 2022-11-12 15:36:43 +03:00
3c570883e0 Merge pull request #1066 from ONLYOFFICE/fix/v7.3.0-refactoring
Fix/v7.3.0 refactoring
2022-11-12 13:13:59 +03:00
e8a134c14a . 2022-11-12 13:09:05 +03:00
bb85447946 Merge branch 'fix/txt' into fix/cpp 2022-11-12 09:05:53 +03:00
703893e3f3 Merge remote-tracking branch 'origin/fix/txt' into fix/v7.3.0-refactoring 2022-11-11 22:51:44 +03:00
94cbb259cf Added clip support in metafile to svg conversion and fixed bugs 2022-11-11 19:02:24 +03:00
8b4aae06e6 Fix compile on linux/macos 2022-11-11 18:52:03 +03:00
e025ec2b8e #1 2022-11-11 16:46:06 +03:00
3b7454007a for merge 2022-11-11 16:31:36 +03:00
3f446a7e47 x2t done 2022-11-11 11:28:12 +03:00
8b45546ebd fix bug #59639 2022-11-11 09:57:05 +03:00
1ce6307a56 Compiled version 2022-11-10 23:25:20 +03:00
a989422bca refactoring: Timing_1995 2022-11-10 19:50:02 +03:00
acce41ba3e withot SimpleTypes templates 2022-11-10 18:43:48 +03:00
88bab0600c fix old animation: groupDelay 2022-11-10 16:37:43 +03:00
14cb9c60c1 rollback for default values 2022-11-10 16:36:54 +03:00
e2aad28114 fix old animation <p:timing> struct 2022-11-10 15:16:23 +03:00
f60727c480 Refactoring
without templates
2022-11-10 13:02:22 +03:00
a757b69f03 fix bug #59613 2022-11-10 12:12:43 +03:00
31c852f4f0 Refactoring
Ready TxtXmlFormatLib build with "no-template" changes (Vml, Shared, OMath, Word, Drawing, Spreadsheet)
2022-11-10 09:36:58 +03:00
4264dfdf67 Fixed bugs 2022-11-09 20:13:54 +03:00
49095378d7 Added transparency support for stroke and fill in metafile -> svg conversion and refactoring 2022-11-09 19:40:43 +03:00
057c217457 trying to fix pld animation 2022-11-09 19:06:35 +03:00
558c0ea251 Fixed bugs 2022-11-09 19:02:52 +03:00
ffbc5d2baf Added support for converting pie records to svg 2022-11-09 19:01:26 +03:00
e756e269a4 Added hatched fills to wmf -> svg conversion 2022-11-09 19:00:16 +03:00
ddb082e106 Merge pull request #1065 from ONLYOFFICE/fix/v7.3-fix-bugs-cfcpp
clsid null init
2022-11-09 16:57:02 +03:00
08b93a69af clsid null init 2022-11-09 16:50:31 +03:00
12960e474e add some lost source files 2022-11-09 16:33:03 +03:00
ad0b19caf4 .. 2022-11-09 14:27:45 +03:00
aec81dd7dd Refactoring
preparing a common assembly without templates
2022-11-09 11:47:03 +03:00
875eca3fc0 . 2022-11-09 11:16:32 +03:00
cb30e1362c Refactoring
Ready TxtXmlFormatLib build with "no-template" changes (Vml, Shared, OMath, Word, Drawing)
2022-11-08 23:17:07 +03:00
70e07e3ce1 fix part of 1995 animation bug 2022-11-08 19:56:20 +03:00
6ea4d86ab2 fix bug #59632 2022-11-08 18:41:39 +03:00
da26208a1f fix empty font family_name 2022-11-08 17:49:14 +03:00
75b406e010 Update VmlOfficeDrawing.h 2022-11-08 12:59:58 +03:00
a3491ee217 Refactoring
Word templates with FromStringA
2022-11-08 12:01:49 +03:00
133d86fff5 Refactoring
Ready TxtXmlFormatLib (8.5MB->4MB) build with "no-template" changes (Vml, Shared, OMath, Word).
To be continued.
2022-11-08 10:59:59 +03:00
9d2bd72cfd updated macros 2022-11-08 08:56:37 +03:00
b7bd889049 Word-> DEFINE_SIMPLE_TYPE 2022-11-08 01:06:05 +03:00
acb46e412d Add reformated converter Timiming_1995 with Animation_1995 2022-11-07 22:53:02 +03:00
4be596506d Update SimpleTypes_Vml.h 2022-11-07 20:38:25 +03:00
420d8170dc Refactoring
Ready TxtXmlFormatLib build with "no-template" changes (Vml, Shared, OMath).
To be continued.
2022-11-07 20:36:21 +03:00
bdfcbe65bb Edited hatcheds in the conversion MetafileToSvg and refactoring 2022-11-07 19:37:35 +03:00
c3d5a5a886 fix PdfWriter 2022-11-07 18:43:43 +03:00
52d7a1d14f fix bug #59631 2022-11-07 17:05:45 +03:00
4564f4302a fix empty reader and writer 2022-11-07 13:50:48 +03:00
9e29ea719e Shared -> DEFINE_SIMPLE_TYPE 2022-11-06 17:19:49 +03:00
d7ccf0b95e Added support for some hatched fills when converting a metafile to svg 2022-11-06 12:38:39 +03:00
15c931783f Vml -> DEFINE_SIMPLE_TYPE 2022-11-06 11:40:39 +03:00
0fd3ea574e OMath -> DEFINE_SIMPLE_TYPE 2022-11-06 10:42:50 +03:00
a7137cfc4d Comlex definitions 2022-11-05 10:42:18 +03:00
0c5d24171a Merge pull request #1063 from ONLYOFFICE/feature/docbuilder.com
Feature/docbuilder.com
2022-11-04 22:20:01 +03:00
dffe7aa55e docbuilder.com 2015 build fix 2022-11-04 19:33:22 +03:00
42d7ee8d8f Merge pull request #1062 from ONLYOFFICE/feature/docbuilder.com
Feature/docbuilder.com
2022-11-04 10:42:37 +03:00
53814fddbf Remove pch 2022-11-04 10:41:06 +03:00
3ecd57c8b4 Fix compile project for vs2015 2022-11-04 10:38:37 +03:00
69a40508b7 Add defines in docbuilder.com 2022-11-04 02:51:21 +03:00
71d875e0b5 ComplexTypes cpp 2022-11-03 21:23:49 +03:00
af2f11bff2 Added support for some hatched fills when converting a metafile to svg 2022-11-03 19:08:26 +03:00
80f2dce1b3 Animation reformation. Add head logic to Converter::Animation_1995 2022-11-03 18:40:06 +03:00
70225b2ca6 Merge pull request #1061 from ONLYOFFICE/hotfix/v7.2.2
Hotfix/v7.2.2
2022-11-03 17:56:56 +03:00
f44d81f706 fix GetApplicationFonts 2022-11-03 17:50:48 +03:00
d70d4d50f0 fix PdfReader and PdfWriter, fix BUILDING_WASM_MODULE 2022-11-03 17:47:16 +03:00
4a898653ae Add docbuilder.net defines file 2022-11-03 02:52:43 +03:00
e1168478cd Animation reformation. Add header of old animation parser 2022-11-02 19:12:00 +03:00
e27a20f9ae new PdfReader and PdfWriter for PdfFile 2022-11-02 17:50:50 +03:00
d89679d394 Disable x32 arches by default for ios 2022-11-02 17:00:28 +03:00
b0a891c7ba . 2022-11-02 13:06:36 +03:00
2764479c11 Refactoring... 2022-11-02 13:03:22 +03:00
5be41c5892 Fix bug 2022-11-02 00:04:50 +03:00
ad3a1dbd8f Refactoring 2022-11-01 23:38:10 +03:00
2da365690e Added support for some hatched fills when converting a metafile to svg 2022-11-01 21:05:04 +03:00
c2f6f2d1b5 PdfFile using 2022-11-01 18:36:01 +03:00
21470d1711 Animation reformation was started 2022-11-01 18:30:48 +03:00
58d3c2a914 . 2022-11-01 14:23:38 +03:00
ed3cfd6c55 . 2022-11-01 14:20:37 +03:00
de35674fdc fix copyrights 2022-11-01 14:00:35 +03:00
a36e31ab0f Create test onescript 2022-11-01 13:03:36 +03:00
24c136c1e1 . 2022-10-31 20:05:30 +03:00
77132ec0a2 . 2022-10-31 20:03:30 +03:00
b5bec4339f Merge remote-tracking branch 'origin/feature/lib_cfcpp3' into develop
fix
2022-10-31 19:56:31 +03:00
0daf5042d9 fix pdf info time 2022-10-31 18:08:11 +03:00
675b6a2acc CFStorage's includes was hidden 2022-10-31 18:03:31 +03:00
ed3a8f7916 Indents fix 2022-10-31 17:44:16 +03:00
df48636232 make.py defaults fix 2022-10-31 17:39:31 +03:00
445850393f make.py fix 2022-10-31 17:36:29 +03:00
c9f2320e39 Add dotnet test, refactoring 2022-10-31 17:36:12 +03:00
c66424204d Stream's classes was hidden 2022-10-31 17:30:40 +03:00
b607481860 Rename: int -> _INT32 2022-10-31 15:43:27 +03:00
fb6f0ac83d Merge remote-tracking branch 'origin/fix/v7.3-fix-bugs-ppt' into develop 2022-10-31 15:40:22 +03:00
7da913775f Added a line break when a character is encountered in svg conversion 2022-10-31 14:59:34 +03:00
941ec4b354 Merge remote-tracking branch 'origin/develop' into feature/pdffile
# Conflicts:
#	PdfReader/PdfReader.h
#	PdfReader/PdfReader.pro
2022-10-31 13:18:43 +03:00
bda5c3bbb9 test fix 2022-10-31 13:09:20 +03:00
32d0357e1f Refactoring 2022-10-31 11:56:41 +03:00
6f18cc2c60 correct unit tests 2022-10-31 11:54:42 +03:00
f936175708 Fix ios build 2022-10-31 11:46:00 +03:00
96d5940126 Developing 2022-10-29 10:48:55 +03:00
6803651681 . 2022-10-29 09:15:01 +03:00
5ea8a3ba5e Changed the minimum width of the pen when converting to svg 2022-10-28 20:23:59 +03:00
a090c47c05 Improving gradients when converting to svg 2022-10-28 20:15:23 +03:00
f83cbee774 Edited the position of the rotated text when converting to svg 2022-10-28 20:14:19 +03:00
23d500eca4 Add CreateTypedArray
Fix memory leak
2022-10-28 16:45:18 +03:00
addabe9fca update to new compound in crypt 2022-10-28 13:09:13 +03:00
a8d819694d . 2022-10-28 10:53:01 +03:00
5a3a5a37ab fix build 2022-10-28 10:32:48 +03:00
f1fe7ea410 Refactoring 2022-10-27 21:47:20 +03:00
d39df6d82d Fix bug
it finally works!
2022-10-27 19:15:22 +03:00
f4326c0cd7 Svg added support for embedded emf+ metafiles 2022-10-27 19:12:41 +03:00
be08660d01 PdfFile multiple inheritance 2022-10-27 18:36:32 +03:00
33890472f3 . 2022-10-27 17:47:25 +03:00
0f9730814b cf 2022-10-27 17:13:55 +03:00
b28acbabe8 no message 2022-10-27 15:52:54 +03:00
fbb533200f Increase DEPLOYMENT_TARGET value for ios 2022-10-27 12:37:00 +03:00
f5f2a38c7e . 2022-10-27 10:27:58 +03:00
71768d09a6 Merge remote-tracking branch 'origin/feature/lib_cfcpp2' into feature/cf_merge 2022-10-27 09:22:39 +03:00
bb0d3e72e9 fix bug #59365 2022-10-27 08:58:31 +03:00
780c66ef5b Test update 2022-10-26 21:38:25 +03:00
4e63672518 fix part of 59405 2022-10-26 18:43:58 +03:00
d985f924a3 tests 2022-10-26 15:23:11 +03:00
4a587e96d4 fix bug #59365 2022-10-26 10:32:31 +03:00
aa490d4dd3 docbuilder.com beginning 2022-10-26 00:56:07 +03:00
99a4f2f5df fix bug #59496 2022-10-25 21:09:13 +03:00
515cde9544 Vertical refactoring 2022-10-25 19:04:07 +03:00
8959a61c33 without XMLConverter::DictToXml 2022-10-25 18:39:14 +03:00
8f368ad64c Unit tests were corrected and refactored 2022-10-25 18:04:19 +03:00
3e1f2135f5 fix bug #58982 2022-10-25 16:57:58 +03:00
ce7eec890b correct compund file header write possition 2022-10-24 23:00:19 +03:00
ab4eba01a3 Increased the number of supported emf+ records 2022-10-24 20:39:26 +03:00
968b8b6ec6 create DictToCDictObject 2022-10-24 18:02:09 +03:00
50db6f16cb refactoring: transition 2022-10-21 20:43:48 +03:00
8f161b09ee Start of emf+ to svg support 2022-10-21 15:45:04 +03:00
1d118aa59d Merge pull request #1060 from ONLYOFFICE/feature/x2ttester
Feature/x2ttester
2022-10-20 22:03:35 +03:00
60a5242758 fix bug #59412 2022-10-20 21:16:05 +03:00
3b7ea8504f Add waiting to subfolders 2022-10-20 20:42:29 +03:00
15e001ee35 Add subfolders support
- Subfolders creating
- Fix bug
- Add start logo
2022-10-20 20:21:59 +03:00
a69bff9e4e Merge branch hotfix/v7.2.1 into master 2022-10-20 13:06:36 +00:00
a20e5fe003 Fix stroke width 2022-10-19 18:35:38 +03:00
2f20d4a3c7 [x2t] Fix bug 59350 2022-10-19 17:28:28 +03:00
0c91d6b648 Changed the work with the META_DIBBITBLT record 2022-10-19 16:15:52 +03:00
f4eb7ac3d0 Fixed merge issues 2022-10-19 15:58:26 +03:00
d3231b89ec Merge branch 'fix/metafile_bugs' into fix/metafile_to_svg 2022-10-19 15:09:03 +03:00
12f6d9407c Refactoring 2022-10-19 14:40:03 +03:00
28ab074cbe Output formats fix 2022-10-19 00:09:53 +03:00
13d4f7e8b7 small changes. Tag a:srgbClr val toupper. Tag a:endParaRPr sz arg replaced 2022-10-18 23:33:10 +03:00
200fba5615 Merge pull request #1057 from ONLYOFFICE/feature/x2ttester
Feature/x2ttester
2022-10-18 23:12:24 +03:00
b85f72b992 Add subfolders 2022-10-18 22:29:19 +03:00
1d25169cc6 x2tTester update
PDF -> docx, images
2022-10-18 22:22:43 +03:00
e36a0296c8 x2tTester fix bug
Add CS for working with files & folders
Update output
2022-10-18 22:00:01 +03:00
0960534d01 Fixed a problem with dibpattern 2022-10-18 19:12:03 +03:00
8887978540 merge correction 2022-10-18 17:53:45 +03:00
1d60f40d03 Merge pull request #1056 from ONLYOFFICE/feature/x2ttester
Feature/x2ttester
2022-10-18 15:10:46 +03:00
613a3a8507 refactoring: transition 2022-10-18 14:28:17 +03:00
04fdec16ca Refactoring 2022-10-18 01:47:07 +03:00
dd1bbb7c01 Fix bug 2022-10-18 01:15:04 +03:00
5acf726115 Fix bug
Now x2ttester waiting for creating folders and files
2022-10-18 00:41:03 +03:00
f1e45a5ab9 Fix bug
now folders create in CConverter
2022-10-18 00:02:42 +03:00
9f77442c23 Add error if config is not exist 2022-10-17 21:00:30 +03:00
9b5fbdfa96 fix bug #59332 2022-10-17 18:39:01 +03:00
42db0d787e fix bug #59361 2022-10-17 17:54:31 +03:00
ce87bb8461 Update x2tTester 2022-10-17 17:37:42 +03:00
55f026bac4 Fix bug 59404 2022-10-17 16:04:22 +03:00
117131b03d for bug #59360 2022-10-17 15:58:02 +03:00
56521b789f Merge branch 'develop' into fix/metafile_to_svg 2022-10-17 12:46:51 +03:00
6c4b0c9c86 Merge pull request #1052 from ONLYOFFICE/hotfix/v7.2.1
Hotfix/v7.2.1
2022-10-16 22:09:02 +03:00
c785e7f3a7 Merge pull request #1051 from ONLYOFFICE/feature/x2ttester
Feature/x2ttester
2022-10-16 19:58:04 +03:00
ae26d32681 Fix bugs in x2ttester 2022-10-16 19:55:24 +03:00
ed962804e3 Update formats
update pdf format
add new formats
2022-10-16 19:31:17 +03:00
eb323157f2 Formats fix & configuration update
add errorsOnly node
Refactoring
2022-10-16 05:13:33 +03:00
dd7573a745 Rename node name 2022-10-15 22:06:04 +03:00
e15a1a92fe Fix compile for linux/macos 2022-10-15 22:04:51 +03:00
9cee4a6696 Add more formats 2022-10-15 15:05:04 +03:00
63b2ddfff3 fix build 2022-10-15 08:42:26 +03:00
08073f5c08 Refactoring 2022-10-14 19:55:51 +03:00
b49d7331ff Added support for EMR_SCALEWINDOWEXTEX and EMR_SCALEVIEWPORTEXTEX records 2022-10-14 19:37:44 +03:00
58fc9d7bcb small changes 2022-10-14 19:08:13 +03:00
2f553229a9 x2tTester README update 2022-10-14 17:52:54 +03:00
6d3729a132 x2tTester configuration update 2022-10-14 17:48:55 +03:00
7132984ebf Merge remote-tracking branch 'origin/feature/vba-forms' into develop 2022-10-14 12:53:15 +03:00
0cad3436fd Merge pull request #1045 from ONLYOFFICE/fix/bug59199
Fix bug #59199
2022-10-14 12:53:10 +03:00
bb8c58c84b Merge remote-tracking branch 'origin/hotfix/v7.2.1' into develop 2022-10-14 12:51:58 +03:00
8aa54ed2e2 fix bug #59357 2022-10-14 12:48:47 +03:00
efb1511c59 Merge pull request #1048 from ONLYOFFICE/hotfix/v7.2.1-ppt
Hotfix/v7.2.1 ppt
2022-10-14 12:46:27 +03:00
34e9d98bee fix 59277 59281 59261 2022-10-14 12:08:05 +03:00
b25c3d3022 Switch to openssl 1.1.1i on android 2022-10-14 10:48:00 +03:00
2de73e8c02 fix part of 59276 2022-10-13 20:48:10 +03:00
fb04ac8a69 fiix bug #59353 2022-10-13 16:14:35 +03:00
a4b767303d small fixes. Audio inside animation problem 2022-10-12 18:55:09 +03:00
81535011fb Create x2t readme file 2022-10-12 16:56:29 +03:00
a97e7ef52d Fixed bugs and refactoring 2022-10-12 15:19:57 +03:00
4b86a6384b fix bug #59329 2022-10-12 12:47:45 +03:00
889721fd7e fix part of 59276. correct tmAbs 2022-10-12 00:23:54 +03:00
96f6c8a510 Fixed bugs 2022-10-11 18:41:53 +03:00
1df71c6504 fix part of 59276. Added new animation 2022-10-11 14:35:59 +03:00
f354046cc5 fix bug #59322 2022-10-11 11:58:31 +03:00
b27a36246d fix include paths .. 2022-10-11 09:47:22 +03:00
74615f508e Merge branch 'hotfix/v7.2.1' of https://github.com/ONLYOFFICE/core into hotfix/v7.2.1 2022-10-11 09:46:27 +03:00
204696035d fix bug #59209 2022-10-11 09:46:21 +03:00
cbd5d75532 trying to fix 59276. Old animation problem 2022-10-11 00:30:38 +03:00
d06c4a5104 Changed the algorithm for calculating the minimum width of the pen and editing bugs 2022-10-10 20:43:29 +03:00
26be4d9b20 Crypto module 2022-10-10 18:40:58 +03:00
9d47eef3e9 vba form 2022-10-10 14:47:36 +03:00
38b693c7fd x2tTester update
- update config
- add multitasking
2022-10-08 20:21:00 +03:00
6c146707f0 [mobile] Add structure of page scroll info 2022-10-07 19:44:19 +03:00
40d2f8d11d xml configuration update 2022-10-07 16:36:24 +03:00
cd0c129afb fix bug #59261 2022-10-07 14:32:06 +03:00
30a36f315c Changed the equation for calculating the minimum width of the pen 2022-10-06 20:47:25 +03:00
d77af73a75 Merge pull request #1047 from ONLYOFFICE/hotfix/v7.2.1
Hotfix/v7.2.1
2022-10-06 20:28:17 +03:00
b6cdf0e002 rename internal vars 2022-10-06 16:37:25 +03:00
63cd907eba Refactoring 2022-10-06 11:14:27 +03:00
56e02231db remove comments 2022-10-05 15:14:23 +03:00
42518d300e readme update 2022-10-04 20:46:00 +03:00
a2a8d85cd4 x2tTester update 2022-10-04 20:41:40 +03:00
bb1dc3c8b4 null as default value for all vars in headers 2022-10-04 18:24:23 +03:00
5750ef2687 fix write large stream 2022-10-04 18:08:18 +03:00
083304c9a3 Fix bug #58901
Implement save text field formats to PDF
2022-10-04 00:06:05 +03:00
290531e5d4 Added support for EMR_PAITRGN recording and bug fixes 2022-10-03 19:54:21 +03:00
9b963ae9cf Add minimal test 2022-10-03 18:14:41 +03:00
8e70be5415 Typos removed 2022-10-03 14:33:11 +03:00
8beb92191c fix creating new large files 2022-10-02 21:48:19 +03:00
89fac276c1 fix bug #59204 2022-09-30 18:37:02 +03:00
d322c08d98 Added temporary file deletion 2022-09-30 17:52:15 +03:00
e175b310f5 Fix bug #59199 2022-09-30 17:43:11 +03:00
fe5f52b7c2 fix bug #59221 2022-09-30 17:40:48 +03:00
7df8eacf0e fix bug #59220 2022-09-30 17:01:34 +03:00
5dca22470f add test 2022-09-30 14:46:53 +03:00
3d71c4e609 Fix bug 59175 2022-09-29 19:50:17 +03:00
a9e7c6794b Added support for embedded WMF file in EMF file, fixed bugs 2022-09-29 19:14:06 +03:00
b9c467142f small changes 2022-09-29 10:02:04 +03:00
aca965565e add functions 2022-09-28 18:53:13 +03:00
65a203838b fix buid 2022-09-28 14:21:14 +03:00
08c9874687 Merge pull request #1043 from ONLYOFFICE/feature/hyphen
Feature/hyphen
2022-09-28 11:38:07 +03:00
e273f78465 add test copy large file and the same fix 2022-09-27 23:01:35 +03:00
8301f402c5 Merge pull request #1042 from ONLYOFFICE/fix/bug59153
Fix bug 59153
2022-09-27 11:43:29 +03:00
caab9eae47 Fix bug 59119 2022-09-27 11:34:54 +03:00
f5282fdc98 Fix bug 59153 2022-09-27 10:10:00 +03:00
d560fcc0a8 fix buid 2022-09-27 09:51:49 +03:00
fd6259fed4 Refactoring 2022-09-26 23:55:24 +03:00
9e95aece26 fix 2022-09-26 22:02:41 +03:00
6f93961f67 hyphen test update 2022-09-26 19:38:55 +03:00
a2c4b69bae Changed bitmap rendering in emf+ and refactoring 2022-09-26 19:19:19 +03:00
9ca7cc5008 Merge pull request #1041 from ONLYOFFICE/fix/v.7.2-fix-bugs
Fix/v.7.2 fix bugs
2022-09-26 16:08:37 +03:00
2e952f0550 add large stream write test and fix compoundFile::Ver_4 2022-09-26 11:31:03 +03:00
83ba081ebb Refactoring 2022-09-25 22:55:32 +03:00
c9d77f53da Hyphen update 2022-09-24 03:34:22 +03:00
93caa36664 Small refactoring 2022-09-23 23:29:51 +03:00
cb27880fd0 Update loading dictionaries 2022-09-23 22:43:25 +03:00
c591ed20cc Indents refactoring 2022-09-23 22:18:42 +03:00
f94e98e09d Hyphen update 2022-09-23 22:12:09 +03:00
029908f8a1 General refactoring 2022-09-23 21:59:32 +03:00
56c3301e54 for bug #59118 2022-09-23 17:57:49 +03:00
23bf5cb929 Merge branch 'feature/v7.2-controls' into fix/v.7.2-fix-bugs 2022-09-23 17:56:19 +03:00
71929b726e Fix bug #43995
Added support for embedded Emf file to Wmf file
2022-09-23 13:27:55 +03:00
8669c75795 fix PdfReader without PdfWriter 2022-09-23 12:27:47 +03:00
35cbbe2fb1 Add combobox in js test 2022-09-22 21:53:34 +03:00
a0970d0963 add utc file timestamp 2022-09-22 20:07:09 +03:00
14756b05b7 Fixed minor bugs 2022-09-22 18:38:14 +03:00
316c85f0ce Fixed minor bugs 2022-09-22 17:28:27 +03:00
0b1c7f2642 fix viewProps presentation 2022-09-22 15:22:58 +03:00
b0d0186dd4 Merge branch release/v7.2.0 into master 2022-09-22 12:17:40 +00:00
d72d114f19 fix bug #59118
refactoring
2022-09-22 00:43:51 +03:00
98798e39c6 fix creating compoundfile 2022-09-22 00:16:46 +03:00
82b5b08dfc Hyphen refactoring 2022-09-21 19:43:27 +03:00
9205100eb3 Hyphen update + refactoring 2022-09-21 19:28:08 +03:00
af318a7c79 Fixed minor bugs 2022-09-21 17:22:29 +03:00
8f043e88fd Fix bug #40328 2022-09-21 17:21:21 +03:00
212c1466f7 create test for PdfFile 2022-09-21 17:19:04 +03:00
046e54f3f5 Add test and fix std::shared_from_this: protected -> public 2022-09-21 13:17:42 +03:00
a0cf3f13c3 Merge remote-tracking branch 'origin/fix/v7.2.0-ppt-2' into fix/v.7.2-fix-bugs 2022-09-21 10:34:33 +03:00
d400135f60 Merge branch 'fix/v7.2.0-fix-bugs' into fix/v.7.2-fix-bugs 2022-09-21 10:33:22 +03:00
62f1eb1967 Merge remote-tracking branch 'origin/release/v7.2.0' into feature/lib_cfcpp2 2022-09-20 20:29:43 +03:00
856933b884 fix bug #59108 2022-09-20 20:12:44 +03:00
eab909f76b fix bug #59106 2022-09-20 19:30:00 +03:00
30799c7b8c fix bug #59074 2022-09-20 17:00:33 +03:00
de4c288490 Hyphen update
Add load dictionaries
Add HyphenApplication
Add load dictionaries from stream
2022-09-20 16:53:58 +03:00
3e06b085b7 Refactoring 2022-09-20 15:30:00 +03:00
3344987b6e Merge pull request #1039 from ONLYOFFICE/release/v7.2.0
Release/v7.2.0
2022-09-20 12:19:31 +03:00
c3246cf089 fix charset == 128 2022-09-19 18:41:14 +03:00
07dd157167 create PdfFile 2022-09-19 17:42:15 +03:00
50870e499b JSON for make.py add 2022-09-19 16:42:01 +03:00
59cad91a22 HyphenUtils add 2022-09-19 16:23:37 +03:00
8032ffa3fd fix bug #59071 2022-09-19 14:18:28 +03:00
a6e490f70a fix bug #59070 2022-09-19 14:18:28 +03:00
1eaefde012 Added experimental red-black tree output iterator. Fixed compoundfile Delete() 2022-09-16 22:54:30 +03:00
e72ad2def4 For bug 59079 2022-09-16 22:41:48 +03:00
a3d82f82de Add delete test 2022-09-16 21:57:27 +03:00
cfce809885 For bug 58435 2022-09-16 21:35:03 +03:00
433656c178 Fixed bugs with text and incorrect Transform 2022-09-16 18:42:13 +03:00
760242fa4d fix bug #58814 2022-09-16 08:46:57 +03:00
40033e4482 Fixed AddStream() 2022-09-16 00:05:58 +03:00
cb90b1d92a Correct CompundFile test 2022-09-15 23:56:20 +03:00
b01dd7eefc Hyphen test update 2022-09-15 18:08:08 +03:00
c257b901ac Fix bug 59046 2022-09-15 17:47:23 +03:00
1873515006 Fix bug 58096 2022-09-15 16:33:08 +03:00
34a2091dfc Hyphen js+wasm test add 2022-09-15 15:14:01 +03:00
cb76784260 fix bug #59002 2022-09-15 13:24:16 +03:00
4982e1e1ed Merge pull request #1036 from ONLYOFFICE/fix/bug59036
Fix bug 59036
2022-09-14 19:05:28 +03:00
c087e9e9e4 Fix bug 59036
fix string path offset
2022-09-14 18:40:23 +03:00
fef9e77478 fix NullifyChildNodes() and not zero empty CFItem size 2022-09-14 18:08:02 +03:00
4716b633e2 Hyphen test add 2022-09-14 18:01:46 +03:00
4dae14c0b0 Merge pull request #1034 from ONLYOFFICE/fix/meta2
Fix temp files
2022-09-14 15:51:10 +03:00
798c8ee702 Fix temp files 2022-09-14 15:04:31 +03:00
f6974d1064 Merge pull request #1033 from ONLYOFFICE/fix/v7.2.0-fix-bugs
Fix/v7.2.0 fix bugs
2022-09-14 10:35:38 +03:00
78289248c8 . 2022-09-14 10:25:32 +03:00
bdbe8e811c Merge remote-tracking branch 'origin/fix/v7.2.0-ppt-2' into fix/v7.2.0-fix-bugs 2022-09-14 10:22:26 +03:00
5a0c45a87d for bug #57526 2022-09-14 10:19:37 +03:00
13316ce210 fix bug #59012 2022-09-13 18:14:45 +03:00
fb5ae0133c fix bug #58967 2022-09-13 15:55:08 +03:00
3c7cf1b061 fix bug #58982
refactoring & fix other bugs spreadsheet 2003 xml
2022-09-13 11:25:15 +03:00
31064ad4f2 Merge pull request #1031 from ONLYOFFICE/fix/bug58612
Fix bug 58612
2022-09-12 17:13:19 +03:00
579ac545a2 Fix bug 58612 2022-09-12 17:07:28 +03:00
f5c983c280 Merge pull request #1027 from ONLYOFFICE/fix/bug56130
Fix bug 56130
2022-09-12 13:03:39 +03:00
39cedff4ef Fix build 2022-09-12 12:56:50 +03:00
d22975e7e6 Add file to js module 2022-09-12 12:41:14 +03:00
5dceb4b7db Refactoring 2022-09-12 12:38:00 +03:00
226a04adb6 Refacroting 2022-09-12 12:31:22 +03:00
8e055fba82 Gradient in svg as raster (x2t) 2022-09-12 10:03:42 +03:00
108ff55a61 fix pictureBrightness 2022-09-09 18:13:16 +03:00
eaa3aa0e96 fix bug #58841 2022-09-09 17:56:58 +03:00
42ce6f11a5 Merge pull request #1029 from ONLYOFFICE/fix/bug58397
Fix bug #58397
2022-09-09 16:59:58 +03:00
d1d2a13ea0 Add patch to harfbuzz 2022-09-09 16:15:15 +03:00
d82cca8f9f fix bug #58965 2022-09-09 15:35:52 +03:00
99c2f645f4 fix SetCMapMemory 2022-09-09 12:16:46 +03:00
c7d7063297 fix bug #58924 2022-09-09 12:16:08 +03:00
4ee24be05f fix 2022-09-09 11:40:31 +03:00
7c913592fd add GetBaseCidToUnicode 2022-09-09 11:37:16 +03:00
cf16340335 Fix build with vlc 2022-09-08 20:14:14 +03:00
ed30c40f93 Fix bug #58397 2022-09-08 19:49:46 +03:00
34b5b7c973 fix 2022-09-08 18:36:46 +03:00
5333ce006d Merge pull request #1026 from ONLYOFFICE/fix/bug58267
Fix bug #58267
2022-09-08 17:22:33 +03:00
438989724f Merge pull request #1025 from ONLYOFFICE/fix/CssScale
Fix bug #56078
2022-09-08 17:20:26 +03:00
b2c308fc71 Fix bug #58267 2022-09-08 17:07:55 +03:00
70f2a11c75 fix bug #58908 2022-09-08 16:24:11 +03:00
1475162206 controls(activeX) presentation 2022-09-08 13:49:47 +03:00
211ca6c9f7 fix drawingfile build 2022-09-07 18:41:01 +03:00
1b5ec0a65c fix bug #58918 2022-09-07 15:01:54 +03:00
c80406cee4 . 2022-09-07 14:29:08 +03:00
3a582632f2 fix bug #58766 2022-09-07 13:45:47 +03:00
0cadeb36da Merge pull request #1023 from ONLYOFFICE/fix/v7.2.0-fix-bugs
Fix/v7.2.0 fix bugs
2022-09-07 10:08:06 +03:00
594737c899 fix bug #58728 2022-09-07 10:07:17 +03:00
238fc8969d Fix hatches in svg (x2t: wmf/emf => svg) 2022-09-06 20:59:01 +03:00
d90357944e New SVector: wrapped shared vector 2022-09-06 19:48:22 +03:00
1878b8fc33 add cidToUnicode files 2022-09-06 18:00:49 +03:00
e82fd3c949 Merge pull request #1022 from ONLYOFFICE/fix/metafile
Fix bug #55408
2022-09-06 16:22:37 +03:00
12b733c7ee Fix bug #55408 2022-09-06 16:19:29 +03:00
482a9565eb fix bug #58372 2022-09-06 13:32:59 +03:00
636389cf04 Merge pull request #1021 from ONLYOFFICE/fix/v7.2.0-fix-bugs
Fix/v7.2.0 fix bugs
2022-09-05 22:08:20 +03:00
05d0e8980f fix bug #58782 2022-09-05 22:07:50 +03:00
be0cbaf0a2 fix bug #58814 2022-09-05 21:24:37 +03:00
9a07b8d4b2 Merge pull request #1020 from ONLYOFFICE/fix/v7.2.0-fix-bugs
fix bug #57527
2022-09-05 18:40:23 +03:00
1fc91b3a3c fix bug #57527 2022-09-05 18:39:00 +03:00
ac3481ca16 For bug 26503 2022-09-05 18:31:37 +03:00
d4a6acac39 Merge pull request #1019 from ONLYOFFICE/fix/bug57713
Fixing bugs in metafile conversion
2022-09-05 17:29:59 +03:00
35c93fcbe9 Added a condition for the size of the embedded metafile 2022-09-05 17:03:13 +03:00
dfcacb08c7 Fixed a bug of incomplete reading of the embedded metafile 2022-09-05 16:31:38 +03:00
00b306a24c Fixed a bug with missing circles due to negative width/height 2022-09-02 19:36:03 +03:00
bb287c0ccc Fix bug #57713 2022-09-02 19:35:11 +03:00
e43158c3c7 Merge pull request #1016 from ONLYOFFICE/feature/docx_renderer
Feature/docx renderer
2022-09-02 17:33:22 +03:00
722e3d307c Added merging properties of the same object (drawPath). 2022-09-02 17:23:43 +03:00
c1bda3059d Merge pull request #1014 from ONLYOFFICE/fix/CFontManager-GetStringPath
fix offset in GetStringPath in fontengine
2022-09-02 17:09:54 +03:00
52269454c6 fix bug #58845 2022-09-02 17:06:08 +03:00
bdb90074b0 Fixed: stream seek, GetDataBySID(), shared_from_this(), empty dirRepository and replaced children-> to getter 2022-09-02 16:46:15 +03:00
ee27029c26 Merge pull request #1015 from ONLYOFFICE/fix/bug58829
Fix bug 58829
2022-09-02 16:46:11 +03:00
c87c8f2b4f Fix bug 58829 2022-09-02 16:35:05 +03:00
3ed7ceb243 fix bug #58814 2022-09-02 16:22:49 +03:00
e489ec84de renamed cppcf -> cfcpp 2022-09-02 14:53:37 +03:00
49e361476d Fix previous commit 2022-09-02 12:33:44 +03:00
029ea786ef Fix bug 58787 2022-09-02 12:31:26 +03:00
3159d88bca fix bug #58822 2022-09-02 10:37:59 +03:00
ac6c9e0d0b fix new chart 2022-09-02 09:14:22 +03:00
7c34ac7533 fix offset 2022-09-02 09:14:17 +03:00
928f64d821 Some optimizations... 2. 2022-09-02 08:59:26 +03:00
697c63f74e Fix bug #56078 2022-09-01 18:48:20 +03:00
aee00012ab trying to fix addStream()/addStorage(). SVector copy constructor problem 2022-09-01 18:46:24 +03:00
fd8bc44647 fix bug #58768 2022-09-01 18:19:47 +03:00
1f61877c5f Merge pull request #1012 from ONLYOFFICE/feature/api-descriptions-updates
Api descriptions updates
2022-09-01 13:37:53 +03:00
9fbba9f2a8 small fix 2022-09-01 13:37:10 +03:00
1ef57ca394 fix offset in GetStringPath in fontengine 2022-09-01 13:13:27 +03:00
8c1853c65d updated the .Net wrapper api 2022-09-01 13:04:38 +03:00
165990c135 Fix work with uncontexted primitives 2022-09-01 11:51:44 +03:00
0fff666352 fix buid 2022-09-01 08:44:16 +03:00
7fc15de8ce Merge pull request #1011 from ONLYOFFICE/fix/metafile
Fixing bugs in metafile conversion
2022-09-01 00:11:57 +03:00
597326bddc Refactoring 2022-09-01 00:09:21 +03:00
4caed2c4cd Fix bug 58767 2022-08-31 21:51:39 +03:00
3025d2281e fix bug #58812 2022-08-31 21:27:53 +03:00
5176d58940 fix bug #58815 2022-08-31 20:47:31 +03:00
2f6aebcad5 fix bug #58676 2022-08-31 20:20:40 +03:00
f6b0d35e6e fiix bug #58777 2022-08-31 20:18:20 +03:00
c63c4ea729 For bug #58397 2022-08-31 18:29:58 +03:00
0df69b205a test pdf/Resources with external fonts 2022-08-31 17:59:31 +03:00
52621c8bc7 Add ASC_MENU_EVENT_TYPE_CHANGE_MOBILE_MODE 2022-08-31 14:07:38 +03:00
bafc91dd67 fix bug #58732 2022-08-31 13:22:43 +03:00
beaa3b4494 Some optimizations... 2022-08-30 23:30:28 +03:00
1c8f05e0ce Fix the problem with read/write format parameter for combo box 2022-08-30 23:10:11 +03:00
0dfbf40855 Move complexFormPr parameter to correct place
Fix the problem with reading text form format from binary, also implement read/write to binary complexFormPr
2022-08-30 22:59:25 +03:00
81b6f331c6 fixed empty dirRepository and replaced children-> to getter 2022-08-30 17:43:02 +03:00
d596a09c3f updated the c++ builder wrapper api 2022-08-30 17:33:55 +03:00
0655ef49e5 fixed shared_from_this() 2022-08-30 17:10:20 +03:00
27ea7c9ffc fix bug #58769 2022-08-30 13:17:47 +03:00
b5197ee222 Increased code security 2022-08-29 19:01:55 +03:00
457cfc29ed Fixed bug #58407 2022-08-29 19:00:09 +03:00
179ad9a61e fixed small problems and found setRight() problem 2022-08-29 18:38:54 +03:00
979f303d57 Merge branch 'release/v7.2.0' of https://github.com/ONLYOFFICE/core into release/v7.2.0 2022-08-29 16:44:06 +03:00
fd3bfc0f5d Refactoring 2022-08-29 16:41:35 +03:00
fe1e498125 Fix bug #47325 2022-08-29 15:54:20 +03:00
0c2b6c7ac9 Refactoring 2022-08-29 14:56:30 +03:00
0b510a8d93 Fix bug #58400 2022-08-29 14:56:08 +03:00
784fd18470 Fix bug #58365, #55408, #58166, #58150 2022-08-29 13:39:34 +03:00
c5bee8701d Add read/write symbols of text form format 2022-08-29 13:29:21 +03:00
b4e130c4d7 Fix constants and name of attributes 2022-08-29 11:55:05 +03:00
ecb60a3452 fix bug #58708 2022-08-29 11:52:39 +03:00
70cfa996d1 fix bug #58707 2022-08-26 21:11:27 +03:00
18289bfdb4 TextFormFormat->comboBox 2022-08-26 20:22:40 +03:00
43fcaadcb1 fix bug #58699 2022-08-26 20:22:01 +03:00
e48072bcae fix GetDataBySID() 2022-08-26 17:11:18 +03:00
6b82644d77 Add support --x2t-debug mode 2022-08-26 13:23:27 +03:00
d3914f513b [x2t] Remove extra space 2022-08-26 00:00:19 +03:00
1d0e88553e Fixed stream seek problem. Fixed CompoundFile::Save() 2022-08-25 16:51:41 +03:00
5c202eece6 Fix big metafiles 2022-08-25 15:53:33 +03:00
bd32484a1e Merge branch 'release/v7.2.0' of https://github.com/ONLYOFFICE/core into release/v7.2.0 2022-08-25 14:50:50 +03:00
b4ae30d5b2 Fix bug 58216 2022-08-25 14:47:28 +03:00
1ff71c824c TextFormPrComplex 2022-08-25 12:49:19 +03:00
7482463667 Fix compile module 2022-08-25 12:26:09 +03:00
d0cda627dd . 2022-08-25 11:13:29 +03:00
7df0bcea7f TextFormPrFormat 2022-08-25 10:55:06 +03:00
85b3ccafc4 stream no seek problem 2022-08-24 20:26:50 +03:00
43429aa84b Fix xp build 2022-08-24 17:44:51 +03:00
b19bce8d30 Refactoring 2022-08-24 13:34:01 +03:00
be8771f21b Merge pull request #1001 from ONLYOFFICE/fix/bug36412
Fix bug 36412, 55591
2022-08-24 13:31:48 +03:00
91af8c2b62 fix bug #58677 2022-08-24 12:31:20 +03:00
9917f7907d fix bug #58613 2022-08-24 12:21:06 +03:00
65d6a6f56d fix bug #58624 2022-08-24 11:34:01 +03:00
7e79a38520 Merge pull request #1008 from ONLYOFFICE/fix/bug58584
Fix bug 58584
2022-08-24 11:09:30 +03:00
55eb92bfc1 Merge pull request #1009 from ONLYOFFICE/fix/bug58096
Fix bug 58096
2022-08-24 10:59:23 +03:00
bc8a66ccd7 Fix compile 2022-08-24 08:34:15 +03:00
d0f7c93970 Merge pull request #1010 from ONLYOFFICE/feature/docx_renderer
Feature/docx renderer
2022-08-23 22:06:27 +03:00
5ff9863b8d Fixed bugs 2022-08-23 19:39:30 +03:00
fcf2742de3 Merge branch 'feature/docx_renderer' into 'release/v7.2.0' 2022-08-23 18:57:50 +03:00
8985173d4d Fix bug 58559 2022-08-23 16:58:42 +03:00
287f3b39e0 fix compoundfile read 2022-08-23 16:13:01 +03:00
a1b4f43735 Some fixes... 5 2022-08-23 11:28:48 +03:00
546a3e8a6c Refactoring. SetProperty("--work-directory", ...) automatically, if DocBuilder::Initialize was called with directory 2022-08-23 10:32:22 +03:00
7a068930a8 Fix memory leak (jscontext) 2022-08-22 19:04:21 +03:00
fdbc9334ca Fix bug 58587 2022-08-22 16:09:49 +03:00
d04e2158ca Fix bug 58554 2022-08-19 19:55:56 +03:00
36ce9c0be6 Added hatching support and fixed bugs 2022-08-19 19:53:29 +03:00
7abf16abe3 fix bug #58602 2022-08-19 16:00:10 +03:00
537eaf52fa Merge branch 'release/v7.2.0' of https://github.com/ONLYOFFICE/core into release/v7.2.0 2022-08-19 15:43:07 +03:00
94ea9c6d87 Fix bug 58382 2022-08-19 15:42:00 +03:00
2d7a8a5b75 for bug #56669 2022-08-19 12:48:04 +03:00
34407c4a1c fix dTfs 2022-08-18 18:18:07 +03:00
dd85d4263e Support pdf/xps/djvu when test with ST 2022-08-18 18:09:16 +03:00
8f534e9bff Removed some smart pointers. 2022-08-18 17:31:19 +03:00
2f15678363 Add support new sign algs 2022-08-18 16:25:59 +03:00
a51a953d83 Crash fixed 2022-08-18 14:37:09 +03:00
236667333c fix bug #56669 2022-08-18 14:21:48 +03:00
8d42cf008d Fix bug 58584 2022-08-18 14:11:24 +03:00
b52466e4c7 Fixed bugs and refactoring 2022-08-18 13:49:48 +03:00
f422a6ed01 fix bug #58546 2022-08-18 11:34:59 +03:00
8962897eb7 Fix compile with vs2015 & gcc4.8 2022-08-18 00:49:27 +03:00
f99a3f9d74 Refactoring. Added smart pointers. 2022-08-17 15:08:41 +03:00
b908cb4d85 for bug #57467 2022-08-17 11:05:14 +03:00
8f5d21945d Fix build 2022-08-17 08:18:44 +03:00
d19d447532 Fix build 2022-08-16 21:29:34 +03:00
b5431fab8f Fixed an extra fill bug 2022-08-16 19:44:07 +03:00
f40e1997c9 Fix bug 58096 2022-08-16 18:51:25 +03:00
97bde00af7 Added implementation of EMR_FILLPATH entry 2022-08-16 18:48:36 +03:00
998ef28451 Fixed bugs and refactoring 2022-08-16 17:06:02 +03:00
344fe41905 fix build #57467 2022-08-16 16:08:25 +03:00
c46aa7a777 Correct build with vlc 2022-08-16 12:04:37 +03:00
ce2fb1d062 fix build 2022-08-16 10:35:47 +03:00
4f3879ae71 Implement toXml function for PdfReader 2022-08-16 02:49:51 +03:00
5e2e67db6e Add .net wrapper for builder 2022-08-15 18:21:18 +03:00
a6968ce575 Added merging conts in lines and paragraphs. 2022-08-15 17:48:23 +03:00
562e6a1bf5 for bug #58515 2022-08-15 11:39:52 +03:00
15a3df0c50 fix embedded in embedded media 2022-08-15 08:50:15 +03:00
1035103910 fix test projects 2022-08-15 08:49:47 +03:00
17fdfc6741 Refactoring 2022-08-12 21:50:45 +03:00
c3143cbd79 Added support for EMR_FILLRGN records and implemented combining multiple records in <g> 2022-08-12 18:42:14 +03:00
89afbf2bc1 Fixed bugs and refactoring 2022-08-12 18:00:12 +03:00
0949f112d0 Merge pull request #1007 from ONLYOFFICE/release/v7.2.0
Release/v7.2.0
2022-08-12 16:54:54 +03:00
17e3a5d5cc Fix memory leak 2022-08-12 16:44:30 +03:00
90f659326b Fix bug with base64 images 2022-08-12 16:27:37 +03:00
aadd92f861 fix bug #58324 2022-08-12 15:40:54 +03:00
e2d192a67d fix bug #58281 2022-08-12 14:01:41 +03:00
8e4b9bd04f Refactoring 2022-08-12 13:48:32 +03:00
d3db4b428f fix bug #58324 2022-08-12 13:10:26 +03:00
71afd00742 fix bug #58454 2022-08-12 09:27:46 +03:00
5010aa346d Add support additional params 2022-08-11 22:08:55 +03:00
8ecbc5b505 Add param for convertions with origin format 2022-08-11 21:57:57 +03:00
474242d241 Refactoring convert to pdf/image from doctrenderer commands. 2022-08-11 20:45:06 +03:00
04ea2ce07d Refactoring 2022-08-11 19:19:34 +03:00
96fa62ac80 Added CFontStyle and StyleManager. 2022-08-11 12:08:58 +03:00
818d813b98 ffix bug #58484 2022-08-11 12:03:37 +03:00
1429fd87c2 Add IsObject realization 2022-08-10 18:51:48 +03:00
e91e1d7f71 The principle of working with transform has been changed, as well as text conversion has been improved 2022-08-10 17:26:30 +03:00
b542bae8fc Revert INCLUDEPATH 2022-08-10 16:24:04 +03:00
9a6e7e2dc3 Remove extra iamge formats 2022-08-10 15:30:05 +03:00
cede0396c5 fix bug #58468 2022-08-10 10:33:19 +03:00
b78ad9e751 Fix bugs 2022-08-09 21:52:48 +03:00
b9bfc60806 Merge pull request #1006 from ONLYOFFICE/feature/api-descriptions
Api descriptions
2022-08-09 14:06:53 +03:00
88b73c18a2 small fix 2022-08-09 14:06:08 +03:00
d75f7675d5 updated api descriptions for new docbuilder classes and methods 2022-08-09 11:59:01 +03:00
23d217004f fix bug #58428 2022-08-09 10:33:49 +03:00
00de3e3d37 fix bug #58424 2022-08-09 09:55:10 +03:00
7ae49de02a Fix mac build 2022-08-09 09:48:26 +03:00
dc358d4244 Fixed a bug in Bezier curves 2022-08-08 19:53:10 +03:00
f93c317e7a Refactoring 2022-08-08 18:59:42 +03:00
e258e9ba63 Merge pull request #1005 from ONLYOFFICE/fix/metafile_to_svg
Fix/metafile to svg
2022-08-08 18:45:51 +03:00
c8b6532510 Refactoring 2022-08-08 18:44:12 +03:00
81e6c62c5a fix bug #58243 2022-08-08 18:09:52 +03:00
289fbd68b6 Developing image module 2022-08-08 17:47:31 +03:00
82b0045a98 Added reading metafile from buffer and saving svg conversion to string 2022-08-08 17:36:52 +03:00
8690a92afd Refactoring image (inside zlib) module 2022-08-08 16:17:47 +03:00
6033e40cc9 Fix mac build 2022-08-08 14:24:35 +03:00
99f7544762 Removed excess fill 2022-08-08 12:17:36 +03:00
c58e69f4d1 Fixed going beyond range 2022-08-08 12:17:12 +03:00
aff18b27d1 fix bug #58385 2022-08-08 12:08:16 +03:00
223a26df7f Merge pull request #1004 from ONLYOFFICE/feature/docx_renderer
Feature/docx renderer
2022-08-07 21:39:49 +03:00
c01c52da81 Merge pull request #1003 from ONLYOFFICE/release/v7.2.0
Release/v7.2.0
2022-08-07 21:22:54 +03:00
1f6b4b23e0 Fix build 2022-08-06 16:40:32 +03:00
3e7732e2b2 Fix build 2022-08-06 16:11:22 +03:00
6a8c6827a0 Fix build 2022-08-06 15:27:59 +03:00
1f6707479e Added text effects recognition: Emboss, Engrave, Outline + Shadow. 2022-08-06 14:51:53 +03:00
a2eccad79e Some fixes... 4 2022-08-06 14:51:53 +03:00
8bc6926391 Some fixes... 3 2022-08-06 14:51:53 +03:00
01636d6f32 Pictures now use the shape format. 2022-08-06 14:51:53 +03:00
19e4bb58e5 Added text effects recognition: Emboss, Engrave, Outline + Shadow. 2022-08-06 07:09:59 +03:00
2bcb58703c Merge pull request #1002 from ONLYOFFICE/feature/imagesModule
Feature/images module
2022-08-05 17:06:04 +03:00
92033834cd Prepare for js module 2022-08-05 16:58:49 +03:00
e05b881856 Refactoring 2022-08-05 15:05:59 +03:00
e370c81b3b Refactoring 2022-08-05 13:14:14 +03:00
446f47a5e8 Merge pull request #1000 from ONLYOFFICE/fix/pdf-font
Fix pdf bugs
2022-08-05 12:12:49 +03:00
6724f57810 Fix bug 36412, 55591
partially 58084
2022-08-05 12:10:59 +03:00
cb4d5363f4 fix 2022-08-05 12:00:23 +03:00
f4dc89c7fe revert diffenet bugs 2022-08-05 11:59:23 +03:00
5594f48bdc Some fixes... 4 2022-08-05 06:59:28 +03:00
f0a65c6553 Refactoring 2022-08-04 19:51:59 +03:00
92119b07b7 Refactoring 2022-08-04 19:37:10 +03:00
bb66fe9fc5 Refactoring graphics project 2022-08-04 19:18:14 +03:00
3807ac3bc2 Fix bugs 36412, 55591
partially 58084
2022-08-04 17:28:07 +03:00
08ef7e79a2 Fix linux compile 2022-08-04 13:28:19 +03:00
1308f051e5 Add missed file 2022-08-04 12:52:24 +03:00
1aeaa320a9 Refactoring builder test example 2022-08-04 12:24:13 +03:00
244ee7a2bd create stroke with gradient fill 2022-08-03 18:49:24 +03:00
0469fe7b59 Refactoring 2022-08-03 18:43:51 +03:00
9977c2f4c2 Merge branch 'feature/metafile2svg' into feature/imagesModule 2022-08-03 17:46:41 +03:00
0b1fa41c21 [x2t] For bug 57318 2022-08-03 17:44:09 +03:00
58f2b9d3f0 new Stream for StreamView 2022-08-03 17:23:53 +03:00
bf1bcd40a2 Add test 2022-08-03 17:18:42 +03:00
c1493bf1f4 Merge branch 'feature/metafile_to_svg' into feature/imagesModule 2022-08-03 12:20:34 +03:00
d7f080283b Merge pull request #997 from ONLYOFFICE/metafile2
Refactoring
2022-08-03 11:46:42 +03:00
6d0da9364c Fix spaces 2022-08-03 11:42:48 +03:00
981f48c49e Fix spaces 2022-08-03 11:38:49 +03:00
a378aa92b1 Fix spaces 2022-08-03 11:29:22 +03:00
3fdefb4952 Refactoring 2022-08-02 20:37:07 +03:00
bbeccbca46 fix not CID Font, create updateBlendMode 2022-08-02 18:35:20 +03:00
549b8353e9 Developing 2022-08-02 17:40:35 +03:00
8ea92919c0 For bug 57318 2022-08-02 13:26:23 +03:00
8c12c53e6e Fix bug 58161 2022-08-02 11:30:27 +03:00
a1b56ad817 Merge branch 'release/v7.2.0' of https://github.com/ONLYOFFICE/core into release/v7.2.0 2022-08-02 07:59:50 +03:00
63feee4774 fix bug #58357 2022-08-02 07:59:26 +03:00
ad10681ba0 small fixes for CompoundFile 2022-08-02 00:15:42 +03:00
7e56083ec9 comeback fstream and add some usefull function for path correcting 2022-08-01 21:19:29 +03:00
8f74b9362a Revert "test NSFile::CFileBinary as Stream"
This reverts commit 54261fd1a1.
2022-08-01 19:41:46 +03:00
54261fd1a1 test NSFile::CFileBinary as Stream 2022-08-01 19:37:43 +03:00
d517e8cf2a test not CID Font in pdf 2022-08-01 18:36:36 +03:00
ed87cc0047 Remove extra dependencies 2022-08-01 17:17:18 +03:00
289575b9cd Refactoring BinaryWriter 2022-08-01 10:23:53 +03:00
4213824325 Remove build files 2022-08-01 09:22:58 +03:00
995b87e3bc fix bug #54673 2022-07-29 20:48:14 +03:00
75804f709e Merge pull request #995 from ONLYOFFICE/fix/pdf-make-writable
Fix pdf make writable
2022-07-29 14:27:57 +03:00
2e820186b5 fix don't makeWritable different files 2022-07-29 13:26:46 +03:00
31158a5f5b fix CDocument::Close 2022-07-29 13:02:03 +03:00
536337f50d fix test 2022-07-29 12:52:58 +03:00
ad75893298 Merge remote-tracking branch 'origin/release/v7.2.0' into fix/pdf-make-writable 2022-07-29 12:42:22 +03:00
7375130f0f fix m_bTransparentGroupSoftMaskEnd 2022-07-29 12:30:38 +03:00
387f411ae0 Merge branch 'release/v7.2.0' of https://github.com/ONLYOFFICE/core into release/v7.2.0 2022-07-29 12:29:50 +03:00
2ed60fea2b fix bug #58265 2022-07-29 12:29:42 +03:00
f9651c90ee Merge pull request #994 from ONLYOFFICE/fix/bug57572
Fix bug 57572
2022-07-29 12:05:18 +03:00
ab4ac2b7c0 Fix bug 57572 2022-07-29 12:03:10 +03:00
1736e169cf fix encrypt with password 2022-07-29 12:00:43 +03:00
f640bef308 Some fixes... 3 2022-07-29 07:53:45 +03:00
fa16a17aec added dependens(base.pri) for cfcpp library 2022-07-29 00:25:19 +03:00
03fc3a4426 fix Encrypt dictionary 2022-07-28 18:12:49 +03:00
315204b20d fix update GetInfo 2022-07-28 18:02:16 +03:00
6a099ce6d4 Fix bug 57435 2022-07-28 17:38:03 +03:00
9fbda8fb64 Merge pull request #993 from ONLYOFFICE/feature/v7.2.0-fix-bugs
Feature/v7.2.0 fix bugs
2022-07-28 09:17:06 +03:00
e59dba4519 2. fixed
fix bug #49378
2022-07-28 09:09:30 +03:00
c6fb020fda added and passed Header and DirectoryEntry tests 2022-07-27 22:36:56 +03:00
95c844630e fix bug #56650 2022-07-27 19:11:49 +03:00
c5c6d3d5dd create makeWritable
need test for GetInfo, encrypted and bad situation (no access)
2022-07-27 18:04:26 +03:00
7a6c2b058d Merge pull request #992 from ONLYOFFICE/fix/bug_54964
Fix bug 54964
2022-07-27 17:11:12 +03:00
2281e35cda Added support for the vertical-align property for tables 2022-07-27 17:06:38 +03:00
2cf3c85d67 Fix bug #54964
Fixed a problem with the order of applying styles
2022-07-27 17:06:23 +03:00
cb77881c6a fix bug #55901 2022-07-27 14:16:29 +03:00
d53184868d Merge pull request #991 from ONLYOFFICE/fix/bug58289
Fix bug 58289
2022-07-27 13:18:32 +03:00
95b84f314f Fix bug 58289 2022-07-27 11:53:58 +03:00
7859d6ef03 added and passed StreamRW tests 2022-07-26 19:31:25 +03:00
e7b960c74d Merge pull request #990 from ONLYOFFICE/feature/v7.2.0-fix-bugs
fix bug #58264
2022-07-26 18:59:08 +03:00
0a65c6b5f4 fix bug #58264 2022-07-26 18:56:57 +03:00
ebbbfe51a5 Fix compilation com wrapper library 2022-07-26 16:59:02 +03:00
7cf83f1d85 Pictures now use the shape format. 2022-07-26 14:25:17 +03:00
9a3fa3ef2a Merge pull request #988 from ONLYOFFICE/feature/builder
Feature/builder
2022-07-25 19:40:25 +03:00
469c077079 Refactoring scopes and new files 2022-07-25 19:32:38 +03:00
d29966342b add googletest and correct partof class StreamRW 2022-07-25 18:47:10 +03:00
31b326da5a Refactoring builder 2022-07-25 14:33:29 +03:00
bbb8b19ee3 fix std::copy() using 2022-07-25 14:15:35 +03:00
162b520374 Refactoring 2022-07-25 00:07:03 +03:00
803d216e53 [x2t] Add image extensions to GetFormatByExtension 2022-07-24 16:19:47 +03:00
2703621d01 fix bug #54458 2022-07-24 14:18:11 +03:00
38709cbc15 Developing 2022-07-24 02:07:41 +03:00
380a4c2e1a Developing 2022-07-24 01:25:35 +03:00
52c72bf6a2 fix bug #58252 2022-07-23 18:51:04 +03:00
42b155cd92 correct headers 2022-07-22 20:25:37 +03:00
d8f57d3b9b Fix xp builds 2022-07-22 18:04:27 +03:00
8a5af04247 Merge pull request #987 from ONLYOFFICE/feature/docx_renderer
Feature/docx renderer
2022-07-22 17:06:36 +03:00
4347807ca1 Merge pull request #969 from ONLYOFFICE/feature/pdfwriter
Feature PdfWriter
2022-07-22 15:14:23 +03:00
1b835cde13 Merge pull request #986 from ONLYOFFICE/fix/pdfwriter
fix pdfwriter
2022-07-22 15:12:42 +03:00
3b5673220e fix 2022-07-22 15:10:29 +03:00
877efea69d fix unreleased TransparentGroup 2022-07-22 15:05:13 +03:00
db6c71a1e6 Refactoring 2022-07-22 14:23:05 +03:00
6e000bf3f4 Fix spaces 2022-07-22 13:57:13 +03:00
fcaf871c48 Refactoring 2022-07-22 13:46:12 +03:00
61d953d370 fix bug #56012 2022-07-22 13:43:38 +03:00
33f065f649 Fix spaces 2022-07-22 13:02:08 +03:00
072b887a21 Refactoring 2022-07-22 11:44:13 +03:00
e0e4d2f6cb relocated append to file 2022-07-22 11:18:55 +03:00
24e08cee67 AddRef/Release for PdfWriter in edit mode 2022-07-22 11:17:45 +03:00
c2ba4614d4 Fix spaces 2022-07-22 10:58:40 +03:00
ae7fa7d1aa Revert memory reallocation 2022-07-22 10:53:59 +03:00
31ccfafc84 fix bad obj for DictToXml 2022-07-22 10:12:05 +03:00
816d91b328 Some fixes... 2 2022-07-21 19:09:47 +03:00
2f82b50cfc Fixes for server docbuilder 2022-07-21 17:17:46 +03:00
de49cc012f .Net wrapper for builder 2022-07-21 16:31:09 +03:00
09370f1dcc Refactoring documentbuidler (fonts dir) 2022-07-21 12:32:41 +03:00
13a192b77b fix build (tmp) 2022-07-21 11:49:02 +03:00
6b194a1e97 Fix bug 58205 2022-07-20 17:10:42 +03:00
a34aa4109a remove not working CFStorage/CFStrem constructor's invocation 2022-07-20 17:08:01 +03:00
235bd4af94 Fix bug 57507 2022-07-20 11:32:56 +03:00
65d502d36f fix bug #55431 2022-07-20 11:30:20 +03:00
0a26bab1a2 Added definition of the shadow effect for the font. 2022-07-20 11:11:24 +03:00
4d538e3439 Fix typo 2022-07-20 10:06:33 +03:00
26e21b5207 added event , removed BinaryReader, correct some metods of CompoundFile 2022-07-20 00:35:15 +03:00
ae8807041e Some fixes... 2022-07-19 11:01:19 +03:00
ba0359e3d1 Fix bug 54401 2022-07-18 19:23:09 +03:00
e664bc77a0 Merge remote-tracking branch 'origin/release/v7.2.0' into feature/pdfwriter
# Conflicts:
#	Common/3dParty/html/css/src/CCompiledStyle.cpp
#	Common/3dParty/html/css/src/CCssCalculator_Private.cpp
#	Common/3dParty/html/css/src/ConstValues.h
#	Common/3dParty/html/css/src/xhtml/CDocumentStyle.cpp
#	HtmlFile2/test/main.cpp
#	PdfWriter/PdfRenderer.cpp
#	PdfWriter/PdfRenderer.h
2022-07-18 18:13:19 +03:00
975f73115d Merge pull request #984 from ONLYOFFICE/release/v7.2.0
Release/v7.2.0
2022-07-18 17:46:10 +03:00
fbf77242de Merge pull request #983 from ONLYOFFICE/fix/hotfix-v7.1.1-conflicts
hotfix/v7.1.1
2022-07-18 17:45:39 +03:00
54b3fc1866 Merge remote-tracking branch 'origin/hotfix/v7.1.1' into fix/hotfix-v7.1.1-conflicts
# Conflicts:
#	Common/3dParty/html/css/src/CCompiledStyle.cpp
#	Common/3dParty/html/css/src/CCssCalculator_Private.cpp
#	Common/3dParty/html/css/src/ConstValues.h
#	Common/3dParty/html/css/src/xhtml/CDocumentStyle.cpp
#	Common/3dParty/html/htmltoxhtml.h
#	Common/Network/FileTransporter/src/FileTransporter_win.cpp
#	HtmlFile2/htmlfile2.cpp
#	HtmlFile2/test/main.cpp
#	PdfWriter/PdfRenderer.cpp
#	PdfWriter/PdfRenderer.h
2022-07-18 17:41:10 +03:00
e49f1a481c Remove old code 2022-07-18 15:21:56 +03:00
76bcd744e0 Merge pull request #980 from ONLYOFFICE/feature/fixARC
Feature/fix arc
2022-07-18 12:47:57 +03:00
1f9078d5fb Merge pull request #979 from ONLYOFFICE/fix/emf-bugs
Fixed a crash in unix
2022-07-18 11:14:53 +03:00
dab91f313e fix bug #41715 2022-07-17 17:25:37 +03:00
34c4fbee25 for bug #41715 2022-07-16 17:56:12 +03:00
274976815c add class CFStream 2022-07-15 23:55:21 +03:00
d152746a58 fix m_unFontsCount 2022-07-15 18:16:17 +03:00
66dbc15f86 fix bug #58114 2022-07-15 14:31:02 +03:00
f9876cfaf5 fix bug #58058 2022-07-15 13:37:06 +03:00
fed80cf2fa fix custom in binary 2022-07-15 12:14:27 +03:00
68e5ceb928 Refactoring textShaper engine 2022-07-14 15:51:33 +03:00
ae4ecd4667 advanced C++11. Add std::function, std::iterator 2022-07-13 21:19:06 +03:00
39fd527e89 fix bug #58095 2022-07-13 20:38:18 +03:00
b27a22038a fix setSoftMask 2022-07-13 18:51:20 +03:00
b6ec92a557 Refactoring 2022-07-13 14:04:28 +03:00
5c44484c24 fix images from word 2003 xml 2022-07-13 12:21:31 +03:00
03a278a5f1 fix bug #58058 2022-07-13 12:20:03 +03:00
18a9a92f4e Line type detection has been improved.
Added subscript and superscript support.
2022-07-13 08:31:57 +03:00
f42206b55f add class CFStorage 2022-07-12 18:49:46 +03:00
f78048d617 add part of class CFStorage 2022-07-11 19:14:14 +03:00
52728d1ef1 Fix bug 55995
Also m_bIsolatedTransparentGroup for 56118
2022-07-11 17:53:01 +03:00
d4a4e91d5a Merge branch hotfix/v7.1.1 into master 2022-07-11 08:58:59 +00:00
51ca6f0ef2 fix docxrenderer enum set 2022-07-11 10:26:35 +03:00
5d97b35ba4 fix build 2022-07-11 10:00:51 +03:00
2bdc1e4a6d fix write application tag 2022-07-11 09:01:21 +03:00
787379808e Merge pull request #977 from ONLYOFFICE/feature/docx_renderer
Feature/docx renderer
2022-07-11 00:47:48 +05:00
9a658a2818 Fix compilation with old compilers 2022-07-10 22:41:47 +03:00
079d80adcb Refactoring 6. 2022-07-10 19:27:29 +03:00
8ec5685786 . 2022-07-10 09:40:44 +03:00
769ab7b238 Refactoring zlib export 2022-07-09 15:46:46 +03:00
eae4921ccd Change regex engine to boost (gcc error) 2022-07-09 12:51:30 +03:00
2a28ba7060 . 2022-07-09 10:35:23 +03:00
eaabba0860 . 2022-07-09 10:33:48 +03:00
f892022232 . 2022-07-09 10:24:00 +03:00
3ab0a4ee5e Fix bug 58051 2022-07-08 23:09:14 +03:00
dfa93c344c Create Pict.cpp 2022-07-08 17:14:16 +03:00
adfc2ef30d office 2003 xml -> docx (with fix errors format) 2022-07-08 17:13:29 +03:00
1ce32462e0 add CFItem 2022-07-08 16:40:38 +03:00
f8549eaa13 Refactoring 5. Aded support for different types of text underlines. 2022-07-08 16:31:30 +03:00
fc280b1cd6 [android] Update to kotlin 1.7 2022-07-08 10:48:21 +03:00
6438c9a88a Typo fixed 2022-07-07 20:38:37 +03:00
302b575f29 Merge pull request #963 from ONLYOFFICE/fix/TableCssStyle
Fix table style
2022-07-07 20:37:41 +03:00
e1c87770bd Fixed Bitmap rendering error in Linux 2022-07-07 20:33:59 +03:00
b5d9d81704 Fixed crash conversion error on linux 2022-07-07 20:33:59 +03:00
dc92a8c07f Changed working with pointers to the interpreter 2022-07-07 20:33:20 +03:00
b3b7b82dda fix error with memory 2022-07-07 18:21:38 +03:00
fc8784c540 Fix excel crash (preinit js context in thread) 2022-07-06 22:44:53 +03:00
f290275406 fix SignatureField name 2022-07-06 18:08:12 +03:00
17fe15948a [android] Update gradle plugin and jvmTarget 2022-07-06 16:19:14 +03:00
ff99d9bbb9 correct SVector 2022-07-05 22:51:06 +03:00
6957bc3eba fix NullObject and try to fix m_bTransparentGroupSoftMask 2022-07-05 18:42:13 +03:00
38f11a9f4a fix bug #57904 2022-07-05 14:24:58 +03:00
ea43991901 fix bug #57968 2022-07-05 14:24:12 +03:00
b739a465a5 add some methods in compoundfile for class CFStorage 2022-07-04 23:03:48 +03:00
a469bad6e3 Possible fix for the right border problem. 2022-07-04 10:36:46 +03:00
98c72833c4 writed all case methods GetSectorChain() in compundfile 2022-07-01 19:34:22 +03:00
51781066b6 fix bug #57858 2022-07-01 13:14:16 +03:00
393baf5265 Refactoring 4. 2022-06-30 21:31:51 +03:00
aa6dd092f7 Added shading support. 2022-06-30 21:18:50 +03:00
00e47257e1 Fixed an issue with calculating the right border of the line. Added a correction constant for each font. 2022-06-30 21:18:50 +03:00
01911afb0f Refactoring 3. 2022-06-30 21:18:50 +03:00
fe3e7357d5 Refactoring 2. Improved calculation of the right border of the text. 2022-06-30 21:18:50 +03:00
541c90eacf Refactoring. 2022-06-30 21:18:49 +03:00
4641c135e7 Added support for shape according to the new standard. Fixed problem with extra spaces. Code refactoring. 2022-06-30 21:18:49 +03:00
5c403b39eb Added graphics detection: underline, strikethrough, and text highlighting in color. 2022-06-30 21:18:49 +03:00
1ba6c9b73f minor changes 2022-06-30 21:18:49 +03:00
2ede1b0d65 Fixed problem with merging of mixed text. Improved vertical and horizontal text alignment. Some problems were identified (todo). The interaction between the shape and the paragraph has been worked out. 2022-06-30 21:18:49 +03:00
3e5c005714 Fixed an problem with measuring a line with a long space. 2022-06-30 21:18:49 +03:00
217c5157e1 Added BuildByTypeShapeLine() 2022-06-30 21:18:49 +03:00
6783e79c15 Attempted to rewrite BuildByTypePlainParagraph(). Conclusion - I should use shapes instead of frames. 2022-06-30 21:18:49 +03:00
7f3a658611 Fix problem with spaces. 2022-06-30 21:18:49 +03:00
25a10fb642 DocxRenderer: Added support for TextAssociationType PlainParagraph. 2022-06-30 21:18:49 +03:00
96a6cadc66 fix DictToXml 2022-06-30 18:46:58 +03:00
189cb94892 fix bug #57904 2022-06-30 18:43:47 +03:00
9e948c0c37 refactoring class DirectoryEntry 2022-06-30 17:24:01 +03:00
974b0cc984 [android] Refactoring build gradle files 2022-06-30 14:24:04 +03:00
a202a87a67 x2t - binary - convert doc->docx in embedded 2022-06-30 13:23:03 +03:00
7e33da3883 fix bug #56786 2022-06-30 12:34:39 +03:00
446d694b1d add class DirectoryEntry with IRBNode realization and RBTree 2022-06-30 00:58:11 +03:00
040c6abdef Fix the problem with save/load text vertical alignment 2022-06-29 19:46:27 +03:00
35cb3fec1f pdf m_bEdit 2022-06-29 18:20:34 +03:00
118bd98f4f [android] Fix bug 57786 2022-06-29 14:36:22 +03:00
df69792402 fix bug #57835 2022-06-29 09:35:08 +03:00
6e20801b45 fiix bug #57513 2022-06-28 11:52:23 +03:00
1ba89fb865 fix CProxyObject memory and sign with XRef stream 2022-06-27 18:29:15 +03:00
8a2e46cb53 fix bug #57788 2022-06-27 17:08:53 +03:00
8df2390d9d [x2t] Сonvert ooxml to pdf/img without Editor.bin with m_sConvertToOrigin param 2022-06-26 19:13:14 +03:00
f5789d5059 Merge pull request #974 from ONLYOFFICE/fix/v7.2.0-fix-bugs
fix bug #57788
2022-06-25 19:15:59 +03:00
f97a7b1ea3 fix bug #57788 2022-06-25 19:14:42 +03:00
1a0ecb17a7 Refactoring GetCurrentContext 2022-06-25 09:47:19 +03:00
bc447c4522 Fix parallel working of js contexts (jsc) 2022-06-24 21:35:07 +03:00
bebdd90aa2 Merge pull request #973 from ONLYOFFICE/fix/v7.2.0-fix-bugs
.
2022-06-24 17:02:50 +03:00
7d91973ddd . 2022-06-24 17:01:04 +03:00
d98d1859b4 Merge pull request #972 from ONLYOFFICE/fix/v7.2.0-fix-bugs
.
2022-06-24 16:51:59 +03:00
2e34600e01 . 2022-06-24 16:51:13 +03:00
4e4d69235d Merge pull request #971 from ONLYOFFICE/fix/v7.2.0-fix-bugs
for bug #57788
2022-06-24 16:47:33 +03:00
29125519d9 for bug #57788 2022-06-24 16:47:03 +03:00
f4991f5e0d add class DirectoryEntry without IRBNode realization 2022-06-24 16:02:44 +03:00
46c6efee45 Merge pull request #970 from ONLYOFFICE/fix/v7.2.0-ppt
fix part of 57689. Add XmlUtils::EncodeXmlString()
2022-06-24 15:52:57 +03:00
600ebb2669 Merge remote-tracking branch 'origin/release/v7.2.0' into feature/pdfwriter
# Conflicts:
#	DesktopEditor/xmlsec/src/ooxmlsignature.pro
#	PdfWriter/PdfRenderer.cpp
#	PdfWriter/PdfRenderer.h
#	PdfWriter/PdfWriterLibTest/PdfWriterLibTest.cpp
2022-06-24 14:52:47 +03:00
ed64dba0ad pdf fix number of signature 2022-06-24 14:35:32 +03:00
690a614ba5 Merge pull request #968 from ONLYOFFICE/fix/v7.2.0-fix-bugs
fix bug #45874
2022-06-24 14:24:20 +03:00
b48e6d508d fix bug #45874 2022-06-24 14:23:44 +03:00
65a469ef92 Merge pull request #967 from ONLYOFFICE/fix/v7.2.0-fix-bugs
Fix/v7.2.0 fix bugs
2022-06-23 20:44:11 +03:00
41a4eedb63 fix bug #57544 2022-06-23 20:43:28 +03:00
19bec43364 fix bug #57702 2022-06-23 17:19:06 +03:00
97d699156e signatures with edit pdf 2022-06-23 16:25:11 +03:00
21f134cf71 Fix writing underline type to binary 2022-06-23 14:27:44 +03:00
80b361fe7d Merge pull request #966 from ONLYOFFICE/fix/v7.2.0-fix-bugs2
Fix/v7.2.0 fix bugs2
2022-06-23 11:46:21 +03:00
32c752a71f for bug #52363
extend xlsx connection
re-place vba xml in binary
2022-06-23 11:45:31 +03:00
1fe41b8b23 fix part of 57689. Add XmlUtils::EncodeXmlString() 2022-06-22 23:24:09 +03:00
b59980bd62 Merge pull request #964 from ONLYOFFICE/release/v7.2.0
Release/v7.2.0
2022-06-22 21:51:13 +03:00
464aa7c8c4 xlsx - fix convert ActiveX to Control (FormControlPr) 2022-06-22 19:33:49 +03:00
c3bddd9e5d Refinement of the width of cells in tables 2022-06-22 16:51:09 +03:00
9646ac25ae Fix project file 2022-06-22 16:48:47 +03:00
b928936f2b fix bug #57677 2022-06-22 12:34:12 +03:00
69448ebba0 fix bug #57682 2022-06-22 12:28:50 +03:00
98cd78c3a4 add part of class compoundfile. Save/Load 2022-06-22 00:26:27 +03:00
6f3776d5ad fix add multiple signatures 2022-06-21 18:00:35 +03:00
879715efe9 Fix typo with ligatures type 2022-06-21 17:54:59 +03:00
7e5421862b Improved calculation of the width of table cells 2022-06-21 09:55:04 +03:00
599e2d0d8b Working with the width of a cell in a table 2022-06-21 09:55:04 +03:00
964c75126e Improved working with styles 2022-06-21 09:55:04 +03:00
ee60028d7c Limiting the use of the file system 2022-06-21 09:29:21 +03:00
c7fc617a21 array of signatures 2022-06-20 19:14:17 +03:00
1bec6aacad Merge pull request #961 from ONLYOFFICE/fix/v7.2.0-fix-bugs2
fix vba read and other
2022-06-20 18:07:28 +03:00
ac64868d4c fix vba read and other 2022-06-20 18:06:19 +03:00
23283244e9 Create fonts directory, if font files cannot be created 2022-06-20 17:49:51 +03:00
c4e6dea3a3 Fix constants for ligatures in docx 2022-06-20 16:25:34 +03:00
ffd60188c2 Fix typo 2022-06-20 15:52:59 +03:00
0da5552fdf Fix allfonts path 2022-06-20 15:50:10 +03:00
37acb4cfc2 Fix compilation 2022-06-18 17:01:02 +03:00
7651a7e472 Fix for native editors (ios/android) 2022-06-17 18:11:03 +03:00
ad51fa70e4 Merge pull request #960 from ONLYOFFICE/fix/v7.2.0-fix-bugs
Fix/v7.2.0 fix bugs
2022-06-17 16:58:12 +03:00
0a6b3efbbc add ext rPr 2022-06-17 16:57:15 +03:00
c3e060d13b add part of class compoundfile 2022-06-16 23:29:48 +03:00
58865ae153 Merge pull request #959 from ONLYOFFICE/fix/pdf-DrawTextGid
pdf DrawTextGid
2022-06-16 20:09:19 +03:00
b620e1b6e4 Refactor saving gids and unicodes to CIDFont 2022-06-16 20:08:11 +03:00
2fb242b9bb xls - read addition streams 2022-06-16 17:48:04 +03:00
b763dd2e3c fix
pdf.bin has the fonts present in the system
2022-06-16 16:30:42 +03:00
b9bc3d0597 fix DrawTextGid 2022-06-16 16:11:43 +03:00
014c219089 add class SVector like C sharp List 2022-06-15 20:53:40 +03:00
d43e0a4bc8 Limited use of FontManager 2022-06-15 20:06:28 +03:00
d321366de7 create DrawTextGid
In order to avoid a crash, other functions don't change, only new ones are added
2022-06-15 19:17:23 +03:00
d0a03fa9aa add class streamview 2022-06-15 15:21:44 +03:00
bb657dc536 Store codepoints in a grapheme for saving to pdf 2022-06-14 21:48:25 +03:00
49a39cbd80 The work with the pictures was transferred to memory 2022-06-14 21:17:33 +03:00
e25a2b267d add part of class streamview 2022-06-14 19:41:12 +03:00
3b581bf5e3 Refactoring 2022-06-14 19:00:09 +03:00
399821046f Removed the use of CFontManager 2022-06-10 17:52:18 +03:00
47bcde4efe Remove extra file 2022-06-10 17:09:34 +03:00
213b4ddf64 Merge pull request #958 from ONLYOFFICE/release/v7.2.0
Release/v7.2.0
2022-06-10 15:54:17 +03:00
5bd69e0b73 Fix memory leaks 2022-06-10 15:52:27 +03:00
e049cff2ed add sectorcollection 2022-06-10 15:28:59 +03:00
5510223302 Merge pull request #957 from ONLYOFFICE/feature/mobile-extend-insert-image
[native] Extend model of insert image
2022-06-10 15:15:41 +03:00
78b7fcd7ae [native] Extend model of insert image 2022-06-10 15:14:54 +03:00
0f71d4e2af appearance of the pdf signature 2022-06-10 13:47:25 +03:00
fd08ef00c3 Merge pull request #956 from ONLYOFFICE/release/v7.2.0
Fix compilation
2022-06-10 08:36:04 +03:00
fee2eb653f Fix compilation 2022-06-10 08:35:07 +03:00
85d7b5063e Merge pull request #955 from ONLYOFFICE/release/v7.2.0
Release/v7.2.0
2022-06-10 08:27:41 +03:00
8bc77fa710 Fix compilation 2022-06-10 08:27:02 +03:00
e111568c34 Fix build 2022-06-09 23:04:30 +03:00
500a32a1dc Merge pull request #954 from ONLYOFFICE/android_build
Android build
2022-06-09 21:26:29 +03:00
5387175ed1 Refactoring 2022-06-09 20:57:33 +03:00
87c3d6cf9d trying to add sectorcollection 2022-06-09 20:54:21 +03:00
4c7cbbe184 add signature fields 2022-06-09 18:30:32 +03:00
63a3da31a9 Merge pull request #953 from ONLYOFFICE/fix/v7.2.0-fix-bugs
Fix/v7.2.0 fix bugs
2022-06-09 18:29:59 +03:00
97ca849c85 fix 2022-06-09 18:07:51 +03:00
334d61559b Refactoring 2022-06-09 17:43:36 +03:00
607c9b57f7 Merge remote-tracking branch 'origin/release/v7.2.0' into feature/pdfwriter
# Conflicts:
#	Common/3dParty/html/css/src/CCompiledStyle.cpp
#	Common/3dParty/html/css/src/ConstValues.h
#	Common/3dParty/html/css/src/xhtml/CDocumentStyle.cpp
#	HtmlFile2/htmlfile2.cpp
2022-06-09 17:19:14 +03:00
ce06cd0c4c Merge pull request #951 from ONLYOFFICE/release/v7.2.0
Refactoring ooxmlsignature library
2022-06-09 16:46:24 +03:00
8555b7d5fe Refactoring ooxmlsignature library 2022-06-09 16:41:22 +03:00
583f907dd3 Fixing bugs 2022-06-09 16:00:47 +03:00
18de7c5da1 [android] Build android app 2022-06-09 14:07:38 +03:00
5e052325ea fix user file (WH30HVUkfv0_VF3YRELqjvuWW8ECe6dQlCI5rw) 2022-06-09 11:53:53 +03:00
ffebbbe0af doc info 2022-06-09 11:26:03 +03:00
03b25199d9 vba in bin 2022-06-09 11:25:38 +03:00
a9c99b5fb1 Elimination of defects 2022-06-08 18:55:30 +03:00
e5e30596f0 Merge pull request #950 from ONLYOFFICE/release/v7.2.0
Release/v7.2.0
2022-06-08 17:24:32 +03:00
d733569179 Merge remote-tracking branch 'origin/master' into feature/pdfwriter
# Conflicts:
#	Common/3dParty/html/css/src/CCompiledStyle.cpp
#	Common/3dParty/html/css/src/CCssCalculator.cpp
#	Common/3dParty/html/css/src/CCssCalculator.h
#	Common/3dParty/html/css/src/CCssCalculator_Private.cpp
#	Common/3dParty/html/css/src/CCssCalculator_Private.h
#	Common/3dParty/html/css/src/CNode.h
#	Common/3dParty/html/htmltoxhtml.h
#	Common/Network/FileTransporter/src/FileTransporter_win.cpp
#	HtmlFile2/htmlfile2.cpp
#	PdfWriter/PdfRenderer.h
#	PdfWriter/PdfWriter.pro
2022-06-08 13:20:43 +03:00
1569b58dab Fix bugs 2022-06-07 22:02:11 +03:00
c2654f2a3d Added conversion of WMV format to SVG 2022-06-07 20:41:52 +03:00
43b611e39e create CSignatureFormPr 2022-06-07 18:20:36 +03:00
a2614b0020 Change memorystream engine 2022-06-07 12:46:02 +03:00
01d20d1b13 Fix previous commit 2022-06-07 12:30:37 +03:00
f4c6818570 Fix path 2022-06-07 12:29:03 +03:00
709ac68a97 Remove GraphicsEmbed object by default 2022-06-07 12:28:19 +03:00
c6a4f83a9d Add MemoryStreamEmbed object by default 2022-06-07 12:14:31 +03:00
b8d0b5df96 refactoring the WMF conversion code 2022-06-06 16:31:32 +03:00
d7bd15b4e2 Fix builder bug with path to AllFonts 2022-06-06 14:08:00 +03:00
1937f47043 Fix code points calculation for js font engine 2022-06-06 13:40:45 +03:00
f2b19e9701 . 2022-06-03 22:32:34 +03:00
e49127b686 added class Header 2022-06-03 20:38:30 +03:00
9cbbca4712 Fix typo 2022-06-03 15:28:18 +03:00
d12680c027 fix Data for PDFSigner 2022-06-03 14:15:51 +03:00
319c9d3522 Fix for test function 2022-06-03 13:25:25 +03:00
a33cf2fc7f Fix for shaper 2022-06-03 13:05:04 +03:00
e8d1e2d246 fix test 2022-06-03 11:45:55 +03:00
830aee3ae4 Merge pull request #949 from ONLYOFFICE/feature/textNativeEngine
Feature/text native engine
2022-06-02 22:30:12 +03:00
9ae72e5a74 New realization 2022-06-02 19:51:44 +03:00
c7accbd1fb Improved EMF to SVG conversion 2022-06-02 19:49:55 +03:00
39337c4bf2 test PDFSigner 2022-06-02 18:47:24 +03:00
92e3d6d3cc update core, app from xls, ppt, doc, odf 2022-06-02 17:06:02 +03:00
a6fd52ae70 Worked native version 2022-06-02 13:37:50 +03:00
089f817962 Debugging native text module 2022-06-02 11:48:11 +03:00
97653a5be7 Refactoring 2022-06-02 10:00:41 +03:00
9c81eb5bd1 Developing builder 2022-06-01 23:04:57 +03:00
543c5a59d9 Fix bugs 2022-06-01 22:15:12 +03:00
3517208b92 Fix previous commit 2022-06-01 21:22:11 +03:00
345565349f Improved EMF to SVG conversion 2022-06-01 19:48:02 +03:00
172308579a Fix typo 2022-06-01 19:42:13 +03:00
9860be4434 Add missed file 2022-06-01 19:39:00 +03:00
8ae061d50b Add window as link to global object 2022-06-01 19:38:11 +03:00
57b89540f7 Merge branch hotfix/v7.1.1 into master 2022-06-01 16:18:12 +00:00
00de58f59d Refactoring DoctRenderer.config 2022-06-01 18:26:07 +03:00
50f5752b95 create PDFSigner 2022-06-01 17:48:36 +03:00
98ad73ce7d New text module 2022-06-01 17:37:28 +03:00
7f12d47f7b Remove "/" from paths 2022-05-31 20:56:32 +03:00
df1bac754b Fix crash 2022-05-31 20:39:27 +03:00
be72b15872 Refactoring 2022-05-31 20:19:52 +03:00
700e91629d Fix typo 2022-05-31 19:58:46 +03:00
95e747e400 . 2022-05-31 19:54:46 +03:00
1ba4412bd4 Text measurer module 2022-05-31 19:53:06 +03:00
b72955c5db add class Sector 2022-05-31 19:49:35 +03:00
44647e33fb Expanded the possibilities of converting a metafile to SVG 2022-05-31 18:56:39 +03:00
6d69fc21d5 Merge pull request #947 from ONLYOFFICE/release/v7.2.0
From release
2022-05-31 18:03:08 +03:00
53a0196dea Fix build on old gcc 2022-05-31 17:55:21 +03:00
2e3e75a39c Fix typo 2022-05-31 17:28:27 +03:00
525f318e17 Build on macos 2022-05-31 16:38:19 +03:00
a3d083e7bd Delete harfbuzz.pri 2022-05-31 16:19:44 +03:00
2267f1bca2 Add execute rights 2022-05-31 16:17:44 +03:00
85baa9afc7 Refactoring harfbuzz module 2022-05-31 16:08:17 +03:00
8f97f55e67 Push file 2022-05-31 15:29:27 +03:00
19070ca5c9 Developing 2022-05-31 15:26:36 +03:00
32ac61f890 Developing 2022-05-31 12:31:28 +03:00
ce2727862d [doctrenderer] Fix CZipEmbed::getFile 2022-05-31 10:12:48 +03:00
d6141591ed pdf signature development 2022-05-30 18:49:33 +03:00
b1a044ba14 Refactoring zip module 2022-05-30 11:45:41 +03:00
0af7c8b984 Merge pull request #946 from ONLYOFFICE/release/v7.2.0
Release/v7.2.0
2022-05-28 22:11:28 +03:00
eae2ef8d85 Fix build with qt < 5.15 2022-05-28 22:08:20 +03:00
3599c01b97 Change buffer to unexternalized 2022-05-28 00:00:51 +03:00
e3e027e663 add CWidgetAnnotation 2022-05-27 18:25:47 +03:00
170686840c Fixed an inaccuracy in calculating the width of a row in the table 2022-05-26 21:50:37 +03:00
89a787fc32 fix spacing between tables 2022-05-26 21:50:37 +03:00
56bec09bfd empty <w:p> between tables 2022-05-26 21:50:37 +03:00
341d7a0b55 Improved table display quality 2022-05-26 21:50:37 +03:00
c76649d296 Refactoring 2022-05-26 21:18:31 +03:00
738568bf6d [x2t] Call apply_changes for docx 2022-05-26 19:54:04 +03:00
c549d52123 Fix bug 57363 (#939) 2022-05-26 18:57:05 +03:00
e6c7efc0d5 Merge pull request #941 from ONLYOFFICE/release/v7.2.0
Release/v7.2.0
2022-05-26 18:18:33 +03:00
b730fb350d Merge pull request #940 from ONLYOFFICE/feature/newEmbed
Feature/new embed
2022-05-26 18:18:02 +03:00
e147129642 Fix buh with HEAP8 instead HEAPU8 2022-05-26 16:12:49 +03:00
3f097fa83c Change spases to tabs 2022-05-26 15:29:03 +03:00
9a971f16dd Merge pull request #938 from ONLYOFFICE/fix/v7.2.0-fix-bugs
fix bug #57319
2022-05-26 14:54:49 +03:00
272cbbb8b6 fix bug #57319 2022-05-26 14:53:57 +03:00
1d14056ebc Update fonts engine 2022-05-26 14:00:21 +03:00
8c69e55bdd Merge pull request #937 from ONLYOFFICE/fix/v7.1.1-fix-bugs
fix bug #57274
2022-05-26 12:12:53 +03:00
77a07b09a5 fix bug #57274 2022-05-26 12:05:28 +03:00
39e06f668e Fix build module 2022-05-26 10:43:20 +03:00
150a76650e Fix typo 2022-05-25 22:48:02 +03:00
4016df7fc7 End support ZipEmbed 2022-05-25 22:41:58 +03:00
8422e3cd3b Refactoring 2022-05-25 21:26:14 +03:00
827fc16fbe Fix mac version 2022-05-25 21:08:28 +03:00
9b2208b97d Add files 2022-05-25 20:55:58 +03:00
8a34dcf222 Start developing 2022-05-25 20:51:49 +03:00
282a6b50a5 Merge pull request #936 from ONLYOFFICE/fix/html-table-style
Fix html table style
2022-05-25 20:18:15 +03:00
02fe14ffe3 fix htmltoxhtml 2022-05-25 19:44:38 +03:00
0c1659cf48 fix html and css table style 2022-05-25 19:43:35 +03:00
5c8132d476 Added the ability to convert Emf to Svg 2022-05-25 19:23:16 +03:00
1627332a20 Merge pull request #935 from ONLYOFFICE/fix/v7.1.1-fix-bugs
fix bug #57334
2022-05-25 16:52:27 +03:00
23d0b0e194 fix bug #57334 2022-05-25 16:51:11 +03:00
0e490d791a PdfWriter add Sign 2022-05-25 16:27:11 +03:00
6aae00a6ee . 2022-05-25 10:39:11 +03:00
2f11ac944d Fix typo 2022-05-25 10:27:22 +03:00
42acdac865 Refactoring 2022-05-24 19:52:50 +03:00
459313292e Refactoring zlib module 2022-05-24 18:40:59 +03:00
49f766a593 fix ooxmlsignature 2022-05-24 17:14:56 +03:00
08612c0cd5 oleSize 2022-05-24 14:38:01 +03:00
7c72b34986 fix bug #57259 2022-05-24 14:37:06 +03:00
0be13c04ce Fix bug 48473 2022-05-23 22:22:11 +03:00
0cdbdefeb2 Add support images from web 2022-05-23 21:28:15 +03:00
d396c8dc7e Merge pull request #931 from ONLYOFFICE/fix/CssTableStyle
Fix css table style
2022-05-23 16:53:42 +03:00
13ee681c22 fix empty w:tblW 2022-05-23 14:40:27 +03:00
7f863a7b6a Merge pull request #930 from ONLYOFFICE/fix/v7.1.1-fix-bugs
fix save smart in group
2022-05-23 13:20:45 +03:00
d8cbbf4c2f fix save smart in group 2022-05-23 13:19:51 +03:00
3e1c28687a Merge pull request #929 from ONLYOFFICE/feature/ppt_7
Feature/ppt 7
2022-05-23 11:09:24 +03:00
2625d6cd26 Merge remote-tracking branch 'origin/fix/v7.1.0-fix-bugs-ppt3' into feature/ppt_7 2022-05-23 11:07:24 +03:00
930e76f8a9 fix background color in setSoftMaskFromImageMask 2022-05-23 08:31:50 +03:00
dae64684b1 . 2022-05-21 12:46:39 +03:00
6db7f67972 improving the quality of converting table styles 2022-05-20 17:45:06 +03:00
561298b43c fix bug #54031 2022-05-20 17:41:52 +03:00
7c08b05fcd html fix empty <w:tc> 2022-05-19 19:02:51 +03:00
9bee310052 Merge pull request #928 from ONLYOFFICE/fix/v7.1.1-fix-bugs
fix  bug #57214
2022-05-19 15:09:02 +03:00
f76ede5078 fix bug #57214 2022-05-19 15:08:22 +03:00
dc9e6ffdd5 html fix empty <w:tc> 2022-05-19 14:57:34 +03:00
b8e5f7d01b html fix hyperlink 2022-05-19 13:16:41 +03:00
32841d6596 Merge pull request #927 from ONLYOFFICE/hotfix/v7.1.1
Hotfix/v7.1.1
2022-05-19 11:50:20 +03:00
4d2830732f fix part of 54031 2022-05-18 23:44:31 +03:00
c8d5ae5f52 html different <w:p> 2022-05-18 18:52:48 +03:00
dbf5e2c0af Merge pull request #926 from ONLYOFFICE/fix/v7.1.1-fix-bugs
fix bug #57224
2022-05-18 16:46:13 +03:00
981ce25bfc fix bug #57224 2022-05-18 16:45:23 +03:00
6eb4e89fe2 Merge pull request #925 from ONLYOFFICE/hotfix/v7.1.1
Hotfix/v7.1.1
2022-05-18 16:31:24 +03:00
3d71a1a8ff Add method to interface 2022-05-18 16:30:38 +03:00
d9407f6534 Fix targetname 2022-05-18 14:02:15 +03:00
6ec06a8342 Flag for qt6 2022-05-18 12:28:38 +03:00
0398c6a018 Added the display property 2022-05-18 12:12:37 +03:00
93d1688e13 . 2022-05-18 10:58:21 +03:00
72cde59fdb Fixed a problem with incorrect display of table borders 2022-05-17 18:50:51 +03:00
03bfb325cd vb->bin 2022-05-17 16:22:56 +03:00
06f7208e20 Merge pull request #924 from ONLYOFFICE/android_password
[android] Add save password
2022-05-17 16:07:22 +03:00
1dcaa7e5cb [android] Add save password 2022-05-17 15:58:24 +03:00
fd3abeca46 fix indent for tab level with bullet 2022-05-17 15:29:14 +03:00
e9f1734f88 Merge pull request #923 from ONLYOFFICE/fix/v7.1.1-fix-bugs
Fix/v7.1.1 fix bugs
2022-05-17 15:14:29 +03:00
c5b124790e . 2022-05-17 15:13:46 +03:00
c8e8cd05fa fix bug #57177 2022-05-17 15:13:25 +03:00
f60dd5b3c7 . 2022-05-17 14:04:00 +03:00
22fd371f3f Merge remote-tracking branch 'origin/develop' into feature/pdfwriter
# Conflicts:
#	PdfReader/PdfReader.cpp
#	PdfReader/Src/RendererOutputDev.cpp
#	PdfWriter/PdfRenderer.h
#	PdfWriter/Src/Document.cpp
2022-05-17 12:20:43 +03:00
25b8ccfdbd Merge pull request #922 from ONLYOFFICE/fix/v7.1.1-fix-bugs
Fix/v7.1.1 fix bugs
2022-05-17 10:43:05 +03:00
34e6fdaf64 Merge branch 'fix/v7.1.0-fix-bugs' into fix/v7.1.1-fix-bugs 2022-05-17 10:40:42 +03:00
f443771b12 fix UTF-16 fb2 2022-05-17 10:39:22 +03:00
dad67014be fix build 2022-05-17 10:24:02 +03:00
a8f61fa7f4 Merge pull request #921 from ONLYOFFICE/fix/pre7.1.1
Fix/pre7.1.1
2022-05-16 20:57:49 +03:00
4c3f3ea607 fix big csv 2022-05-16 19:40:55 +03:00
05c7e09041 add m_mAttrs to NSCSS::CNode 2022-05-16 17:22:44 +03:00
5e127f15e2 html table attributes 2022-05-16 17:04:22 +03:00
94bfcfc9a6 Merge branch release/v7.1.0 into develop 2022-05-16 12:52:12 +00:00
6738395c7f Add docxf & oform to standardtester 2022-05-16 14:38:46 +03:00
d565300d25 fix UTF-16 html 2022-05-16 12:31:34 +03:00
bb1534f674 vb 2022-05-16 11:43:09 +03:00
c3b585d811 Refactoring 2022-05-14 16:35:01 +03:00
08d23ee5bd For bug 46495 2022-05-13 20:01:07 +03:00
9b5c287820 For bug 46495 2022-05-13 19:59:35 +03:00
de5447c4a3 deferred rendering setSoftMaskFromImageMask 2022-05-13 17:52:11 +03:00
989935db24 fix setSoftMaskFromImageMask 2022-05-12 18:12:09 +03:00
c025475f8b Merge branch release/v7.1.0 into master 2022-05-12 13:17:03 +00:00
af50c8a956 Fix build macos version with v8 js engine 2022-05-11 20:33:56 +03:00
f9791c3825 trying setSoftMaskFromImageMask 2022-05-11 18:09:30 +03:00
668940e5bd Fix bug 57080 2022-05-11 15:40:56 +03:00
ff44478342 fix bug #57104 2022-05-11 12:09:23 +03:00
e02a4cdfea Merge branch 'fix/v7.1.0-fix-bug' into fix/v7.1.0-fix-bugs 2022-05-11 11:17:14 +03:00
bafc119c9c Fix generation wams/asmjs modules 2022-05-10 18:14:08 +03:00
4f4a3cc8fa [x2t] Add numformat formatCode16 for bug 48273 2022-05-10 11:02:35 +03:00
891bcb87ce fix bug #57068 2022-05-09 15:39:45 +03:00
385f82cde6 fix bug #57070 2022-05-09 09:05:23 +03:00
46445c7772 Fix crash with invalid json option 2022-05-07 22:33:22 +03:00
52c3ac384e Fix bug with draw images with transparency 2022-05-07 17:27:26 +03:00
73864cf5f2 Merge pull request #918 from ONLYOFFICE/fix/bug57029
fix bug #57029
2022-05-07 13:58:52 +03:00
5adbcb151f fix bug #57029
(cherry picked from commit 64e9652941)
2022-05-07 13:57:41 +03:00
64e9652941 fix bug #57029 2022-05-06 17:04:46 +03:00
4cdd59d70d Fix bug 56993
Fix bug 56993
2022-05-04 15:53:05 +03:00
ec4fcf4d7a fix bug 56040
fix bug 56040
2022-05-04 11:33:38 +03:00
fdde20948b Add UnLock method to imagecache 2022-05-04 11:10:47 +03:00
4ec1a1ec9d fix bug #56901 2022-05-04 10:01:55 +03:00
b701cc43aa for bug #56940 2022-05-04 10:01:55 +03:00
4a083fa784 For bug 56865 2022-05-03 19:32:44 +03:00
657c45d9b4 Merge pull request #917 from ONLYOFFICE/fix/bug55251
Fix bug 55251
2022-05-02 19:12:13 +03:00
6a31f998cb [pdf] Implement alpha channel writing for texture fills 2022-05-02 18:13:17 +03:00
b414fe2058 Fix bug 55251 2022-05-02 15:10:10 +03:00
1f01c756de fix bug #56901 2022-05-01 14:48:12 +03:00
7be5253d15 Fix bug 56748 2022-04-30 10:46:09 +03:00
e1949a4cf3 trying to implement paintTransparencyGroup 2022-04-29 18:49:04 +03:00
ec8fa5d6cc [Test] Update tests 2022-04-29 17:26:51 +03:00
a3ea929707 for bug #56940 2022-04-29 17:07:15 +03:00
972a1eff53 Fix bug 56708 2022-04-29 15:42:23 +03:00
43081b2a28 Fix bug 56662 2022-04-29 13:11:37 +03:00
09c617010a Merge pull request #915 from ONLYOFFICE/fix/emf
Fixing a build error
2022-04-29 12:36:15 +03:00
186bfb4b89 Fixing a build error 2022-04-29 12:33:01 +03:00
8e3519236d Fix bug 52601 2022-04-29 11:15:12 +03:00
53b78c1f84 fix bug #56795 2022-04-28 19:29:49 +03:00
1e8a9867fe fix bug #56911 2022-04-28 19:29:49 +03:00
6ec88fceba change Info 2022-04-28 15:44:19 +03:00
67b71d296c Fix bug 56903 2022-04-28 10:47:29 +03:00
512c7bba6c Merge pull request #913 from ONLYOFFICE/fix/pdf-creator
fix pdf creator
2022-04-27 19:51:18 +03:00
51c88417d6 Creator & Producer 2022-04-27 19:47:04 +03:00
d05c4ae889 fix pdf creator 2022-04-27 18:20:02 +03:00
fc936844bd fix bug #56689 2022-04-27 13:03:05 +03:00
ced58f6cfa fix bug #56655
fix bug #56659
2022-04-27 13:03:05 +03:00
ad53cd99c3 Merge pull request #911 from ONLYOFFICE/fix/emf_wmf
Fix/emf_wmf
2022-04-27 12:10:15 +03:00
dbcf20c3f4 Fix bug 56872 2022-04-27 11:39:32 +03:00
c691df5cac Change default lang 2022-04-26 22:11:24 +03:00
7515049b17 Fix bug 56872 2022-04-26 21:58:00 +03:00
4c5ff20a07 Merge branch 'develop' into fix/emf_wmf 2022-04-26 18:31:04 +03:00
38460e9163 Fixed a problem with incorrect positioning of single characters 2022-04-26 18:25:26 +03:00
882f47f6bc Fix bug 56057 2022-04-26 17:20:53 +03:00
603fa295f4 Add folder for fonts (windows) & dash bug 2022-04-26 13:45:59 +03:00
55850f870c Fix debug build 2022-04-26 11:22:05 +03:00
398c6a6aa3 Fix dash sizes 2022-04-25 17:18:20 +03:00
9d50ad16ff Fix bug 56082 2022-04-25 16:56:07 +03:00
ce41b18a93 Pdf2Docx bugs 2022-04-25 16:15:48 +03:00
42dc1645a9 fix linearized 2022-04-25 14:05:10 +03:00
0922267efb Merge pull request #910 from ONLYOFFICE/fix/bug56806
fix bug 56806
2022-04-25 11:36:29 +03:00
e7f34c71e4 add initialization 2022-04-25 11:34:16 +03:00
f455929de3 fix only pdf 2022-04-25 11:27:46 +03:00
e2a7eab89f fix bug 56806 2022-04-25 11:12:39 +03:00
5ffd7e9537 fix linearized pdf 2022-04-25 11:02:32 +03:00
ef5e5e417a Merge pull request #909 from ONLYOFFICE/fix/v7.1.0-fix-bugs
for bug #56655
2022-04-22 17:22:47 +03:00
6e936ffafc for bug #56655 2022-04-22 17:21:55 +03:00
66d7c464c4 Merge pull request #908 from ONLYOFFICE/fix/v7.1.0-fix-bugs
.
2022-04-22 07:32:18 +03:00
4c8abba476 . 2022-04-22 07:31:35 +03:00
2cc6ed350c fix drawSoftMaskedImage 2022-04-21 19:31:50 +03:00
7a3be96e58 Merge pull request #907 from ONLYOFFICE/fix/v7.1.0-fix-bugs
.
2022-04-21 18:17:59 +03:00
472073bdd1 . 2022-04-21 18:17:15 +03:00
f01d10d49e Merge pull request #906 from ONLYOFFICE/fix/v7.1.0-fix-bugs
fix bug #56768
2022-04-21 11:25:15 +03:00
fcb820ce1d fix bug #56768 2022-04-21 11:24:23 +03:00
e29057693e Merge pull request #905 from ONLYOFFICE/fix/v7.1.0-fix-bugs
rtf formfield, fix odt fields
2022-04-20 13:27:53 +03:00
c4bf58282c rtf formfield, fix odt fields 2022-04-20 13:26:56 +03:00
856183aab6 Fix bug 56642 2022-04-20 13:16:34 +03:00
37fc76e4da fix beginTransparencyGroup 2022-04-19 18:07:20 +03:00
82da4217a2 Fix bug 56680 2022-04-15 19:22:59 +03:00
4b1be35195 fix alpha and out of range
fix alpha of TransparencyGroup and out of range m_vWidths
2022-04-15 18:35:47 +03:00
b8a0f9faae Fix bug 56488 2022-04-15 16:04:06 +03:00
88d61afb97 Improve performance of reading jpeg2000 2022-04-14 22:51:45 +03:00
564d76f041 Merge pull request #901 from ONLYOFFICE/fix/v7.1.0-fix-bugs
fix bug #56663
2022-04-14 21:58:45 +03:00
3b6bb53335 fix bug #56663 2022-04-14 21:58:13 +03:00
1a39c5e01a Merge branch 'release/v7.1.0' of https://github.com/ONLYOFFICE/core into release/v7.1.0 2022-04-14 18:22:57 +03:00
8d31ec4b57 Fix bug 56205 2022-04-14 18:22:18 +03:00
dd998710d4 Merge pull request #900 from ONLYOFFICE/fix/v7.1.0-fix-bugs
fix bug #56656
2022-04-14 18:15:22 +03:00
9d9e09e93c fix bug #56656 2022-04-14 18:14:32 +03:00
1fa69a32f3 Refactoring convertation pdf=>docx 2022-04-14 16:37:19 +03:00
1d91829136 Merge branch 'release/v7.1.0' of https://github.com/ONLYOFFICE/core into release/v7.1.0 2022-04-14 16:27:41 +03:00
1a3a76c379 Fix bug 56636 2022-04-14 16:26:59 +03:00
2498d81922 fix merge 2022-04-14 15:28:50 +03:00
c5319eda0c Merge pull request #899 from ONLYOFFICE/fix/v7.1.0-fix-bugs3
fix bug #56638
2022-04-14 12:29:18 +03:00
2a8fcbf1d4 fix bug #56638 2022-04-14 12:28:23 +03:00
77f3429df9 Merge remote-tracking branch 'origin/develop' into feature/pdfwriter
# Conflicts:
#	PdfReader/PdfReader.cpp
#	PdfWriter/Src/Encrypt.cpp
2022-04-14 11:39:05 +03:00
177a87cfb9 Change pick font 2022-04-13 17:45:17 +03:00
868fd15f74 Clear statistics page by page 2022-04-13 14:34:02 +03:00
e8ac0d8eb0 Merge pull request #898 from ONLYOFFICE/fix/v7.1.0-fix-bugs3
fix bug #56573; fix convert with macro xls
2022-04-13 13:39:32 +03:00
8ba10ab8ba fix bug #56573 2022-04-13 13:38:07 +03:00
120057be57 Fix bug #39212
Fix the problem with parsing jpeg2000 images
2022-04-12 22:30:38 +03:00
6a543bb12d Merge remote-tracking branch 'remotes/origin/release/v7.1.0' into develop 2022-04-12 18:51:22 +03:00
efbaf157a2 Merge pull request #897 from ONLYOFFICE/fix/v7.1.0-fix-bugs3
Fix/v7.1.0 fix bugs3
2022-04-12 10:31:21 +03:00
8b015a7d04 for bug #45728 2022-04-12 10:30:27 +03:00
9737d61f14 for bug #56577 2022-04-12 08:26:26 +03:00
2249fef63f Fix bug 56537 2022-04-11 22:07:36 +03:00
a40275c659 Merge pull request #896 from ONLYOFFICE/fix/v7.1.0-fix-bugs3
fix build
2022-04-10 14:14:14 +03:00
add329c8ea fix build 2022-04-10 14:12:21 +03:00
a6e59cc6ff [bug] Change convertToOrigin option to fix conversion pdf with docx inside and vice versa 2022-04-08 17:32:43 +03:00
7e4f9f48cd Merge pull request #894 from ONLYOFFICE/fix/v7.1.0-fix-bugs3
.
2022-04-08 17:25:40 +03:00
993eb9809d . 2022-04-08 17:25:00 +03:00
660e7a8f4e Fix xps with empty PageContent node 2022-04-08 15:37:58 +03:00
103611fd74 Merge pull request #893 from ONLYOFFICE/fix/v7.1.0-fix-bugs3
Fix/v7.1.0 fix bugs3
2022-04-08 11:50:00 +03:00
e3b54624c3 fix bug #55849 2022-04-08 11:47:43 +03:00
5ea2bc345c Fix bugs with text in svgwriter 2022-04-07 21:06:33 +03:00
068868953f Fix bug 56484 2022-04-07 18:29:44 +03:00
4973518a1f Fix bug 56471 2022-04-07 17:21:57 +03:00
840caf8ba4 Refactoring 2022-04-07 13:52:33 +03:00
4f90a015a9 test pdf.bin 2022-04-06 18:22:28 +03:00
a80642bfaf Corrected the definition of parity 2022-04-06 14:22:04 +03:00
14801e3620 Working with reading and drawing regions 2022-04-06 14:22:04 +03:00
bfadbbb73f Merge branch 'release/v7.1.0' into fix/v7.1.0-fix-bugs3 2022-04-05 18:11:13 +03:00
01cff05f71 Merge pull request #891 from ONLYOFFICE/release/v7.1.0
Release/v7.1.0
2022-04-05 15:13:20 +03:00
20bf33ca68 [native] Add event type of image url change. 2022-04-05 14:16:24 +03:00
9a397e8882 Merge pull request #890 from ONLYOFFICE/fix/pdf-encryption
Fix pdf encryption
2022-04-05 13:39:48 +03:00
ff84f09478 fix bug in encrypt
Note that the pad is present when M is evenly divisible by 16. EXAMPLE A 9-byte message has a pad of 7 bytes, each with the value 0x07.
2022-04-05 12:50:56 +03:00
4e7f35c108 Merge pull request #889 from ONLYOFFICE/release/v7.1.0
Move ft_library to cache class from manager
2022-04-04 20:17:46 +03:00
923540e5b5 Move ft_library to cache class from manager 2022-04-04 20:04:54 +03:00
9dd175bb82 fix page annotations 2022-04-04 18:38:26 +03:00
55428c64fb Merge pull request #888 from ONLYOFFICE/release/v7.1.0
Release/v7.1.0
2022-04-04 13:44:00 +03:00
8bd724353e for bug #55901 2022-04-04 09:50:37 +03:00
f2dd9d1a5f add page by index 2022-04-01 16:41:02 +03:00
9220b65861 create page tree and edit/remove pages 2022-04-01 15:14:06 +03:00
f4e1082ab5 Fix bug #48052 2022-04-01 14:52:51 +03:00
d01a4f1c4d For bug 56317 2022-04-01 14:30:15 +03:00
f8be868a2b For bug 46818 2022-04-01 12:05:40 +03:00
93fa98720c For bug 56165 2022-03-31 21:11:57 +03:00
6b737f4b55 For bug 56205 2022-03-31 20:14:29 +03:00
a40242fb86 Add functions for xml engine 2022-03-31 19:30:18 +03:00
73845ec7fd Add method for work with xml with different BOM 2022-03-31 18:04:22 +03:00
a7a4a48a2c remove page from page tree 2022-03-31 18:01:40 +03:00
7f0691ee09 Fix bug 56180 2022-03-31 18:00:01 +03:00
4db485cc8a Fix crash with not valid fonts (pdf=>docx) 2022-03-31 12:19:06 +03:00
a8e1f9117f Fix typo 2022-03-31 11:41:27 +03:00
fc52fb3c17 Merge pull request #886 from ONLYOFFICE/release/v7.1.0
Release/v7.1.0
2022-03-31 11:39:05 +03:00
8eb21889bf Fix bug 56275 2022-03-30 21:22:15 +03:00
d67b672a0c clear page tree from deleted page 2022-03-30 18:27:11 +03:00
286eb3fe9a Fix logic bug because of which with memory problems 2022-03-30 15:58:54 +03:00
e88f00c27d Fix build for 32bit platform 2022-03-30 14:05:09 +03:00
27ccd7d2d3 Added scaling of some values and refactoring 2022-03-30 10:00:57 +03:00
441ec10b5f fix deleted destination link 2022-03-29 16:17:46 +03:00
240a553c55 add page remove 2022-03-29 16:13:53 +03:00
77dc170f13 fix bug #54765 2022-03-29 14:42:53 +03:00
d43563fa75 fix page params and add page rotate 2022-03-28 18:19:47 +03:00
258e4cda5a For bug 55777 2022-03-28 17:37:48 +03:00
ab2235f7cd fix bug #56012 2022-03-28 14:31:22 +03:00
a2fc2fb9d6 Merge pull request #885 from ONLYOFFICE/fix/v7.1.0-fix-bugs3
fix bug #56304
2022-03-28 11:49:10 +03:00
96a3ac70ca fix bug #56304 2022-03-28 11:34:36 +03:00
61b5ad4e02 Merge pull request #884 from ONLYOFFICE/fix/v7.1.0-fix-bugs-ppt
fix bug #56110
2022-03-28 10:15:21 +03:00
88435e51bb Merge pull request #883 from ONLYOFFICE/release/v7.1.0
Release/v7.1.0
2022-03-27 18:29:51 +03:00
8c0843b218 Add type for qrenderer 2022-03-27 18:28:53 +03:00
5e7b33ba61 Add CMaps 2022-03-26 22:59:26 +03:00
d6d117c5dd fix bug #56110 2022-03-25 22:37:15 +03:00
ded794244d [Test] Update tests 2022-03-25 18:26:05 +03:00
ecc44c6cec fix pred CTM and size of Page 2022-03-25 17:40:58 +03:00
5e8422be62 Merge pull request #881 from ONLYOFFICE/fix/v7.1.0-fix-bugs3
fix bug #56300
2022-03-25 15:55:20 +03:00
b0fd733e95 fix bug #56300 2022-03-25 15:11:37 +03:00
a86ed9ee33 fix ID, need final CTM 2022-03-24 18:09:36 +03:00
f201a55045 Merge pull request #880 from ONLYOFFICE/fix/v7.1.0-fix-bugs3
fix bug #56057
2022-03-23 20:12:05 +03:00
0ec2180022 update pdf with RC4 Encrypt 2022-03-23 17:39:51 +03:00
d03f203553 fix bug #56057 2022-03-23 17:33:34 +03:00
346744aa02 fix bug in encrypt
Note that the pad is present when M is evenly divisible by 16. EXAMPLE A 9-byte message has a pad of 7 bytes, each with the value 0x07.
2022-03-23 14:11:12 +03:00
1f24c4fbec Fix standardtester crash 2022-03-22 19:15:00 +03:00
22515b9f0c Rename property 2022-03-22 18:58:37 +03:00
128118003b add support RC4 and AES FileKey 2022-03-22 18:04:45 +03:00
49eff29fac Fix bugs in document info 2022-03-22 15:51:10 +03:00
e3faa6db48 Add getDocumentInfo method 2022-03-22 11:45:18 +03:00
54163e612a Add speed logger to doctrenderer 2022-03-21 22:14:52 +03:00
bb9897acbf Merge pull request #878 from ONLYOFFICE/feature/odf_2
Update MathConverter.cpp
2022-03-21 17:44:08 +03:00
02fa4142a7 calculate encryption key 2022-03-21 17:32:45 +03:00
e06edbc6fe Update MathConverter.cpp
Annotation
2022-03-21 17:31:07 +04:00
d05a7233db Merge pull request #877 from ONLYOFFICE/feature/jp2
Feature/jp2
2022-03-20 11:41:44 +03:00
efdc370ca2 Mac build 2022-03-20 11:39:42 +03:00
1d9dc39390 Linux build 2022-03-20 10:54:09 +03:00
f5c5d1fb57 New engine for jpeg2000 2022-03-18 21:54:47 +03:00
4decd0c631 update pdf with AES256 Encrypt 2022-03-18 14:29:20 +03:00
c2c69d2a8e Merge remote-tracking branch 'origin/release/v7.1.0' into develop 2022-03-18 11:11:43 +03:00
1e13179d78 Merge pull request #875 from ONLYOFFICE/fix/v7.1.0-fix-bugs-ppt
Fix/v7.1.0 fix bugs ppt
2022-03-18 11:08:39 +03:00
ff03e6c2a8 Merge remote-tracking branch 'origin/release/v7.1.0' into fix/v7.1.0-fix-bugs-ppt 2022-03-18 11:07:04 +03:00
71e4ddb7b4 Merge branch 'refs/heads/fix/v7.0.0-ppt1' into fix/v7.1.0-fix-bugs-ppt 2022-03-18 10:49:05 +03:00
c1532e8e1f Merge pull request #874 from ONLYOFFICE/fix/v7.1.0-fix-bugs
Fix/v7.1.0 fix bugs
2022-03-17 23:11:51 +03:00
468f5dd0b1 fix bug #54124 2022-03-17 18:05:02 +03:00
a4be4bcc56 fix bug #56098 2022-03-17 17:41:12 +03:00
fe19e83d1e for bug #55915 2022-03-17 15:09:26 +03:00
1928974f0a Merge pull request #873 from ONLYOFFICE/fix/v7.1.0-fix-bugs
Fix/v7.1.0 fix bugs
2022-03-17 09:33:48 +03:00
9161d5d3fb fix bug #56072 2022-03-17 09:32:33 +03:00
2825342c14 fix bug #56071 2022-03-17 09:16:53 +03:00
4b2cc293cf Refactoring pdf 2022-03-16 21:27:35 +03:00
cd75c6e502 Fix typo 2022-03-16 19:40:07 +03:00
3de0f27479 . 2022-03-16 18:10:00 +03:00
9c6fa52d76 Fix bug 55442 2022-03-15 19:51:24 +03:00
54a3b6efd6 fix test 2022-03-15 18:14:47 +03:00
1406c5c781 Improve speed of drawing images 2022-03-15 17:13:12 +03:00
224ba9144d fix in bug 54031 default value 2022-03-15 15:35:50 +03:00
35a3c4e803 fix bug #54031 2022-03-15 15:26:35 +03:00
e7a62ee9d4 fix write stream 2022-03-15 11:19:15 +03:00
96bdb12014 Merge pull request #872 from ONLYOFFICE/fix/v7.1.0-fix-bugs
fix bug #56025
2022-03-15 09:37:55 +03:00
9a953c7182 fix bug #56025 2022-03-15 09:37:03 +03:00
b81a43d6bb cross-reference stream 2022-03-14 18:06:22 +03:00
4ca1ea0595 Fix build 2022-03-14 10:35:34 +03:00
5b4d1d0bae Merge pull request #871 from ONLYOFFICE/fix/drawingfile-info
fix drawingfile info
2022-03-13 09:29:02 +03:00
ac94da49fd fix replace_all to NSStringExt::Replace 2022-03-11 20:35:09 +03:00
6ac102569e fix xps 2022-03-11 20:09:05 +03:00
8bb58c35cb fix quotes 2022-03-11 18:29:47 +03:00
1137a38594 Fix bug 55845 2022-03-11 17:42:55 +03:00
6a3fad4a3a . 2022-03-11 17:02:15 +03:00
43c935b79e Merge branch 'feature/odf_2' into develop 2022-03-11 17:02:05 +03:00
1ef9329036 Merge pull request #869 from ONLYOFFICE/fix/drawingfile-info
Fix/drawingfile info
2022-03-11 16:59:32 +03:00
feb203abc2 Merge branch 'feature/xlsb_2' into develop 2022-03-11 15:59:41 +03:00
9ae39513d3 Merge branch 'release/v7.1.0' into develop 2022-03-11 15:53:27 +03:00
c8b91b8e61 Merge pull request #870 from ONLYOFFICE/fix/v7.1.0-fix-bugs2
Fix/v7.1.0 fix bugs2
2022-03-11 15:39:15 +03:00
c23a0ee4a8 fix bug #55940 2022-03-11 15:38:06 +03:00
a90b578e9c Fix bug 55987 2022-03-11 14:48:27 +03:00
328395dfea fix GetInfo 2022-03-11 12:32:46 +03:00
a5baf69f57 Added support for rendering Wmf in Emf+ records 2022-03-11 10:48:36 +03:00
62445265e6 Refactoring 2022-03-10 18:35:40 +03:00
a18d19b6f7 optimize 2022-03-10 17:55:58 +03:00
8ef62fd670 djvu GetInfo 2022-03-10 17:40:05 +03:00
0852fc134e xps GetInfo 2022-03-10 15:16:54 +03:00
191669ea1a [xlsb][read] add default value for pivots 2022-03-10 12:56:14 +03:00
af28e9d319 annotation fix 2022-03-10 13:03:55 +04:00
22b00f4354 for bug #55803 2022-03-10 11:48:00 +03:00
5b3860103e fix bug #55894 2022-03-10 11:20:34 +03:00
2604226810 pdf GetInfo 2022-03-10 11:12:11 +03:00
6c25c52a50 create GetInfo 2022-03-09 19:01:22 +03:00
8c6b665fc5 fix zlib
If delete unread file in open file, then don't need to free the file pointer
2022-03-09 17:14:03 +03:00
c4a767e038 Merge pull request #867 from ONLYOFFICE/fix/v7.1.0-fix-bugs2
fix bug #55919
2022-03-09 16:15:21 +03:00
fa40db9ce2 fix bug #55919 2022-03-09 16:14:14 +03:00
bca42bf3de Add module for text engine 2022-03-06 14:10:08 +03:00
4d1c217905 Added support for EMR_FILLRGN recording 2022-03-05 15:55:47 +03:00
855245068c Correct colors for hatch brushes 2022-03-04 18:14:52 +03:00
583c6b4944 Merge remote-tracking branch 'origin/master' into release/v7.1.0 2022-03-04 18:06:01 +03:00
ede2accb1c add <a:pPr hangingPunct=1> val and correct buChar when buFont.charset==10 2022-03-04 16:08:51 +03:00
edf7e2b4f0 [xlsb][read] skip USERSHVIEWS (customSheetView) 2022-03-04 12:52:32 +03:00
758f59303a Merge pull request #865 from ONLYOFFICE/fix/v7.1.0-fix-bugs
fix mac build
2022-03-04 11:55:20 +03:00
12b710d212 fix mac build 2022-03-04 11:54:45 +03:00
fec6f7b85f Merge pull request #864 from ONLYOFFICE/feature/de-prst-dash
[de][native]prstDash
2022-03-04 11:30:00 +03:00
22d1811e94 [xlsb][read] add check on default value in sheetData 2022-03-03 22:33:26 +03:00
8262f8802c [xlsb][read] add write each readed worksheet in file (xlsb -> xlsx) 2022-03-03 18:12:54 +03:00
715425185b [xlsb][read] fix for fmlas 2022-03-02 20:16:57 +03:00
dd260234e4 Add support formats in text format for builderJS object 2022-03-02 18:53:57 +03:00
613df67e27 Merge branch 'release/v7.1.0' of https://github.com/ONLYOFFICE/core into release/v7.1.0 2022-03-02 17:04:08 +03:00
06258d3c74 Fix bug 55759 2022-03-02 17:03:20 +03:00
af801f1dcc Merge pull request #863 from ONLYOFFICE/fix/v7.1.0-fix-bugs
Fix/v7.1.0 fix bugs
2022-03-02 11:17:55 +03:00
0cae25d1d5 fix #55830 2022-03-02 11:17:10 +03:00
988cbc406d . 2022-03-02 09:40:57 +03:00
1ec288eb9a [xlsb] add external sheet name in formulas 2022-03-01 23:46:33 +03:00
bb4cf4eebc Minor defects have been fixed 2022-03-01 22:04:47 +03:00
750a9bde7e Merge pull request #862 from ONLYOFFICE/fix/v7.1.0-fix-bugs
Fix/v7.1.0 fix bugs
2022-03-01 20:02:02 +03:00
ec2ddfb477 for bug #55298 2022-03-01 20:01:07 +03:00
a472fe382a fix bug #55819 2022-03-01 19:59:27 +03:00
91c065377f Fix bug 55831 2022-03-01 18:22:12 +03:00
f8df8a0afe Remove unused files 2022-03-01 18:07:28 +03:00
4f3bd8b91b [xlsb] add memory optimization for convert xml sheetData from Unicode to
UTF8
2022-02-28 20:33:43 +03:00
fa56a45026 [xlsb] memory optimizations for large sheetData 2022-02-28 19:40:52 +03:00
2259629dba Fix bug #55460 2022-02-28 15:23:19 +03:00
9af13304d5 Partially changed calculations of the angle and position of lineCap 2022-02-25 20:37:32 +03:00
6f4bcbb548 LineCaps implementation started 2022-02-25 18:13:34 +03:00
b5c502714c Fix bug with font streams 2022-02-25 14:38:02 +03:00
33d688543d Merge pull request #861 from ONLYOFFICE/fix/v7.1.0-fix-math-odf
fix delimetr
2022-02-25 12:38:27 +03:00
7fe60af017 Merge pull request #860 from ONLYOFFICE/fix/v7.1.0-fix-bugs
fix bug #55290
2022-02-25 12:25:39 +03:00
24ba23f132 fix bug #55290 2022-02-25 12:21:12 +03:00
ef7d753e03 Merge pull request #859 from ONLYOFFICE/fix/v7.1.0-fix-bugs
fix bug #55662
2022-02-25 11:50:49 +03:00
4cd39bbcbd fix bug #55662 2022-02-25 11:49:44 +03:00
5b08350475 Merge remote-tracking branch 'origin/feature/xlsb_2' into develop 2022-02-25 10:57:42 +03:00
f847267c3c [xlsb] fix formula exception 2022-02-24 21:50:08 +03:00
c298122393 Fix bug 55485 2022-02-24 18:55:17 +03:00
8c7a59ed39 fix free memory in zlib 2022-02-24 17:59:35 +03:00
b5e3467cc3 fix realloc 2022-02-24 16:36:51 +03:00
5f434e77db fix ExtGStates 2022-02-24 14:58:22 +03:00
aa6f11ee62 [de][native]prstDash 2022-02-24 12:19:20 +03:00
4d10b801bb xlsb - optimization for PivotCacheRecords 2022-02-22 21:11:25 +03:00
e78dbed50d LineCaps implementation started and refactoring 2022-02-22 20:27:52 +03:00
7b853f2136 fix delimetr 2022-02-22 17:09:02 +03:00
2906945525 [ios] Remove dependency ImageUtils_ios.h 2022-02-22 15:27:35 +03:00
93fe2e8f50 Fix bug 55190 2022-02-22 13:49:46 +03:00
1b7111bb03 Merge remote-tracking branch 'origin/feature/xlsb_2' into develop 2022-02-22 13:26:33 +03:00
c2dd57e895 Merge remote-tracking branch 'origin/feature/xlsb_2' into develop 2022-02-22 13:26:27 +03:00
8534679f04 [xlsb] . 2022-02-22 13:22:35 +03:00
b52180ff9a fix binary string 2022-02-22 12:30:47 +03:00
7c83535528 Merge branch hotfix/v7.0.1 into master 2022-02-22 08:13:32 +00:00
db8a0b3a6f [xlsb] some fixes for optimization 2022-02-22 10:54:01 +03:00
262fb3314c Fix crash with base14 fonts 2022-02-22 10:52:47 +03:00
7f6d3186cf fix test 2022-02-21 18:18:21 +03:00
3e5f946338 Merge pull request #855 from ONLYOFFICE/fix/v7.1.0-fix-bugs
fix embedded xlsx from chart
2022-02-21 18:13:42 +03:00
17a7820d96 fix embedded xlsx from chart 2022-02-21 18:12:44 +03:00
320befbc53 . 2022-02-21 16:29:41 +03:00
e9d42264c0 Merge branch 'feature/odf_2' of https://github.com/ONLYOFFICE/core into feature/odf_2 2022-02-21 15:51:30 +03:00
5abab316fb some fixes 2022-02-21 15:51:01 +03:00
2316968096 Refactoring & binary with test commands 2022-02-21 12:08:49 +03:00
5b17cf6da3 . 2022-02-21 11:41:11 +03:00
177a57e4ef . 2022-02-21 11:19:46 +03:00
59924c4b4e Merge pull request #853 from ONLYOFFICE/release/v7.1.0
Release/v7.1.0
2022-02-21 09:50:26 +03:00
b4cd2f065d . 2022-02-20 20:58:33 +03:00
59d420543f . 2022-02-20 20:49:25 +03:00
6305ac3f20 Fix crash with pick font by character 2022-02-20 18:07:06 +03:00
c701d480b8 Fix bugs with pdf to docx convertation 2022-02-20 16:21:30 +03:00
195709f629 ofstream->NSFile 2022-02-20 14:49:04 +03:00
084ae03ddb fix linux build 2022-02-20 14:30:32 +03:00
4725acd2e7 Merge branch 'develop' into feature/odf_2 2022-02-18 18:34:22 +03:00
609afe6de3 . 2022-02-18 18:33:17 +03:00
17ea6e66c8 fix build graphics 2022-02-18 14:27:01 +03:00
b8144ef394 Refactoring hunspell module 2022-02-18 12:55:00 +03:00
bb700daba1 [xlsb] fix bugs with formulas 2022-02-18 01:40:46 +03:00
9bfe8762ff trailer from pred xref 2022-02-17 17:04:18 +03:00
444e82d520 Merge remote-tracking branch 'remotes/origin/feature/emf_wmf' into develop 2022-02-17 14:43:55 +03:00
046cbc06cf Add new page in edit pdf 2022-02-17 13:46:28 +03:00
5b9c2383cf . 2022-02-17 12:20:34 +03:00
908609c3f8 Merge pull request #852 from ONLYOFFICE/fix/v7.1.0-fix-bugs
fix bug #55567
2022-02-16 20:49:27 +03:00
b22eeeab9d fix bug #55567 2022-02-16 20:48:20 +03:00
b625b724c7 Merge remote-tracking branch 'origin/release/v7.1.0' into develop 2022-02-16 16:43:45 +03:00
54bb1e79d3 Merge pull request #851 from ONLYOFFICE/feature/xlsb_2
[xlsb] add optimization for reading sheetData
2022-02-16 16:43:07 +03:00
643dc749f2 Merge pull request #850 from ONLYOFFICE/fix/v7.1.0-fix-bugs
Fix/v7.1.0 fix bugs
2022-02-16 16:41:24 +03:00
4dd402f49a fix bug #50094 2022-02-16 16:40:15 +03:00
f0aa7d3212 for bug #55298 2022-02-16 15:36:18 +03:00
721e4ec5d8 Merge pull request #847 from ONLYOFFICE/feature/downloader
Feature/downloader
2022-02-16 12:43:30 +03:00
e632f0df3f [de][native] Add shadow structure 2022-02-16 08:36:23 +03:00
c371fea966 [xlsb] add optimization for reading sheetData 2022-02-15 21:42:42 +03:00
bd63cc0d6b Fixed bugs 2022-02-15 21:07:31 +03:00
b05605a24b add PageTree 2022-02-15 18:42:32 +03:00
35a86586ab Merge pull request #849 from ONLYOFFICE/fix/bug-55460
Fix bug #55460
2022-02-15 11:51:25 +03:00
00fa7e7afe Fix bug #55460 2022-02-15 11:38:54 +03:00
e9535abe9f for bug #55298
fix controls & forms spreadsheets
2022-02-14 20:05:50 +03:00
dac870635f . 2022-02-14 10:31:58 +03:00
1c2a45aa98 Merge remote-tracking branch 'origin/release/v7.1.0' into develop 2022-02-13 17:43:10 +03:00
743800155c Merge pull request #848 from ONLYOFFICE/fix/v7.1.0-fix-bugs
Fix/v7.1.0 fix bugs
2022-02-13 17:37:34 +03:00
ee5fed4dbb fix bug #55465
fix & extend biff2, biff3, biff4
2022-02-13 17:36:32 +03:00
444cdb6b9a . 2022-02-13 11:22:28 +03:00
894239a034 . 2022-02-12 15:04:57 +03:00
b8091509f4 Merge pull request #846 from ONLYOFFICE/fix/xpsFonts
fix xps fonts
2022-02-12 11:44:23 +03:00
0239816790 delete pSlashPoints 2022-02-12 10:42:16 +03:00
f0bda85e87 fix 2022-02-11 19:22:17 +03:00
5a42572d79 common NormalizePath 2022-02-11 18:39:52 +03:00
8cd9dfaef4 fix ../ in paths zlib 2022-02-11 18:20:29 +03:00
eeb757f5a4 simple interface 2022-02-11 15:13:48 +03:00
fa6b903edc .. clearning waste 2022-02-11 11:55:13 +03:00
747341f8eb Merge branch 'release/v7.1.0' into develop 2022-02-11 10:39:40 +03:00
da48349248 Merge remote-tracking branch 'origin/feature/xlsb_2' into develop 2022-02-11 10:38:43 +03:00
c83b1d9f67 [xlsb] fix bugs with slicer in Pivot Table 2022-02-10 23:05:04 +03:00
a7e4ced942 [xlsb] fix bug with id table and corresponding slicers 2022-02-10 19:01:22 +03:00
70277f26bd fix 2022-02-10 18:26:18 +03:00
cd34915ef9 fix fonts 2022-02-10 18:06:45 +03:00
e45a14e8df Merge pull request #845 from ONLYOFFICE/fix/v7.1.0-fix-bugs
Fix/v7.1.0 fix bugs
2022-02-10 17:56:35 +03:00
953a14ce13 Merge branch 'release/v7.1.0' into fix/v7.1.0-fix-bugs 2022-02-10 17:54:17 +03:00
ee79088f92 fix bug #55436 2022-02-10 17:44:07 +03:00
422b462bb8 Refactoring and fixed bugs 2022-02-10 17:42:11 +03:00
984e343ae1 fix array contents 2022-02-10 15:43:39 +03:00
550039df32 [xlsb] some fixes 2022-02-10 14:57:09 +03:00
1e2614ece9 for bug #55431 2022-02-10 10:17:52 +03:00
a4c2eff0de added simple text shadow 2022-02-09 20:55:52 +03:00
b6d868a176 [xlsb] fix bugs in pivot table (2) 2022-02-09 20:25:48 +03:00
1b31dc3b72 Fixed bugs 2022-02-09 19:08:40 +03:00
b47e7155ab . 2022-02-09 18:35:24 +03:00
ca2d91a7f8 for bug #55298 2022-02-09 18:35:10 +03:00
89d70ff2cb [xlsb] fix bugs in pivot table 2022-02-09 17:49:40 +03:00
beb86b072c fix FlateDecode for new contents 2022-02-09 16:44:27 +03:00
e796ed7d72 small refactoring OdfReader includes paths 2022-02-08 21:54:34 +03:00
ebb375dfda small refactoring XlsFormat includes paths 2022-02-08 21:37:20 +03:00
7f30be5eba Remove extra deps 2022-02-08 21:30:02 +03:00
986a7783ab Merge branch 'develop' into feature/odf_2 2022-02-08 20:30:01 +03:00
47be7419d2 Merge remote-tracking branch 'origin/release/v7.1.0' into develop 2022-02-08 20:29:40 +03:00
6c1434724f Merge pull request #844 from ONLYOFFICE/fix/v7.1.0-fix
.
2022-02-08 20:28:45 +03:00
f6a0121f1a . 2022-02-08 20:28:07 +03:00
c7b7bd928c [xlsb] fix bugs 2022-02-08 20:14:46 +03:00
40b53144a8 fix spaces 2022-02-08 16:53:18 +03:00
5920ff19d1 appending to a pdf page 2022-02-08 15:23:03 +03:00
7cce201567 Merge branch 'develop' into feature/emf_wmf 2022-02-08 14:41:36 +03:00
5fe1188c5b The error has been removed 2022-02-08 14:40:21 +03:00
a95d7117c7 Fixed bags and implementation of text rendering in Emf+ records has begun 2022-02-08 13:58:48 +03:00
b569af10a5 . 2022-02-08 13:12:49 +03:00
cff91a5235 Merge branch 'develop' into feature/odf_2 2022-02-08 09:40:13 +03:00
0aee8e6d53 Merge remote-tracking branch 'origin/release/v7.1.0' into develop 2022-02-08 09:36:43 +03:00
00a18714e4 Merge pull request #840 from ONLYOFFICE/fix/v7.1.0-fix-bugs-odf2
Fix/v7.1.0 fix bugs odf2
2022-02-08 09:33:41 +03:00
aecf675627 . 2022-02-08 09:30:23 +03:00
ee3898085c some fixes 2022-02-08 08:01:27 +03:00
73e5c70e39 [xlsb] add PCRRecord 2022-02-07 23:59:16 +03:00
3694c008ea trying to fix 54125 2022-02-07 22:38:51 +03:00
45f5ba45f7 passing CPage as xml to PdfWriter 2022-02-07 18:46:27 +03:00
915e41e0ac fix bug #55239 2022-02-07 17:03:50 +03:00
b0e9f2a255 fix bug #55235 2022-02-07 14:39:54 +03:00
1d7b17f149 [xlsb] fix bugs and add pivotCacheID in workbook 2022-02-07 12:50:15 +03:00
45d3a1d490 Refactoring icu includes path 2022-02-07 10:06:40 +03:00
dc574f6606 [x2t] For bug 55284 2022-02-06 13:02:42 +03:00
70d591d505 Added support for recording EMR_CREATEMONOBRUSH, fixed bugs with brushes and pens 2022-02-04 19:05:14 +03:00
32464079da appending to our pdf
page resources are not migrated
2022-02-04 17:07:38 +03:00
ea70fb9404 Refactoring 2022-02-04 16:21:52 +03:00
c09f25b8d0 Fix bug #33395
Fix the problem with parsing embedded truetype font
2022-02-04 16:06:21 +03:00
132c041182 Refactoring TextAssociation types 2022-02-04 16:05:48 +03:00
c886341ac1 Fix bug 53831 2022-02-04 15:03:06 +03:00
45121fa2f8 fix 2022-02-04 08:51:32 +03:00
526523c5a3 fix bug #52780 2022-02-04 00:19:42 +03:00
4fab74ffdd Merge branch 'fix/v7.1.0-fix-bugs-odf' into fix/v7.1.0-fix-bugs-odf2 2022-02-03 22:24:07 +03:00
27a7c792b0 Fixed some bugs related to brushes, pens and lack of font 2022-02-03 20:23:22 +03:00
d25a2a79d8 bug 55239 2022-02-03 19:56:21 +03:00
5e24200521 get Page object from PdfReader 2022-02-03 18:25:14 +03:00
6ed6802123 . 2022-02-03 14:47:24 +03:00
76f4c5bfe3 fix part of #52780 2022-02-02 21:34:37 +03:00
e5aceb9b8c Add CPageForWriter 2022-02-02 17:12:20 +03:00
f9f887535f fix bug #55290 2022-02-02 16:41:50 +03:00
f88b208a57 Merge branch 'develop' of https://github.com/ONLYOFFICE/core into feature/xlsb_2 2022-02-02 13:28:00 +03:00
30025abbed for xlsb pivots 2022-02-02 12:59:37 +03:00
84ac4f343d fix bug #54032 2022-02-01 20:46:33 +03:00
0773ad19e6 Add statistics to viewer 2022-02-01 20:14:30 +03:00
c89a45e08b Revert "girignore"
This reverts commit 20760b8ce2.
2022-02-01 18:37:15 +03:00
d632fcc2a2 Merge pull request #838 from ONLYOFFICE/fix/bug55177
Fix bug 55177
2022-02-01 18:05:13 +03:00
b2087497ae [xlsb] fix bug with cell type 2022-02-01 18:01:58 +03:00
ece6f2a907 Merge branch 'develop' into feature/downloader 2022-02-01 17:50:54 +03:00
e5472df42c fix empty wsFontBaseName
fix bug 55177
2022-02-01 17:35:01 +03:00
f395aa1257 Merge pull request #837 from ONLYOFFICE/fix/bug55177
Fix bug 55177
2022-02-01 16:18:56 +03:00
a326867444 fix bug 55177 2022-02-01 16:16:34 +03:00
732c29b2cb . 2022-02-01 14:57:10 +03:00
e5b9dfca5d creation new page object 2022-02-01 14:54:31 +03:00
45c7f8b9f6 Remove unused files 2022-02-01 14:18:06 +03:00
32f0be300a Merge remote-tracking branch 'origin/feature/xlsb_2' into develop 2022-02-01 13:39:35 +03:00
24fe803997 Merge branch 'release/v7.1.0' into develop 2022-02-01 13:38:57 +03:00
41eeaf8cd7 some fixes 2 2022-02-01 10:20:14 +03:00
daa7328a86 [xlsb] fix bugs 2022-01-31 22:48:57 +03:00
bf656716ed correct <a:endParaRPr> for #54032 2022-01-31 22:47:20 +03:00
372366adc0 some fixes 2022-01-31 18:08:34 +03:00
6b4566fe9a Merge pull request #836 from ONLYOFFICE/fix/bug55177
Fix bug 55177
2022-01-31 15:55:21 +03:00
59836490a3 Fix bug 55177
xpdf itself tries to handle the error and if it succeeds, then isOk will be gTrue
2022-01-31 15:49:54 +03:00
7e0613e2e9 add to pdf moved to PdfReader 2022-01-31 13:34:00 +03:00
e82902f387 [xlsb] fix exception and add to logic.cpp 2022-01-31 13:00:29 +03:00
20760b8ce2 girignore 2022-01-31 12:30:11 +03:00
8ab7ddd5ca Merge pull request #835 from ONLYOFFICE/fix/v7.1.0-fix-bugs-odf
fix bug with Large Operator
2022-01-31 11:13:50 +03:00
60cbfc54e8 fix bug with Large Operator 2022-01-31 10:47:13 +03:00
32f755dc10 Merge branch 'release/v7.1.0' of https://github.com/ONLYOFFICE/core into feature/xlsb_2 # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty message aborts # the commit. [xlsb] merge with release/v7.1.0 2022-01-30 23:57:11 +03:00
855fb66aef [xlsb] add PIVOTCACHEDEF (fill inside objects) 2022-01-30 23:11:32 +03:00
0064635fe7 Merge branch 'feature/odf_2' of https://github.com/ONLYOFFICE/core into feature/odf_2 2022-01-30 19:54:58 +03:00
fb6142cb9d Other annotations with some bugs 2022-01-30 19:54:33 +03:00
5e62690318 The problem with missing lines due to the lack of pen thickness has been solved, minor bugs have been fixed 2022-01-28 20:26:27 +03:00
2750b471ba [test] For bug 55091 2022-01-28 19:42:39 +03:00
5d4dbb3eb5 fix bug #52199 2022-01-28 18:37:44 +03:00
08471d634f [Test] Update tests 2022-01-28 16:48:31 +03:00
6a64a2849c Refactoring 2022-01-28 16:47:33 +03:00
dfd40deb5c CShapeElement was replaced by shared_ptr<CElement> 2022-01-28 16:33:02 +03:00
4f5567cf3c test add in pdf 2022-01-28 15:57:30 +03:00
bc28411096 add table txBody and bullets 2022-01-28 15:29:21 +03:00
2f330e16a6 fix bug #54562 2022-01-28 13:39:49 +03:00
4dbd3b05e9 add wrap=none 2022-01-28 12:02:19 +03:00
4a93c91011 Fix bug 47558 2022-01-28 11:39:25 +03:00
d1dc39447d fix bug #53860 2022-01-28 11:00:24 +03:00
8f1b0db9ae Merge remote-tracking branch 'origin/fix/v7.0.0-ppt1' into release/v7.1.0 2022-01-28 09:47:15 +03:00
e1e54ae2da Refactoring image interpolation 2022-01-27 22:04:18 +03:00
d2e0712a92 [xlsb] add PivotTable (fill inside objects) 2022-01-27 21:03:10 +03:00
43cb660f80 Added bitmap rendering of images embedded in EmfPlus recording 2022-01-27 20:29:15 +03:00
804d0822f2 Fix bug #54676
Fix the problem with inheritance
2022-01-27 18:52:10 +03:00
31af7b633d test reader-writer without x2t 2022-01-27 18:11:36 +03:00
e32f76c8db [pdf] Fix the problem with rendering images with soft mask 2022-01-27 17:16:07 +03:00
b339ea1866 Fix erasing path string when no file was selected 2022-01-27 17:08:57 +03:00
18f53a9350 fix bug #54124 2022-01-27 16:57:09 +03:00
9d42b9d4f4 Fix related links after moving project 2022-01-27 14:48:24 +03:00
574fa40950 Move test project to upper folder 2022-01-27 14:41:58 +03:00
561dc7e8c5 Set zoom to page height by default
Fix minor bugs
2022-01-27 14:34:09 +03:00
1fe1155834 Improve test pdf view example 2022-01-27 12:33:14 +03:00
52ae479593 Merge remote-tracking branch 'origin/hotfix/v7.0.1' into release/v7.1.0 2022-01-27 11:27:33 +03:00
5940f95c3f Merge pull request #834 from ONLYOFFICE/fix/pdfStructure
fix pdf structure
2022-01-27 11:11:49 +03:00
f188a48f48 fix empty NamedDest 2022-01-27 11:08:23 +03:00
c8f4f52e4f Fix main part of bug 54124 2022-01-26 18:31:54 +03:00
cdae42d897 . 2022-01-26 17:41:43 +03:00
291edf8319 fix bug #54530 2022-01-26 15:32:38 +03:00
53186e12d2 [Test] Update tests 2022-01-25 20:24:18 +03:00
8c2534b572 fix bug #55074 2022-01-25 17:46:13 +03:00
896832f05c [xlsb] add PIVOTCACHEDEF (record and unions only) 2022-01-25 17:19:27 +03:00
80c5e10c9d fix bug #54031 2022-01-25 15:34:59 +03:00
9649851e31 fix write pdf text 2022-01-25 15:08:17 +03:00
12a18a4e03 Correct table's bullets or <a:pPr> 2022-01-25 14:35:20 +03:00
95bca8599a fix bug #54713 2022-01-25 13:32:03 +03:00
4e8df0bc79 fix and correct bullets. But it's need refactoring 2022-01-25 11:43:24 +03:00
b49aa4413f fix bug #54625 2022-01-25 11:20:29 +03:00
03776dac88 [Network] debug 2022-01-25 00:18:32 +03:00
2a3f16a4d8 [Network] debug download "abort" flag on linux 2022-01-24 23:59:38 +03:00
26fbe3babf [Network] changed checking for 'aborted' thread's flag 2022-01-24 23:59:37 +03:00
e28e8b56b1 [Network] refactoring 2022-01-24 23:59:37 +03:00
536b080451 [Network] replaced isExit flag 2022-01-24 23:59:37 +03:00
952d16458c . 2022-01-24 20:38:33 +03:00
2dc6aa71de Refactoring and fix not table bullets 2022-01-24 18:28:34 +03:00
94f51bda81 xlsb->xlsx 2022-01-24 17:48:47 +03:00
6c056e4289 Merge branch 'release/v7.1.0' of https://github.com/ONLYOFFICE/core into release/v7.1.0 2022-01-24 16:55:28 +03:00
9e98968d04 Refactoring generation wasm drawingfile module 2022-01-24 16:54:42 +03:00
56925eff71 Fix ios build 2022-01-24 14:11:59 +03:00
012f04acd2 . 2022-01-24 11:37:57 +03:00
388b680547 fix xlsb->xlsx(t) 2022-01-24 01:09:16 +03:00
4c7e16a33c The principle of working with Emf files embedded in EmfPlus recording has been completely redesigned and refactoring 2022-01-22 22:04:25 +03:00
d997dae36c [Network] and [Kernel] add Cancel for downloader (windows) 2022-01-22 20:04:48 +03:00
920adde65f [Network] and [Kernal] add cancel from thread (linux) 2022-01-22 14:55:28 +03:00
7066a55813 [Test] Update tests 2022-01-21 17:49:22 +03:00
6b24197cf1 . 2022-01-21 16:05:27 +03:00
0c96caff02 fix conversion for streamGetChar 2022-01-21 16:01:21 +03:00
209a3874c8 Merge pull request #832 from ONLYOFFICE/fix/v7.0.1-fix-bugs
fix bug #55027
2022-01-21 15:34:22 +03:00
abc74e21d0 fix bug #55027 2022-01-21 15:33:26 +03:00
42478ac950 Merge branch 'release/v7.1.0' of https://github.com/ONLYOFFICE/core into release/v7.1.0 2022-01-21 15:03:03 +03:00
7dfe4af359 Add support darkMode in wasm module 2022-01-21 15:02:16 +03:00
c066c24449 fix bug #54957 2022-01-21 13:15:17 +03:00
4a6d338a08 fix bug #54625 2022-01-21 12:26:14 +03:00
9057ea652b Merge branch 'develop' into feature/pdfwriter 2022-01-21 10:35:54 +03:00
a9cb8de197 Refacrtoring wasm module 2022-01-20 20:31:00 +03:00
683955bb5e Merge pull request #831 from ONLYOFFICE/fix/v7.1.0-fix-bugs
Fix/v7.1.0 fix bugs
2022-01-20 11:57:07 +03:00
db2930ed33 for bug #54956 2022-01-20 11:54:17 +03:00
a763b497a2 fixbug #54713 2022-01-20 11:38:36 +03:00
ed86945e14 fix bug #54433 2022-01-19 18:05:17 +03:00
5a4ca8479f fix bug #54791 2022-01-19 17:11:37 +03:00
694ea6abe4 [xlsb] add remaining records and unions for PIVOTTABLE 2022-01-19 16:32:37 +03:00
9018e9a252 fix bug #51735 2022-01-19 16:14:11 +03:00
8bd6f45fb2 Merge remote-tracking branch 'origin/hotfix/v7.0.1' into release/v7.1.0 2022-01-19 14:22:36 +03:00
a5c4cb9438 Merge branch 'hotfix/v7.0.1' into fix/v7.0.0-ppt1 2022-01-19 11:50:50 +03:00
e78b399810 Merge pull request #830 from ONLYOFFICE/fix/v7.0-fix-bugs
Fix/v7.0 fix bugs
2022-01-19 11:39:52 +03:00
53f53200df Merge pull request #828 from ONLYOFFICE/feature/add-onProgress-downloader
Feature/add on progress downloader
2022-01-18 17:46:27 +03:00
f3f627572f Support text commands 2022-01-18 17:31:11 +03:00
916a84b041 [Network] add fix callBack onProgress for windows 2022-01-18 16:40:01 +03:00
1f0f8ae1b4 [Network] add fix callBack onProgress for curl linux (comment for mobile) 2022-01-18 16:16:23 +03:00
db67132ce2 Merge pull request #829 from ONLYOFFICE/release/v7.1.0
Fix typo
2022-01-18 15:35:05 +03:00
125110e805 Fix typo 2022-01-18 15:33:13 +03:00
fb2b4b2797 [Network] add save call onProcess on windows 2022-01-18 15:08:00 +03:00
539f1cab81 Merge pull request #827 from ONLYOFFICE/release/v7.1.0
Remove using graphics.pri in release mode
2022-01-18 15:05:56 +03:00
04e58e38f0 Remove using graphics.pri in release mode 2022-01-18 15:05:47 +03:00
2194dd5899 [Network] add callBack onProcess for curl (both variant) 2022-01-18 15:00:27 +03:00
2799b63869 Merge pull request #826 from ONLYOFFICE/release/v7.1.0
Add missed files
2022-01-18 12:06:15 +03:00
6d94535ff8 Add missed files 2022-01-18 12:06:04 +03:00
8fa09793eb Merge pull request #825 from ONLYOFFICE/release/v7.1.0
Fix build
2022-01-18 10:55:17 +03:00
8f29d012a2 Fix build 2022-01-18 10:53:31 +03:00
0a577290ba Merge pull request #824 from ONLYOFFICE/release/v7.1.0
Release/v7.1.0
2022-01-17 20:56:33 +03:00
79d5bdd78b Add missed file 2022-01-17 20:54:57 +03:00
23dd433b20 [Test] Update tests 2022-01-17 20:00:20 +03:00
194faf5eff Merge pull request #823 from ONLYOFFICE/feature/add-onProgress-downloader
[Test] add TestDownloader
2022-01-17 19:30:09 +03:00
8f9d36085b [Test] add TestDownloader 2022-01-17 19:26:47 +03:00
2342956bb1 Merge pull request #822 from ONLYOFFICE/feature/add-onProgress-downloader
[Network][FileDownloader] add callBack onProgress for windows
2022-01-17 19:05:03 +03:00
892c415382 [Network][FileDownloader] add callBack onProgress for windows 2022-01-17 19:02:56 +03:00
63ccb0fbee Fractions with Annotations 2022-01-17 18:41:38 +03:00
1136916768 Fix build wasm module 2022-01-17 18:20:32 +03:00
8e1d208ac2 pdf test incremental updates 2022-01-17 18:15:39 +03:00
e6b69fe2f4 Merge branch release/v7.0.0 into release/v7.1.0 2022-01-17 14:19:11 +00:00
9ca2b70ee3 Merge branch release/v7.0.0 into develop 2022-01-17 14:19:06 +00:00
1f976ae79a Merge branch release/v7.0.0 into master 2022-01-17 14:18:57 +00:00
79e57e8965 Merge pull request #818 from ONLYOFFICE/release/v7.1.0
Release/v7.1.0
2022-01-17 16:20:26 +03:00
795a7fcb3b Merge pull request #817 from ONLYOFFICE/fix/tmp7.1
Fix/tmp7.1
2022-01-17 16:18:03 +03:00
85a551fb63 Refactoring 2022-01-17 16:04:41 +03:00
b9d6b59991 Merge branch 'fix/drFile' into fix/tmp7.1 2022-01-17 13:32:45 +03:00
99ee15f65f [xlsb] add records and unions for PIVOTTABLE (without FRTSXVIEW) 2022-01-17 13:16:06 +03:00
487e9ae95a Merge pull request #815 from ONLYOFFICE/feature/add-custom-fonts-path
Add CUSTOM_FONTS_PATH env var
2022-01-16 20:19:48 +03:00
d7521d04a7 fix pptx binary group with chart & smart art 2022-01-14 18:26:46 +03:00
6af132ab18 Merge branch 'feature/odf_2' into develop 2022-01-14 16:51:04 +03:00
f42c1df7a9 . 2022-01-14 16:17:25 +03:00
c434d82807 Refactoring 2022-01-14 14:31:00 +03:00
b694019e19 Refactoring 2022-01-14 12:32:22 +03:00
e0185bd0c3 Refactoring 2022-01-14 10:42:11 +03:00
e13683874a Refactoring 2022-01-13 20:50:02 +03:00
28ac386e08 Refactoring 2022-01-13 20:11:38 +03:00
4b9da896ab fix bug #54485 2022-01-13 18:12:26 +03:00
1870b3fba4 Add changes 2022-01-13 16:30:54 +03:00
fb079be1bd fix debug win build 2022-01-12 21:00:43 +03:00
fc342a90ee Fix bug 54803 2022-01-12 18:24:18 +03:00
269855a862 Refactoring 2022-01-12 16:41:57 +03:00
bdacbac1b2 Merge pull request #814 from ONLYOFFICE/fix/bug54731
Fix bug 54731
2022-01-12 16:37:24 +03:00
88877241e3 Fix crash 2022-01-12 16:13:50 +03:00
6561216356 fix bug #54819 2022-01-11 19:10:16 +03:00
01a4770af4 [test] Fix test scripts 2022-01-11 19:07:32 +03:00
874129f41c Merge branch 'feature/number-format-locale' into develop 2022-01-11 17:45:57 +03:00
4e0cd2f9b0 Merge branch 'fix/v7.0.0-ppt1' of https://github.com/ONLYOFFICE/core into fix/v7.0.0-ppt1 2022-01-11 13:53:42 +03:00
64c361f806 [xlsb] add PivotCacheRecords (records, unions, fill inside objects) 2022-01-11 13:33:41 +03:00
f2c9aec380 Merge remote-tracking branch 'origin/release/v7.1.0' into develop 2022-01-11 11:22:20 +03:00
68582b65d1 Add CUSTOM_FONTS_PATH env var 2022-01-11 11:21:05 +03:00
2ef8b83da0 Merge branch 'release/v7.1.0' of https://github.com/ONLYOFFICE/core into release/v7.1.0 2022-01-10 18:57:45 +03:00
218b36ab8d . 2022-01-10 18:57:39 +03:00
8ebcbe8636 Merge pull request #811 from ONLYOFFICE/release/v7.1.0
Release/v7.1.0
2022-01-10 18:22:12 +03:00
5b7deea769 Fix android build 2022-01-10 18:21:33 +03:00
eb75805c88 Merge remote-tracking branch 'origin/fix/v7-fix-bugs' into release/v7.1.0 2022-01-10 17:44:17 +03:00
26fea8bf52 error in BinaryFileReader.getbase64DecodedData if v5 Editor.bin 2022-01-10 16:07:35 +03:00
44c5e23bc1 Merge pull request #810 from ONLYOFFICE/release/v7.1.0
Release/v7.1.0
2022-01-10 14:30:56 +03:00
b4f424737c Merge pull request #809 from ONLYOFFICE/feature/arm64
Feature/arm64
2022-01-10 14:27:19 +03:00
9484e549b4 Merge pull request #654 from ONLYOFFICE/feature/network/callback
[Common][Network] change typedef style func to c++11 std::function
2022-01-10 13:07:14 +03:00
2e054bf9d9 Developing... 2022-01-07 11:16:04 +03:00
c75e65eb4c Developing... 2022-01-04 19:07:37 +03:00
18c41a4846 [x2t] Fallback to xml mode if command line argument did nor recognized 2021-12-30 19:56:31 +03:00
61735c2790 [Test] Update tests; remove xsd:extension 2021-12-30 17:47:09 +03:00
461006b3b8 Added calculation of exact X-axis coordinates for rendering embedded Emf+ Emf records 2021-12-29 21:08:12 +03:00
e872a4c0ac . 2021-12-29 10:53:42 +03:00
5af2d1b472 fix name of .bin file for doctrenderer 2021-12-28 14:48:57 +03:00
6044929214 fix name of .bin file for doctrenderer 2021-12-28 11:10:27 +03:00
1175fd4150 [xlsb] add External links (records, unions, fill inside objects) 2021-12-27 14:55:18 +03:00
f293394cf4 . 2021-12-27 13:40:35 +03:00
c0c11cf928 DjVu to clean 2021-12-24 10:08:50 +03:00
ecbc73d33b OdfFormatWriter - add convert math equation in spreadsheets and presentation 2021-12-23 20:37:19 +03:00
4f9d22bcb0 Merge branch 'feature/odf' into develop 2021-12-23 20:17:10 +03:00
7a261ba649 Some fixes 2021-12-23 11:19:43 +03:00
81d95a9108 Merge pull request #808 from ONLYOFFICE/feature/mobile_footnote
Dev mobile footnote and endnote
2021-12-22 18:05:24 +03:00
57b46c22ef . 2021-12-21 16:36:12 +03:00
7ecfa52517 Merge remote-tracking branch 'origin/feature/xlsb_2' into develop 2021-12-21 16:12:39 +03:00
8de5e88469 [xlsb] fix bug (invisible cell value) 2021-12-21 15:58:39 +03:00
7f8988278c [xlsb] add to logic.cpp for release 2021-12-21 15:43:29 +03:00
26b2256fa8 Add footnote properties define 2021-12-21 13:57:33 +03:00
67facf5e69 fix nativegraphics test 2021-12-21 11:18:39 +03:00
92e2385650 DjVu GString return 2021-12-20 20:48:44 +03:00
ebec731098 [x2t] For xlsb opening 2021-12-20 20:15:06 +03:00
2fdcd75eab [xlsb] fix bugs and add chart sheet (records, unions, fill inside objects) 2021-12-20 20:02:19 +03:00
ccb5105ff7 Trying to fix 54124. 2021-12-20 18:36:35 +03:00
efeaf9b8d1 fix bug #54623 2021-12-20 17:29:34 +03:00
9e7d7a366d Restore stock freetype 2021-12-20 16:02:47 +03:00
af4a07d12f Merge pull request #807 from ONLYOFFICE/develop
Develop
2021-12-20 15:10:24 +03:00
a3b83ecace diakrit. symbols
semi results
2021-12-20 14:04:17 +03:00
955025a3a1 fix bug #54530 2021-12-17 16:20:27 +03:00
c0dd3db439 Merge branch 'feature/ppt_8' into fix/v7.0.0-ppt1 2021-12-17 12:20:25 +03:00
afe1c7b341 Add ExOleEmbedAtom. Trying to find diagram data 2021-12-17 11:14:28 +03:00
6d53f5745b [ios] Add NSDictionary and NSString extension 2021-12-16 18:02:27 +03:00
75bb782da7 PdfWriter test 2021-12-16 17:33:15 +03:00
b3d9d4cc6e Merge pull request #806 from ONLYOFFICE/fix/v7-fix-bugs
Fix/v7 fix bugs
2021-12-16 17:25:28 +03:00
03b10cb446 fix bug 2021-12-16 17:24:37 +03:00
53fcb5e639 [xlsb] add dataConsolidation (records, unions, fill inside objects) 2021-12-16 14:56:24 +03:00
b87dad75fc fix bug #54521 2021-12-16 11:57:59 +03:00
03a7332f8a [xlsb] fix bugs and add rwBreak, colBreak, picture, protectedRanges
(records, unions, fill inside objects)
2021-12-15 20:19:36 +03:00
c8a848766d [Test] Update DocxFormatCodeGen for js xml 2021-12-15 20:09:31 +03:00
f9103ee77c PdfWriterLibTest.pro 2021-12-15 14:53:57 +03:00
d21ad2ae43 Brackets 2021-12-15 10:46:28 +03:00
e1ce3d8456 DocxRenderer fix TempDirectory 2021-12-15 10:23:56 +03:00
8b6c3c288b [xlsb] fix bugs 2021-12-14 19:35:37 +03:00
0f9433c7ce [xlsb] oleObjects, controls, sheetPr (records, unions, fill inside
objects)
2021-12-14 17:39:57 +03:00
0275791b2c fix bug #54461 2021-12-14 17:39:19 +03:00
dd474f72ea fix build linux 2021-12-14 16:56:41 +03:00
1b918413cb . 2021-12-14 14:06:15 +03:00
eb2aada6d9 fix DocxRenderer res 2021-12-14 12:35:09 +03:00
6dcf645e88 Merge branch 'feature/xlsb_2' into develop 2021-12-14 11:45:53 +03:00
f61bf56d14 . 2021-12-14 11:45:30 +03:00
b78fca4290 pdf/xps/djvu -> docx_dir -> fromDocxDir 2021-12-14 11:45:26 +03:00
b6cc7c823a . 2021-12-14 11:28:52 +03:00
da2bf87c2b . 2021-12-14 10:34:48 +03:00
15ed64791f Merge branch 'feature/xlsb_2' of https://github.com/ONLYOFFICE/core into feature/xlsb_2 2021-12-14 10:17:19 +03:00
fc7751a4e3 fix 2021-12-14 10:06:33 +03:00
a98dc97e48 [xlsb] fix slicerCache 2021-12-13 22:41:42 +03:00
82dc397171 [xlsb] add slicerCache in workbook 2021-12-13 17:30:17 +03:00
20e92bbf95 base-14 fonts selection 2021-12-13 17:23:41 +03:00
a30e9ac37f fix bug #54492 2021-12-13 15:33:54 +03:00
09862cdd1c . 2021-12-13 14:54:41 +03:00
30ed03be15 . 2021-12-13 10:22:28 +03:00
005fea0701 . 2021-12-13 09:57:56 +03:00
e0bd7f3e84 Merge pull request #805 from ONLYOFFICE/release/v7.0.0
Fix allfontsgen
2021-12-12 19:18:42 +03:00
abec57becd Refactoring base64 fonts 2021-12-11 23:52:47 +03:00
cdc74ada43 Fix allfontsgen 2021-12-11 21:17:42 +03:00
281ee487cb The work with the FinalTransform update has been finalized 2021-12-10 20:36:33 +03:00
02efc63109 . 2021-12-10 18:08:48 +03:00
bdf1295693 Merge remote-tracking branch 'origin/develop' into fix/drawing_file_client 2021-12-10 17:49:02 +03:00
c3b8e90a3e PdfWriter test 2021-12-10 17:28:24 +03:00
8e0216281d . 2021-12-10 17:18:04 +03:00
e721f6c942 Merge branch 'feature/xlsb_2' into develop 2021-12-10 17:10:03 +03:00
20eb11bf3f Merge remote-tracking branch 'origin/release/v7.0.0' into develop 2021-12-10 17:09:25 +03:00
9a4a9a805f [xlsb] add slicerEx in worksheet 2021-12-10 15:56:20 +03:00
74920d70b7 Merge pull request #804 from ONLYOFFICE/fix/v7.0.0-ppt
Fix/v7.0.0 ppt
2021-12-10 15:06:34 +03:00
5a2b693092 fix reset binary run props 2021-12-10 15:05:19 +03:00
e2bae2e187 fix bug #54461 2021-12-10 14:48:08 +03:00
1c9b9d5e0f . 2021-12-10 13:59:07 +03:00
0d5b92520b [xlsb] add SlicerCache (record, unions, fill inside objects) for
slicerCaches.bin
2021-12-10 13:42:57 +03:00
809020965f Merge branch 'develop' of https://github.com/ONLYOFFICE/core into develop 2021-12-10 12:05:05 +03:00
d612b64b4b Merge branch 'release/v7.0.0' into develop 2021-12-10 12:04:00 +03:00
7c15562236 . 2021-12-10 11:50:58 +03:00
2cd312f396 Fix bug 54475 (problem with opening locked file) 2021-12-10 11:12:27 +03:00
74a8455e13 fix build 2021-12-10 10:35:59 +03:00
db83a36fc4 Merge remote-tracking branch 'origin/fix/v7.0.0-ppt' into develop 2021-12-10 10:20:54 +03:00
2f88cf34ea Adding Emf+ Record - Interpretator communication support 2021-12-09 21:30:57 +03:00
d796de176c fix part of bug 54124. Fix text bold 2021-12-09 21:04:08 +03:00
d44da46e1e fix shape text box a:bodyPr wrap=none 2021-12-09 19:57:06 +03:00
9d12314f22 fix empty djvu 2021-12-09 14:16:59 +03:00
2e83d4e9c8 fix bug #54460 2021-12-09 12:39:05 +03:00
c352a057e8 Merge remote-tracking branch 'origin/feature/xlsb_2' into develop 2021-12-09 12:24:24 +03:00
8293a06d40 Merge pull request #802 from ONLYOFFICE/fix/v7.0.0-ppt
Fix/v7.0.0 ppt
2021-12-09 11:11:51 +03:00
6b78d139ee fix bug #54384 2021-12-09 11:03:52 +03:00
c95b3dd04b Fix linux build 2021-12-09 10:34:40 +03:00
51c33e0701 Merge pull request #801 from ONLYOFFICE/fix/v7.0.0-fix-bugs
Fix/v7.0.0 fix bugs
2021-12-08 20:06:03 +03:00
a707ded8b2 . 2021-12-08 20:05:06 +03:00
0756b8ff90 for bug #54311 2021-12-08 20:05:00 +03:00
a2d1a74e3d Add destroy method for pixels 2021-12-08 15:57:30 +03:00
840d679e49 fix bug #54124 2021-12-08 14:26:48 +03:00
658d35739a [xlsb] add slicer (records, unions, fill inside objects) 2021-12-08 13:34:11 +03:00
cbf727460b [xlsb] add sparkline (records, unions, fill inside objects) 2021-12-07 19:47:26 +03:00
22d4592a1a Add ASCW3 to picker font by character 2021-12-07 19:19:02 +03:00
446ef4d577 fix bug #54333 2021-12-07 18:21:51 +03:00
4aae8eabca fix isBase-14 2021-12-07 17:17:08 +03:00
53deeec405 fix Base-14 like before 2021-12-07 11:44:58 +03:00
6a77d1d1c6 [xlsb] add Connections (fill objects part) 2021-12-07 11:14:11 +03:00
6e789e0697 Merge pull request #800 from ONLYOFFICE/fix/v7.0.0-ppt
Fix/v7.0.0 ppt
2021-12-07 09:45:48 +03:00
f2db638138 Update MathConverter.cpp
Fix some bugs of Large Operators
2021-12-07 01:54:13 +03:00
5bbe04dd69 Changed the position calculation for the emf image, which is embedded in the emf+ record 2021-12-06 21:45:07 +03:00
79087dda1e add Resources fonts to displayFontTab 2021-12-06 18:51:30 +03:00
6d9778e913 Merge pull request #799 from ONLYOFFICE/feature/docx-renderer
Feature/docx renderer
2021-12-05 20:52:14 +03:00
d7f98f26d0 Remove convertation to docxf from pdf/xps/djvu 2021-12-05 20:50:46 +03:00
fc2cb5f533 fix bug #54200 2021-12-04 13:00:17 +03:00
995beaefa1 [xlsb] add Connections (only records, structs, unions) 2021-12-03 19:57:04 +03:00
b71f62fcad Added calculations of the X-axis position of the emf image embedded in emf+ 2021-12-03 18:57:12 +03:00
5388697b0c Fix bug 54322 2021-12-03 18:26:15 +03:00
377f454872 m_oTextParams 2021-12-03 13:39:28 +03:00
e3c6e9b3f9 pdf/xps/djvu to docx_dir 2021-12-03 11:07:31 +03:00
82909e892f fix bug #53541 2021-12-02 23:27:42 +03:00
6133c11f38 Combining EmfPlus objects 2021-12-02 21:13:42 +03:00
25de0c763f Fixed a typo in the test example 2021-12-02 21:10:44 +03:00
941b9d0ec1 Merge pull request #798 from ONLYOFFICE/fix/v7.0.0-fix-bugs
Fix/v7.0.0 fix bugs
2021-12-02 19:58:16 +03:00
136d123ba2 fix bug #52412 2021-12-02 19:56:30 +03:00
c036733ff8 fix bug #54187 2021-12-02 19:21:24 +03:00
9ac1a088b5 Fix pick font by name 2021-12-02 18:26:40 +03:00
62289d1310 pdf/xps/djvu to docx in x2t 2021-12-02 14:40:45 +03:00
a29d7cb8b3 Merge pull request #797 from ONLYOFFICE/fix/v7.0.0-ppt
Fix/v7.0.0 ppt
2021-12-02 10:05:51 +03:00
8264f89be2 Fix bug #53273
Fix the problem with saving MaxLen parameter of a text form in case of several forms with the same key
2021-12-02 10:00:53 +03:00
98f7b9d647 Fix bug #54088
Fix the problem with writing strings encoded with UTF-16
2021-12-02 10:00:53 +03:00
711d0017df Fix bug #53616
Fix the problem with bold and italic fonts
2021-12-02 10:00:53 +03:00
6bf0f0faf3 Fix bug #54168
Rework font substitution based on font embedding restrictions
2021-12-02 10:00:53 +03:00
021f9f64b4 For bug #54170
Fix the problem with writing shade color of a form. Also fix the problem with ExtGState counter
2021-12-02 10:00:53 +03:00
925979c534 trying to fix 53541. Add tag a:lum. No exists ppt struct 2021-12-01 19:44:18 +03:00
b9c53b877c Merge pull request #795 from ONLYOFFICE/fix/v7.0.0-fix-bugs
fix bug #54270
2021-12-01 19:39:21 +03:00
a081b37d6d fix bug #54270 2021-12-01 19:38:16 +03:00
01107f5a07 Fix bug 53947 2021-12-01 16:49:47 +03:00
a324d9f8d9 fix pdf Base-14 font 2021-12-01 12:47:18 +03:00
72a48b656f Merge pull request #794 from ONLYOFFICE/fix/v7.0.0-fix-bugs
Fix/v7.0.0 fix bugs
2021-12-01 10:45:01 +03:00
9834392df8 fix bug #54186 2021-12-01 10:44:04 +03:00
9545a3e7f3 [xlsb] add QueryTable (records, unions, fill inside objects) 2021-11-30 22:44:31 +03:00
3428df7bac fix bug #52780 2021-11-30 19:40:00 +03:00
d71477e8a3 fix bug #54184 2021-11-30 17:49:51 +03:00
c100d54aa5 fix bug #54187 2021-11-30 16:28:13 +03:00
721fc5e7ac Fix build with new qmake & vs2019 2021-11-30 12:47:13 +03:00
cb0360008b Merge pull request #793 from ONLYOFFICE/fix/v7.0.0-ppt
fix bug #54197
2021-11-30 10:29:05 +03:00
31e0f5e177 Fixed the position of the rotated and reflected text at the same time 2021-11-29 21:40:01 +03:00
bf78be5e81 Merge pull request #792 from ONLYOFFICE/fix/v7.0.0-fix-bugs
fix bug #54161
2021-11-29 18:40:45 +03:00
ba1a0f7763 fix bug #54161 2021-11-29 18:39:04 +03:00
f77fe887ae fix bug #54197 2021-11-29 16:07:11 +03:00
b4c8269729 fix make.py 2021-11-29 11:16:29 +03:00
7b49631c73 Merge remote-tracking branch 'origin/release/v7.0.0' into develop
# Conflicts:
#	PdfReader/old/XRef.cpp
2021-11-29 11:15:53 +03:00
57e5fea9cc [x2t] Add AVS_FILEUTILS_ERROR_CONVERT_DRM_UNSUPPORTED type for bug 54148 2021-11-28 19:34:37 +03:00
046e0f7710 [x2t] Fix saving to docxf 2021-11-28 19:34:37 +03:00
76d3b45fb8 Refactoring 2021-11-28 18:35:57 +03:00
3dba3a4d06 Merge pull request #789 from ONLYOFFICE/fix.v7.0.0-fix-bugs2
fix bug #54148
2021-11-27 11:39:43 +03:00
2b78a8b617 fix bug #54148
fix ppt project
2021-11-27 11:38:55 +03:00
c73bd8b904 Merge pull request #788 from ONLYOFFICE/fix/v7.0.0-ppt
Fix/v7.0.0 ppt
2021-11-27 10:35:58 +03:00
3727b7391a try fix pdf selection of fonts
oFontSelect.bBold and oFontSelect.bItalic are not filled.
The font to find is an external font file for Base-14 font, but base14SysFonts is empty with BUILDING_WASM_MODULE. Need fix it.
2021-11-26 18:51:24 +03:00
a3cab2d098 fix zlib_addon 2021-11-26 16:12:38 +03:00
92d8d9ad05 fix bug #54031 2021-11-26 15:04:41 +03:00
9ce86699ed Merge branch 'fix/v7.0.0-ppt' of https://github.com/ONLYOFFICE/core into fix/v7.0.0-ppt 2021-11-26 13:39:46 +03:00
c051240cd4 fix bug #54032 2021-11-26 13:39:08 +03:00
978d80e198 Fix reading strings in pdf to xml conversion 2021-11-26 11:00:10 +03:00
ccd47865bd Intermediate commit 2021-11-25 22:41:27 +03:00
725b60245f Fixed a bug in the test example 2021-11-25 22:21:30 +03:00
23c427495b Merge pull request #787 from ONLYOFFICE/fix/v7.0.0-fix-bugs
Fix/v7.0.0 fix bugs
2021-11-25 22:21:00 +03:00
cac9293d87 fix bug #54116 2021-11-25 22:20:08 +03:00
137d757631 Merge pull request #786 from ONLYOFFICE/fix_bug_54053
[android] Fix bug 54053
2021-11-25 17:20:08 +03:00
06052da308 [android] Fix bug 54053 2021-11-25 16:37:57 +03:00
9cd8cb0662 fix bug #53305 2021-11-25 13:21:57 +03:00
3430f915d3 fix ApplicationFonts 2021-11-25 10:59:35 +03:00
f172cc86b3 Merge branch 'develop' into fix/drawing_file_client
# Conflicts:
#	DesktopEditor/fontengine/ApplicationFonts.cpp
2021-11-25 10:47:56 +03:00
22f6607545 .gitignore change 2021-11-25 10:10:58 +03:00
95c96bbffc [xlsb] fix bugs for table (Banded, Header, Total options) 2021-11-24 18:56:28 +03:00
f76bf0cee1 add buBlip. bullet as image 2021-11-24 18:41:17 +03:00
6ae8c69efa Merge remote-tracking branch 'origin/release/v7.0.0' into develop 2021-11-24 18:31:08 +03:00
c8ef152d08 Merge pull request #785 from ONLYOFFICE/fix/v7.0.0-fix-bugs
fix bug #53908
2021-11-24 18:29:06 +03:00
b058f017e0 fix bug #53908
docxf
2021-11-24 18:28:20 +03:00
04bb20a8e4 try fix setupBaseFonts for base14SysFonts 2021-11-24 17:37:43 +03:00
0ffc7ef04c add ConvertExtention9() for buBlip 2021-11-23 23:25:13 +03:00
9153cc678d Refactoring 2021-11-23 21:57:19 +03:00
d9ca2f9e46 Fixed a bug in the test example 2021-11-23 21:53:30 +03:00
2b8e9009a9 [xlsb] fix DataValidation formula, fix Table formula(for case, where
reference to table, which not parsed yet)
2021-11-23 20:54:59 +03:00
853b22bf73 Merge pull request #784 from ONLYOFFICE/fix/v7.0.0-fix-bugs
fix bug #53873
2021-11-23 12:45:54 +03:00
93ed14aba2 fix bug #53873 2021-11-23 12:43:58 +03:00
ded9e12051 Merge pull request #783 from ONLYOFFICE/release/v7.0.0
Fix build
2021-11-23 12:04:41 +03:00
f5e4369384 Fix build 2021-11-23 12:03:47 +03:00
9134d0f087 Merge branch 'release/v7.0.0' into develop 2021-11-23 10:53:49 +03:00
9e6b88c920 Fix build mobile target 2021-11-23 10:41:33 +03:00
21685704b6 Create README.md 2021-11-22 17:13:56 +03:00
d4f7cc6d6f relocate polyfill and fix sources 2021-11-22 12:56:23 +03:00
374af06be8 Fix build 2021-11-21 21:31:32 +03:00
2a9ffc41b5 Find new substitution font if the specified font is restricted for embedding 2021-11-21 20:06:33 +03:00
cb84378637 Fix bug #53629
Forbid to embed fonts that are limited by license
2021-11-21 17:13:56 +03:00
8b42268d7e Merge branch 'release/v7.0.0' into develop 2021-11-21 16:12:33 +03:00
9c05b99951 Refactoring fonts_selection.bin generation 2021-11-21 15:59:42 +03:00
cad1004d28 Read file without write rights if not needed 2021-11-19 23:33:14 +03:00
0784a62e89 Refactoring 2021-11-19 21:08:48 +03:00
70dbebf727 Merge pull request #780 from ONLYOFFICE/fix/v7.0.0-fix-bugs
for bug #53888
2021-11-19 17:45:36 +03:00
a22f0515e0 [xlsb] add DataValidation and DataValidation extension (records, unions,
fill inside objects)
2021-11-19 16:20:26 +03:00
d5087108d0 for bug #53888 2021-11-19 16:19:20 +03:00
29822ad719 Merge pull request #779 from ONLYOFFICE/fix/v7.0.0-fix-bugs
Fix/v7.0.0 fix bugs
2021-11-19 14:26:22 +03:00
b47c766b24 fix bug #53873 2021-11-19 14:25:46 +03:00
67bb9f18e6 fix bug #53877 2021-11-19 13:59:57 +03:00
a33de97309 without after.py 2021-11-19 11:07:23 +03:00
c81c98f524 Merge pull request #778 from ONLYOFFICE/fix/v7.0.0-fix-bugs
Fix/v7.0.0 fix bugs
2021-11-18 19:45:35 +03:00
06079aa022 fix bug #53873 2021-11-18 19:44:23 +03:00
1e66105813 fix bug #53875 2021-11-18 18:13:57 +03:00
03dec3dcf6 fix bug #53813 2021-11-18 17:22:09 +03:00
707e610625 common script for xmlsec
add support python in-line before and after script
2021-11-18 16:24:01 +03:00
560b07f3ca oform 2021-11-18 15:25:25 +03:00
3ca8446729 Merge branch 'fix/v7.0.0-ppt' of https://github.com/ONLYOFFICE/core into fix/v7.0.0-ppt 2021-11-17 22:56:10 +03:00
aad0ec464f trying to add blip bullet to fix numbering 2021-11-17 22:54:07 +03:00
3bafd3f9f2 Working with EMF+ records 2021-11-17 21:22:31 +03:00
89a8a1d62a Fix build with new qmake 2021-11-17 19:40:56 +03:00
0e76a06c46 Merge branch 'feature/xlsb_2' of https://github.com/ONLYOFFICE/core into feature/xlsb_2 2021-11-17 16:25:55 +03:00
137d25cdbb [xlsb] add HeaderFooter (records, union, fill inside objects) 2021-11-17 16:25:39 +03:00
29214ee77e common script for hunspell
fix bug: hunspell/src/hunspell/dictmgr.cxx does not exist
2021-11-17 12:39:58 +03:00
3e922260d3 Merge remote-tracking branch 'origin/release/v7.0.0' into develop 2021-11-17 10:57:12 +03:00
a2c92066ba Merge pull request #777 from ONLYOFFICE/feature/xlsb_2
Feature/xlsb 2
2021-11-17 10:55:52 +03:00
b3530fa2dd . 2021-11-17 10:51:32 +03:00
3219de14ee Merge pull request #776 from ONLYOFFICE/fix/v7.0.0-ppt
Fix/v7.0.0 ppt
2021-11-17 10:26:37 +03:00
8906ea6707 . 2021-11-17 10:21:43 +03:00
a3f9832b4e Working with EMF+ records 2021-11-16 20:33:42 +03:00
d8e9b2d2b4 fix bug #53690 2021-11-16 20:27:38 +03:00
15ccea0306 Merge pull request #775 from ONLYOFFICE/fix/v7.0.0-fix-bugs
fix bug #53582
2021-11-16 19:39:54 +03:00
d1f99b7018 Refactoring 2021-11-16 19:39:39 +03:00
1a3191216a fix bug #53582 2021-11-16 19:32:42 +03:00
6f447ee939 Support relative paths to fonts in font_selection.bin 2021-11-16 19:31:26 +03:00
67bd59e343 [xlsb] add Margins, PageSetup, PrintOptions for worksheet (records, fill
inside objects)
2021-11-16 19:13:25 +03:00
8b85428f82 common script for zlib 2021-11-16 18:20:56 +03:00
99f44b62ed fix common script for drawingfile 2021-11-16 15:48:13 +03:00
7414003d86 Merge pull request #774 from ONLYOFFICE/fix/v7.0.0-fix-bugs
fix bug #53499
2021-11-15 20:02:15 +03:00
b5d2b40acb fix bug #53499 2021-11-15 20:01:15 +03:00
ea6c30e2bd common script 2021-11-15 18:55:05 +03:00
b18a789e99 Merge pull request #773 from ONLYOFFICE/fix/v7.0.0-ppt
fix bug #53086
2021-11-15 17:38:06 +03:00
8e67aa129e fix bug #53086 2021-11-15 17:35:07 +03:00
e447369665 Merge pull request #772 from ONLYOFFICE/fix/v7.0.0-fix-bugs
fix bug #53539
2021-11-15 16:24:13 +03:00
1e8e50e0a8 fix bug #53539 2021-11-15 16:14:21 +03:00
3e3aa0352d [xlsb] add table formula, fix defined names 2021-11-15 15:28:04 +03:00
dc84658b7f Merge pull request #771 from ONLYOFFICE/fix/v7.0.0-fix-bugs
fix bug #53582
2021-11-15 14:57:47 +03:00
06c64fa222 Fix target name 2021-11-15 10:41:05 +03:00
ebfa8da621 Add pro files for vs2019 2021-11-15 09:15:47 +03:00
231daf9977 Fix build 2021-11-14 11:52:11 +03:00
74bbbfd0e9 Refactoring gitignore 2021-11-13 20:13:39 +03:00
5645f15c58 Working with EMF+ records 2021-11-12 20:34:04 +03:00
47e72c2210 Rename module & fix bugs 2021-11-12 18:19:45 +03:00
70473c80a0 Merge pull request #770 from ONLYOFFICE/feature/xlsb_2
[xlsb] fix shared formula, add new Ftab functions
2021-11-12 17:18:34 +03:00
81db77330f Merge pull request #769 from ONLYOFFICE/fix/v7.0.0-ppt
fix bug #53666
2021-11-12 17:17:09 +03:00
e68e8ba644 fix bug #53666 2021-11-12 16:16:31 +03:00
2f4ae5ebc8 [xlsb] fix shared formula, add new Ftab functions 2021-11-12 14:43:19 +03:00
cfa3ad151e Refactoring hash method 2021-11-12 12:55:38 +03:00
95fc2c2e94 Working with EMF+ records 2021-11-11 20:29:47 +03:00
d0e5d86243 Fix bug 53586 2021-11-11 19:43:33 +03:00
597155af11 add DjVu GetGlyphs 2021-11-11 17:21:46 +03:00
69f2c29679 . 2021-11-11 14:26:12 +03:00
e68fd292ba . 2021-11-11 13:12:00 +03:00
b7129680c3 Merge pull request #768 from ONLYOFFICE/feature/xlsb_2
Feature/xlsb 2
2021-11-11 13:02:26 +03:00
27a93dc070 Merge pull request #767 from ONLYOFFICE/fix/v7.0.0-ppt
Fix/v7.0.0 ppt
2021-11-11 10:29:05 +03:00
069a9f3d3a fix bug #53538. 2021-11-10 22:36:36 +03:00
b0062b6135 Working with EMF+ records 2021-11-10 21:26:06 +03:00
56cfa9d57d fix part of 53538. Text replaces to '_' 2021-11-10 20:20:58 +03:00
30d3472b62 test GetGlyphs 2021-11-10 17:19:13 +03:00
e475ed88fa fix bug #53582 2021-11-10 11:58:26 +03:00
f1271da9aa Merge pull request #766 from ONLYOFFICE/fix/v7.0.0-ppt
fix bug #53591. Some text has broken yet. But crush fixed
2021-11-10 10:02:15 +03:00
f9cfdd85ca fix bug #53591. Some text has broken yet. But crush fixed 2021-11-09 21:41:41 +03:00
48e3b820a3 [xlsb] fix formulas (sheet name in references) 2021-11-09 19:24:34 +03:00
e845124498 [xlsb] add files in .pro 2021-11-09 19:23:38 +03:00
72c2753cab xps refactoring 2021-11-09 15:08:33 +03:00
5ff7ca9b4c Merge remote-tracking branch 'origin/release/v7.0.0' into develop 2021-11-09 12:29:37 +03:00
c8e5debf80 Add GetLimitsY method to fontmanager 2021-11-09 12:25:26 +03:00
5392788a72 Merge branch 'develop' into feature/xlsb_2 2021-11-09 11:46:43 +03:00
0602d89de0 refactoring xlsb project 2021-11-09 11:45:22 +03:00
c8eb931b92 Add missed define 2021-11-08 20:14:08 +03:00
5d3c3ce818 Working with EMF+ records 2021-11-08 20:11:24 +03:00
9ed41ccb67 Fix bug #53544
Handle placeholders for text fields in case when several fields have the same key
2021-11-08 20:11:03 +03:00
05f0c63e40 Fix bug #53518
Fix the problem with writing placeholders
2021-11-08 20:11:03 +03:00
f5c80ed236 Fix bug #53222
Fully rework writing the text value of the form fields in PDF
2021-11-08 20:11:03 +03:00
f9f0a7896f Merge pull request #764 from ONLYOFFICE/fix/v7.0.0-ppt
fix win build
2021-11-08 18:30:10 +03:00
56a0d29f10 fix win build 2021-11-08 18:28:56 +03:00
eecf99373f Merge pull request #762 from ONLYOFFICE/fix/v7.0.0-ppt
Fix/v7.0.0 ppt
2021-11-08 18:10:11 +03:00
ef970a6009 Merge remote-tracking branch 'origin/feature/ppt_7' into fix/v7.0.0-ppt 2021-11-08 18:08:57 +03:00
fc91e7b9ce refactoring 2021-11-08 18:00:30 +03:00
bd0feeadeb Merge pull request #761 from ONLYOFFICE/fix/v7.0.0-fix-bugs
Fix/v7.0.0 fix bugs
2021-11-08 17:45:05 +03:00
eeb982cb64 fix bug #53555 2021-11-08 17:44:00 +03:00
1c5a0bd0f4 fix memory pImageData 2021-11-08 14:10:11 +03:00
7c380c7bae fix bug #53552 2021-11-08 13:34:38 +03:00
a7cd1c1210 fix StringExt 2021-11-08 13:02:05 +03:00
9ecc2410a6 [xlsb] fix table and add extension for table (altText) 2021-11-08 10:21:32 +03:00
ebf2680335 Fix convertation with block mode 2021-11-07 21:53:54 +03:00
baa03b2bfa Fix memory leak 2021-11-06 09:43:23 +03:00
90609cc515 trying to fix 52374. a:rPr corrected 2021-11-03 19:23:46 +03:00
d5da22e62b [android] Add formats 2021-11-03 17:24:02 +03:00
0294266863 [xlsb] add Table (records, unions and fill inside objects) 2021-11-03 16:29:45 +03:00
fc612032fd Fix bug 52637 2021-11-03 10:52:37 +03:00
dd1757e777 fix part of 52374. Animation tav tm problem and empty last conds 2021-11-02 21:35:21 +03:00
be04ee38b7 [xlsb] add fill inside objects for autofilters 2021-11-02 18:10:27 +03:00
b73ef690bb fix realloc memory error and xps dpi 2021-11-02 17:57:35 +03:00
140802ac66 Merge pull request #760 from ONLYOFFICE/fix/v7.0.0-fix-bugs
Fix/v7.0.0 fix bugs
2021-11-02 17:02:52 +03:00
a6b459923e fix bug #53379 2021-11-02 17:01:44 +03:00
b86f0cc869 for bug #53435 2021-11-02 16:45:49 +03:00
c82c994184 fix bug #53435 2021-11-02 12:04:38 +03:00
06f3e4562a For bug #53323
Remove additional space for drop-down list button, because it causes layout problems for right-aligned drop-down lists
2021-11-02 11:50:40 +03:00
68e99604f7 Merge pull request #758 from ONLYOFFICE/fix/v7.0.0-fix-bugs
fix bug #53400
2021-11-02 11:44:07 +03:00
17ec7bc611 fix bug #53400 2021-11-02 11:42:57 +03:00
d5189a952a [xlsb] add AUTOFILTER (only records and unions) 2021-11-02 00:42:23 +03:00
85cfd2bf70 fix part of 52374. It was added second chance to convert of animation. 2021-11-01 22:01:30 +03:00
904eece17a Add GetFontBySymbol method to interface IApplicationFonts 2021-11-01 19:52:04 +03:00
1535e5763d Working with EMF+ records 2021-11-01 19:01:56 +03:00
87af894198 refactoring 2021-11-01 17:55:38 +03:00
3ecdbe6d64 . 2021-11-01 17:40:48 +03:00
28220bbde7 . 2021-11-01 12:02:55 +03:00
f6908517e2 fix build 2021-11-01 11:01:55 +03:00
ab1bd76a48 Fix bug #53270
Fix the problem with images form when saving to PDF
2021-10-31 23:29:12 +03:00
2746b35e12 Fix the problem with placeholders for text fields with specified maxCharacters parameter 2021-10-31 23:29:12 +03:00
6b755c03d3 Fix the problem with drawing border around text form
Also fix the problem with calculating the position of glyphs for text form with comb option enabled
2021-10-31 23:29:12 +03:00
4d9c7a4c01 Implement horizontal text align for text forms with com option enabled 2021-10-31 23:29:12 +03:00
5d7042746f Fix bug #53245
Fix the problem with rendering text fields to PDF with comb option enabled
2021-10-31 23:29:12 +03:00
f583be5ee4 Fix bug #53227
Add ability to set a placeholder for text forms, combo boxes and drop down lists
2021-10-31 23:29:12 +03:00
0870527a82 Implement ability to set a placeholder for comboxes and dropdown lists 2021-10-31 23:29:12 +03:00
ac70b849ca Implement ability to set placeholder text for text forms 2021-10-31 23:29:12 +03:00
4f529461f5 Worker version 2021-10-31 20:52:40 +03:00
ed261400d1 Fix typo 2021-10-31 15:04:27 +03:00
0ef7b83ec9 Add native support hash method for office 2021-10-31 14:55:13 +03:00
3cb19a4ceb Merge branch 'feature/xlsb2' into feature/xlsb3 2021-10-30 13:06:07 +03:00
1c91c72039 Fix ios build 2021-10-30 11:59:49 +03:00
433c5b1cfe xps fix GetGlyphs 2021-10-29 18:40:33 +03:00
cb51dc3e40 [xlsb] fix bug with start space in Si 2021-10-29 18:28:59 +03:00
6ff569edf7 [xlsb] fix bugs with fonts and build 2021-10-29 17:03:52 +03:00
ba9423c5ff Add project for hash.js module 2021-10-29 16:42:19 +03:00
1e9e2ab603 Merge branch 'release/v7.0.0' into develop 2021-10-29 16:19:54 +03:00
a2b318f6fb Merge pull request #754 from ONLYOFFICE/fix/v.7.0.0-fix-bugs
Fix/v.7.0.0 fix bugs
2021-10-29 16:17:55 +03:00
d1aa2ebfe3 xlsb small refactoring + fix build 2021-10-29 15:51:48 +03:00
9701fa9807 [xlsb] fix mergeCell 2021-10-29 14:37:22 +03:00
fc7d427407 pdf fix links 2021-10-29 14:21:21 +03:00
0bee7b0aaa pdf text link 2021-10-29 13:41:08 +03:00
722ab2c2ca [xlsb] fix dxf bugs 2021-10-29 13:15:51 +03:00
b547c28e72 [xlsb] refactoring for fonts in Si 2021-10-29 11:40:39 +03:00
9ed5581b39 Working with EMF+ records 2021-10-28 20:43:34 +03:00
2bcaff66bf for bug #53395 2021-10-28 16:55:36 +03:00
17b25167b1 xps fix change font 2021-10-28 13:57:17 +03:00
0f2e6a251e fix part of #52374. Correct text and trying to fix nodeType 2021-10-27 22:40:01 +03:00
3267e7e0fc Fix android build 2021-10-27 21:44:26 +03:00
1e922e4724 Working with EMF+ records 2021-10-27 20:05:04 +03:00
3c6096967b xps fix nCurrentFont 2021-10-27 18:58:11 +03:00
ef99a5d92d [xlsb] add CXlsb class, refactoring code 2021-10-27 17:58:22 +03:00
be358da524 fix bug #53304 2021-10-27 16:10:41 +03:00
8044c5157c fix bug #53379 2021-10-27 14:49:03 +03:00
7a05534142 fix part of #52374 2021-10-26 22:37:23 +03:00
94167f1954 Working with EMF+ records 2021-10-26 21:15:21 +03:00
ada8f8beb8 fix WriteDouble2 and test 2021-10-26 18:03:34 +03:00
ea11a8c348 [xlsb] add comments support (records, fill inside objects) 2021-10-26 12:27:16 +03:00
537fbfb5e8 fix part of 52374. cahrset == 128 problem. 2021-10-25 19:36:13 +03:00
73362fd852 xps getGlyphs 2021-10-25 18:06:14 +03:00
b611a6b099 fix getGlyphs format 2021-10-25 16:35:00 +03:00
a42d8eb10a [android] Fix library name 2021-10-25 15:31:13 +03:00
0c4f285410 Merge pull request #753 from ONLYOFFICE/android_build
[android] Fix android build
2021-10-25 12:43:18 +03:00
dece8bdcba Fix ios build 2021-10-23 14:55:14 +03:00
6eedc2a2f9 [android] Fix android build 2021-10-23 12:25:37 +03:00
e2c0d814bb Working with EMF+ records 2021-10-22 20:28:41 +03:00
044e501b69 fix #52749 2021-10-22 19:26:19 +03:00
5d2b5c92d5 Fix ios build with new clang 2021-10-22 17:32:20 +03:00
c3b7d3de8b add DumpLine 2021-10-22 16:55:18 +03:00
0d20ab0378 Refactoring 2021-10-22 16:18:05 +03:00
29a65be954 fix bug #53032 2021-10-22 15:15:13 +03:00
b89180a549 [xlsb] add ext for styles (fill objects) 2021-10-22 14:49:05 +03:00
0e4f194269 Fix ios build 2021-10-22 12:03:17 +03:00
958e1fcadf Fix bad font types 2021-10-22 11:24:21 +03:00
0793519bb0 add _GetErrorCode 2021-10-22 11:01:41 +03:00
8fe6e1ce23 for bug 53032 2021-10-22 10:13:57 +03:00
f5332a8b59 Fix problem with writing streams to xml 2021-10-22 10:08:57 +03:00
65076f0a5e Refactoring .pro file 2021-10-21 23:29:10 +03:00
eeb325b8ad Fix typo 2021-10-21 23:14:20 +03:00
7c836c61a0 Fix build 2021-10-21 23:06:08 +03:00
2dea9f2096 Fix curl command 2021-10-21 21:36:15 +03:00
c0d4bcd16a Fix build without terminal colors 2021-10-21 21:18:07 +03:00
92d916fa57 [xlsb] add FRTSTYLESHEET (only records and unions), fix bugs 2021-10-21 20:32:00 +03:00
d1b7b280c5 Fix compile 2021-10-21 19:32:46 +03:00
c85774a897 Working with EMF+ records 2021-10-21 19:02:44 +03:00
113e15c391 develop GetGlyphs 2021-10-21 18:48:31 +03:00
2481578533 Add support vs2019 & v8 8.9 2021-10-21 15:05:17 +03:00
53f766271f fix bug #53233 2021-10-21 13:52:28 +03:00
8950b3535a [xlsb] add ext for conditionalFormatting, fix bugs 2021-10-20 23:20:37 +03:00
9db42c3494 trying to fix 52749 2021-10-20 18:43:08 +03:00
b4701ac83c develop new GetGlyphs 2021-10-20 18:09:29 +03:00
2a32233d13 fix #52046 2021-10-20 11:40:27 +03:00
ec9e3d098f Merge pull request #752 from ONLYOFFICE/fix/v7.0.0-fix-bugs2
fix bug #53032
2021-10-20 10:37:39 +03:00
e65851ef3b fix bug #53032 2021-10-20 10:36:36 +03:00
f5837dcf44 Fix build android 2021-10-20 09:54:16 +03:00
40dba648f1 add media inside RoundTripMasters 2021-10-19 23:10:12 +03:00
9e58de380e Merge remote-tracking branch 'origin/release/v7.0.0' into develop 2021-10-19 21:06:11 +03:00
b9fd01d632 Fix build 2021-10-19 20:55:09 +03:00
f15b5cd463 Merge pull request #750 from ONLYOFFICE/fix/v7.0.0-fix-bugs2
for bug #52781
2021-10-19 20:14:55 +03:00
efde950a11 for bug #52781 2021-10-19 20:13:58 +03:00
df5140532d Added reading of EMF records+ 2021-10-19 19:36:27 +03:00
5c61f9e6f1 trying to fix 52046 2021-10-19 18:39:29 +03:00
05c6260499 Add support vs2019 2021-10-19 14:12:12 +03:00
6dd1e80ce5 [xlsb] add CONDITIONALFORMATTING14 and fix bugs 2021-10-18 23:39:10 +03:00
7588b592df The addition of the implementation of EMF+ records has begun 2021-10-18 21:24:16 +03:00
c1fd29423c fix slideMasters. Now we can convert presentation as before. Layouts are old. 2021-10-18 18:40:11 +03:00
533d04e8f3 change origin to top left corner
only in xps format the canvas sizes are multiplied
2021-10-18 17:46:05 +03:00
de9f4a9814 remove RoundTrips layout. Trying to repair presentation 2021-10-15 22:50:32 +03:00
87d864527b Implement filled picture forms 2021-10-15 22:44:55 +03:00
a862facf6a Add ability to save picture value to picture forms
Also improve writing appearance of picture form in PDF
2021-10-15 22:44:55 +03:00
11291cba06 Handle autofit for multilined forms in PDF 2021-10-15 22:44:55 +03:00
b881f02a02 Handle align to center and right side for multiline forms
Also fix the problem with vertical shift and spacing between lines for multiline forms for better compatibility with AdobeReader
2021-10-15 22:44:55 +03:00
4385caa969 First variant of calculating line breaks for multiline form 2021-10-15 22:44:55 +03:00
087594e557 Handle horizontal align for text forms when saving to PDF 2021-10-15 22:44:55 +03:00
133a05542f Fix problem with non initialized text align in the forms
Also fix saving picture forms for now AdobeReader shows special picture sign
2021-10-15 22:44:55 +03:00
3703cde00a Rework writing parameters of a TrueType font 2021-10-15 22:44:55 +03:00
903ae550d0 Implement new parameters and work around checkboxes 2021-10-15 22:44:55 +03:00
bb31a9733a Fix problems with RadioButtons 2021-10-15 22:44:55 +03:00
42b4cdf733 Work on checkboxes 2021-10-15 22:44:55 +03:00
55b2fff256 Rework writing default appearances 2021-10-15 22:44:55 +03:00
36bb26c9fe Add ability to write non-cid True Type font
Also move field resources to AcroForm record
2021-10-15 22:44:55 +03:00
6285a59b43 Rework saving field with the same field name in PDF 2021-10-15 22:44:55 +03:00
bf434987f9 Fixed a bug in the test example in which the EMR_SETPIXELV record was incorrectly written 2021-10-15 22:10:39 +03:00
d5f8c4b474 Added statistics update when deleting or adding records 2021-10-15 22:09:49 +03:00
2e28ca5550 delete some old file. Ready for removing roundtrips layouts 2021-10-15 18:27:19 +03:00
a81115d2f3 pdf password 2021-10-15 18:07:16 +03:00
3618465853 pdf fix coord 2021-10-15 17:29:43 +03:00
e20588a3da fix coords 2021-10-15 16:03:26 +03:00
fafa2023d1 Fix minimize version 2021-10-14 20:23:34 +03:00
32823bd55a pdf fix coords 2021-10-14 16:40:10 +03:00
37a851ef98 . 2021-10-14 13:09:47 +03:00
a9a7dce495 Merge pull request #748 from ONLYOFFICE/fix/v.7.0.0-fix-bugs
fix bug #53116
2021-10-14 12:38:52 +03:00
9099a04b2d fix build linux 2021-10-14 12:36:41 +03:00
af246c553e . 2021-10-14 12:27:09 +03:00
fd0b734a2b fix bug #53116 2021-10-14 12:00:51 +03:00
3d18db25e3 Merge pull request #747 from ONLYOFFICE/gradle_7
[android] Migrate to gradle 7
2021-10-14 11:52:26 +03:00
42e515dfec . 2021-10-14 11:08:50 +03:00
dae7dac2d5 Merge pull request #746 from ONLYOFFICE/fix/3thparty-gitignore
Add to ignore downloaded sources of curl and openssl projects
2021-10-14 11:06:18 +03:00
a519bcf0c4 Add to ignore downloaded sources of curl and openssl projects 2021-10-14 11:05:11 +03:00
15da75c473 fix build 2021-10-14 10:31:20 +03:00
e90b2957a6 [xlsb] fix bugs, add fonts to shared strings 2021-10-13 23:47:04 +03:00
9d2d7e646a Refactoring 2021-10-13 21:51:30 +03:00
14c0a2a7c0 add Round Trip Notes masters 2021-10-13 21:36:20 +03:00
06f6278e59 Merge pull request #745 from ONLYOFFICE/fix/v.7.0.0-fix-bugs
Fix/v.7.0.0 fix bugs
2021-10-13 19:30:21 +03:00
77b206a62c for bug #52767 2021-10-13 19:29:15 +03:00
b0f77fddf1 Refactoring 2021-10-13 16:53:13 +03:00
276bc48a24 Merge pull request #744 from ONLYOFFICE/fix/drawing_file_client_fonts
Change setjmp/longjmp to c++ exeptions
2021-10-13 16:50:04 +03:00
9d475122e3 Change setjmp/longjmp to c++ exeptions 2021-10-13 16:43:54 +03:00
74359e39a8 Merge branch 'fix/v6.5.0-fix-bugs' into fix/v.7.0.0-fix-bugs 2021-10-13 10:36:21 +03:00
6f01769c4d fix build 2021-10-13 10:32:35 +03:00
531b4ba0dc [x2t] Fix conversion to oform 2021-10-13 00:24:59 +03:00
d003dd8310 add master and clrMap RoundTrips. Correct handout and layouts 2021-10-12 22:50:33 +03:00
6d4cb1ff4c Added search for records in the Xml tree 2021-10-12 21:37:26 +03:00
5495def631 [xlsb] add tableStyles, colorPalette (records, fill inside objects) 2021-10-12 19:26:32 +03:00
a6a2243099 pdf GetGlyphs like xps 2021-10-12 18:10:30 +03:00
90172d03ef pdf GetGlyphs 2021-10-12 17:33:23 +03:00
6f321fc0e3 Merge pull request #742 from ONLYOFFICE/fix/drawing_file_client_fonts
Fix/drawing file client fonts
2021-10-12 16:02:33 +03:00
c8e2b18f35 Remove fonts binary 2021-10-12 13:37:59 +03:00
7956395c7c . 2021-10-12 13:28:48 +03:00
d5cbd33a59 restore 2021-10-12 12:45:01 +03:00
25fb7daee9 back 2021-10-12 12:26:32 +03:00
afbb6fe4ff fix qt project & build 2021-10-11 23:29:58 +03:00
03e2fa60fa [xlsb] add Style and DXFs (records, fill inside objects) 2021-10-11 23:29:46 +03:00
c58817fc18 add base slideMasters 2021-10-11 22:42:17 +03:00
e0fcaae71e In the test example, the method of tracking the right mouse click has been changed 2021-10-11 21:27:26 +03:00
efdc67e1ba Refactoring 2021-10-11 21:20:41 +03:00
cb8f8c535c Merge pull request #741 from ONLYOFFICE/fix/drawing_file_client
pdf fix GetStructure and start GetGlyphs
2021-10-11 20:43:11 +03:00
ed9e6a83e6 Add ARM_ALIGN flag for wasm/asmjs compilation 2021-10-11 20:23:03 +03:00
e9325f77e0 Developint not embedded fonts 2021-10-11 19:04:28 +03:00
2ff6b62854 pdf fix GetStructure and start GetGlyphs 2021-10-11 17:53:43 +03:00
0c1c2b4c2e for bug #37564 2021-10-11 12:54:28 +03:00
8008ff2e29 fix bug #44721 2021-10-11 11:20:53 +03:00
8e4750bb0b Merge branch 'feature/odf' into feature/odf2 2021-10-11 09:40:00 +03:00
8dbe1da419 Developing not embedded fonts in viewer 2021-10-10 20:49:15 +03:00
c8cf662c1b Add file 2021-10-10 20:47:49 +03:00
4ff908701c [Bug 40483]Fixed 2021-10-09 00:14:04 +03:00
24acbd309a return to classic write theme. Add layouts and their _rels 2021-10-08 18:38:02 +03:00
81a1364ae0 pdf GetLinks and GetStructure 2021-10-08 17:43:01 +03:00
57f1438949 cleaning of code 2021-10-08 16:38:31 +03:00
45b6929dd4 gitignore stuff 2021-10-08 16:35:14 +03:00
f66053508b [xlsb] add cellStyleXFs, cellXFs (records, fill objects) 2021-10-08 16:21:12 +03:00
23f7029703 Merge pull request #740 from ONLYOFFICE/fix/v6.5.0-fix-bugs
Fix/v6.5.0 fix bugs
2021-10-08 08:51:53 +03:00
f29c812aa7 [Bug 40483] Fixed a problem with the text position 2021-10-07 22:32:01 +03:00
b30b91ca6d [Bug 40483] Fixed a problem with objects going outside the image boundaries 2021-10-07 22:31:16 +03:00
82b11909f9 Fix bugs 2021-10-07 21:42:28 +03:00
8c212908bd fix bug #52560 2021-10-07 19:08:05 +03:00
5bc07126a9 pdf identifyMem fix 2021-10-07 18:40:11 +03:00
19420e98d4 fix bug #53001 2021-10-07 14:04:25 +03:00
4836418528 fix 2021-10-07 11:45:11 +03:00
4547a18aab [xlsb] add Borders (records, fill inside objects) 2021-10-07 11:42:59 +03:00
ed2f9e0035 Fix load .mem file 2021-10-07 10:15:39 +03:00
20011c8647 Merge branch 'fix/drawing_file_client' of https://github.com/ONLYOFFICE/core into fix/drawing_file_client 2021-10-07 08:31:26 +03:00
1599d943f4 Refactoring 2021-10-07 08:30:50 +03:00
fe50098db7 Trying to use pptx classes 2021-10-06 23:15:41 +03:00
b03b2a52bb [xlsb] add FMTS, FONTS, FILLS parsing for styles (records, fill inside
object)
2021-10-06 19:30:10 +03:00
ad44fecc10 fix 2021-10-06 18:22:19 +03:00
37a554f1f9 fix bug #52978 2021-10-06 16:54:00 +03:00
fbd9eba8bd Write all RoundTripThemes. It was already before, but now it with new classes 2021-10-06 13:35:23 +03:00
64b428a992 ie support 2021-10-06 13:12:33 +03:00
4c3ec3259c [Bug 40483] Fixed missing formulas 2021-10-05 21:49:03 +03:00
39f6dda5d8 Refactoring 2021-10-05 21:03:46 +03:00
3f73c12f83 build wasm module 2021-10-05 19:17:39 +03:00
5702a34d69 Refactoring 2021-10-05 18:01:32 +03:00
5487058744 Refactoring 2021-10-05 17:36:53 +03:00
c75af891b2 xps fix 2021-10-05 16:51:16 +03:00
3c1a598fd5 Fix xps 2021-10-05 16:21:17 +03:00
d7c4ceba92 Fix errors 2021-10-05 15:13:22 +03:00
54e10c7b55 Support disabling to pdf convertation 2021-10-05 11:53:37 +03:00
9327fce5ca fix link 2021-10-05 11:41:23 +03:00
0bd55565fe Fix 2021-10-05 11:38:36 +03:00
48121355f3 js fix merge with develop 2021-10-05 11:03:19 +03:00
d5d8c86e8e js fix 2021-10-04 19:55:13 +03:00
7569534cfd c++ fix merge with develop 2021-10-04 18:11:05 +03:00
e0fd7ff1f0 Merge branch 'develop' into fix/drawing_file_client
# Conflicts:
#	PdfReader/PdfReader.h
#	PdfReader/Src/RendererOutputDev.cpp
#	PdfReader/old/Graphics.cpp
2021-10-04 15:37:09 +03:00
d9217329eb fix some problems 2021-10-04 15:02:16 +03:00
e3fa8c53bf fix PDFGraphics 2021-10-04 10:47:26 +03:00
4bb7f3cf83 [Bug 52289]Fixed 2021-10-01 18:55:49 +03:00
26a677074c pdf fix js implementation 2021-10-01 17:57:45 +03:00
272a270bc8 Merge remote-tracking branch 'origin/master' into release/v6.5.0 2021-10-01 14:46:00 +03:00
601f615a35 [x2t] Add m_bConvertToOrigin xml param 2021-10-01 13:03:18 +03:00
c45b6034c7 Fix build 2021-10-01 11:15:17 +03:00
2c2cfbe07d Merge branch 'feature/xlsb' into feature/xlsb2 2021-10-01 10:31:51 +03:00
3f730897a0 [Bug 52289]Fixed missing images 2021-09-30 22:19:09 +03:00
792915bb3a Merge remote-tracking branch 'remotes/origin/release/v6.5.0' into develop 2021-09-30 19:41:13 +03:00
ffdb21583e Merge pull request #738 from ONLYOFFICE/fix/v6.5.0-fix-bugs
add lcid for xls(sheet)
2021-09-30 17:00:34 +03:00
9bce904409 add lcid for xls(sheet) 2021-09-30 16:58:44 +03:00
c5c78fce18 Merge pull request #737 from ONLYOFFICE/fix/v6.5.0-fix-bugs
xlsx_flat convert
2021-09-30 15:14:32 +03:00
0e6e32d4da Merge branch hotfix/v6.4.1 into release/v6.5.0 2021-09-30 12:13:49 +00:00
5de83dc86a Merge branch hotfix/v6.4.1 into develop 2021-09-30 12:13:42 +00:00
16238f5e80 xlsx flat convert 2021-09-30 14:59:12 +03:00
9d520219ae Merge pull request #733 from ONLYOFFICE/fix/v6.5.0-fix-bugs
fix bug #52754
2021-09-30 14:37:56 +03:00
9e342b93cf fix bug #52754
convert xmlSpreadsheet20003->xlsx without bin_t
add cell horizontal aligment center_continuous
2021-09-30 14:36:24 +03:00
7d5eb31f25 [xlsb] add shared strings (records and fill inside objects (without font
info) ) and fix bugs
2021-09-30 13:41:58 +03:00
5910bbfa5d fix embedded font 2021-09-30 12:00:00 +03:00
be1d417639 [x2t] Fix docm->dotm conversion 2021-09-29 23:16:35 +03:00
6fd26cf0f7 [Bug 52289]Added the display of the text background and removed the stub 2021-09-29 22:02:50 +03:00
4ec1830847 add BUILDING_WASM_MODULE in RendererOutputDev::UpdateFont
need fix external font
2021-09-29 17:57:09 +03:00
ee81e468ab Merge remote-tracking branch 'origin/release/v6.5.0' into develop 2021-09-29 09:57:44 +03:00
9acd562c20 Merge pull request #731 from ONLYOFFICE/fix/v6.5.0-fix-bugs
.
2021-09-29 09:57:04 +03:00
17126e2f6a . 2021-09-29 09:54:21 +03:00
c36a6d8ce2 Merge pull request #730 from ONLYOFFICE/fix/v6.5.0-fix-bugs
fix bug #52767
2021-09-28 20:21:33 +03:00
3fd3940119 fix bug #52767
add format xls sheet
2021-09-28 20:20:32 +03:00
fcd824042a add js pdf
need to fix cryptopp
2021-09-28 18:17:49 +03:00
0df0b9774d Merge pull request #729 from ONLYOFFICE/feature/docxrenderer2
Feature/docxrenderer2
2021-09-28 14:18:46 +03:00
b81c634800 Merge remote-tracking branch 'origin/feature/docxrenderer' into feature/docxrenderer2 2021-09-28 14:15:45 +03:00
38a2f8535f Merge pull request #727 from ONLYOFFICE/fix/v6.5.0-fix-bugs
oform
2021-09-28 11:33:53 +03:00
e310954222 oform 2021-09-28 11:32:38 +03:00
d1488f6a0a Merge pull request #724 from ONLYOFFICE/fix/v6.5.0-fix-bugs-ppt
disable RoundTripTheme
2021-09-27 21:08:32 +03:00
497b201dc1 new theme from master RoundTrip 2021-09-27 18:38:54 +03:00
1b9541b2b6 PDF LoadFromMemory and ConvertToPixels
change RendererOutputDev::UpdateFont
2021-09-27 18:03:33 +03:00
a7ef272cb5 [xlsb] add fill inside objects for ConditionalFormatting 2021-09-27 17:52:56 +03:00
2440bf68a5 correct some not ziped RoundTrips 2021-09-27 16:35:20 +03:00
bafa576191 Merge branch 'feature/NewParcerNamespaceTest' into develop 2021-09-27 10:47:13 +03:00
461809134c Merge pull request #722 from ONLYOFFICE/release/v6.5.0
Release/v6.5.0
2021-09-26 16:39:51 +03:00
288b0dcb90 Fix bug with GetProperty method 2021-09-26 16:39:43 +03:00
aade9540d0 Fix ExtractAllImages 2021-09-26 16:35:22 +03:00
93b55d7936 [x2t] Add NSStringExt::FromHumanReadableByteCount to parse memory limit 2021-09-26 00:31:18 +03:00
faeac14054 [x2t] Rename MEMORY_LIMIT -> X2T_MEMORY_LIMIT; "0" is no memory limit 2021-09-24 20:03:37 +03:00
6148c337d9 [x2t] Add MEMORY_LIMIT environment variable 2021-09-24 20:03:37 +03:00
94059919d7 special RoundTrip commit for saving zip 2021-09-24 17:02:19 +03:00
a4fcd4919d Fix compile 2021-09-24 16:26:19 +03:00
b7d6948081 Merge branch 'feature/NewParcerNamespaceTest' of https://github.com/ONLYOFFICE/core into feature/NewParcerNamespaceTest 2021-09-24 16:14:26 +03:00
8fda6f48ce convert to raster swapRGB fix 2021-09-24 16:02:49 +03:00
ad2023083f Fix compile 2021-09-24 15:13:33 +03:00
65c35b9af7 Implement background color for forms in PDF
Also implement new parameters for text forms and picture forms in PDF
2021-09-24 14:17:16 +03:00
bee3ff541a Rework PDFWriter on new CFieldInfo class 2021-09-24 14:17:16 +03:00
9b64445e3e Rework CFormFieldInfo class and add new parameters 2021-09-24 14:17:16 +03:00
00802528e5 Update for PDFWriter 2021-09-24 14:17:16 +03:00
e4c1384bbd Add empty functions for future work on field keys 2021-09-24 14:17:16 +03:00
817b90418f Implement AutoFit option when saving form to PDF 2021-09-24 14:17:16 +03:00
ba57308120 disable RoundTripTheme 2021-09-24 11:50:31 +03:00
df6fb494be Merge pull request #719 from ONLYOFFICE/fix/v6.5.0-fix-bugs3
Fix/v6.5.0 fix bugs3
2021-09-23 18:06:27 +03:00
931e19048b fix bug #52688 2021-09-23 18:02:43 +03:00
e5e090f385 Added scrolling in the record editing widget 2021-09-22 23:55:00 +03:00
f5fb1cd5a7 Special version with writting RoundTrips to custom folder 2021-09-22 23:33:48 +03:00
63f6e16664 Add RoundTripExtractor 2021-09-22 17:23:20 +03:00
709360930a fix . 2021-09-22 17:17:34 +03:00
6c2b1bf1a9 fix bug #52667 2021-09-22 16:14:58 +03:00
a705625321 All RoundTrips were rewritten 2021-09-22 14:26:10 +03:00
bf75cfab48 add RoundTrip records 2021-09-22 12:06:13 +03:00
83bf58cb93 [xlsb] add SheetProtection, TableParts, SortState parsing (records and
fill inner objects)
2021-09-22 11:03:10 +03:00
3bfb4d4f29 rewrite WriteRoundTripSlideMasters, but without _rels 2021-09-22 00:12:53 +03:00
d4fd9314bc Merge branch 'feature/ppt_7' of https://github.com/ONLYOFFICE/core into feature/ppt_7 2021-09-21 20:39:28 +03:00
0937f5ef8f Trying to add RoundTrip slideMasters 2021-09-21 18:40:54 +03:00
d2a3c8b139 Correct writting RoundTrip theme. Rewritting... 2021-09-21 15:30:51 +03:00
39765a5a61 Collect all RoundTrip for themes. Rewritting... 2021-09-21 14:41:23 +03:00
b75eeaefe6 Merge pull request #718 from ONLYOFFICE/fix/v6.5.0-fix-bugs-ppt
Fix/v6.5.0 fix bugs ppt
2021-09-21 09:22:25 +03:00
ff0f86b4ba Merge branch 'feature/ppt_7' of https://github.com/ONLYOFFICE/core into feature/ppt_7 2021-09-20 19:51:30 +03:00
83feb20265 Special version with ppt record's tree 2021-09-20 18:34:48 +03:00
07711ba4d1 Merge branch 'fix/v6.5.0-fix-bugs-ppt' into feature/ppt_7 2021-09-20 12:14:53 +03:00
21a9296e85 [xlsb] fix crash with virtual functions 2021-09-17 17:19:48 +03:00
d4a083c6ba [xlsb] add parser sheetFormatPr and sheetViews (records and inside
objects)
2021-09-17 13:50:06 +03:00
1d1054d762 Merge remote-tracking branch 'origin/fix/v6.5.0-fix-bugs-ppt' into feature/ppt_7 2021-09-17 12:59:52 +03:00
8a29a3e9e4 Merge branch 'release/v6.5.0' into develop 2021-09-17 11:56:03 +03:00
a0ebe7acb3 Merge remote-tracking branch 'origin/hotfix/v6.4.1' into release/v6.5.0 2021-09-17 11:45:17 +03:00
154f9691a3 [android] Clean code 2021-09-17 10:14:52 +03:00
78e4a4e92b Refactoring 2021-09-16 22:27:25 +03:00
996b85951d [android][all] Migrate version gradle plugin to 7 2021-09-16 18:39:23 +03:00
2ace756da4 Merge pull request #715 from ONLYOFFICE/fix/v6.5.0-fix-bugs1
fix bug #52422
2021-09-16 14:17:40 +03:00
d964cb3d37 fix bug #52422 2021-09-16 14:16:24 +03:00
4ac1c8c928 some debug stuff 2021-09-15 21:45:26 +03:00
d1ac7c9e34 add roundTrip Layout 2021-09-15 17:21:58 +03:00
abed5269b2 [xlsb] add parsing SheetData object 2021-09-15 14:24:27 +03:00
9267fc8aeb Merge branch 'fix/v6.5.0-fix-bugs-ppt' of https://github.com/ONLYOFFICE/core into fix/v6.5.0-fix-bugs-ppt 2021-09-15 10:41:46 +03:00
1fcc07708b Revert "Correct RoundTrip theme.xml for Note and Handout"
This reverts commit b451472ba3.
2021-09-15 10:41:30 +03:00
0455514ea9 Added the ability to create a text record 2021-09-14 22:20:43 +03:00
fb5c459e05 Starting roundTrip Layout 2021-09-14 16:38:28 +03:00
c5d85bc2b9 Correct and rewrite roundTrip theme 2021-09-14 16:23:34 +03:00
071c0e75c8 [test] For MemoryLimit 2021-09-14 13:02:02 +03:00
c6823c617a [test] Test process memory limitation 2021-09-14 12:51:37 +03:00
5142761c85 transparent img fix 2021-09-13 19:39:33 +03:00
b451472ba3 Correct RoundTrip theme.xml for Note and Handout 2021-09-13 17:32:46 +03:00
0a702d44e4 replace grepPaths() to PPT Converter.h/cpp 2021-09-13 12:41:50 +03:00
14f0249708 rewrite grepPaths() std -> boost 2021-09-10 18:15:52 +03:00
950515f219 Added the ability to create a text record 2021-09-10 17:27:56 +03:00
a16921b2e9 Added the ability to create a text record 2021-09-09 20:55:09 +03:00
9faf8bedd5 [xlsb] add records for worksheet (for Cols, Hyperlinks, MergeCells,
Drawing, SheetData) and write data from records for Cols, Hyperlinks,
MergeCells, Drawing
2021-09-09 18:54:08 +03:00
7a33ead400 Refactoring and increased the number of possible record creation 2021-09-08 22:18:40 +03:00
4813f1d07a Removed unnecessary theme/_rels/ 2021-09-08 15:17:28 +03:00
1c6c5f982a Increased the number of possible record creation 2021-09-07 23:10:15 +03:00
f5ef1dd683 axial special case fix 2021-09-07 20:35:11 +03:00
9728a2277b correct RoundTripTheme layouts 2021-09-07 18:44:31 +03:00
59eb3cfea5 . 2021-09-07 13:13:04 +03:00
761ceab8d2 Merge commit '8c726e475a562e64a39d36cac32226249a3f7697' into feature/odf 2021-09-07 12:10:14 +03:00
f62f1dff83 Increased the number of possible record creation 2021-09-07 02:48:33 +03:00
35bd761c9c Merge pull request #711 from ONLYOFFICE/fix/v6.5.0-fix-bugs
Fix/v6.5.0 fix bugs
2021-09-06 17:35:20 +03:00
78bc7afa13 Merge remote-tracking branch 'origin/fix/v6.4.1-fix-bugs2' into fix/v6.5.0-fix-bugs 2021-09-06 17:33:26 +03:00
8742086a0a fix bug #52344 2021-09-06 17:32:41 +03:00
9a4769eb47 Refactoring 2021-09-03 21:10:47 +03:00
a2cf7ed13c Added the ability to save in Emf format 2021-09-03 20:48:52 +03:00
1d97c0e61d Changed the display of the buffer record 2021-09-03 20:35:05 +03:00
30264e12d1 Merge pull request #710 from ONLYOFFICE/fix/v6.5.0-fix-bugs
.
2021-09-03 17:29:16 +03:00
3c19d5e26e . 2021-09-03 17:26:35 +03:00
7b0b4b9cd9 Merge pull request #709 from ONLYOFFICE/fix/v6.5.0-fix-bugs
fix merge
2021-09-03 17:17:40 +03:00
9ba942e3a1 fix merge 2021-09-03 17:16:09 +03:00
84b3883a1f Merge remote-tracking branch 'origin/hotfix/v6.4.1' into release/v6.5.0 2021-09-03 17:02:35 +03:00
d2c8c14f8b axial shading fix 2021-09-03 13:39:21 +03:00
e67089c5b4 The logic of converting created records into a tree object has been redesigned 2021-09-02 21:17:01 +03:00
fbe9ba88b9 build with pdf 2021-09-02 13:30:32 +03:00
e75b9dd848 radial fix, little mesh patch optimisation 2021-09-01 11:35:34 +03:00
53b55326be Merge remote-tracking branch 'origin/hotfix/v6.4.1' into develop 2021-09-01 07:59:02 +03:00
a5c1351cde The addition of the ability to create records has begun 2021-08-30 21:38:38 +03:00
34a525e74d Some stuff 2021-08-30 21:30:22 +03:00
bcc1801edb functional fix 2021-08-30 12:34:16 +03:00
58e99cd2d4 Fixed a malfunction when saving Xml and a small refactoring 2021-08-27 21:40:59 +03:00
905973fded Implemented real-time updating of image changes 2021-08-27 20:28:06 +03:00
709282dfd4 add pdf 2021-08-27 18:42:59 +03:00
f7c518d145 custom gradients
todo type 67
todo coord debug 23
2021-08-26 23:08:50 +03:00
7779b864c1 [xlsb] add basic complete parse workbook.bin 2021-08-26 23:00:51 +03:00
717ebd02af Refactoring and adding the ability to edit records 2021-08-26 20:19:34 +03:00
ce43301d5f Merge branch release/v6.4.0 into develop 2021-08-26 13:50:47 +00:00
4a5c027cf4 xps fix links 2021-08-26 13:45:40 +03:00
e57b35c77e Added a window for editing records 2021-08-25 22:16:17 +03:00
a1caf0792d djvu fix coords 2021-08-25 18:22:59 +03:00
317d425ff2 [xlsb] add fill data 2021-08-23 14:51:25 +03:00
9098f18db2 Merge remote-tracking branch 'origin/release/v6.4.0' into develop 2021-08-23 10:24:30 +03:00
84d0cef869 In the test example, the ability to save XML has been added 2021-08-20 16:51:17 +03:00
b4d2bff379 xps combining external and internal links 2021-08-20 16:27:11 +03:00
99742dd7b3 textclip 2021-08-20 16:09:16 +03:00
f0e7921347 fix djvu exception 2021-08-20 14:49:10 +03:00
d152aabd82 The implementation of XML to EMF conversion is finally completed 2021-08-20 14:34:38 +03:00
35fb50c226 clip fix
TODO text clip, new gradient render implementation
2021-08-20 11:50:26 +03:00
0c6c406cf5 Added saving polygons in polygons 2021-08-19 22:01:22 +03:00
0465a264aa js djvu links 2021-08-19 18:02:59 +03:00
d36c3aeea3 fix protection read 2021-08-19 12:15:50 +03:00
7f8a98f290 Added an entry in the Xml of unknown records 2021-08-18 21:50:38 +03:00
aaa24271e9 [xlsb] add clone func in common records and EndBook record 2021-08-18 16:08:07 +03:00
c8ce35e4b9 djvu links 2021-08-18 13:14:17 +03:00
e4cf0cb61f Refactoring 2021-08-17 20:57:50 +03:00
934bbe2283 [xlsb] add BrtWebOpt and BrtFileRecover records 2021-08-17 20:28:59 +03:00
cf3a73a548 [xlsb] merge with develop 2021-08-17 14:04:26 +03:00
c86e6258af Refactoring 2021-08-16 21:10:03 +03:00
78cd4ed710 fix bad drawing part in smartarts;
fix circles smartart
2021-08-16 16:10:23 +03:00
c06c0ad088 clip stack (debug needed) 2021-08-16 15:10:18 +03:00
fb28aadbb9 clientData & fLocksText 2021-08-16 11:45:47 +03:00
cb86631775 Merge pull request #689 from ONLYOFFICE/release/v6.4.0
Release/v6.4.0
2021-08-16 09:37:27 +03:00
7b12ef172a fixed clip on test example
but doesnt work in general
2021-08-16 08:42:15 +03:00
6cb75bc53a imageOutputDev + xmlfeatures 2021-08-13 12:40:18 +03:00
5d917b93e3 Merge remote-tracking branch 'origin/release/v6.4.0' into develop 2021-08-12 18:49:22 +03:00
4ce8c56fc9 fix coords 2021-08-11 11:57:27 +03:00
1034f66555 js xps external and internal links 2021-08-11 11:17:27 +03:00
660acc4e0b Merge branch hotfix/v6.3.2 into develop 2021-08-10 12:23:11 +00:00
2627e2a7dd xps get glyphs and links without repaint 2021-08-09 11:56:48 +03:00
93209acab6 actual fix + refactoring
the previous one just forsed a substitute font
2021-08-08 22:46:53 +03:00
a1a81a808c fix build 2021-08-07 09:18:03 +03:00
36dc01463f fix font linux
TODO test this on windows
2021-08-06 15:58:18 +03:00
f9730a4a6d font fix 2021-08-06 00:05:54 +03:00
2056d81343 Merge remote-tracking branch 'origin/release/v6.4.0' into develop 2021-08-05 19:52:23 +03:00
d4de820fa3 xps external and internal links 2021-08-05 14:30:22 +03:00
1078df18f8 . 2021-08-04 15:01:26 +03:00
3729083e3e Merge remote-tracking branch 'origin/release/v6.4.0' into develop 2021-08-04 14:51:56 +03:00
7b0bc5a059 xps get glyphs, first paint 2021-08-03 15:14:09 +03:00
96a8f54933 Correction of defects 2021-07-30 18:57:16 +03:00
18a4775984 djvu get glyphs separately from paint 2021-07-30 18:27:49 +03:00
8d143b8682 Merge pull request #674 from ONLYOFFICE/feature/v8_inspector_xx
Support v8 inspector
2021-07-30 17:01:31 +03:00
4bb6c8554c refactoring 2021-07-30 16:59:15 +03:00
2dc8038257 temp file 2021-07-30 14:39:14 +03:00
af184659f3 restored v8.pri and ixwebsocket sources 2021-07-30 14:06:49 +03:00
7698d47e09 finalized check for 'silent' breakpoints 2021-07-30 13:58:09 +03:00
bfa4e0a5d0 found workaround with setting breakpoints 2021-07-30 01:20:11 +03:00
92519a5d62 added readme 2021-07-29 21:30:56 +03:00
e78bc7ea57 cleaned the code up 2021-07-29 19:09:30 +03:00
9746b63f46 removed redundunt code from inspector 2021-07-29 18:48:16 +03:00
458c9ba638 fixed pause on breakpoints and steps 2021-07-29 18:23:04 +03:00
8de9a7dd31 Refactoring 2021-07-29 13:56:49 +03:00
1e7c83a0e7 Fixed saving empty records in Xml 2021-07-28 18:02:18 +03:00
ef7281f362 fix djvu coords and structure pages 2021-07-28 14:01:46 +03:00
016a90610f [xlsb] add change .pro for build 2021-07-28 12:56:06 +03:00
cab34310bf tested v8-debug - it also works fine 2021-07-27 23:53:19 +03:00
9b8d805ea9 cleaner and still working version 2021-07-27 23:31:53 +03:00
9cf28e70e0 works and looks as Oleg wanted 2021-07-27 21:26:22 +03:00
2e3b5e6d39 fix 2021-07-27 18:42:06 +03:00
f862f962e0 djvu glyphs 2021-07-27 18:10:51 +03:00
da76475a51 [xlsb] add BrtOleSize and BrtUserBookView records 2021-07-27 14:30:33 +03:00
521053adf8 workaround for icu in xps
temporary solution
2021-07-27 13:31:17 +03:00
a234671ad2 fix 2021-07-27 12:47:46 +03:00
37f5bdcaf5 fully working version 2021-07-27 11:31:58 +03:00
ec9a1802bf working version 2021-07-26 19:55:52 +03:00
5214162718 general compilation and optimization glyphs 2021-07-26 18:37:49 +03:00
c92847d254 check for logging long message added 2021-07-26 15:11:02 +03:00
6a0d882178 very bad desing, needs to be rewritten. but it works 2021-07-26 00:58:39 +03:00
086212209f trial works 2021-07-25 23:20:27 +03:00
5490140a02 version with server out of inspector. it does not work, commiting just in case, to not lose it 2021-07-24 23:26:30 +03:00
37402ebb39 [x2t] Set m_bMacro flag according to nFormatTo 2021-07-24 19:48:20 +03:00
89c2322393 experimental 2021-07-23 18:53:32 +03:00
2845b2ea4b [xlsb] add BrtCalcProp record 2021-07-23 18:46:26 +03:00
d652e3c32f djvu structure 2021-07-23 18:18:18 +03:00
974b66aa60 [xlsb] add BrtName record and fix some records 2021-07-23 16:13:49 +03:00
6fb07e8ae3 Fix color for shapes 2021-07-23 14:34:01 +03:00
7ddc578d1f Changed saving float and string types to an EMF file 2021-07-22 21:48:25 +03:00
6ad4a538eb djvu compilation 2021-07-22 17:32:02 +03:00
6aa9b0518b removed shutting the server down from the inspector
also added temporary logging to server
2021-07-22 13:35:32 +03:00
f47f27890c one pic for a page 2021-07-22 11:55:55 +03:00
bb8ce719b7 Refactoring 2021-07-22 11:10:51 +03:00
02d93007d4 Move inspector files to v8_use_inspector section 2021-07-22 10:37:19 +03:00
319e390b87 The cycle of reading data from an Xml file has been changed 2021-07-21 21:18:20 +03:00
b589dafb48 Fix convertation pdf2docx 2021-07-21 20:33:38 +03:00
3872501d7f [xlsb] add EXTERNALS, SUP unions and dependency records/structs, add CommonRecords.h 2021-07-21 19:04:49 +03:00
6f33e529e5 optimization 2021-07-21 18:04:44 +03:00
9ec56fb323 fix repaint 2021-07-21 11:53:57 +03:00
cdbf82ab7e . 2021-07-21 10:54:16 +03:00
9f57fdb739 removed file checking 2021-07-21 00:59:34 +03:00
2dc209afcc added shutting the server down and a file to control debug 2021-07-21 00:43:46 +03:00
cf65ec1448 Fix crash on empty strings 2021-07-20 20:33:48 +03:00
2f8e492fc6 xps structure 2021-07-20 16:38:02 +03:00
0e9fc9329d deleted scriptholder class 2021-07-20 14:03:21 +03:00
a3d95d67c5 cleaned the code up 2021-07-20 13:56:23 +03:00
af3cf7f33a added counting the number of inspectors in single thread
js code can call c++ code, that can again call js code, thus creating more than one inspector in single thread
it leaded to creating multiple servers that attempted to listen on the single port and failed
to distribute ports between inspectors counting of inspectors amount in each thread was added
now several inspectors in single thread gain unique ports
2021-07-19 23:24:44 +03:00
7393a8220b . 2021-07-19 23:08:13 +03:00
18063bbbbf Refactoring and added recording of the remaining records in Emf 2021-07-19 21:50:31 +03:00
e00e309662 Merge remote-tracking branch 'origin/release/v6.4.0' into develop 2021-07-19 19:04:46 +03:00
75866f2e86 creat Structure 2021-07-19 18:58:18 +03:00
9457fd7ac0 [xlsb] change under_score_case to CamelCase and add FNGROUP union and dependency record 2021-07-19 17:48:41 +03:00
2567e61944 [x2t] Fix VbaProject reading from Editor.bin 2021-07-19 14:20:07 +03:00
692890f75d Fix some ranges 2021-07-19 13:51:19 +03:00
5b3467290f Remove old files 2021-07-19 13:18:20 +03:00
e711c7b993 Prepare for debug 2021-07-19 13:16:13 +03:00
25d3b69fde matrixex 2021-07-19 12:31:48 +03:00
1ee41654a2 added new files to js_base.pri 2021-07-19 03:12:08 +03:00
a1a0feb432 fine version with test sample in main.cpp 2021-07-19 02:25:45 +03:00
9372226d5c preliminary working version 2021-07-19 01:42:47 +03:00
db72b01e99 Realize some TODO 2021-07-18 16:13:31 +03:00
e9e9a954ac [docxrenderer] Compiled version 2021-07-18 15:49:35 +03:00
f8a9135f93 Merge remote-tracking branch 'origin/release/v6.4.0' into develop 2021-07-17 16:30:21 +03:00
e13a95fa0a . 2021-07-17 10:09:22 +03:00
a7c1d6bf59 Added recording of some records in Emf 2021-07-16 21:56:58 +03:00
2e4486b49b fix for djvu, pdf 2021-07-16 18:34:40 +03:00
f7a1773105 text selection 2021-07-16 18:30:30 +03:00
b9782ddb7c save changes 2021-07-16 15:47:29 +03:00
e4f9cf881b fix bug #49667 2021-07-16 11:20:11 +03:00
79283a087a [xlsb] add BOOKVIEWS, BUNDLESHS unions and dependent records & structures 2021-07-16 10:54:36 +03:00
79882d03af [x2t] Add AVS_OFFICESTUDIO_FILE_OTHER_ODF to convert to any odf format; Split AVS_OFFICESTUDIO_FILE_DOCUMENT_PACKAGE format into parts; Add macro param to changeForm 2021-07-15 20:05:54 +03:00
7abae785cb refactoring 2021-07-15 18:48:19 +03:00
132c979174 Class StringUTF32 for platform-independed Unicode strings 2021-07-15 16:31:53 +03:00
673df114cc Refactoring 2021-07-14 23:33:54 +03:00
33eb1a7ab7 text and image render 2021-07-14 15:22:20 +03:00
f8b730dbc8 [xlsb] add ACABSPATH union FileSharing/Iso record, WbProp record and dependent structures 2021-07-14 13:56:11 +03:00
406005815b Refactoring and adding a save to Emf has started 2021-07-13 21:55:08 +03:00
72edf8e89d get glyphs from c++ 2021-07-13 12:55:13 +03:00
26e5889be5 Refactoring 2021-07-13 11:57:27 +03:00
4c483e506e Refactoring and adding data reading from an Xml file 2021-07-12 21:32:48 +03:00
4fd0b0e461 crush fix 2021-07-12 19:06:43 +03:00
b32d52bb85 repaired inspector client
i even more shamefully forgot to schedule pause before script execution
2021-07-12 13:55:04 +03:00
2e3a753280 modified .pro file so the project could be build for testing
also repaired Inspector: i shamefully forgot to initialize isolate pointer and logging flag
2021-07-12 12:44:51 +03:00
f81b269215 removed unused code 2021-07-11 18:52:01 +03:00
9f9a19e84b added comments, restructured code a bit 2021-07-11 18:31:38 +03:00
633f2b56f9 made fine .pri file for inspector usage 2021-07-11 18:30:57 +03:00
0ba261fa11 commited annoying ixwebsocket_internal.cpp 2021-07-11 13:19:55 +03:00
e3b71d57fc modified a bit v8.pri and ixwebsocket_internal
CIXWebsocket now prints error info to std::cerr and closes itself on destruction
2021-07-11 13:13:06 +03:00
a6f8b7c7ac deleted main.cpp from v8.pri 2021-07-11 12:56:35 +03:00
f542483beb added v8_use_inspector to v8.pri 2021-07-11 10:54:08 +03:00
a67b397491 project finalized, but not tested yet
a lot of code to make cleaner and better
2021-07-11 00:32:06 +03:00
495493ee59 moved runScript implementation into CJSContextPrivate
also slightly modified server
2021-07-10 21:32:17 +03:00
b3dec6066a connected CJSContextPrivate and CInspectorClient
declared CInspectorClient as a friend of CJSContextPrivate so client could use its runScript method later
forward declared CJSContextPrivate before CInspectorClient so client can store pointer to CJSContextPrivate inside
2021-07-10 16:26:15 +03:00
4a0ae7eff3 made isolate locking macros in utils
now depending on V8_DEBUG_MULTITHREADED define utils methods may lock or not isolate they use
also added namespaces and changed class names to conventional
2021-07-10 16:10:16 +03:00
16f55bc01a entering isolate scope removed from utils
utils are renamed into single thread utils so it's indicated that
they should access isolate only from single thread, and thus inspector
should be single-threaded, as it is now with boost::beast server realization
2021-07-10 15:13:50 +03:00
c309339666 Major refactoring 2021-07-09 22:29:16 +03:00
539d7b1356 slightly modified inspector 2021-07-09 18:04:51 +03:00
3185ca0f36 [XlsbFormat] fix build 2021-07-09 17:36:04 +03:00
4dd2aa8df6 x2t - doc & write protection 2021-07-09 15:10:05 +03:00
5f96f5dbb7 refactoring 2021-07-09 14:47:21 +03:00
2dadace9e0 [Common][Network] change typedef style func to c++11 std::function 2021-07-09 14:01:14 +03:00
e6edae010a [XlsbFormat] refactoring, create WorkBookStream and take a part of WorkBook.bin records 2021-07-09 13:12:13 +03:00
1b7b530906 change call GetArray from binaryReader 2021-07-09 13:01:04 +03:00
c7c25895c2 change GetArray allocate memory to outside allocate 2021-07-09 12:55:37 +03:00
3eb5c21b10 preliminary working (at least, on my machine) version
comments and namespaces to add, logging to implement, some other features to be done.
but it works and might be tested.
2021-07-08 18:16:57 +03:00
da415dcbbd sync changes to test on linux 2021-07-07 16:16:23 +03:00
bf2edb3776 [xlsb] add binary stream reader 2021-07-07 15:46:46 +03:00
dd7010f2cd swap_ranges faster 2021-07-06 17:18:51 +03:00
cc7294cadb already ready xps 2021-07-06 13:03:52 +03:00
1f809a129d adding xps to DjVuFile/wasm 2021-07-06 12:57:21 +03:00
edcdd0ab8e compile djvu 2021-07-05 18:39:59 +03:00
da5a147393 Merge branch 'feature/localgraphics' into feature/drawing_file_client 2021-07-05 11:15:44 +03:00
321ca7e0ff Developing 2021-07-05 07:22:55 +03:00
04b9c9ae1d Developing... 2021-07-04 22:10:17 +03:00
f02690c3fe Developing... 2021-07-04 21:35:53 +03:00
69d4a44b3c Refactoring 2021-07-03 21:03:54 +03:00
237fb15d19 Errors fixing
Trying not to use CGenericList
2021-07-03 01:46:21 +03:00
124e90696c fix bugs 2021-07-02 16:23:47 +03:00
d2ff657b81 fix rgba
some letters disappear
2021-07-02 13:22:31 +03:00
0fb91dc2f8 Merge remote-tracking branch 'origin/release/v6.4.0' into develop 2021-07-02 10:44:38 +03:00
8a39c5470e build wasm 2021-07-01 18:22:00 +03:00
6174e93a7c Fix v8 crash with bad script 2021-07-01 17:37:10 +03:00
08d55a40ff null pointer exception fix 2021-07-01 17:15:17 +03:00
ca716c5b7d Fix string creating 2021-07-01 17:02:03 +03:00
ed9bb79889 Add zlib for ixwebsocket 2021-07-01 15:29:31 +03:00
1747439048 wasm JBig2 2021-06-30 18:47:19 +03:00
419d0ba99a draws smth 2021-06-30 17:47:07 +03:00
9a91fac28c . 2021-06-30 13:55:26 +03:00
39347207da Refactoring 2021-06-29 21:14:25 +03:00
fe129f33ce xps texture in memory 2021-06-29 18:09:55 +03:00
2ed31b0b8a instant crash fix 2021-06-29 15:50:05 +03:00
7b14e28ffa fixed roots, limits and logarithms 2021-06-29 14:39:42 +03:00
4c84e5f9a3 Developing... 2021-06-29 09:35:28 +03:00
17de9d8da0 Refactorng 2021-06-29 08:59:34 +03:00
b97006cda9 Fixed incorrect entry of some records in XML 2021-06-28 21:57:29 +03:00
09d6d280a5 launch linux 2021-06-28 18:39:06 +03:00
a1b480b83e fix fonts in folder, xps in folder 2021-06-28 18:14:27 +03:00
3a9cf26462 compiling on linux 2021-06-28 15:19:37 +03:00
00db21d443 string classes comparability
todo Clip
2021-06-27 21:10:09 +03:00
dbc591ab44 fix path 2021-06-27 17:39:39 +03:00
ebc9990f71 Rename enum in core & repair external lib 2021-06-27 12:23:14 +03:00
8c560d638d Rename libnetwork => libkernel_network (conflict with system) 2021-06-27 10:53:04 +03:00
1541e891b4 Fix build on macos 2021-06-27 09:46:52 +03:00
daf2f1a20f Merge pull request #646 from ONLYOFFICE/feature/nativeRefactoring
Feature/native refactoring
2021-06-26 22:14:59 +03:00
fa7690a239 Refactoring (add network library) 2021-06-26 22:11:52 +03:00
3a43362536 Refactoring 2021-06-25 22:06:58 +03:00
c9144ea4c6 Namechages + adaptor classes 2021-06-25 18:37:59 +03:00
77ce9fbef3 xps in memory 2021-06-25 17:17:13 +03:00
4a621f44c2 Refactoring (network library & kernel) 2021-06-25 17:10:05 +03:00
2b29a23b26 [DocxFormatLib][XlsbFormat] add BaseRecords, biff12 stream parser and working with sharedStrings.bin 2021-06-25 16:32:35 +03:00
2e20dd9058 Repair FontAssistant for support core-ext (deprecated class) 2021-06-25 10:53:02 +03:00
13f125f508 Merge remote-tracking branch 'origin/release/v6.4.0' into feature/nativeRefactoring 2021-06-25 10:45:23 +03:00
c025e51106 Merge pull request #645 from ONLYOFFICE/feature/webscoket
Feature/webscoket
2021-06-25 10:16:56 +03:00
38356d622a new branch, minimal changes to lib 2021-06-24 17:50:46 +03:00
b0c898b97e ZipFolder moved to OfficeUtils 2021-06-24 12:01:56 +03:00
ec13c73f03 Started adding a read from an Xml file 2021-06-23 21:09:52 +03:00
edb7bc2fc3 change conflict names 2021-06-23 15:47:03 +03:00
dee8a6d37a fix re-creation 2021-06-23 10:24:35 +03:00
f2da4416ae with static 2021-06-23 10:14:20 +03:00
f72475b172 CGlobalFontsMemoryStorage 2021-06-22 17:47:13 +03:00
1af0a7845d . 2021-06-22 14:27:07 +03:00
01d753cfc3 linux fix 2021-06-21 14:06:24 +03:00
64dcd1d0d7 fix memory leaks 2021-06-21 13:09:44 +03:00
5ddbe33783 Brackets and functions 2021-06-21 08:58:33 +03:00
b48fd55607 Refactoring 2021-06-20 20:13:46 +03:00
8489f6e02b Added the function of zooming images using the mouse wheel 2021-06-20 16:44:39 +03:00
434a69f15a Refactoring 2021-06-20 16:13:06 +03:00
922810b157 Combining data output into Xml and a file 2021-06-17 22:42:39 +03:00
b24d16534d Refactoring 2021-06-16 21:47:23 +03:00
861833b792 add text support
Common/3dParty/icu/icu/source/common/udata.cpp needs to change openCommonData implementation
2021-06-16 14:38:35 +03:00
0e666c8e17 . 2021-06-16 11:35:42 +03:00
b9308428ed Added a draft version of combining structures 2021-06-15 22:15:08 +03:00
4603f6db84 . 2021-06-15 19:28:27 +03:00
2ea9e20bd4 Merge branch 'feature/grad' into feature/newParser 2021-06-15 13:03:47 +03:00
c525b15de2 Fraction withput Bar 2021-06-15 10:50:38 +03:00
3fb32cc029 first commit 2021-06-15 10:21:19 +03:00
985a4b41dc . 2021-06-13 08:12:02 +03:00
5be7c96319 . 2021-06-12 16:47:49 +03:00
b3a9d8d07d . 2021-06-12 08:21:23 +03:00
e9944e0147 . 2021-06-11 20:09:54 +03:00
3f0bb334ed adding icu 2021-06-11 17:48:52 +03:00
0363867177 smart arts 2021-06-11 17:10:37 +03:00
2573f77c96 texture from file 2021-06-11 13:10:30 +03:00
6f91f99649 texture fill 2021-06-10 17:05:56 +03:00
f26de54016 Fix bug 50799 2021-06-09 18:00:28 +03:00
b41613a67f test gradient 2021-06-09 17:18:05 +03:00
806dc7f21b graphics test 2021-06-09 12:34:08 +03:00
abe4b20d46 Refactoring 2021-06-08 22:47:30 +03:00
2b79302d2b yet without fonts 2021-06-08 18:43:54 +03:00
0574712c5c with fonts from memory 2021-06-08 17:44:58 +03:00
57774bb53e Added deleting elements from the tree 2021-06-07 21:45:45 +03:00
15d5213146 fix js test 2021-06-07 18:03:09 +03:00
2c4d2af648 add c++ functions 2021-06-07 16:14:05 +03:00
010c73675e js test 2021-06-04 18:30:54 +03:00
6d958038cb c++ test 2021-06-04 15:24:30 +03:00
4de761f624 Added support for reading all records from an Xml file 2021-06-03 22:23:26 +03:00
1990eb70d4 build graphics.js 2021-06-03 16:29:19 +03:00
fe1d0e8f4c fractions without wideslash + integrals 2021-06-03 15:55:46 +03:00
a5c97f8b57 refactoring, roots and indexes 2021-06-03 07:28:28 +03:00
ecd62f9fcc add freetytype includes 2021-06-02 18:10:17 +03:00
33b7f5ffb7 add raster.o for graphics_make.py 2021-06-02 15:13:56 +03:00
c4e31235d5 Added file statistics 2021-06-01 23:55:24 +03:00
729bdfd752 add includes 2021-06-01 19:18:02 +03:00
2c2e74d182 Merge remote-tracking branch 'remotes/origin/release/v6.4.0' into develop 2021-06-01 18:56:36 +03:00
293805d0ef add graphics_make.py 2021-06-01 15:22:54 +03:00
5255d356f3 fix build 2021-06-01 11:05:45 +03:00
03b0045ba9 add dependency 2021-06-01 10:57:53 +03:00
01ed59348f Some fixes 2021-06-01 09:24:42 +03:00
b82be5aac8 Profile as debug 2021-05-31 21:54:37 +03:00
7d4f6a24d6 Merge pull request #627 from ONLYOFFICE/release/v6.4.0
Release/v6.4.0
2021-05-31 19:40:59 +03:00
3e7519ff4f create graphics 2021-05-31 14:45:59 +03:00
f9e7e8c91f Fix includes 2021-05-31 10:16:07 +03:00
b686c743c2 Implement class for picture field 2021-05-31 10:04:56 +03:00
971611603b Implement drawing border for field and special border for text-comb fields 2021-05-30 19:27:11 +03:00
5bd661720d Fixed closing the Xml file 2021-05-28 22:19:49 +03:00
4039b87453 Improved appearance 2021-05-28 21:58:34 +03:00
f98ebcac7d Improved appearance 2021-05-26 22:50:50 +03:00
7763f666fd funtional gradient 2021-05-26 17:56:08 +03:00
f71d111641 radius fix 2021-05-25 19:20:22 +03:00
9dae8f2b66 transform to mm 2021-05-25 18:52:06 +03:00
ea4f885923 empty lines fix 2021-05-25 16:53:31 +03:00
ba5b250faf add remaining files, remove auto 2021-05-25 12:42:34 +03:00
2bd9e8adf1 scale refactor
little optimisation
2021-05-25 11:21:10 +03:00
0b40961549 Removing unnecessary content 2021-05-24 20:06:03 +03:00
26aa839648 Fix 2021-05-24 18:15:48 +03:00
0cf5cf0bfa Move functions for different shadings to the proper place 2021-05-24 18:02:42 +03:00
9d84c6a435 Fix problem with drawing shadings 2021-05-24 17:08:01 +03:00
06a5922b9d Changed the display of the XML file on QTreeView 2021-05-21 23:54:03 +03:00
7e2e5c07c1 17 refactoring and comments 2021-05-20 16:18:32 +03:00
8f430b75c6 16 brackets 2021-05-19 20:02:15 +03:00
24b6e73b41 Adjusting the size of the resulting image 2021-05-19 19:43:48 +03:00
d757c5c048 15
brackets
2021-05-19 19:37:38 +03:00
beab3a36e1 on the way to fix linear grad
test commit from new PC
2021-05-19 15:24:51 +03:00
4259d2d256 Added rendering of metafiles 2021-05-18 21:37:14 +03:00
953af5b6b1 [network] add upload file/data external (curl) 2021-05-17 22:05:54 +03:00
4e761e9f1d 14
Function section of math conversation
2021-05-17 11:45:23 +03:00
4929328d7f [common][network] separate FileTransporter for 2 interfaces FileDownloader and FileUploader for client. Add UploadData, UploadFile, DownloadFile function on inside classes 2021-05-14 21:10:15 +03:00
c71da950ee [Common] add network lib 2021-05-13 18:43:25 +03:00
62e0ca27d1 scaling fix, little refactoring 2021-05-13 16:28:07 +03:00
8123b8d899 Merge branch 'feature/webscoket' of https://github.com/ONLYOFFICE/core into feature/webscoket 2021-05-11 18:47:56 +03:00
828112bc48 [websocket] default ixwebsocket 2021-05-11 18:47:23 +03:00
c74b034372 13
finish of realization <mn> and <mo> tag istead of few bugs
2021-05-11 10:50:27 +03:00
cff1d0e2ac Fix test 2021-05-10 13:51:26 +03:00
6a3b6ff05f Added reading bytes from an Xml file 2021-05-07 21:01:14 +03:00
48f23caff6 Refactoring 2021-05-07 18:41:05 +03:00
9bf8bf7c0f Refactoring 2021-05-07 18:23:55 +03:00
fd3c746db2 [3dParty] fix curl build ios 2021-05-07 14:38:47 +03:00
58dc38315a Added support for reading new records from Xml 2021-05-06 21:06:30 +03:00
86d34b1341 functional + test change 2021-05-06 18:05:47 +03:00
77ee0a7aab 12) Add some operators for <mo> odf tag 2021-05-06 06:25:14 +03:00
fa86ad2322 Added a prototype for reading data from an Xml file 2021-05-05 21:25:42 +03:00
0d7983c905 math drawing fix, add xmlns, fix relationship to math 2021-05-05 13:20:55 +03:00
242f4496e5 11
add <mrow> <mn> tags. Realisation "add text" for math_mi/mo/mn/
2021-05-05 11:19:22 +03:00
40e05fcb72 [3dParty][webscoket] add mac support 2021-05-04 16:35:13 +03:00
650268b474 odf write math xml without root node 2021-05-04 11:01:47 +03:00
b97b0bfde3 10 2021-04-30 13:40:29 +03:00
c2cb1fd828 Added saving arbitrary bytes from an EMF file to XML, Refactoring 2021-04-28 23:38:55 +03:00
420e2b8518 Linnear fix
[agg]Fixed issue when axial gradient didn't render extended part
[Graphics]Removed console log in color function
[Test] page numeration fix
2021-04-27 15:15:31 +03:00
6369200c6e New test, changed name 2021-04-26 18:03:39 +03:00
dce5c3f1b0 9 2021-04-26 10:23:25 +03:00
e8657eff2a [3dParty][socket] add support ixwebsocket for win64 2021-04-23 15:19:05 +03:00
aad4c38574 Refactoring saving EMF to XML 2021-04-22 19:00:46 +03:00
72d9418fd5 radial fix 2021-04-22 15:37:50 +03:00
1da52687ae fix math context 2021-04-21 18:19:09 +03:00
de80aa2e42 8
odf_math_context
2021-04-21 04:37:02 +03:00
9f7f51fc82 Merge branch 'feature/grad' of https://github.com/ONLYOFFICE/core into feature/grad 2021-04-20 12:58:57 +03:00
dee0cf0424 New test for pdf 2021-04-20 12:51:11 +03:00
575339bdb8 Revert "Added saving of the Unsigned int type"
This reverts commit a7ee06aeca.
2021-04-19 18:31:00 +03:00
cac21d43ad Fix build on windows 2021-04-19 17:52:10 +03:00
a7ee06aeca Added saving of the Unsigned int type 2021-04-19 17:09:12 +03:00
55766a4b7a [3dParty][websocket] fix include/lib openssl 2021-04-19 14:14:11 +03:00
78e44be4d1 Refactoring 2021-04-19 07:05:56 +03:00
82fb489cdd Added image display and its xml representation in Qt 2021-04-18 15:37:44 +03:00
e18873cfa6 [3dParty][websocket] fix includes 2 2021-04-16 01:24:24 +03:00
d3bcc73216 Refactoring 2021-04-14 21:20:21 +03:00
de88587dde wrong radius fix
correct radius
wrong background
2021-04-14 15:16:30 +03:00
1b5766ac77 wrong radius fix 2021-04-14 14:41:05 +03:00
7cbfe8eea4 Merge branch 'develop' of https://github.com/ONLYOFFICE/core into feature/webscoket 2021-04-14 12:59:52 +03:00
ae784a8e29 [3dParty][websocket] fix socketrocket name 2021-04-13 20:14:33 +03:00
6d5e9a6835 [3dParty][websocket] fix build scripts 2021-04-13 19:57:36 +03:00
819dd7b55f Rename Common/3dParty/socketRocket/socketRocket.pri to Common/3dParty/socketrocket/socketrocket.pri 2021-04-13 19:29:04 +03:00
ea281eb57c fix
little radial fix
2021-04-13 14:15:39 +03:00
157934032e [3dParty][websocket] build openssl and ixwebsocket for ios 2021-04-12 22:21:13 +03:00
6676124c5b 7
math serialize
2021-04-12 17:15:02 +03:00
14e3951d7e back vcxproj and add some math files to OdfWriter 2021-04-12 13:49:42 +03:00
99ce92b794 Added saving EMF to XML 2021-04-10 14:25:46 +03:00
923cab1fc0 triangle
found patch bug if res = 0
2021-04-09 14:36:29 +03:00
882ac192a2 6 math serialize 2021-04-08 21:36:53 +03:00
db72b90d3a 5
Math structures in OdfFormatWriterLib without serialize
2021-04-08 16:39:33 +03:00
7cc4bff37c patch, axial and radial gradient
works most of the times but there are some bugs
cannot test functional and triangle
2021-04-08 16:32:22 +03:00
e0278e4b13 [websocket][interface] refactoring code 2 2021-04-07 19:08:16 +03:00
ca66431f14 4 2021-04-07 16:32:54 +03:00
2e549efa1b Coons patch
Added correct coord transformation and alpha channel support
Started working on other gradients
2021-04-07 13:33:32 +03:00
e30806413a 3 2021-04-06 21:38:29 +03:00
c4cad9ced9 2 2021-04-06 21:30:15 +03:00
32d9962dd1 [websocket][interface] refactoring code 2021-04-06 21:07:53 +03:00
f03e7cf2a9 magic constant 2021-04-06 16:42:17 +03:00
f6e2e91a4d Radial fix, PDF gradinet implementation
Fixed radial shading cone display
Started working on coons shading, it can convert pdfreader colors to graphics colors(rgb only) and drow similar (in math sense) shape, however size is still wrong, figuring out how to diplay shape with corect size and offset.
Todo:
 Other gradients
 Size and offset
 Alpha Channel
2021-04-03 17:40:56 +03:00
261430fdf9 [3dParty][lib] add build socketRocket for ios & mac 2021-04-02 19:06:13 +03:00
ee296ff09d math conversation 2021-04-02 07:01:27 +03:00
f7b3f95bcb Merge pull request #563 from ONLYOFFICE/develop
Develop
2021-04-01 10:18:48 +03:00
bea00062b4 Refactoring 2021-03-31 18:01:22 +03:00
d586befe30 Merge remote-tracking branch 'origin/feature/odf' into feature/odf 2021-03-31 14:42:38 +03:00
4269b2862f gitignore + start of feature 2021-03-31 14:22:53 +03:00
ccda615144 gitignore smth 2021-03-31 11:42:02 +03:00
e142db5400 Adjusted the size of some polygons 2021-03-30 21:09:58 +03:00
4d9e28ce09 UI triangle 2021-03-26 18:18:16 +03:00
7cb4914239 fix test crash
Not parametric coonspatch optimisation
2021-03-26 17:40:11 +03:00
ed498c296d Test UI and Bug fixes
Made new ui to test
Fixed bug with linear gradient
Optimised Coons patch
2021-03-26 15:57:37 +03:00
948f3b5e09 [websocket][ios] add wrappers 2021-03-25 11:17:12 +03:00
27950b108b Empty pixel fix
Finally fixed not rendering some pixels in an effective way.
Added comments. Started making an adaptor to easly convert PDF info to gradient info.
2021-03-24 14:10:45 +03:00
6a3ca43a1d Fixed incorrect position of arcs in some cases 2021-03-22 21:17:13 +03:00
08f303d73d Fixed incorrect background in some cases 2021-03-22 21:14:25 +03:00
e1f905ffe0 fixed empty pixels
Now there are no empty pixels but it works muchs slower.
Trying different ways to optimise.
Small change in test app, now its easier to test shadings.
2021-03-22 18:25:08 +03:00
290b677dbe coons patch and tensor shading
made somewhat working realisation of coons patch gradient and tensor shading
still need debugging and optimisations
2021-03-22 14:03:00 +03:00
c1855bbf2a Working trinagle interpolation
Fixed triangle interpolation, both parametric and color.
Started developing Tensor Product gradient. (Does not work for now)
A bit of refactoring.
2021-03-20 16:47:44 +03:00
468b2bf877 Changed the default background color from black to white 2021-03-19 22:11:44 +03:00
5b88f73bf5 Fixed a problem with different text rotation direction 2021-03-19 20:39:36 +03:00
b8f7f267ff Fixed the position of the rotated text 2021-03-18 22:56:27 +03:00
b8d663139b Fix compile on all platforms 2021-03-18 09:17:19 +03:00
5984794ca5 [3dParty][mobile] add build scripts curl, openssl, ixwebsocket 2021-03-17 19:06:31 +03:00
b725ab4d75 added test trinagle gradient
still buggy
2021-03-17 18:31:07 +03:00
3da2f58ce7 [android][editors] add upload image by curl 2021-03-16 21:05:20 +03:00
b683adb0ba code style and little fix 2021-03-15 11:20:12 +03:00
17a84755ba bug fix 2021-03-15 11:01:04 +03:00
d58bd76f8c GUI test and buf fixes
fixed a few bugs
found a few new bugs
made a GUI for testing
2021-03-14 21:36:15 +03:00
d11c2e5b1b fix bug, optimisation
finished realisation of basic gradient
optimised float point calculation
2021-03-13 13:12:57 +03:00
65b243b19f [android][editors] add async loadUrlImage, reconnect after 2 sec, some feature 2021-03-12 15:15:33 +03:00
61f6422f4d refactor
new types of gradients
todo:
 1. More refactoring
 2. Rotate linear gradient debug
 3. Reflect, repeat adaptor
2021-03-12 15:12:49 +03:00
3262b0e551 Changing the formula for calculating new text coordinates when rotating 2021-03-11 20:42:58 +03:00
c3ab05b40e first version
added new gradients
still need a lot of refactoring/debuging(prob.)
pushing to backup somewhat working version
2021-03-11 18:44:36 +03:00
8c3490eaf6 Fix the coordinates of the position of the rotated text 2021-03-10 21:10:00 +03:00
57cf4311a0 Refactoring 2021-03-09 16:37:30 +03:00
e1d7bf74ba test variant 2021-03-09 16:16:32 +03:00
723badfdab [android][editors] add websocket support 2021-02-26 15:03:07 +03:00
8f6a51a4f8 [test] Update test file 2020-12-25 13:48:52 +03:00
4748ad961b Fixed a bug with incorrect position of ellipses 2020-11-24 20:01:04 +03:00
a9131b0841 The rotated text appears in the desired area 2020-11-19 21:10:06 +03:00
467360bc3e [test] Add test file 2020-11-17 22:42:11 +03:00
90ffc2be3b Numbers appeared in different places 2020-11-13 15:45:34 +03:00
11bbb0880d [se] dates is updated proof resolved 2020-11-11 15:06:20 +03:00
e69514a338 [se] macros-locale-data.xlsm chanes date 2020-11-10 17:06:28 +03:00
66eac90262 [se]the dates's been changed 2020-10-28 16:49:08 +03:00
2ddefee334 Merge branch 'feature/number-format-locale' of https://github.com/ONLYOFFICE/core into feature/number-format-locale 2020-10-27 13:09:39 +03:00
456f25d9e1 [se]fix 2020-10-27 13:09:17 +03:00
e447a428d0 [se] fix 2020-10-27 13:08:50 +03:00
c52c2306c3 [se] 2020-10-27 09:02:29 +03:00
68c07a11d4 updated 2020-10-27 08:58:59 +03:00
b4b8c74fd7 updated 2020-10-27 08:58:29 +03:00
908524ff2e [se] builders 2020-10-27 08:57:43 +03:00
bfd8f52e5e [se]ParseLocalFormatSymbol 2020-10-23 17:32:18 +03:00
40ef42f18d [se] view 2020-10-23 13:43:20 +03:00
057514398c [se] renamed 2020-10-23 13:40:51 +03:00
2f1975eca7 [se] renamed 2020-10-23 13:37:40 +03:00
199325b458 [se] chanhed Readme.md 2020-10-23 13:34:18 +03:00
7bb737e4ab [se]fix 2020-10-23 13:18:53 +03:00
4a381a013c [se]fix 2020-10-23 12:34:23 +03:00
795601e243 [se]fix 2020-10-23 12:29:21 +03:00
e0f902ef50 [se] moved 2020-10-23 12:28:57 +03:00
a8c605da58 [se] changed output 2020-10-23 12:18:58 +03:00
1330c28758 [se]rename 2020-10-23 12:17:32 +03:00
06cbaa82f2 [se] 2020-10-23 12:14:36 +03:00
bdd3cd0795 [se]alghoritm 2020-10-23 12:13:43 +03:00
bb6fc86e0a [se]renamed 2020-10-23 12:01:00 +03:00
900d28e002 [se] update 2020-10-22 15:34:43 +03:00
d41904eab0 [se]fix 2020-10-22 15:13:49 +03:00
22063acc38 [se] fxi 2020-10-22 14:52:45 +03:00
b61ecc11ae [se]algoiscommented 2020-10-22 14:41:22 +03:00
ded9f2cc6a [se] changeofdata 2020-10-22 14:38:00 +03:00
a7c136cdeb [se]changenamess2 2020-10-22 13:52:55 +03:00
d1e75447a0 [se] changenames s1 2020-10-22 13:25:53 +03:00
5263677365 [se]fix 2020-10-22 13:20:07 +03:00
de6d5de360 [se] alghoritm 2020-10-22 13:04:26 +03:00
66478ba28e [se] the comented algorithm 2020-10-22 09:56:11 +03:00
c6ed595019 Merge branch 'feature/number-format-locale' of https://github.com/ONLYOFFICE/core into feature/number-format-locale
# Conflicts:
#	Test/Applications/ParseExcelNumberFormatLocales/test/proof/test.js
2020-10-22 09:51:01 +03:00
7dd98a564c [se] fix 2020-10-22 09:27:01 +03:00
19d2417ffe Readme.md's been filled. 2020-10-22 09:26:25 +03:00
da2d9f6ed3 _ 2020-10-21 13:05:03 +03:00
6b0256ae4c _ 2020-10-21 13:00:07 +03:00
5ca14e42a6 _ 2020-10-21 12:59:51 +03:00
d150c439d4 _ 2020-10-21 12:01:36 +03:00
9952900ca8 _ 2020-10-21 11:57:39 +03:00
bc2f1a2c82 _ 2020-10-21 08:51:56 +03:00
ec1c5b278c fix 2020-10-20 17:15:40 +03:00
207cb4e6dd _ 2020-10-20 15:31:37 +03:00
f01770ba3c _ 2020-10-20 15:27:23 +03:00
dc2236c664 _ 2020-10-20 14:59:56 +03:00
112e2a866a fix 2020-10-20 14:55:39 +03:00
8add25ef19 _ 2020-10-20 14:51:27 +03:00
4863b89e62 Merge branch 'feature/number-format-locale' of https://github.com/ONLYOFFICE/core into feature/number-format-locale
# Conflicts:
#	Test/Applications/ParseExcelNumberFormatLocales/test/macros-locale (1).xlsm
#	Test/Applications/ParseExcelNumberFormatLocales/test/run2.vbs
#	Test/Applications/ParseExcelNumberFormatLocales/test/test2.ps1
2020-10-20 14:48:32 +03:00
f63dcd82f4 added dates 2020-10-19 15:45:06 +03:00
25b35c542a -replace "," to "." and " " to "!". the 2 bugs's been found. The first is webstorm cant replace "\u00A0" to "\u0020", the second is bad data, str2[297][1] = "\", strofdec[297] = "," 2020-10-19 15:41:00 +03:00
fc3060d2d0 [test] Move to relative path 2020-10-12 13:24:03 +03:00
8f4cbc5a5c [test] testing of the functional for changing symbols 2020-10-12 11:44:37 +03:00
34cd2d3e77 [test] Add new test project 2020-10-08 12:57:44 +03:00
15020 changed files with 2291246 additions and 1445694 deletions

67
.gitignore vendored
View File

@ -1,41 +1,4 @@
build/
dictionaries/
LicenceManager/
Common/boost_1_58_0
Common/3dParty/boost/boost_1_58_0
Common/3dParty/boost/boost.data
Common/3dParty/boost/ios
Common/3dParty/boost/osx
Common/3dParty/icu/icu
Common/3dParty/icu/win_64
Common/3dParty/icu/win_32
Common/3dParty/icu/linux_64
Common/3dParty/icu/linux_32
Common/3dParty/icu/mac_64
Common/3dParty/icu/ios
Common/3dParty/icu/android
Common/3dParty/icu/mac-build
Common/3dParty/cef/win_64
Common/3dParty/cef/win_32
Common/3dParty/cef/linux_64
Common/3dParty/cef/linux_32
Common/3dParty/cef/mac_64
Common/3dParty/curl/win_64
Common/3dParty/curl/win_32
Common/3dParty/curl/linux_64
Common/3dParty/curl/linux_32
Common/3dParty/curl/mac_64
Common/3dParty/v8/.cipd
Common/3dParty/v8/.gclient
Common/3dParty/v8/.gclient_entries
Common/3dParty/v8/v8
Common/3dParty/v8/depot_tools
Common/3dParty/v8/win_64
Common/3dParty/v8/win_32
Common/3dParty/v8/linux_64
Common/3dParty/v8/linux_32
Common/3dParty/v8/mac_64
Common/3dParty/openssl/openssl
**/core_build
**/Release
**/Debug
@ -50,15 +13,7 @@ Thumbs.db
*.xcuserstate
*.xcuserdatad
**/Makefile.*
ASCOfficeXlsFile2/win32/_ASCOfficeXlsFile2.idl
ASCOfficeXlsFile2/win32/_ASCOfficeXlsFile2.tlb
ASCOfficeXlsFile2/win32/_ASCOfficeXlsFile2.h
ASCOfficeXlsFile2/win32/_ASCOfficeXlsFile2_i.c
ASCOfficeXlsFile2/win32/_ASCOfficeXlsFile2_p.c
ASCOfficeXlsFile2/win32/dlldata.c
OfficeUtils/win32/OfficeUtilsLib/OfficeUtilsLib/ReadMe.txt
X2tConverter/ASCOfficePPTXFile/PPTXLib/Linux/PPTXFormatLib/Makefile
X2tConverter/Common/DocxFormat/DocxFormatLib/Makefile
**/Makefile
*.7z
*.obj
*.pdb
@ -71,3 +26,23 @@ X2tConverter/Common/DocxFormat/DocxFormatLib/Makefile
*.dat
*.txt
*.log
*.ipch
*.ipch
*.ipch
*.db-wal
*.db-shm
*.db
*.opendb
.vs
DesktopEditor/fontengine/js/common/freetype-2.10.4
*_resource.rc
.qtc_clangd
Common/3dParty/openssl/openssl/

View File

@ -1,506 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include <string>
#include <map>
#include <list>
#include <boost/shared_ptr.hpp>
#include "../../DesktopEditor/common/File.h"
inline static std::wstring ReplaceString(std::wstring subject, const std::wstring& search, const std::wstring& replace)
{
size_t pos = 0;
while ((pos = subject.find(search, pos)) != std::string::npos)
{
subject.replace(pos, search.length(), replace);
pos += replace.length();
}
return subject;
}
//----------------------------------------------------------------
namespace XMLTools
{
/*========================================================================================================
class XMLAttribute
========================================================================================================*/
class XMLAttribute
{
private:
std::wstring m_Name;
std::wstring m_Value;
public:
XMLAttribute()
{
}
XMLAttribute( const std::wstring & name ) : m_Name(name)
{
}
XMLAttribute( const std::wstring & name, const std::wstring & value ) : m_Name(name), m_Value(value)
{
}
~XMLAttribute()
{
}
void SetValue( const std::wstring & value )
{
m_Value = std::wstring( value );
}
std::wstring GetName() const
{
return m_Name;
}
/*========================================================================================================*/
std::wstring GetValue() const
{
return m_Value;
}
/*========================================================================================================*/
std::wstring GetXMLString()
{
std::wstring xmlString( L"" );
xmlString += m_Name;
xmlString += std::wstring( L"=\"" );
xmlString += m_Value;
xmlString += std::wstring( L"\"" );
return xmlString;
}
};
/*========================================================================================================
class XMLElement
========================================================================================================*/
class XMLElement;
typedef class boost::shared_ptr<XMLElement> XMLElementPtr;
class XMLElement
{
typedef std::pair< std::wstring, std::wstring> AttributeValuePair;
private:
std::wstring m_Name;
std::wstring m_ElementText;
std::map<std::wstring, std::wstring> m_AttributeMap;
std::map<std::wstring, int> m_ChildMap; //for uniq
std::list<XMLElement> m_Elements;
typedef std::list<XMLElement>::iterator ElementsIterator;
typedef std::list<XMLElement>::const_iterator ElementsIteratorConst;
typedef std::map<std::wstring, std::wstring>::iterator AttMapIterator;
typedef std::map<std::wstring, std::wstring>::const_iterator AttMapIteratorConst;
public:
XMLElement() {}
XMLElement( const std::wstring & name ) : m_Name(name)
{
}
XMLElement( const std::wstring & prefix, const std::wstring & localName ) :
m_Name( std::wstring( prefix ) + std::wstring( L":" ) + std::wstring( localName ) ), m_ElementText( L"" )
{
}
~XMLElement() {}
void AppendText( const std::wstring & text )
{
m_ElementText = std::wstring( text );
}
void AppendTextSymbol( const wchar_t symbol )
{
m_ElementText += std::wstring( &symbol );
}
void AppendAttribute( const XMLAttribute& attribute )
{
AttributeValuePair p( attribute.GetName(), attribute.GetValue() );
m_AttributeMap.insert( p );
}
void AppendAttribute( const std::wstring & name, const std::wstring & value )
{
AttributeValuePair p( name , value );
m_AttributeMap.insert( p );
}
void AppendChild( const XMLElement& element, bool uniq = false)
{
if (m_ChildMap.find(element.GetName()) != m_ChildMap.end())
{
if (uniq) return;
}
else
{
m_ChildMap.insert(m_ChildMap.end(), std::pair<std::wstring, int>(element.GetName(), 0));
}
m_Elements.push_back( element );
}
void AppendChild( XMLElementPtr element, bool uniq = false)
{
if (!element) return;
if (m_ChildMap.find(element->GetName()) != m_ChildMap.end())
{
if (uniq) return;
}
else
{
m_ChildMap.insert(m_ChildMap.end(), std::pair<std::wstring, int>(element->GetName(), 0));
}
m_Elements.push_back( *element.get() );
}
void RemoveChild( const XMLElement& element )
{
m_Elements.remove( element );
}
bool FindChild( const XMLElement& element )
{
bool result = false;
for ( ElementsIterator iter = m_Elements.begin(); iter != m_Elements.end(); iter++ )
{
if ( *iter == element )
{
result = true;
break;
}
}
return result;
}
bool FindChildByName( const std::wstring & elementName ) const
{
bool result = false;
for ( ElementsIteratorConst iter = m_Elements.begin(); iter != m_Elements.end(); iter++ )
{
if ( iter->m_Name == std::wstring( elementName ) )
{
result = true;
break;
}
}
return result;
}
bool RemoveChildByName( const std::wstring& elementName )
{
bool result = false;
for ( ElementsIterator iter = m_Elements.begin(); iter != m_Elements.end(); iter++ )
{
if ( iter->m_Name == elementName )
{
m_Elements.erase( iter );
result = true;
break;
}
}
return result;
}
bool operator == ( const XMLElement& element ) const
{
bool result = false;
result = ( m_Name == element.m_Name );
if ( m_AttributeMap.size() != element.m_AttributeMap.size() )
{
result = false;
}
else
{
AttMapIteratorConst thisIter = m_AttributeMap.begin();
AttMapIteratorConst elementIter = element.m_AttributeMap.begin();
for ( ; thisIter != m_AttributeMap.end(); thisIter++, elementIter++ )
{
if ( ( thisIter->first != elementIter->first ) || ( thisIter->second != elementIter->second ) )
{
result = false;
}
}
}
if ( m_Elements.size() != element.m_Elements.size() )
{
result = false;
}
else
{
ElementsIteratorConst thisIter = m_Elements.begin();
ElementsIteratorConst elementIter = element.m_Elements.begin();
for ( ; thisIter != m_Elements.end(); thisIter++, elementIter++ )
{
if ( !( (*thisIter) == (*elementIter) ) )
{
result = false;
}
}
}
return result;
}
/*========================================================================================================*/
std::wstring GetName() const
{
return m_Name;
}
/*========================================================================================================*/
std::wstring GetXMLString()
{
std::wstring xmlString( L"");
bool bIsNameExists = ( m_Name != std::wstring( L"") );
bool bIsTextExists = ( m_ElementText != std::wstring( L"") );
if ( bIsNameExists )
{
xmlString += std::wstring( L"<" ) + m_Name;
}
if ( ( bIsNameExists ) && ( m_AttributeMap.size() > 0 ) )
{
for ( AttMapIterator iter = m_AttributeMap.begin(); iter != m_AttributeMap.end(); iter++ )
{
xmlString += std::wstring( L" " );
xmlString += iter->first;
xmlString += std::wstring( L"=\"" );
xmlString += iter->second;
xmlString += std::wstring( L"\"" );
}
}
if ( ( m_Elements.size() > 0 ) || ( bIsTextExists ) )
{
if ( bIsNameExists )
{
xmlString += std::wstring( L">" );
}
for ( ElementsIterator iter = m_Elements.begin(); iter != m_Elements.end(); iter++ )
{
xmlString += iter->GetXMLString();
}
if ( bIsTextExists )
{
xmlString += m_ElementText;
}
if ( bIsNameExists )
{
xmlString += std::wstring( L"</" );
xmlString += m_Name;
xmlString += std::wstring( L">" );
}
}
else
{
if ( bIsNameExists )
{
xmlString += std::wstring( L"/>" );
}
}
return xmlString;
}
/*========================================================================================================*/
unsigned int GetAttributeCount() const
{
return (unsigned int)m_AttributeMap.size();
}
/*========================================================================================================*/
unsigned int GetChildCount() const
{
return (unsigned int)m_Elements.size();
}
};
class CStringXmlWriter
{
std::wstring m_str;
public:
CStringXmlWriter(){}
std::wstring GetXmlString()
{
return m_str;
}
void SetXmlString(const std::wstring& strValue)
{
m_str = strValue;
}
void Clear()
{
m_str.clear();
}
bool SaveToFile(const std::wstring& strFilePath, bool bEncodingToUTF8 = false)
{
NSFile::CFileBinary file;
if (!file.CreateFileW(strFilePath)) return false;
if (bEncodingToUTF8)
file.WriteStringUTF8(m_str);
else
{
std::string s(m_str.begin(), m_str.end());
file.WriteFile((unsigned char*)s.c_str(), (DWORD)s.length());
}
file.CloseFile();
return true;
}
void WriteString(const std::wstring & strValue)
{
m_str += strValue;
}
void WriteInteger(int Value, int Base = 10)
{
m_str += std::to_wstring(Value);
}
void WriteDouble(double Value)
{
m_str += std::to_wstring(Value);
}
void WriteBoolean(bool Value)
{
if (Value)
m_str += L"true";
else
m_str += L"false";
}
void WriteNodeBegin(const std::wstring& strNodeName, bool bAttributed = false)
{
m_str += L"<" + strNodeName;
if (!bAttributed)
m_str += L">";
}
void WriteNodeEnd(const std::wstring& strNodeName, bool bEmptyNode = false, bool bEndNode = true)
{
if (bEmptyNode)
{
if (bEndNode)
m_str += L"/>";
else
m_str += L">";
}
else
m_str += L"</" + strNodeName + L">";
}
void WriteNode(const std::wstring& strNodeName, const std::wstring& strNodeValue)
{
if (strNodeValue.length() == 0)
m_str += L"<" + strNodeName + L"/>";
else
m_str += L"<" + strNodeName + L">" + strNodeValue + L"</" + strNodeName + L">";
}
void WriteNode(const std::wstring& strNodeName, int nValue, int nBase = 10, const std::wstring& strTextBeforeValue = L"", const std::wstring& strTextAfterValue = L"")
{
WriteNodeBegin(strNodeName);
WriteString(strTextBeforeValue);
WriteInteger(nValue, nBase);
WriteString(strTextAfterValue);
WriteNodeEnd(strNodeName);
}
void WriteNode(const std::wstring& strNodeName, double dValue)
{
WriteNodeBegin(strNodeName);
WriteDouble(dValue);
WriteNodeEnd(strNodeName);
}
void WriteAttribute(const std::wstring& strAttributeName, const std::wstring& strAttributeValue)
{
m_str += L" " + strAttributeName + L"=\"" + strAttributeValue + L"\"";
}
void WriteAttribute(const std::wstring& strAttributeName, int nValue, int nBase = 10, const std::wstring& strTextBeforeValue = L"", const std::wstring& strTextAfterValue = L"")
{
WriteString(L" " + strAttributeName + L"=");
WriteString(L"\"");
WriteString(strTextBeforeValue);
WriteInteger(nValue, nBase);
WriteString(strTextAfterValue);
WriteString(L"\"");
}
void WriteAttribute(const std::wstring& strAttributeName, double dValue)
{
WriteString(L" " + strAttributeName + L"=");
WriteString(L"\"");
WriteDouble(dValue);
WriteString(L"\"");
}
};
}

View File

@ -1,93 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
namespace DocFileFormat
{
class AutoSummaryInfo
{
private:
/// True if the ASUMYI is valid
bool fValid;
/// True if AutoSummary View is active
bool fView;
/// Display method for AutoSummary View:
/// 0 = Emphasize in current doc
/// 1 = Reduce doc to summary
/// 2 = Insert into doc
/// 3 = Show in new document
short iViewBy;
/// True if File Properties summary information
/// should be updated after the next summarization
bool fUpdateProps;
/// Dialog summary level
short wDlgLevel;
/// Upper bound for lLevel for sentences in this document
int lHighestLevel;
/// Show document sentences at or below this level
int lCurrentLevel;
public:
virtual ~AutoSummaryInfo()
{
}
AutoSummaryInfo():
fValid(false), fView(false), iViewBy(0), fUpdateProps(false), wDlgLevel(0),
lHighestLevel(0), lCurrentLevel(0)
{
}
/// Parses the bytes to retrieve a AutoSummaryInfo
AutoSummaryInfo( unsigned char* bytes, int size ):
fValid(false), fView(false), iViewBy(0), fUpdateProps(false), wDlgLevel(0),
lHighestLevel(0), lCurrentLevel(0)
{
if ( size == 12 )
{
//split unsigned char 0 and 1 into bits
this->fValid = FormatUtils::GetBitFromBytes( bytes, size, 0 );
this->fView = FormatUtils::GetBitFromBytes( bytes, size, 1 );
this->iViewBy = (short)FormatUtils::GetUIntFromBytesBits( bytes, size, 2, 2 );
this->fUpdateProps = FormatUtils::GetBitFromBytes( bytes, size, 4 );
this->wDlgLevel = FormatUtils::BytesToInt16( bytes, 2, size );
this->lHighestLevel = FormatUtils::BytesToInt32( bytes, 4, size );
this->lCurrentLevel = FormatUtils::BytesToInt32( bytes, 8, size );
}
else
{
//throw new ByteParseException("Cannot parse the struct ASUMYI, the length of the struct doesn't match");
}
}
};
}

View File

@ -1,104 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "VirtualStreamReader.h"
#include "ByteStructure.h"
namespace DocFileFormat
{
class BookmarkFirst: public ByteStructure
{
private:
short ibkl;
short bkc;
public:
static const int STRUCTURE_SIZE = 4;
BookmarkFirst()
{
}
short GetIndex() const
{
return this->ibkl;
}
short GetInformation() const
{
return this->bkc;
}
virtual ~BookmarkFirst()
{
}
virtual ByteStructure* ConstructObject( VirtualStreamReader* reader, int length )
{
BookmarkFirst *newObject = new BookmarkFirst();
newObject->ibkl = reader->ReadInt16();
newObject->bkc = reader->ReadInt16();
return static_cast<ByteStructure*>( newObject );
}
};
class AtnBookmarkFirst: public ByteStructure
{
public:
unsigned short bmc;
unsigned int lTag;
static const int STRUCTURE_SIZE = 10;
AtnBookmarkFirst()
{
}
virtual ~AtnBookmarkFirst()
{
}
virtual ByteStructure* ConstructObject( VirtualStreamReader* reader, int length )
{
AtnBookmarkFirst *newObject = new AtnBookmarkFirst();
newObject->bmc = reader->ReadUInt16(); //0x0100
newObject->lTag = reader->ReadUInt32();
unsigned int lTagOld = reader->ReadUInt32();
return static_cast<ByteStructure*>( newObject );
}
};
}

View File

@ -1,207 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "IVisitable.h"
#include "Global.h"
namespace DocFileFormat
{
typedef enum _BorderType
{
none = 0,
single,
thick,
Double,
unused,
hairline,
dotted,
dashed,
dotDash,
dotDotDash,
triple,
thinThickSmallGap,
thickThinSmallGap,
thinThickThinSmallGap,
thinThickMediumGap,
thickThinMediumGap,
thinThickThinMediumGap,
thinThickLargeGap,
thickThinLargeGap,
thinThickThinLargeGap,
wave,
doubleWave,
dashSmallGap,
dashDotStroked,
threeDEmboss,
threeDEngrave
} BorderType;
class BorderCode: public IVisitable
{
friend class DocumentMapping;
friend class PropertiesMapping;
friend class VMLPictureMapping;
private:
/// 24-bit border color
int cv;
/// Width of a single line in 1/8pt, max of 32pt
unsigned char dptLineWidth;
/// Border type code:
/// 0 none
/// 1 single
/// 2 thick
/// 3 double
/// 5 hairline
/// 6 dot
/// 7 dash large gap
/// 8 dot dash
/// 9 dot dot dash
/// 10 triple
/// 11 thin-thick small gap
/// 12 tick-thin small gap
/// 13 thin-thick-thin small gap
/// 14 thin-thick medium gap
/// 15 thick-thin medium gap
/// 16 thin-thick-thin medium gap
/// 17 thin-thick large gap
/// 18 thick-thin large gap
/// 19 thin-thick-thin large gap
/// 20 wave
/// 21 double wave
/// 22 dash small gap
/// 23 dash dot stroked
/// 24 emboss 3D
/// 25 engrave 3D
unsigned char brcType;
/// The color of the Border.
/// Unused if cv is set.
std::wstring ico;
/// Width of space to maintain between border and text within border
int dptSpace;
/// When true, border is drawn with shadow. Must be false when BRC is substructure of the TC
bool fShadow;
/// When true, don't reverse the border
bool fFrame;
/// It's a nil BRC, bytes are FFFF.
bool fNil;
public:
/// Creates a new BorderCode with default values
BorderCode(): cv(0), dptLineWidth(0), brcType(0), ico( Global::ColorNameIdentifier[0] ), dptSpace(0), fShadow(false), fFrame(false), fNil(false)
{
}
/// Parses the unsigned char for a BRC
BorderCode( unsigned char* bytes, int size ):
cv(0), dptLineWidth(0), brcType(0), ico( Global::ColorNameIdentifier[0] ), dptSpace(0), fShadow(false), fFrame(false), fNil(false)
{
if ( FormatUtils::ArraySum( bytes, size ) == ( size * 255 ) )
{
fNil = true;
}
else if ( size == 8 )
{
//it's a border code of Word 2000/2003
cv = FormatUtils::BytesToInt32( bytes, 0, size );
ico = std::wstring( Global::ColorIdentifier[0] );
dptLineWidth = bytes[4];
brcType = bytes[5];
short val = FormatUtils::BytesToInt16( bytes, 6, size );
dptSpace = val & 0x001F;
//not sure if this is correct, the values from the spec are definitly wrong:
fShadow = FormatUtils::BitmaskToBool( val, 0x20 );
fFrame = FormatUtils::BitmaskToBool( val, 0x40 );
}
else if ( size == 4 )
{
unsigned short val = FormatUtils::BytesToUInt16( bytes, 0, size );
dptLineWidth = (unsigned char)( val & 0x00FF );
brcType = (unsigned char)( ( val & 0xFF00 ) >> 8 );
val = FormatUtils::BytesToUInt16( bytes, 2, size );
ico = FormatUtils::MapValueToWideString( ( val & 0x00FF ), &Global::ColorNameIdentifier[0][0], 17, 12 );
dptSpace = ( val & 0x1F00 ) >> 8;
}
else if (size == 2)
{
unsigned short val = FormatUtils::BytesToUInt16( bytes, 0, size );
dptLineWidth = GETBITS(val, 0, 2);
brcType = GETBITS(val, 3, 4);
fShadow = GETBIT(val, 5);
ico = FormatUtils::MapValueToWideString(GETBITS(val, 6, 10), &Global::ColorNameIdentifier[0][0], 17, 12 );
dptSpace = GETBITS(val, 11, 15);
}
}
BorderCode( const BorderCode& bc )
{
if ( this != &bc )
{
cv = bc.cv;
dptLineWidth = bc.dptLineWidth;
brcType = bc.brcType;
ico = bc.ico;
dptSpace = bc.dptSpace;
fShadow = bc.fShadow;
fFrame = bc.fFrame;
fNil = bc.fNil;
}
}
bool operator == ( const BorderCode& bc )
{
if ( ( cv == bc.cv ) && ( dptLineWidth == bc.dptLineWidth ) && ( brcType == bc.brcType ) &&
( ico == bc.ico ) && ( dptSpace == bc.dptSpace ) && ( fShadow == bc.fShadow ) &&
( fFrame == bc.fFrame ) && ( fNil == bc.fNil ) )
{
return true;
}
else
{
return false;
}
}
bool operator != ( const BorderCode& bc )
{
return !( *this == bc );
}
};
}

View File

@ -1,703 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "CharacterPropertiesMapping.h"
namespace DocFileFormat
{
CharacterPropertiesMapping::CharacterPropertiesMapping( XMLTools::CStringXmlWriter* writer, WordDocument* doc, RevisionData* rev, ParagraphPropertyExceptions* currentPapx, bool styleChpx, bool isRunStyleNeeded)
: PropertiesMapping( writer ), _isRunStyleNeeded(isRunStyleNeeded), _isOwnRPr(true), _isRTL(false)
{
_doc = doc;
_rPr = new XMLTools::XMLElement( L"w:rPr");
_revisionData = rev;
_currentPapx = currentPapx;
_styleChpx = styleChpx;
_currentIstd = USHRT_MAX;
_webHidden = false;
}
CharacterPropertiesMapping::CharacterPropertiesMapping( XMLTools::XMLElement* rPr, WordDocument* doc, RevisionData* rev, ParagraphPropertyExceptions* currentPapx, bool styleChpx, bool isRunStyleNeeded )
: PropertiesMapping( NULL ), _isRunStyleNeeded(isRunStyleNeeded), _isOwnRPr(false), _isRTL(false)
{
_doc = doc;
_rPr = rPr;
_revisionData = rev;
_currentPapx = currentPapx;
_styleChpx = styleChpx;
_currentIstd = USHRT_MAX;
_webHidden = false;
}
CharacterPropertiesMapping::~CharacterPropertiesMapping()
{
if (_isOwnRPr)
{
RELEASEOBJECT(_rPr);
}
}
}
namespace DocFileFormat
{
void CharacterPropertiesMapping::Apply( IVisitable* chpx )
{
//convert the normal SPRMS
convertSprms( dynamic_cast<CharacterPropertyExceptions*>( chpx )->grpprl, _rPr );
// apend revision changes
if ((_revisionData) && (_revisionData->Type == Changed))
{
XMLTools::XMLElement rPrChange( L"w:rPrChange");
//todooo date - _revisionData->Dttm.Convert( new DateMapping( rPrChange ) );
WideString* author_str = static_cast<WideString*>( _doc->RevisionAuthorTable->operator []( _revisionData->Isbt ));
if (author_str)
{
XMLTools::XMLAttribute author( L"w:author", FormatUtils::XmlEncode(*author_str));
rPrChange.AppendAttribute( author );
}
XMLTools::XMLAttribute date( L"w:date", _revisionData->Dttm.getString());
rPrChange.AppendAttribute( date );
XMLTools::XMLElement rPr(L"w:rPr");
//convert revision stack
convertSprms( _revisionData->Changes, &rPr);
rPrChange.AppendChild(rPr);
_rPr->AppendChild( rPrChange );
}
//write properties
if ( ( m_pXmlWriter != NULL ) && ( ( _rPr->GetChildCount() > 0 ) || ( _rPr->GetAttributeCount() > 0 ) ) )
{
m_pXmlWriter->WriteString( _rPr->GetXMLString());
}
}
/*========================================================================================================*/
bool CharacterPropertiesMapping::CheckIsSymbolFont()
{
//Todo сделать определение симольного шрифта через fontManager
//Заглушка под Google Docs, они пишут bullet в Arial
if (-1 != m_sAsciiFont.find (L"Arial") && -1 != m_sEastAsiaFont.find (L"Arial") && -1 != m_shAnsiFont.find (L"Arial"))
return false;
return true;
}
/*========================================================================================================*/
void CharacterPropertiesMapping::convertSprms( std::list<SinglePropertyModifier>* sprms, XMLTools::XMLElement* parent )
{
XMLTools::XMLElement * rFonts = new XMLTools::XMLElement ( L"w:rFonts" );
XMLTools::XMLElement * color = new XMLTools::XMLElement ( L"w:color" );
XMLTools::XMLAttribute * colorVal = new XMLTools::XMLAttribute ( L"w:val" );
XMLTools::XMLElement * lang = new XMLTools::XMLElement ( L"w:lang" );
if (_webHidden)
{
XMLTools::XMLElement * webHidden = new XMLTools::XMLElement ( L"w:webHidden" );
parent->AppendChild( *webHidden );
RELEASEOBJECT( webHidden );
}
if ((sprms) && (!sprms->empty()))
{
std::list<SinglePropertyModifier>::iterator end = sprms->end();
for (std::list<SinglePropertyModifier>::iterator iter = sprms->begin(); iter != end; ++iter)
{
int nProperty = 0; //for unknown test
switch ( (int)( iter->OpCode ) )
{
case sprmOldCIstd :
case sprmCIstd : // style id
{
if (_isRunStyleNeeded && !_webHidden)
{
_currentIstd = FormatUtils::BytesToUInt16( iter->Arguments, 0, iter->argumentsSize );
if (_currentIstd < _doc->Styles->Styles->size())
{
appendValueElement( parent, L"rStyle", StyleSheetMapping::MakeStyleId( _doc->Styles->Styles->at( _currentIstd ) ), true );
}
}
}break;
case sprmCFBiDi :
appendFlagElement( parent, *iter, L"rtl", true );
_isRTL = true;
break;
case sprmOldCFBold :
case sprmCFBold :
appendFlagElement( parent, *iter, L"b", true );
break;
case sprmCFBoldBi :
appendFlagElement( parent, *iter, L"bCs", true );
break;
case sprmOldCFCaps :
case sprmCFCaps :
appendFlagElement( parent, *iter, L"caps", true );
break;
case sprmCFComplexScripts :
appendFlagElement( parent, *iter, L"cs", true );
break;
case sprmCFDStrike :
appendFlagElement( parent, *iter, L"dstrike", true );
break;
case sprmCFEmboss :
appendFlagElement( parent, *iter, L"emboss", true );
break;
case sprmCFImprint :
appendFlagElement( parent, *iter, L"imprint", true );
break;
case sprmOldCFItalic :
case sprmCFItalic :
appendFlagElement( parent, *iter, L"i", true );
break;
case sprmCFItalicBi:
appendFlagElement( parent, *iter, L"iCs", true );
break;
case 0x0875:
appendFlagElement( parent, *iter, L"noProof", true );
break;
case sprmOldCFOutline:
case sprmCFOutline:
appendFlagElement( parent, *iter, L"outline", true );
break;
case sprmOldCFShadow:
case sprmCFShadow:
appendFlagElement( parent, *iter, L"shadow", true );
break;
case sprmOldCFSmallCaps:
case sprmCFSmallCaps:
appendFlagElement( parent, *iter, L"smallCaps", true );
break;
case sprmCFSpecVanish:
appendFlagElement( parent, *iter, L"specVanish", true );
break;
case sprmOldCFStrike:
case sprmCFStrike:
appendFlagElement( parent, *iter, L"strike", true );
break;
case sprmOldCFVanish:
case sprmCFVanish:
appendFlagElement( parent, *iter, L"vanish", true );
break;
case 0x0811:
appendFlagElement( parent, *iter, L"webHidden", true );
break;
case sprmOldCIss:
case sprmCIss:
if (iter->argumentsSize > 0 && iter->Arguments[0] < 3) //Metaevan.doc
appendValueElement( parent, L"vertAlign", FormatUtils::MapValueToWideString( iter->Arguments[0], &SuperscriptIndex[0][0], 3, 12 ), true );
break;
case sprmCRgLid0_80:
case sprmCRgLid0:
{ //latin
LanguageId langid( FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize ) );
LanguageIdMapping* langIDMapping = new LanguageIdMapping( lang, Default );
langid.Convert( langIDMapping );
RELEASEOBJECT( langIDMapping );
}break;
case sprmOldCLid:
case sprmCRgLid1_80:
case sprmCRgLid1:
{ //east asia
LanguageId langid( FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize ) );
LanguageIdMapping* langIDMapping = new LanguageIdMapping( lang, EastAsian );
langid.Convert( langIDMapping );
RELEASEOBJECT( langIDMapping );
}break;
case sprmCLidBi:
{
LanguageId langid( FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize ) );
LanguageIdMapping* langIDMapping = new LanguageIdMapping( lang, Complex );
langid.Convert( langIDMapping );
RELEASEOBJECT( langIDMapping );
}break;
case sprmCBrc80:
case sprmCBrc:
{ //borders
XMLTools::XMLElement bdr( L"w:bdr" );
BorderCode bc( iter->Arguments, iter->argumentsSize );
appendBorderAttributes( &bc, &bdr );
parent->AppendChild( bdr );
}break;
case sprmCShd80:
case sprmCShd:
{ //shading
ShadingDescriptor desc( iter->Arguments, iter->argumentsSize );
appendShading( parent, desc );
}break;
case sprmOldCIco:
case sprmCIco:
case sprmCIcoBi:
{//color
colorVal->SetValue( FormatUtils::MapValueToWideString( iter->Arguments[0], &Global::ColorIdentifier[0][0], 17, 12 ));
}break;
case sprmCCv:
{
std::wstringstream sstream;
sstream << boost::wformat(L"%02x%02x%02x") % iter->Arguments[0] % /*G*/iter->Arguments[1] % /*B*/iter->Arguments[2];
colorVal->SetValue(sstream.str());
}break;
case sprmCOldHighlight:
{
appendValueElement( parent, L"highlight", FormatUtils::MapValueToWideString( iter->Arguments[1], &Global::ColorNameIdentifier[0][0], 17, 12 ), true );
}break;
case sprmCHighlight:
{
appendValueElement( parent, L"highlight", FormatUtils::MapValueToWideString( iter->Arguments[0], &Global::ColorNameIdentifier[0][0], 17, 12 ), true );
}break;
case sprmOldCDxaSpace:
case sprmCDxaSpace:
{
appendValueElement( parent, L"spacing", FormatUtils::IntToWideString( FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize ) ), true );
}break;
case sprmCFtcBi :
{//default from FontTable
size_t nIndex = FormatUtils::BytesToUInt16 (iter->Arguments, 0, iter->argumentsSize);
if( nIndex < _doc->FontTable->Data.size() )
{
FontFamilyName* ffn = static_cast<FontFamilyName*>( _doc->FontTable->operator [] ( nIndex ) );
if (ffn)
m_sDefaultFont = ffn->xszFtn;
}
}break;
case sprmCHpsBi :
{
appendValueElement( parent, L"szCs",
FormatUtils::IntToWideString( FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize ) ), true );
}
break;
// Font Size in points (2~3276) default 20-half-points
case sprmOldCHps :
{
appendValueElement (parent, L"sz",
FormatUtils::IntToWideString (FormatUtils::BytesToUChar (iter->Arguments, 0, iter->argumentsSize) ),
true );
}break;
case sprmCHps :
{
appendValueElement (parent, L"sz",
FormatUtils::IntToWideString (FormatUtils::BytesToUInt16 (iter->Arguments, 0, iter->argumentsSize) ), true );
}break;
case sprmCMajority :
{ //for complex props
}break;
case sprmOldCHpsPos:
{ // The vertical position, in half-points, of text relative to the normal position. (MUST be between -3168 and 3168)
short nVertPos = FormatUtils::BytesToUChar(iter->Arguments, 0, iter->argumentsSize);
appendValueElement (parent, L"position", nVertPos, true);
}break;
case sprmCHpsPos:
{ // The vertical position, in half-points, of text relative to the normal position. (MUST be between -3168 and 3168)
short nVertPos = FormatUtils::BytesToInt16(iter->Arguments, 0, iter->argumentsSize);
appendValueElement (parent, L"position", nVertPos, true);
}break;
case sprmOldCHpsKern:
case sprmCHpsKern:
{
appendValueElement( parent, L"kern", FormatUtils::IntToWideString( FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize ) ), true );
}break;
case sprmOldCFtc:
case sprmCRgFtc0:
{ // font family
size_t nIndex = FormatUtils::BytesToUInt16( iter->Arguments, 0, iter->argumentsSize );
if( nIndex < _doc->FontTable->Data.size() )
{
XMLTools::XMLAttribute* ascii = new XMLTools::XMLAttribute( L"w:ascii" );
FontFamilyName* ffn = static_cast<FontFamilyName*>( _doc->FontTable->operator [] ( nIndex ) );
m_sAsciiFont = ffn->xszFtn;
ascii->SetValue( FormatUtils::XmlEncode(m_sAsciiFont, true));
rFonts->AppendAttribute( *ascii );
RELEASEOBJECT( ascii );
}
}break;
case sprmCRgFtc1:
{
size_t nIndex = FormatUtils::BytesToUInt16( iter->Arguments, 0, iter->argumentsSize );
if( nIndex >= 0 && nIndex < _doc->FontTable->Data.size() )
{
XMLTools::XMLAttribute* eastAsia = new XMLTools::XMLAttribute( L"w:eastAsia" );
FontFamilyName* ffn = static_cast<FontFamilyName*>( _doc->FontTable->operator [] ( nIndex ) );
m_sEastAsiaFont = ffn->xszFtn;
eastAsia->SetValue( FormatUtils::XmlEncode(m_sEastAsiaFont));
rFonts->AppendAttribute( *eastAsia );
RELEASEOBJECT( eastAsia );
}
}
break;
case sprmCRgFtc2:
{
size_t nIndex = FormatUtils::BytesToUInt16( iter->Arguments, 0, iter->argumentsSize );
if( nIndex>=0 && nIndex < _doc->FontTable->Data.size() )
{
XMLTools::XMLAttribute* ansi = new XMLTools::XMLAttribute( L"w:hAnsi" );
FontFamilyName* ffn = static_cast<FontFamilyName*>( _doc->FontTable->operator [] ( nIndex ) );
m_shAnsiFont = ffn->xszFtn;
ansi->SetValue( FormatUtils::XmlEncode(m_shAnsiFont));
rFonts->AppendAttribute( *ansi );
RELEASEOBJECT( ansi );
}
}break;
case sprmOldCKul:
case sprmCKul:
{ //Underlining
appendValueElement( parent, L"u", FormatUtils::MapValueToWideString( iter->Arguments[0], &Global::UnderlineCode[0][0], 56, 16 ), true );
}
break;
case sprmCCharScale:
{ //char width
appendValueElement( parent, L"w", FormatUtils::IntToWideString( FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize ) ), true );
}break;
case sprmCSfxText:
{ //animation
appendValueElement( parent, L"effect", FormatUtils::MapValueToWideString( iter->Arguments[0], &Global::TextAnimation[0][0], 7, 16 ), true );
}break;
case sprmCIdctHint:
{
switch(iter->Arguments[0])
{
case 0: break; // default
case 1: break; // eastAsia
case 2: break; // cs
case 0xFF: break; //No ST_Hint equivalent
}
}break;
case sprmCPbiIBullet:
{
int nIndex = FormatUtils::BytesToInt32( iter->Arguments, 0, iter->argumentsSize );
if (nIndex >=0)
{
std::map<int, int>::iterator it = _doc->PictureBulletsCPsMap.find(nIndex);
if (it != _doc->PictureBulletsCPsMap.end())
{
//добавить
}
}
}break;
case sprmCPbiGrf:
{
//used picture bullet
int val = FormatUtils::BytesToUInt16( iter->Arguments, 0, iter->argumentsSize );
}break;
case sprmCRsidProp:
case sprmCRsidText:
break;
default:
if (iter->argumentsSize == 2)
{
nProperty = FormatUtils::BytesToUInt16( iter->Arguments, 0, iter->argumentsSize );
}else
if (iter->argumentsSize == 1)
{
nProperty = FormatUtils::BytesToUChar( iter->Arguments, 0, iter->argumentsSize );
}
break;
}
}
}
if (!m_sDefaultFont.empty() && m_sAsciiFont.empty() && m_sEastAsiaFont.empty() && m_shAnsiFont.empty())
{//????
XMLTools::XMLAttribute* ascii = new XMLTools::XMLAttribute( L"w:ascii" );
ascii->SetValue( FormatUtils::XmlEncode(m_sDefaultFont));
//rFonts->AppendAttribute( *ascii );
RELEASEOBJECT( ascii );
}
//apend lang
if ( lang->GetAttributeCount() > 0 )
{
parent->AppendChild( *lang );
}
//append fonts
if ( rFonts->GetAttributeCount() > 0 )
{
parent->AppendChild( *rFonts );
}
//append color
if ( colorVal->GetValue() != L"")
{
color->AppendAttribute( *colorVal );
parent->AppendChild( *color );
}
RELEASEOBJECT( lang );
RELEASEOBJECT( colorVal );
RELEASEOBJECT( color );
RELEASEOBJECT( rFonts );
}
/*========================================================================================================*/
/// CHPX flags are special flags because the can be 0,1,128 and 129,
/// so this method overrides the appendFlagElement method.
void CharacterPropertiesMapping::appendFlagElement( XMLTools::XMLElement* node, const SinglePropertyModifier& sprm, const wchar_t* elementName, bool unique )
{
unsigned char flag = sprm.Arguments[0];
if( flag != 128 )
{
XMLTools::XMLElement* ele = new XMLTools::XMLElement( L"w", elementName );
XMLTools::XMLAttribute* val = new XMLTools::XMLAttribute( L"w:val" );
if ( unique )
{
node->RemoveChild( *ele );
}
if ( flag == 0 )
{
val->SetValue( L"false" );
ele->AppendAttribute( *val );
node->AppendChild( *ele );
}
else if (flag == 1)
{
//dont append attribute val
//no attribute means true
node->AppendChild( *ele );
}
else if( flag == 129 )
{
//Invert the value of the style
//determine the style id of the current style
unsigned short styleId = 0;
if ( _currentIstd != USHRT_MAX )
{
styleId = _currentIstd;
}
else if( _currentPapx != NULL )
{
styleId = _currentPapx->istd;
}
//this chpx is the chpx of a style,
//don't use the id of the chpx or the papx, use the baseOn style
if ( _styleChpx )
{
StyleSheetDescription* thisStyle = _doc->Styles->Styles->at( styleId );
styleId = (unsigned short)thisStyle->istdBase;
}
//build the style hierarchy
_hierarchy = buildHierarchy( _doc->Styles, styleId );
//apply the toggle values to get the real value of the style
bool stylesVal = applyToggleHierachy( sprm );
//invert it
if ( stylesVal )
{
val->SetValue( L"false" );
ele->AppendAttribute( *val );
}
node->AppendChild( *ele );
}
RELEASEOBJECT(ele);
RELEASEOBJECT(val);
}
}
/*========================================================================================================*/
std::list<CharacterPropertyExceptions*> CharacterPropertiesMapping::buildHierarchy( const StyleSheet* styleSheet, unsigned short istdStart )
{
std::list<CharacterPropertyExceptions*> hierarchy;
unsigned int istd = (unsigned int)istdStart;
bool goOn = true;
if ( ( styleSheet != NULL ) && ( styleSheet->Styles != NULL ) )
{
while ( goOn )
{
try
{
if ( istd < styleSheet->Styles->size() )
{
StyleSheetDescription* style = styleSheet->Styles->at( istd );
if (!style)
break;
CharacterPropertyExceptions* baseChpx = style->chpx;
if ( baseChpx != NULL )
{
hierarchy.push_back( baseChpx );
istd = (unsigned int)styleSheet->Styles->at( istd )->istdBase;
}
else
{
goOn = false;
}
}
else
{
goOn = false;
}
}
catch (...)
{
goOn = false;
}
}
}
return hierarchy;
}
/*========================================================================================================*/
bool CharacterPropertiesMapping::applyToggleHierachy( const SinglePropertyModifier& sprm )
{
bool ret = false;
std::list<CharacterPropertyExceptions*>::const_iterator end = _hierarchy.end();
for (std::list<CharacterPropertyExceptions*>::const_iterator iter = _hierarchy.begin(); iter != end; ++iter)
{
std::list<SinglePropertyModifier>::const_iterator end_grpprl = (*iter)->grpprl->end();
for (std::list<SinglePropertyModifier>::const_iterator grpprlIter = (*iter)->grpprl->begin(); grpprlIter != end_grpprl; ++grpprlIter)
{
if (grpprlIter->OpCode == sprm.OpCode)
{
unsigned char ancient = grpprlIter->Arguments[0];
ret = toogleValue(ret, ancient);
break;
}
}
}
return ret;
}
/*========================================================================================================*/
bool CharacterPropertiesMapping::toogleValue(bool currentValue, unsigned char toggle)
{
if ( toggle == 1 )
{
return true;
}
else if ( toggle == 129 )
{
//invert the current value
if ( currentValue )
{
return false;
}
else
{
return true;
}
}
else if ( toggle == 128 )
{
//use the current value
return currentValue;
}
else
{
return false;
}
}
}

View File

@ -1,222 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "PropertyExceptions.h"
namespace DocFileFormat
{
class CharacterPropertyExceptions: public PropertyExceptions
{
public:
/// Creates a CHPX wich doesn't modify anything.
/// The grpprl list is empty
CharacterPropertyExceptions(): PropertyExceptions()
{
}
/// Parses the bytes to retrieve a CHPX
CharacterPropertyExceptions( unsigned char* bytes, int size, int nWordVersion) :
PropertyExceptions( bytes, size, nWordVersion )
{
if (nWordVersion > 1)
{
RELEASEOBJECT( grpprl );
grpprl = new std::list<SinglePropertyModifier>();
MemoryStream oStream(bytes, size);
int pos = 0;
if (nWordVersion == 3)
{
if (pos + 2 > size) return;
unsigned short fChar = oStream.ReadUInt16(); pos += 2;
unsigned char val;
val = GETBIT(fChar, 0); grpprl->push_back(SinglePropertyModifier(sprmOldCFBold, 1, &val));
val = GETBIT(fChar, 1); grpprl->push_back(SinglePropertyModifier(sprmOldCFItalic, 1, &val));
val = GETBIT(fChar, 2); grpprl->push_back(SinglePropertyModifier(sprmOldCFStrike, 1, &val));
val = GETBIT(fChar, 3); grpprl->push_back(SinglePropertyModifier(sprmOldCFOutline, 1, &val));
val = GETBIT(fChar, 4); grpprl->push_back(SinglePropertyModifier(sprmOldCFFldVanish, 1, &val));
val = GETBIT(fChar, 5); grpprl->push_back(SinglePropertyModifier(sprmOldCFSmallCaps, 1, &val));
val = GETBIT(fChar, 6); grpprl->push_back(SinglePropertyModifier(sprmOldCFCaps, 1, &val));
val = GETBIT(fChar, 7); grpprl->push_back(SinglePropertyModifier(sprmOldCFVanish, 1, &val));
val = GETBIT(fChar, 8); grpprl->push_back(SinglePropertyModifier(sprmOldCFRMark, 1, &val));
val = GETBIT(fChar, 9); grpprl->push_back(SinglePropertyModifier(sprmOldCFSpec, 1, &val));
bool fsIco = GETBIT(fChar, 10);
bool fsFtc = GETBIT(fChar, 11);
bool fsHps = GETBIT(fChar, 12);
bool fsKul = GETBIT(fChar, 13);
bool fsPos = GETBIT(fChar, 14);
bool fsSpace = GETBIT(fChar, 15);
if (pos + 2 > size) return;
int fff = oStream.ReadUInt16(); pos += 2;//?????
if (pos + 2 > size) return;
unsigned short ftc = oStream.ReadUInt16(); pos += 2; // Font Code
grpprl->push_back(SinglePropertyModifier(sprmOldCFtc, 2, (unsigned char*)&ftc));
if (pos + 1 > size) return;
unsigned char hps = oStream.ReadByte(); pos += 1; // Font size in half points
if (hps > 0)
{
grpprl->push_back(SinglePropertyModifier(sprmOldCHps, 1, &hps));
}
if (pos + 1 > size) return;
unsigned char hpsPos = oStream.ReadByte(); pos += 1; // Sub/Superscript ( signed number, 0 = normal )
grpprl->push_back(SinglePropertyModifier(sprmOldCHpsPos, 1, &hpsPos));
if (pos + 2 > size) return;
unsigned short fText = oStream.ReadUInt16(); pos += 2;
unsigned short qpsSpace = GETBITS(fText, 0, 5);
unsigned char wSpare2 = GETBITS(fText, 6, 7);
unsigned char ico = GETBITS(fText, 8, 11);
unsigned char kul = GETBITS(fText, 12, 14);
bool fSysVanish = GETBIT(fChar, 15);
grpprl->push_back(SinglePropertyModifier(sprmOldCKul, 1, &kul));
grpprl->push_back(SinglePropertyModifier(sprmOldCIco, 1, &ico));
//sizeof(CHP) == 12 == 0xC
if (pos + 4 > size) return;
unsigned int fcPic = oStream.ReadUInt16(); pos += 4; //pos = 8
grpprl->push_back(SinglePropertyModifier(sprmOldCPicLocation, 4, (BYTE*)&fcPic));
if (pos + 1 > size) return;
unsigned char fnPic = oStream.ReadByte(); pos += 1;
if (pos + 2 > size) return;
unsigned short hpsLargeChp = oStream.ReadUInt16(); pos += 2;// ??? type
}
else if (nWordVersion == 2)
{
if (pos + 2 > size) return;
unsigned short fChar = oStream.ReadUInt16(); pos += 2;
unsigned char val;
val = GETBIT(fChar, 0); grpprl->push_back(SinglePropertyModifier(sprmOldCFBold, 1, &val));
val = GETBIT(fChar, 1); grpprl->push_back(SinglePropertyModifier(sprmOldCFItalic, 1, &val));
val = GETBIT(fChar, 2); grpprl->push_back(SinglePropertyModifier(sprmOldCIbstRMark, 1, &val));
val = GETBIT(fChar, 3); grpprl->push_back(SinglePropertyModifier(sprmOldCFOutline, 1, &val));
val = GETBIT(fChar, 4); grpprl->push_back(SinglePropertyModifier(sprmOldCFFldVanish, 1, &val));
val = GETBIT(fChar, 5); grpprl->push_back(SinglePropertyModifier(sprmOldCFSmallCaps, 1, &val));
val = GETBIT(fChar, 6); grpprl->push_back(SinglePropertyModifier(sprmOldCFCaps, 1, &val));
val = GETBIT(fChar, 7); grpprl->push_back(SinglePropertyModifier(sprmOldCFVanish, 1, &val));
val = GETBIT(fChar, 8); grpprl->push_back(SinglePropertyModifier(sprmOldCFRMark, 1, &val));
val = GETBIT(fChar, 9); grpprl->push_back(SinglePropertyModifier(sprmOldCFSpec, 1, &val));
val = GETBIT(fChar, 10); grpprl->push_back(SinglePropertyModifier(sprmOldCFStrike, 1, &val));
val = GETBIT(fChar, 11); grpprl->push_back(SinglePropertyModifier(sprmOldCFObj, 1, &val));
val = GETBIT(fChar, 12); grpprl->push_back(SinglePropertyModifier(sprmCFBoldBi, 1, &val));
val = GETBIT(fChar, 13); grpprl->push_back(SinglePropertyModifier(sprmCFItalicBi, 1, &val));
val = GETBIT(fChar, 14); grpprl->push_back(SinglePropertyModifier(sprmCFBiDi, 1, &val));
val = GETBIT(fChar, 15); grpprl->push_back(SinglePropertyModifier(sprmCFDiacColor, 1, &val));
if (pos + 2 > size) return;
unsigned short fChar2 = oStream.ReadUInt16(); pos += 2;
bool fsIco = GETBIT(fChar2, 0);
bool fsFtc = GETBIT(fChar2, 1);
bool fsHps = GETBIT(fChar2, 2);
bool fsKul = GETBIT(fChar2, 3);
bool fsPos = GETBIT(fChar2, 4);
bool fsSpace = GETBIT(fChar2, 5);
bool fsLid = GETBIT(fChar2, 6);
bool fsIcoBi = GETBIT(fChar2, 7);
bool fsFtcBi = GETBIT(fChar2, 8);
bool fsHpsBi = GETBIT(fChar2, 9);
bool fsLidBi = GETBIT(fChar2, 10);
if (pos + 2 > size) return;
unsigned short ftc = oStream.ReadUInt16(); pos += 2; // Font Code
grpprl->push_back(SinglePropertyModifier(sprmOldCFtc, 2, (unsigned char*)&ftc));
if (pos + 1 > size) return;
unsigned char hps = oStream.ReadByte(); pos += 1; // Font size in half points
if (hps > 0)
{
grpprl->push_back(SinglePropertyModifier(sprmOldCHps, 1, &hps));
}
if (pos + 1 > size) return;
unsigned char hpsPos = oStream.ReadByte(); pos += 1; // Sub/Superscript ( signed number, 0 = normal )
grpprl->push_back(SinglePropertyModifier(sprmOldCHpsPos, 1, &hpsPos));
if (pos + 2 > size) return;
unsigned short fText = oStream.ReadUInt16(); pos += 2;
unsigned short qpsSpace = GETBITS(fText, 0, 5);
unsigned char wSpare2 = GETBITS(fText, 6, 7);
unsigned char ico = GETBITS(fText, 8, 11);
unsigned char kul = GETBITS(fText, 12, 14);
bool fSysVanish = GETBIT(fChar, 15);
grpprl->push_back(SinglePropertyModifier(sprmOldCKul, 1, &kul));
grpprl->push_back(SinglePropertyModifier(sprmOldCIco, 1, &ico));
//if (pos + 1 > size) return;
//unsigned char icoBi = oStream.ReadUInt16(); pos += 1;//wSpare3
if (pos + 2 > size) return;
unsigned short lid = oStream.ReadUInt16(); pos += 2;
grpprl->push_back(SinglePropertyModifier(sprmOldCLid, 2, (BYTE*)&lid));
if (pos + 2 > size) return;
unsigned short ftcBi = oStream.ReadUInt16(); pos += 2;
grpprl->push_back(SinglePropertyModifier(sprmCFtcBi, 4, (BYTE*)&ftcBi));
//if (pos + 2 > size) return;
//unsigned short hpsBi = oStream.ReadUInt16(); pos += 2;
//grpprl->push_back(SinglePropertyModifier(sprmCHpsBi, 4, (BYTE*)&hpsBi));
//if (pos + 2 > size) return;
//unsigned short lidBi = oStream.ReadUInt16(); pos += 2;
//grpprl->push_back(SinglePropertyModifier(sprmCLidBi, 2, (BYTE*)&lidBi));
if (pos + 4 > size) return;
unsigned int fcPic = oStream.ReadUInt16(); pos += 4; //pos = 8
grpprl->push_back(SinglePropertyModifier(sprmOldCPicLocation, 4, (BYTE*)&fcPic));
if (pos + 1 > size) return;
unsigned char fnPic = oStream.ReadByte(); pos += 1;
if (pos + 2 > size) return;
unsigned short hpsLargeChp = oStream.ReadUInt16(); pos += 2;// ??? type
}
}
}
};
}

View File

@ -1,196 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "TableMapping.h"
#include "DocumentMapping.h"
#include "AnnotationReferenceDescriptor.h"
namespace DocFileFormat
{
class CommentsMapping: public DocumentMapping
{
public:
CommentsMapping (ConversionContext* ctx) : DocumentMapping( ctx, this )
{
}
virtual void Apply( IVisitable* visited )
{
m_document = static_cast<WordDocument*>( visited );
_UINT64 x = 0x10000001;
std::vector<std::wstring> arrParaId;
if ( ( m_document != NULL ) && ( m_document->FIB->m_RgLw97.ccpAtn > 0 ) )
{
m_context->_docx->RegisterComments();
m_pXmlWriter->WriteNodeBegin( L"?xml version=\"1.0\" encoding=\"UTF-8\"?");
m_pXmlWriter->WriteNodeBegin( L"w:comments", TRUE );
m_pXmlWriter->WriteAttribute( L"xmlns:w", OpenXmlNamespaces::WordprocessingML );
m_pXmlWriter->WriteAttribute( L"xmlns:v", OpenXmlNamespaces::VectorML );
m_pXmlWriter->WriteAttribute( L"xmlns:o", OpenXmlNamespaces::Office );
m_pXmlWriter->WriteAttribute( L"xmlns:w10", OpenXmlNamespaces::OfficeWord );
m_pXmlWriter->WriteAttribute( L"xmlns:r", OpenXmlNamespaces::Relationships );
m_pXmlWriter->WriteAttribute( L"xmlns:wpc", L"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" );
m_pXmlWriter->WriteAttribute( L"xmlns:cx", L"http://schemas.microsoft.com/office/drawing/2014/chartex" );
m_pXmlWriter->WriteAttribute( L"xmlns:cx1", L"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" );
m_pXmlWriter->WriteAttribute( L"xmlns:mc", L"http://schemas.openxmlformats.org/markup-compatibility/2006" );
m_pXmlWriter->WriteAttribute( L"xmlns:m", L"http://schemas.openxmlformats.org/officeDocument/2006/math" );
m_pXmlWriter->WriteAttribute( L"xmlns:wp14", L"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" );
m_pXmlWriter->WriteAttribute( L"xmlns:wp", L"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" );
m_pXmlWriter->WriteAttribute( L"xmlns:w14", L"http://schemas.microsoft.com/office/word/2010/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:w15", L"http://schemas.microsoft.com/office/word/2012/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:w16se", L"http://schemas.microsoft.com/office/word/2015/wordml/symex" );
m_pXmlWriter->WriteAttribute( L"xmlns:wpg", L"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" );
m_pXmlWriter->WriteAttribute( L"xmlns:wpi", L"http://schemas.microsoft.com/office/word/2010/wordprocessingInk" );
m_pXmlWriter->WriteAttribute( L"xmlns:wne", L"http://schemas.microsoft.com/office/word/2006/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:wps", L"http://schemas.microsoft.com/office/word/2010/wordprocessingShape" );
m_pXmlWriter->WriteAttribute( L"mc:Ignorable", L"w14 w15 w16se wp14");
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
int cp = m_document->FIB->m_RgLw97.ccpText + m_document->FIB->m_RgLw97.ccpFtn + m_document->FIB->m_RgLw97.ccpHdr;
size_t count = m_document->AnnotationsReferencePlex->Elements.size();
for (size_t index = 0; index < count; ++index)
{
_paraId.clear();
AnnotationReferenceDescriptor* atrdPre10 = static_cast<AnnotationReferenceDescriptor*>(m_document->AnnotationsReferencePlex->Elements[index]);
m_pXmlWriter->WriteNodeBegin( L"w:comment", TRUE );
m_pXmlWriter->WriteAttribute( L"w:id", FormatUtils::SizeTToWideString(atrdPre10->m_CommentId));
if (atrdPre10->m_AuthorIndex < m_document->AnnotationOwners->size()) //conv_253l2H1CehgKwsxCtNk__docx.doc
{
m_pXmlWriter->WriteAttribute( L"w:author",
FormatUtils::XmlEncode(m_document->AnnotationOwners->at( atrdPre10->m_AuthorIndex ) ));
}
if ((m_document->AnnotationsReferencesEx) && (index < m_document->AnnotationsReferencesEx->m_ReferencesEx.size()))
{
m_pXmlWriter->WriteAttribute( L"w:date", m_document->AnnotationsReferencesEx->m_ReferencesEx[index].nDTTM.getString());
}
m_pXmlWriter->WriteAttribute( L"w:initials", FormatUtils::XmlEncode(atrdPre10->m_UserInitials));
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
while ( ( cp - m_document->FIB->m_RgLw97.ccpText - m_document->FIB->m_RgLw97.ccpFtn - m_document->FIB->m_RgLw97.ccpHdr ) < (*m_document->IndividualCommentsPlex)[index + 1] )
{
int fc = m_document->FindFileCharPos(cp);
if (fc < 0) break;
ParagraphPropertyExceptions* papx = findValidPapx(fc);
TableInfo tai(papx, m_document->nWordVersion);
if ( tai.fInTable )
{
//this PAPX is for a table
Table table(this, cp, ( ( tai.iTap > 0 ) ? ( 1 ) : ( 0 ) ));
table.Convert(this);
cp = table.GetCPEnd();
}
else
{
if ((m_document->AnnotationsReferencesEx) && (index < m_document->AnnotationsReferencesEx->m_ReferencesEx.size()))
{
_paraId = XmlUtils::IntToString(x++, L"%08X");
}
cp = writeParagraph(cp, 0x7fffffff);
}
}
if (false == _paraId.empty())
arrParaId.push_back(_paraId);
m_pXmlWriter->WriteNodeEnd(L"w:comment" );
}
m_pXmlWriter->WriteNodeEnd( L"w:comments" );
m_context->_docx->CommentsXML = std::wstring(m_pXmlWriter->GetXmlString());
m_pXmlWriter->Clear();
if (false == arrParaId.empty() && (m_document->AnnotationsReferencesEx) && (false == m_document->AnnotationsReferencesEx->m_ReferencesEx.empty()))
{
m_context->_docx->RegisterCommentsExtended();
m_pXmlWriter->WriteNodeBegin( L"?xml version=\"1.0\" encoding=\"UTF-8\"?");
m_pXmlWriter->WriteNodeBegin( L"w15:commentsEx", TRUE );
m_pXmlWriter->WriteAttribute( L"xmlns:w", OpenXmlNamespaces::WordprocessingML );
m_pXmlWriter->WriteAttribute( L"xmlns:v", OpenXmlNamespaces::VectorML );
m_pXmlWriter->WriteAttribute( L"xmlns:o", OpenXmlNamespaces::Office );
m_pXmlWriter->WriteAttribute( L"xmlns:w10", OpenXmlNamespaces::OfficeWord );
m_pXmlWriter->WriteAttribute( L"xmlns:r", OpenXmlNamespaces::Relationships );
m_pXmlWriter->WriteAttribute( L"xmlns:wpc", L"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" );
m_pXmlWriter->WriteAttribute( L"xmlns:cx", L"http://schemas.microsoft.com/office/drawing/2014/chartex" );
m_pXmlWriter->WriteAttribute( L"xmlns:cx1", L"http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" );
m_pXmlWriter->WriteAttribute( L"xmlns:mc", L"http://schemas.openxmlformats.org/markup-compatibility/2006" );
m_pXmlWriter->WriteAttribute( L"xmlns:m", L"http://schemas.openxmlformats.org/officeDocument/2006/math" );
m_pXmlWriter->WriteAttribute( L"xmlns:wp14", L"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" );
m_pXmlWriter->WriteAttribute( L"xmlns:wp", L"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" );
m_pXmlWriter->WriteAttribute( L"xmlns:w14", L"http://schemas.microsoft.com/office/word/2010/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:w15", L"http://schemas.microsoft.com/office/word/2012/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:w16se", L"http://schemas.microsoft.com/office/word/2015/wordml/symex" );
m_pXmlWriter->WriteAttribute( L"xmlns:wpg", L"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" );
m_pXmlWriter->WriteAttribute( L"xmlns:wpi", L"http://schemas.microsoft.com/office/word/2010/wordprocessingInk" );
m_pXmlWriter->WriteAttribute( L"xmlns:wne", L"http://schemas.microsoft.com/office/word/2006/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:wps", L"http://schemas.microsoft.com/office/word/2010/wordprocessingShape" );
m_pXmlWriter->WriteAttribute( L"mc:Ignorable", L"w14 w15 w16se wp14");
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
for (size_t index = 0; index < m_document->AnnotationsReferencesEx->m_ReferencesEx.size(); ++index)
{
m_pXmlWriter->WriteNodeBegin( L"w15:commentEx", TRUE );
m_pXmlWriter->WriteAttribute( L"w15:paraId", arrParaId[index]);
if (m_document->AnnotationsReferencesEx->m_ReferencesEx[index].nDepth > 0)
{
m_pXmlWriter->WriteAttribute( L"w15:paraIdParent", arrParaId[index + m_document->AnnotationsReferencesEx->m_ReferencesEx[index].nDiatrdParent]);
}
m_pXmlWriter->WriteAttribute( L"w15:done", L"0");
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
m_pXmlWriter->WriteNodeEnd(L"w15:commentEx" );
}
m_pXmlWriter->WriteNodeEnd( L"w15:commentsEx" );
m_context->_docx->CommentsExtendedXML = std::wstring(m_pXmlWriter->GetXmlString());
}
}
}
};
}

View File

@ -1,177 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#if defined(_WIN32) || defined(_WIN64)
#include <tchar.h>
#endif
#include "../../DesktopEditor/common/ASCVariant.h"
namespace OpenXmlContentTypes
{
// default content types
static const wchar_t* Xml = L"application/xml";
// package content types
static const wchar_t* Relationships = L"application/vnd.openxmlformats-package.relationships+xml";
static const wchar_t* CoreProperties = L"application/vnd.openxmlformats-package.core-properties+xml";
// general office document content types
static const wchar_t* ExtendedProperties = L"application/vnd.openxmlformats-officedocument.extended-properties+xml";
static const wchar_t* Theme = L"application/vnd.openxmlformats-officedocument.theme+xml";
static const wchar_t* CustomXmlProperties = L"application/vnd.openxmlformats-officedocument.customXmlProperties+xml";
static const wchar_t* OleObject = L"application/vnd.openxmlformats-officedocument.oleObject";
static const wchar_t* Vml = L"application/vnd.openxmlformats-officedocument.vmlDrawing";
static const wchar_t* Drawing = L"application/vnd.openxmlformats-officedocument.drawing+xml";
static const wchar_t* MSWordDocx = L"application/vnd.openxmlformats-officedocument.wordprocessingml.document";
static const wchar_t* MSExcel = L"application/vnd.ms-excel";
static const wchar_t* MSWord = L"application/msword";
static const wchar_t* MSPowerpoint = L"application/vnd.ms-powerpoint";
static const wchar_t* Emf = L"image/x-emf";
static const wchar_t* Jpeg = L"image/jpeg";
static const wchar_t* Png = L"image/png";
static const wchar_t* Tiff = L"image/tiff";
static const wchar_t* Wmf = L"image/x-wmf";
static const wchar_t* Bmp = L"image/bmp";
static const wchar_t* Pcz = L"image/x-pcz";
}
namespace DocPrContentTypes
{
static const wchar_t* App = L"application/vnd.openxmlformats-officedocument.extended-properties+xml";
static const wchar_t* Core = L"application/vnd.openxmlformats-package.core-properties+xml";
}
namespace WordprocessingMLContentTypes
{
// WordprocessingML content types
static const wchar_t* MainDocument = L"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml";
static const wchar_t* MainDocumentMacro = L"application/vnd.ms-word.document.macroEnabled.main+xml";
static const wchar_t* MainDocumentTemplate = L"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml";
static const wchar_t* MainDocumentMacroTemplate = L"application/vnd.ms-word.template.macroEnabledTemplate.main+xml";
static const wchar_t* Styles = L"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml";
static const wchar_t* Numbering = L"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml";
static const wchar_t* FontTable = L"application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml";
static const wchar_t* WebSettings = L"application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml";
static const wchar_t* Settings = L"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml";
static const wchar_t* Comments = L"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml";
static const wchar_t* CommentsExtended = L"application/vnd.openxmlformats-officedocument.wordprocessingml.commentsExtended+xml";
static const wchar_t* Footnotes = L"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml";
static const wchar_t* Endnotes = L"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml";
static const wchar_t* Header = L"application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml";
static const wchar_t* Footer = L"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml";
static const wchar_t* Glossary = L"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml";
}
namespace MicrosoftWordContentTypes
{
static const wchar_t* KeyMapCustomization = L"application/vnd.ms-word.keyMapCustomizations+xml";
static const wchar_t* VbaProject = L"application/vnd.ms-office.vbaProject";
static const wchar_t* VbaData = L"application/vnd.ms-word.vbaData+xml";
static const wchar_t* Toolbars = L"application/vnd.ms-word.attachedToolbars";
}
namespace OpenXmlNamespaces
{
// package namespaces
static const wchar_t* ContentTypes = L"http://schemas.openxmlformats.org/package/2006/content-types";
static const wchar_t* RelationshipsPackage = L"http://schemas.openxmlformats.org/package/2006/relationships";
static const wchar_t* Relationships = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships";
// Drawing ML namespaces
static const wchar_t* DrawingML = L"http://schemas.openxmlformats.org/drawingml/2006/main";
static const wchar_t* DrawingMLPicture = L"http://schemas.openxmlformats.org/drawingml/2006/picture";
// WordprocessingML namespaces
static const wchar_t* WordprocessingML = L"http://schemas.openxmlformats.org/wordprocessingml/2006/main";
static const wchar_t* WordprocessingDrawingML = L"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing";
static const wchar_t* VectorML = L"urn:schemas-microsoft-com:vml";
static const wchar_t* MicrosoftWordML = L"http://schemas.microsoft.com/office/word/2006/wordml";
// PresentationML namespaces
static const wchar_t* PresentationML = L"http://schemas.openxmlformats.org/presentationml/2006/main";
// SpreadsheetML Namespaces
static const wchar_t* SharedStringML = L"http://schemas.openxmlformats.org/spreadsheetml/2006/main";
static const wchar_t* WorkBookML = L"http://schemas.openxmlformats.org/spreadsheetml/2006/main";
static const wchar_t* StylesML = L"http://schemas.openxmlformats.org/spreadsheetml/2006/main";
//Office
static const wchar_t* Office = L"urn:schemas-microsoft-com:office:office";
static const wchar_t* OfficeWord = L"urn:schemas-microsoft-com:office:word";
}
namespace OpenXmlRelationshipTypes
{
static const wchar_t* CoreProperties = L"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties";
static const wchar_t* ExtendedProperties = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties";
static const wchar_t* Theme = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme";
static const wchar_t* OfficeDocument = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument";
static const wchar_t* Styles = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles";
static const wchar_t* FontTable = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/fontTable";
static const wchar_t* Numbering = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/numbering";
static const wchar_t* WebSettings = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/webSettings";
static const wchar_t* Settings = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings";
static const wchar_t* CustomXml = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml";
static const wchar_t* CustomXmlProperties = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps";
static const wchar_t* Comments = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments";
static const wchar_t* CommentsExtended = L"http://schemas.microsoft.com/office/2011/relationships/commentsExtended";
static const wchar_t* Footnotes = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footnotes";
static const wchar_t* Endnotes = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/endnotes";
static const wchar_t* Header = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/header";
static const wchar_t* Footer = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer";
static const wchar_t* Image = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image";
static const wchar_t* OleObject = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject";
static const wchar_t* GlossaryDocument = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/glossaryDocument";
static const wchar_t* Package = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/package";
static const wchar_t* VbaProject = L"http://schemas.microsoft.com/office/2006/relationships/vbaProject";
static const wchar_t* Hyperlink = L"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink";
}
namespace MicrosoftWordRelationshipTypes
{
static const wchar_t* KeyMapCustomizations = L"http://schemas.microsoft.com/office/2006/relationships/keyMapCustomizations";
static const wchar_t* VbaProject = L"http://schemas.microsoft.com/office/2006/relationships/vbaProject";
static const wchar_t* VbaData = L"http://schemas.microsoft.com/office/2006/relationships/wordVbaData";
static const wchar_t* Toolbars = L"http://schemas.microsoft.com/office/2006/relationships/attachedToolbars";
}

View File

@ -1,234 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "Converter.h"
#include "WordDocument.h"
#include "TableMapping.h"
#include "StyleSheetMapping.h"
#include "FontTableMapping.h"
#include "FootnotesMapping.h"
#include "EndnotesMapping.h"
#include "NumberingMapping.h"
#include "CommentsMapping.h"
#include "SettingsMapping.h"
#include "MainDocumentMapping.h"
#include "WordprocessingDocument.h"
#include "ConversionContext.h"
namespace DocFileFormat
{
Converter::Converter() : m_nUserLCID(-1)
{
}
Converter::~Converter()
{
}
}
namespace DocFileFormat
{
_UINT32 Converter::Convert(WordDocument* doc, WordprocessingDocument* docx, const ProgressCallback* progress)
{
if (!doc || !docx) return S_FALSE;
ConversionContext context( doc, docx );
//Write fontTable.xml
if (doc->FontTable)
{
FontTableMapping fontTableMapping( &context );
doc->FontTable->Convert( &fontTableMapping );
}
//Write styles.xml
if (doc->Styles)
{
StyleSheetMapping styleSheetMapping( &context );
doc->Styles->Convert( &styleSheetMapping );
}
//write document.xml and the header and footers
MainDocumentMapping mainDocMapping( &context, progress );
doc->Convert( &mainDocMapping );
if ( progress != NULL )
{
progress->OnProgress( progress->caller, DOC_ONPROGRESSEVENT_ID, 810000 );
short cancel = 0;
progress->OnProgressEx( progress->caller, DOC_ONPROGRESSEVENT_ID, 810000, &cancel );
if ( cancel != 0 )
{
return S_FALSE;
}
}
//Write numbering.xml
if (doc->listTable)
{
NumberingMapping numberingMapping( &context );
doc->listTable->Convert( &numberingMapping );
}
if ( progress != NULL )
{
progress->OnProgress( progress->caller, DOC_ONPROGRESSEVENT_ID, 850000 );
short cancel = 0;
progress->OnProgressEx( progress->caller, DOC_ONPROGRESSEVENT_ID, 850000, &cancel );
if ( cancel != 0 )
{
return S_FALSE;
}
}
if ( progress != NULL )
{
progress->OnProgress( progress->caller, DOC_ONPROGRESSEVENT_ID, 875000 );
short cancel = 0;
progress->OnProgressEx( progress->caller, DOC_ONPROGRESSEVENT_ID, 875000, &cancel );
if ( cancel != 0 )
{
return S_FALSE;
}
}
//write the footnotes
FootnotesMapping footnotesMapping( &context );
doc->Convert( &footnotesMapping );
if ( progress != NULL )
{
progress->OnProgress( progress->caller, DOC_ONPROGRESSEVENT_ID, 900000 );
short cancel = 0;
progress->OnProgressEx( progress->caller, DOC_ONPROGRESSEVENT_ID, 900000, &cancel );
if ( cancel != 0 )
{
return S_FALSE;
}
}
//write the endnotes
EndnotesMapping endnotesMapping( &context );
doc->Convert( &endnotesMapping );
if ( progress != NULL )
{
progress->OnProgress( progress->caller, DOC_ONPROGRESSEVENT_ID, 925000 );
short cancel = 0;
progress->OnProgressEx( progress->caller, DOC_ONPROGRESSEVENT_ID, 925000, &cancel );
if ( cancel != 0 )
{
return S_FALSE;
}
}
//write the comments
CommentsMapping commentsMapping( &context );
doc->Convert( &commentsMapping );
if ( progress != NULL )
{
progress->OnProgress( progress->caller, DOC_ONPROGRESSEVENT_ID, 950000 );
short cancel = 0;
progress->OnProgressEx( progress->caller, DOC_ONPROGRESSEVENT_ID, 950000, &cancel );
if ( cancel != 0 )
{
return S_FALSE;
}
}
//write settings.xml at last because of the rsid list
if (doc->DocProperties)
{
SettingsMapping settingsMapping( &context );
doc->DocProperties->Convert( &settingsMapping );
}
if ( progress != NULL )
{
progress->OnProgress( progress->caller, DOC_ONPROGRESSEVENT_ID, 975000 );
short cancel = 0;
progress->OnProgressEx( progress->caller, DOC_ONPROGRESSEVENT_ID, 975000, &cancel );
if ( cancel != 0 )
{
return S_FALSE;
}
}
return S_OK;
}
_UINT32 Converter::LoadAndConvert(const std::wstring& strSrcFile, const std::wstring& strDstDirectory, const std::wstring& password, const ProgressCallback* progress, bool &bMacros)
{
WordDocument doc(progress, m_sTempFolder, m_nUserLCID);
WordprocessingDocument docx(strDstDirectory, &doc);
_UINT32 result = doc.LoadDocument(strSrcFile, password);
if (result == 0)
{
result = Convert(&doc, &docx, progress);
if (result == 0)
{
docx.SaveDocument(bMacros);
if (progress)progress->OnProgress(progress->caller, DOC_ONPROGRESSEVENT_ID, 1000000);
short cancel = 0;
if (progress)progress->OnProgressEx(progress->caller, DOC_ONPROGRESSEVENT_ID, 1000000, &cancel);
if (0 != cancel)
{
return S_FALSE;
}
}
}
return result;
}
}

View File

@ -1,58 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include <string>
#include "../../Common/DocxFormat/Source/Base/Types_32.h"
struct ProgressCallback;
namespace DocFileFormat
{
class WordDocument;
class WordprocessingDocument;
class Converter
{
public:
Converter();
~Converter();
std::wstring m_sTempFolder;
int m_nUserLCID;
_UINT32 LoadAndConvert(const std::wstring & strSrcFile, const std::wstring & strDstDirectory, const std::wstring & password, const ProgressCallback* progress, bool &bMacros);
private:
_UINT32 Convert(WordDocument* doc, WordprocessingDocument* docx, const ProgressCallback* progress);
};
}

View File

@ -1,116 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../Common/FormatUtils.h"
namespace DocFileFormat
{
class DateAndTime
{
protected:
short minutes;
short hour;
short day;
short month;
short year;
/// 0 Sunday
/// 1 Monday
/// 2 Tuesday
/// 3 Wednesday
/// 4 Thursday
/// 5 Friday
/// 6 Saturday
short weekday;
public:
DateAndTime()
{
setDefaultValues();
}
DateAndTime( _UINT32 val )
{
unsigned char* bytes = ((unsigned char*) &val);
minutes = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, 4 ), 0, 6 );
hour = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, 4 ), 6, 5 );
day = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, 4 ), 11, 5 );
month = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, 4 ), 16, 4 );
year = (short)( 1900 + FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, 4 ), 20, 9 ) );
weekday = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, 4 ), 29, 3 );
}
DateAndTime( unsigned char* bytes, int size )
{
if ( size == 4 )
{
minutes = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, size ), 0, 6 );
hour = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, size ), 6, 5 );
day = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, size ), 11, 5 );
month = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, size ), 16, 4 );
year = (short)( 1900 + FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, size ), 20, 9 ) );
weekday = (short)FormatUtils::GetIntFromBits( FormatUtils::BytesToInt32( bytes, 0, size ), 29, 3 );
}
else
{
//throw new ByteParseException("Cannot parse the struct DTTM, the length of the struct doesn't match");
}
}
DateAndTime& operator=(const DateAndTime& oSrc)
{
minutes = oSrc.minutes;
hour = oSrc.hour;
day = oSrc.day;
month = oSrc.month;
year = oSrc.year;
weekday = oSrc.weekday;
return (*this);
}
std::wstring getString()
{
return std::to_wstring(year) + L"-" + (month < 9 ? L"0" : L"" ) + std::to_wstring(month) + L"-" +
(day < 9 ? L"0" : L"" ) + std::to_wstring(day) + L"T" +
(hour < 9 ? L"0" : L"" ) + std::to_wstring(hour) + L":" +
(minutes < 9 ? L"0" : L"" ) + std::to_wstring(minutes) + L":00Z";
}
private:
void setDefaultValues()
{
day = 0;
hour = 0;
minutes = 0;
month = 0;
weekday = 0;
year = 0;
}
};
}

View File

@ -1,116 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../Common/FormatUtils.h"
namespace DocFileFormat
{
class DocumentTypographyInfo
{
friend class SettingsMapping;
private:
/// True if we're kerning punctation
bool fKerningPunct;
/// Kinsoku method of justification:
/// 0 = always expand
/// 1 = compress punctation
/// 2 = compress punctation and kana
short iJustification;
/// Level of kinsoku:
/// 0 = level 1
/// 1 = Level 2
/// 2 = Custom
short iLevelOfKinsoku;
/// "2 page on 1" feature is turned on
bool f2on1;
/// Old East Asian feature
bool fOldDefineLineBaseOnGrid;
/// Custom Kinsoku
short iCustomKsu;
/// When set to true, use strict (level 2) Kinsoku rules
bool fJapaneseUseLevel2;
/// Length of rgxchFPunct
short cchFollowingPunct;
/// Length of rgxchLPunct
short cchLeadingPunct;
/// Array of characters that should never appear at the start of a line
std::wstring rgxchFPunct;
/// Array of characters that should never appear at the end of a line
std::wstring rgxchLPunct;
public:
virtual ~DocumentTypographyInfo()
{
}
DocumentTypographyInfo():
fKerningPunct(false), iJustification(0), iLevelOfKinsoku(0), f2on1(false), fOldDefineLineBaseOnGrid(false),
iCustomKsu(0), fJapaneseUseLevel2(false), cchFollowingPunct(0), cchLeadingPunct(0)
{
}
/// Parses the bytes to retrieve a DocumentTypographyInfo
DocumentTypographyInfo( unsigned char* bytes, int size ):
fKerningPunct(false), iJustification(0), iLevelOfKinsoku(0), f2on1(false), fOldDefineLineBaseOnGrid(false),
iCustomKsu(0), fJapaneseUseLevel2(false), cchFollowingPunct(0), cchLeadingPunct(0)
{
if ( size == 310 )
{
//split unsigned char 0 and 1 into bits
this->fKerningPunct = FormatUtils::GetBitFromBytes( bytes, size, 0 );
this->iJustification = (short)FormatUtils::GetUIntFromBytesBits( bytes, size, 1, 2 );
this->iLevelOfKinsoku = (short)FormatUtils::GetUIntFromBytesBits( bytes, size, 3, 2 );
this->f2on1 = FormatUtils::GetBitFromBytes( bytes, size, 5 );
this->fOldDefineLineBaseOnGrid = FormatUtils::GetBitFromBytes( bytes, size, 6 );
this->iCustomKsu = (short)FormatUtils::GetUIntFromBytesBits( bytes, size, 7, 3 );
this->fJapaneseUseLevel2 = FormatUtils::GetBitFromBytes( bytes, size, 10 );
this->cchFollowingPunct = FormatUtils::BytesToInt16( bytes, 2, size );
this->cchLeadingPunct = FormatUtils::BytesToInt16( bytes, 4, size );
unsigned char fpunctBytes[202];
memcpy( fpunctBytes, ( bytes + 6 ), 202 );
FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &(this->rgxchFPunct), fpunctBytes, 202, ENCODING_UTF16 );
unsigned char lpunctBytes[102];
memcpy( lpunctBytes, ( bytes + 208 ), 102 );
FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &(this->rgxchLPunct), lpunctBytes, 102, ENCODING_UTF16 );
}
else
{
//throw new ByteParseException("Cannot parse the struct DOPTYPOGRAPHY, the length of the struct doesn't match");
}
}
};
}

View File

@ -1,98 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
namespace DocFileFormat
{
class DrawingObjectGrid
{
friend class SettingsMapping;
private:
/// x-coordinate of the upper left-hand corner of the grid
short xaGrid;
/// y-coordinate of the upper left-hand corner of the grid
short yaGrid;
/// Width of each grid square
short dxaGrid;
/// Height of each grid square
short dyaGrid;
/// The number of grid squares (in the y direction) between each
/// gridline drawn on the screen. 0 means dont display any
/// gridlines in the y direction.
short dyGridDisplay;
/// Suppress display of gridlines
bool fTurnItOff;
/// The number of grid squares (in the x direction) between each
/// gridline drawn on the screen. 0 means dont display any
/// gridlines in the y direction.
short dxGridDisplay;
/// If true, the grid will start at the left and top margins and
/// ignore xaGrid and yaGrid
bool fFollowMargins;
public:
virtual ~DrawingObjectGrid()
{
}
DrawingObjectGrid():
xaGrid(0), yaGrid(0), dxaGrid(0), dyaGrid(0), dyGridDisplay(0), fTurnItOff(false), dxGridDisplay(0),
fFollowMargins(false)
{
}
/// Parses the bytes to retrieve a DrawingObjectGrid
DrawingObjectGrid( unsigned char* bytes, int size ):
xaGrid(0), yaGrid(0), dxaGrid(0), dyaGrid(0), dyGridDisplay(0), fTurnItOff(false), dxGridDisplay(0),
fFollowMargins(false)
{
if ( size == 10 )
{
this->xaGrid = FormatUtils::BytesToInt16( bytes, 0, size );
this->yaGrid = FormatUtils::BytesToInt16( bytes, 2, size );
this->dxaGrid = FormatUtils::BytesToInt16( bytes, 4, size );
this->dyaGrid = FormatUtils::BytesToInt16( bytes, 6, size );
//split unsigned char 8 and 9 into bits
this->dyGridDisplay = (short)FormatUtils::GetUIntFromBytesBits( ( bytes + 8 ), 2, 0, 7 );
this->fTurnItOff = FormatUtils::GetBitFromBytes( ( bytes + 8 ), 2, 7 );
this->dxGridDisplay = (short)FormatUtils::GetUIntFromBytesBits( ( bytes + 8 ), 2, 8, 7 );
this->fFollowMargins = FormatUtils::GetBitFromBytes( ( bytes + 8 ), 2, 15 );
}
else
{
//throw new ByteParseException("Cannot parse the struct DOGRID, the length of the struct doesn't match");
}
}
};
}

View File

@ -1,108 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "ContentTypes.h"
#include "WordDocument.h"
#include "DocumentMapping.h"
namespace DocFileFormat
{
class EndnotesMapping: public DocumentMapping
{
public:
EndnotesMapping (ConversionContext* ctx) : DocumentMapping(ctx, this)
{
}
virtual void Apply( IVisitable* visited )
{
m_document = static_cast<WordDocument*>( visited );
if ( ( m_document != NULL ) && ( m_document->FIB->m_RgLw97.ccpEdn > 0 ) )
{
m_context->_docx->RegisterEndnotes();
int id = 0;
m_pXmlWriter->WriteNodeBegin( L"?xml version=\"1.0\" encoding=\"UTF-8\"?");
m_pXmlWriter->WriteNodeBegin( L"w:endnotes", TRUE );
//write namespaces
m_pXmlWriter->WriteAttribute( L"xmlns:w", OpenXmlNamespaces::WordprocessingML );
m_pXmlWriter->WriteAttribute( L"xmlns:v", OpenXmlNamespaces::VectorML );
m_pXmlWriter->WriteAttribute( L"xmlns:o", OpenXmlNamespaces::Office );
m_pXmlWriter->WriteAttribute( L"xmlns:w10", OpenXmlNamespaces::OfficeWord );
m_pXmlWriter->WriteAttribute( L"xmlns:r", OpenXmlNamespaces::Relationships );
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
int cp = ( m_document->FIB->m_RgLw97.ccpText + m_document->FIB->m_RgLw97.ccpFtn + m_document->FIB->m_RgLw97.ccpHdr + m_document->FIB->m_RgLw97.ccpAtn );
while ( cp <= ( m_document->FIB->m_RgLw97.ccpText + m_document->FIB->m_RgLw97.ccpFtn + m_document->FIB->m_RgLw97.ccpHdr + m_document->FIB->m_RgLw97.ccpAtn + m_document->FIB->m_RgLw97.ccpEdn - 2 ) )
{
m_pXmlWriter->WriteNodeBegin( L"w:endnote", TRUE );
m_pXmlWriter->WriteAttribute( L"w:id", FormatUtils::IntToWideString( id ));
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
while ( ( cp - m_document->FIB->m_RgLw97.ccpText - m_document->FIB->m_RgLw97.ccpFtn - m_document->FIB->m_RgLw97.ccpHdr - m_document->FIB->m_RgLw97.ccpAtn ) < (*m_document->IndividualEndnotesPlex)[id + 1] )
{
int fc = m_document->FindFileCharPos(cp);
if (fc < 0) break;
ParagraphPropertyExceptions* papx = findValidPapx( fc );
TableInfo tai( papx, m_document->nWordVersion );
if ( tai.fInTable )
{
//this PAPX is for a table
Table table( this, cp, ( ( tai.iTap > 0 ) ? ( 1 ) : ( 0 ) ) );
table.Convert( this );
cp = table.GetCPEnd();
}
else
{
//this PAPX is for a normal paragraph
cp = writeParagraph( cp, 0x7fffffff );
}
}
m_pXmlWriter->WriteNodeEnd( L"w:endnote");
id++;
}
m_pXmlWriter->WriteNodeEnd( L"w:endnotes");
m_context->_docx->EndnotesXML = std::wstring( m_pXmlWriter->GetXmlString() );
}
}
};
}

File diff suppressed because it is too large Load Diff

View File

@ -1,98 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
namespace DocFileFormat
{
/// Specifies an approximation of a real number, where the approximation has a fixed number of digits after the radix point.
///
/// This type is specified in [MS-OSHARED] section 2.2.1.6.
///
/// Value of the real number = Integral + ( Fractional / 65536.0 )
///
/// Integral (2 bytes): A signed integer that specifies the integral part of the real number.
/// Fractional (2 bytes): An unsigned integer that specifies the fractional part of the real number.
class FixedPointNumber
{
public:
unsigned short Integral;
unsigned short Fractional;
FixedPointNumber( unsigned short integral = 0, unsigned short fractional = 0 )
{
this->Integral = integral;
this->Fractional = fractional;
}
FixedPointNumber( unsigned int value )
{
unsigned char* bytes = FormatUtils::GetBytes( value );
this->Integral = FormatUtils::BytesToUInt16( bytes, 0, sizeof(value) );
this->Fractional = FormatUtils::BytesToUInt16( bytes, 2, sizeof(value) );
RELEASEARRAYOBJECTS( bytes );
}
FixedPointNumber( const unsigned char* bytes, unsigned int size )
{
if ( ( bytes != NULL ) && ( size >= 4 ) )
{
this->Integral = FormatUtils::BytesToUInt16( bytes, 0, size );
this->Fractional = FormatUtils::BytesToUInt16( bytes, 2, size );
}
}
double ToAngle() const
{
if ( this->Fractional != 0 )
{
// negative angle
return ( this->Fractional - 65536.0 );
}
else if ( this->Integral != 0 )
{
//positive angle
return ( 65536.0 - this->Integral );
}
else
{
return 0.0;
}
}
double GetValue() const
{
return (double)( this->Integral + ( (double)this->Fractional / 65536.0 ) );
}
};
}

View File

@ -1,61 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "ByteStructure.h"
namespace DocFileFormat
{
class FootnoteDescriptor: public ByteStructure
{
public:
static const int STRUCTURE_SIZE = 2;
FootnoteDescriptor() : aFtnIdx(0), bUsed(false) {}
virtual ~FootnoteDescriptor()
{
}
virtual ByteStructure* ConstructObject( VirtualStreamReader* reader, int length )
{
FootnoteDescriptor *newObject = new FootnoteDescriptor();
newObject->aFtnIdx = reader->ReadInt16();
return static_cast<ByteStructure*>( newObject );
}
short aFtnIdx;
bool bUsed;
};
}

View File

@ -1,140 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "ContentTypes.h"
#include "WordDocument.h"
#include "DocumentMapping.h"
namespace DocFileFormat
{
class FootnotesMapping: public DocumentMapping
{
public:
FootnotesMapping (ConversionContext* ctx): DocumentMapping( ctx, this )
{
}
virtual void Apply( IVisitable* visited )
{
m_document = static_cast<WordDocument*>( visited );
if ( m_document && ( m_document->FIB->m_RgLw97.ccpFtn > 0 ) )
{
m_context->_docx->RegisterFootnotes();
int id = 0;
m_pXmlWriter->WriteNodeBegin( L"?xml version=\"1.0\" encoding=\"UTF-8\"?" );
m_pXmlWriter->WriteNodeBegin( L"w:footnotes", TRUE );
//write namespaces
m_pXmlWriter->WriteAttribute( L"xmlns:w", OpenXmlNamespaces::WordprocessingML );
m_pXmlWriter->WriteAttribute( L"xmlns:v", OpenXmlNamespaces::VectorML );
m_pXmlWriter->WriteAttribute( L"xmlns:o", OpenXmlNamespaces::Office );
m_pXmlWriter->WriteAttribute( L"xmlns:w10", OpenXmlNamespaces::OfficeWord );
m_pXmlWriter->WriteAttribute( L"xmlns:r", OpenXmlNamespaces::Relationships );
m_pXmlWriter->WriteAttribute( L"xmlns:wpc", L"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" );
m_pXmlWriter->WriteAttribute( L"xmlns:mc", L"http://schemas.openxmlformats.org/markup-compatibility/2006");
m_pXmlWriter->WriteAttribute( L"xmlns:wp14", L"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing");
m_pXmlWriter->WriteAttribute( L"xmlns:wp", L"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing");
m_pXmlWriter->WriteAttribute( L"xmlns:w14", L"http://schemas.microsoft.com/office/word/2010/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:wpg", L"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" );
m_pXmlWriter->WriteAttribute( L"xmlns:wpi", L"http://schemas.microsoft.com/office/word/2010/wordprocessingInk" );
m_pXmlWriter->WriteAttribute( L"xmlns:wne", L"http://schemas.microsoft.com/office/word/2006/wordml" );
m_pXmlWriter->WriteAttribute( L"xmlns:wps", L"http://schemas.microsoft.com/office/word/2010/wordprocessingShape" );
m_pXmlWriter->WriteAttribute( L"xmlns:a", L"http://schemas.openxmlformats.org/drawingml/2006/main" );
m_pXmlWriter->WriteAttribute( L"xmlns:m", L"http://schemas.openxmlformats.org/officeDocument/2006/math" );
m_pXmlWriter->WriteAttribute( L"mc:Ignorable", L"w14 wp14" );
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
//m_pXmlWriter->WriteNodeBegin( L"w:footnote", TRUE );
//m_pXmlWriter->WriteAttribute( L"w:type", L"separator");
//m_pXmlWriter->WriteAttribute( L"w:id", L"-1");
//m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
//m_pXmlWriter->WriteString(L"<w:p><w:pPr><w:spacing w:lineRule=\"auto\" w:line=\"240\" w:after=\"0\"/></w:pPr><w:r></w:r><w:r><w:separator/></w:r></w:p>");
//m_pXmlWriter->WriteNodeEnd( L"w:footnote");
//m_pXmlWriter->WriteNodeBegin( L"w:footnote", TRUE );
//m_pXmlWriter->WriteAttribute( L"w:type", L"continuationSeparator");
//m_pXmlWriter->WriteAttribute( L"w:id", L"0");
//m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
//m_pXmlWriter->WriteString(L"<w:p><w:pPr><w:spacing w:lineRule=\"auto\" w:line=\"240\" w:after=\"0\"/></w:pPr><w:r></w:r><w:r><w:continuationSeparator/></w:r></w:p>");
//m_pXmlWriter->WriteNodeEnd( L"w:footnote");
int cp = m_document->FIB->m_RgLw97.ccpText;
while ( cp <= ( m_document->FIB->m_RgLw97.ccpText + m_document->FIB->m_RgLw97.ccpFtn - 2 ) )
{
m_pXmlWriter->WriteNodeBegin( L"w:footnote", TRUE );
m_pXmlWriter->WriteAttribute( L"w:id", FormatUtils::IntToWideString( id ));
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
while ( ( cp - m_document->FIB->m_RgLw97.ccpText ) < (*m_document->IndividualFootnotesPlex)[id + 1] )
{
int cpStart = cp;
int fc = m_document->FindFileCharPos(cp);
if (fc < 0) break;
ParagraphPropertyExceptions* papx = findValidPapx( fc );
TableInfo tai( papx, m_document->nWordVersion );
if ( tai.fInTable )
{
//this PAPX is for a table
Table table( this, cp, ( ( tai.iTap > 0 ) ? ( 1 ) : ( 0 ) ) );
table.Convert( this );
cp = table.GetCPEnd();
}
else
{
//this PAPX is for a normal paragraph
cp = writeParagraph( cp, 0x7fffffff );
}
while (cp <= cpStart) //conv_fQioC665ib4ngHkDGY4__docx.doc
cp++;
}
m_pXmlWriter->WriteNodeEnd( L"w:footnote");
id++;
}
m_pXmlWriter->WriteNodeEnd( L"w:footnotes");
m_context->_docx->FootnotesXML = std::wstring(m_pXmlWriter->GetXmlString());
}
}
};
}

View File

@ -1,150 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "ConversionContext.h"
#include "FormFieldData.h"
#include "AbstractOpenXmlMapping.h"
#include "IMapping.h"
namespace DocFileFormat
{
class FormFieldDataMapping: public AbstractOpenXmlMapping, public IMapping
{
public:
FormFieldDataMapping(XMLTools::CStringXmlWriter* writer, ConversionContext* context, IMapping* caller)
: AbstractOpenXmlMapping(writer), m_context(NULL),_caller(NULL)
{
m_context = context;
_caller = caller;
}
virtual void Apply(IVisitable* visited)
{
FormFieldData* ffData = static_cast<FormFieldData*>(visited);
if ( ffData == NULL ) return;
if (ffData->FFData.bExist)
{
m_pXmlWriter->WriteNodeBegin( L"w:ffData");
m_pXmlWriter->WriteNodeBegin( L"w:name", true);
m_pXmlWriter->WriteAttribute(L"w:val", XmlUtils::EncodeXmlString(ffData->FFData.xstzName));
m_pXmlWriter->WriteNodeEnd(L"w:name", true, true );
m_pXmlWriter->WriteNodeBegin(L"w:enabled", true);
if (ffData->FFData.fProt)
m_pXmlWriter->WriteAttribute(L"w:val", 0);
m_pXmlWriter->WriteNodeEnd(L"w:enabled", true, true);
m_pXmlWriter->WriteNodeBegin( L"w:calcOnExit", true);
m_pXmlWriter->WriteAttribute(L"w:val", ffData->FFData.fRecalc);
m_pXmlWriter->WriteNodeEnd(L"w:calcOnExit", true, true );
if (false == ffData->FFData.xstzHelpText.empty())
{
m_pXmlWriter->WriteNodeBegin(L"w:helpText", true);
m_pXmlWriter->WriteAttribute(L"w:type", ffData->FFData.fOwnHelp ? L"text" : L"autoText");
m_pXmlWriter->WriteAttribute(L"w:val", XmlUtils::EncodeXmlString(ffData->FFData.xstzHelpText));
m_pXmlWriter->WriteNodeEnd(L"w:helpText", true, true);
}
if (false == ffData->FFData.xstzStatText.empty())
{
m_pXmlWriter->WriteNodeBegin(L"w:statusText", true);
m_pXmlWriter->WriteAttribute(L"w:type", ffData->FFData.fOwnStat ? L"text" : L"autoText");
m_pXmlWriter->WriteAttribute(L"w:val", XmlUtils::EncodeXmlString(ffData->FFData.xstzStatText));
m_pXmlWriter->WriteNodeEnd(L"w:statusText", true, true);
}
if (false == ffData->FFData.xstzEntryMcr.empty())
{
m_pXmlWriter->WriteNodeBegin(L"w:entryMacro", true);
m_pXmlWriter->WriteAttribute(L"w:val", XmlUtils::EncodeXmlString(ffData->FFData.xstzEntryMcr));
m_pXmlWriter->WriteNodeEnd(L"w:entryMacro", true, true);
}
if (false == ffData->FFData.xstzExitMcr.empty())
{
m_pXmlWriter->WriteNodeBegin(L"w:exitMacro", true);
m_pXmlWriter->WriteAttribute(L"w:val", XmlUtils::EncodeXmlString(ffData->FFData.xstzExitMcr));
m_pXmlWriter->WriteNodeEnd(L"w:exitMacro", true, true);
}
if (ffData->FFData.iType == 1)
{
m_pXmlWriter->WriteNodeBegin(L"w:checkBox");
if (ffData->FFData.iSize)
{
m_pXmlWriter->WriteNodeBegin(L"w:size", true);
m_pXmlWriter->WriteAttribute(L"w:val", ffData->FFData.hps);
m_pXmlWriter->WriteNodeEnd(L"w:size", true, true);
}
else
{
m_pXmlWriter->WriteNodeBegin(L"w:sizeAuto", true);
m_pXmlWriter->WriteNodeEnd(L"w:sizeAuto", true, true);
}
m_pXmlWriter->WriteNodeBegin(L"w:default", true);
m_pXmlWriter->WriteAttribute(L"w:val", ffData->FFData.wDef);
m_pXmlWriter->WriteNodeEnd(L"w:default", true, true);
m_pXmlWriter->WriteNodeEnd(L"w:checkBox");
}
else if (ffData->FFData.iType == 2)
{
m_pXmlWriter->WriteNodeBegin(L"w:ddList");
m_pXmlWriter->WriteNodeEnd(L"w:ddList");
}
else
{
m_pXmlWriter->WriteNodeBegin(L"w:textInput");
m_pXmlWriter->WriteNodeBegin(L"w:maxLength", true);
m_pXmlWriter->WriteAttribute(L"w:val", ffData->FFData.cch_field);
m_pXmlWriter->WriteNodeEnd(L"w:maxLength", true, true);
m_pXmlWriter->WriteNodeEnd(L"w:textInput");
}
m_pXmlWriter->WriteNodeEnd( L"w:ffData" );
}
}
private:
ConversionContext* m_context;
IMapping* _caller;
};
}

View File

@ -1,87 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "VirtualStreamReader.h"
#include "ListLevel.h"
namespace DocFileFormat
{
class ListFormatOverrideLevel
{
friend class NumberingMapping;
private:
/// Start-at value if fFormatting==false and fStartAt==true.
/// If fFormatting == true, the start is stored in the LVL
int iStartAt;
/// The level to be overridden
unsigned char ilvl;
/// True if the start-at value is overridden
bool fStartAt;
/// True if the formatting is overridden
bool fFormatting;
/// A grfhic that specifies HTML incompatibilities of the level.
unsigned char grfhic;
ListLevel* lvl;
public:
ListFormatOverrideLevel():
iStartAt(0), ilvl(0), fStartAt(false), fFormatting(false), grfhic(0), lvl(NULL)
{
}
virtual ~ListFormatOverrideLevel()
{
RELEASEOBJECT( this->lvl );
}
/// Parses the bytes to retrieve a ListFormatOverrideLevel
ListFormatOverrideLevel( VirtualStreamReader* reader, int length ):
iStartAt(0), ilvl(0), fStartAt(false), fFormatting(false), grfhic(0), lvl(NULL)
{
this->iStartAt = reader->ReadInt32();
unsigned int flag = (int)reader->ReadUInt32();
this->ilvl = (unsigned char)( flag & 0x000F );
this->fStartAt = FormatUtils::BitmaskToBool( flag, 0x0010 );
this->fFormatting = FormatUtils::BitmaskToBool( flag, 0x0020 );
this->grfhic = FormatUtils::GetIntFromBits( flag, 6, 8 );
//it's a complete override, so the fix part is followed by LVL struct
if ( this->fFormatting )
{
this->lvl = new ListLevel( reader, length );
}
}
};
}

View File

@ -1,86 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "VirtualStreamReader.h"
#include "FileInformationBlock.h"
#include "ListFormatOverride.h"
namespace DocFileFormat
{
class ListFormatOverrideTable: public std::vector<ListFormatOverride*>
{
private:
static const int LFO_LENGTH = 16;
static const int LFOLVL_LENGTH = 6;
std::vector<unsigned int> cps;
public:
ListFormatOverrideTable( FileInformationBlock* fib, POLE::Stream* tableStream )
{
if ( fib->m_FibWord97.lcbPlfLfo > 0 )
{
VirtualStreamReader reader( tableStream, fib->m_FibWord97.fcPlfLfo, fib->m_nWordVersion);
if (fib->m_FibWord97.fcPlfLfo > reader.GetSize()) return;
//read the count of LFOs
int count = reader.ReadInt32();
//read the LFOs
for ( int i = 0; i < count; i++ )
{
this->push_back( new ListFormatOverride( &reader, LFO_LENGTH ) );
}
//read the LFOLVLs
for ( int i = 0; i < count; i++ )
{
this->cps.push_back( reader.ReadUInt32() );
for ( int j = 0; j < this->at( i )->clfolvl; j++ )
{
this->at( i )->rgLfoLvl[j] = new ListFormatOverrideLevel( &reader, LFOLVL_LENGTH );
}
}
}
}
virtual ~ListFormatOverrideTable()
{
for ( vector<ListFormatOverride*>::iterator iter = this->begin(); iter != this->end(); iter++ )
{
RELEASEOBJECT( *iter );
}
}
};
}

View File

@ -1,212 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "IBinaryReader.h"
#include "../Common/FormatUtils.h"
class MemoryStream: public IBinaryReader
{
public:
MemoryStream (unsigned char* data, unsigned long size, bool bMemCopy = true) : m_Data(NULL), m_Size(0), m_Position(0), bMemoryCopy(bMemCopy)
{
if ( ( data != NULL ) && ( size != 0 ) )
{
m_Size = size;
if (bMemoryCopy)
{
m_Data = new unsigned char[m_Size];
if (m_Data)
{
memcpy (m_Data, data, m_Size);
}
}
else
{
m_Data = data;
}
}
}
virtual ~MemoryStream()
{
if (bMemoryCopy)
RELEASEARRAYOBJECTS (m_Data);
}
virtual unsigned short ReadUInt16()
{
unsigned short rdUShort = 0;
if (m_Data)
{
rdUShort = DocFileFormat::FormatUtils::BytesToUInt16 (m_Data, m_Position, m_Size);
m_Position += sizeof(rdUShort);
}
return rdUShort;
}
void WriteUInt16(unsigned short val)
{
if (m_Data && (m_Position + sizeof(unsigned short) <= m_Size))
{
((unsigned short *)(m_Data + m_Position))[0] = val;
m_Position += sizeof(unsigned short);
}
}
virtual short ReadInt16()
{
short rdShort = 0;
if (m_Data)
{
rdShort = DocFileFormat::FormatUtils::BytesToInt16 (m_Data, m_Position, m_Size);
m_Position += sizeof(rdShort);
}
return rdShort;
}
virtual int ReadInt32()
{
int rdInt = 0;
if (m_Data)
{
rdInt = DocFileFormat::FormatUtils::BytesToInt32 (m_Data, m_Position, m_Size);
m_Position += sizeof(rdInt);
}
return rdInt;
}
void WriteInt32(_INT32 val)
{
if (m_Data && (m_Position + sizeof(_INT32) <= m_Size))
{
((_INT32 *)(m_Data + m_Position))[0] = val;
m_Position += sizeof(_INT32);
}
}
virtual unsigned int ReadUInt32()
{
int rdUInt = 0;
if (m_Data )
{
rdUInt = DocFileFormat::FormatUtils::BytesToUInt32 (m_Data, m_Position, m_Size);
m_Position += sizeof(rdUInt);
}
return rdUInt;
}
void WriteByte(unsigned char val)
{
if (m_Data && (m_Position + 1 <= m_Size))
{
m_Data[m_Position] = val;
m_Position += 1;
}
}
void WriteUInt32(_UINT32 val)
{
if (m_Data && (m_Position + sizeof(_UINT32) <= m_Size))
{
((_UINT32 *)(m_Data + m_Position))[0] = val;
m_Position += sizeof(_UINT32);
}
}
virtual unsigned char ReadByte()
{
unsigned char rdByte = 0;
if (m_Data)
{
rdByte = (m_Position < m_Size) ? m_Data[m_Position] : 0;
m_Position += sizeof(rdByte);
}
return rdByte;
}
virtual unsigned char* ReadBytes (unsigned int count, bool isResultNeeded)
{
if (!m_Data) return NULL;
unsigned int size = ( count <= (m_Size - m_Position) ) ? (count) : (m_Size - m_Position);
unsigned char* pBytes = (isResultNeeded && count > 0) ? new unsigned char[count] : NULL;
if (pBytes)
{
memcpy(pBytes, (m_Data + m_Position), size);
}
m_Position += size;
return pBytes;
}
void WriteBytes(unsigned char* pData, int size)
{
if (m_Data && (m_Position + size <= m_Size))
{
memcpy(m_Data + m_Position, pData, size);
m_Position += size;
}
}
virtual unsigned long GetPosition() const
{
return m_Position;
}
virtual unsigned long GetSize() const
{
return m_Size;
}
virtual int Seek (int offset, int origin = 0/*STREAM_SEEK_SET*/)
{
if ( (m_Data != NULL) && (offset >= 0) && ((unsigned int)offset < m_Size) )
return m_Position = offset;
return 0;
}
private:
unsigned char* m_Data;
unsigned long m_Size;
unsigned long m_Position;
bool bMemoryCopy;
};

View File

@ -1,198 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "OfficeDrawing/RecordFactory.h"
#include "OfficeDrawing/DrawingContainer.h"
#include "OfficeDrawing/DrawingRecord.h"
#include "OfficeDrawing/DrawingGroup.h"
#include "OfficeDrawing/GroupContainer.h"
#include "OfficeDrawing/Shape.h"
namespace DocFileFormat
{
class OfficeArtContent
{
private:
enum DrawingType
{
MainDocument,
Header
};
struct OfficeArtWordDrawing
{
DrawingType dgglbl;
DrawingContainer* container;
};
public:
OfficeArtContent (const FileInformationBlock* pFIB, POLE::Stream* pStream): m_pDrawingGroupData(NULL), m_pBackgroud(NULL), m_uLastShapeId(1024)
{
VirtualStreamReader oStearmReader(pStream, 0 , pFIB->m_nWordVersion);
if (pFIB->m_FibWord97.fcDggInfo > oStearmReader.GetSize()) return;
oStearmReader.Seek (pFIB->m_FibWord97.fcDggInfo, 0/*STREAM_SEEK_SET*/);
if (pFIB->m_FibWord97.lcbDggInfo > 0)
{
unsigned int maxPosition = (int)(pFIB->m_FibWord97.fcDggInfo + pFIB->m_FibWord97.lcbDggInfo);
// read the DrawingGroupData
m_pDrawingGroupData = static_cast<DrawingGroup*>(RecordFactory::ReadRecord (&oStearmReader, 0));
while (oStearmReader.GetPosition() < maxPosition)
{
OfficeArtWordDrawing drawing;
drawing.dgglbl = (DrawingType)oStearmReader.ReadByte();
drawing.container = static_cast<DrawingContainer*>(RecordFactory::ReadRecord (&oStearmReader, 0));
for (size_t i = 0; i < drawing.container->Children.size(); ++i)
{
Record* groupChild = drawing.container->Children[i];
if (groupChild)
{
if (GroupContainer::TYPE_CODE_0xF003 == groupChild->TypeCode)
{
GroupContainer* group = static_cast<GroupContainer*>(groupChild);
if (group)
{
group->Index = (int)i;
}
}
else if (ShapeContainer::TYPE_CODE_0xF004 == groupChild->TypeCode)
{
ShapeContainer* shape = static_cast<ShapeContainer*>(groupChild);
if (shape)
{
shape->m_nIndex = (int)i;
if (shape->m_bBackground)
{
m_pBackgroud = shape;
}
}
}
else if (DrawingRecord::TYPE_CODE_0xF008 == groupChild->TypeCode)
{
DrawingRecord* dr = static_cast<DrawingRecord*>(groupChild);
if (dr)
{
m_uLastShapeId = dr->spidCur;
}
}
}
}
m_arrDrawings.push_back( drawing );
}
}
}
~OfficeArtContent()
{
RELEASEOBJECT (m_pDrawingGroupData);
for ( std::list<OfficeArtWordDrawing>::iterator iter = m_arrDrawings.begin(); iter != m_arrDrawings.end(); ++iter)
RELEASEOBJECT(iter->container);
}
inline ShapeContainer* GetShapeBackgound()
{
return m_pBackgroud;
}
inline ShapeContainer* GetShapeContainer (int spid)
{
ShapeContainer* ret = NULL;
for (std::list<OfficeArtWordDrawing>::iterator iter = m_arrDrawings.begin(); iter != m_arrDrawings.end(); ++iter)
{
GroupContainer* group = iter->container->FirstChildWithType<GroupContainer>();
if (group)
{
for (size_t i = 1; i < group->Children.size(); ++i)
{
Record* groupChild = group->Children[i];
if ( groupChild->TypeCode == GroupContainer::TYPE_CODE_0xF003)
{
//It's a group of shapes
GroupContainer* subgroup = static_cast<GroupContainer*>(groupChild);
//the referenced shape must be the first shape in the group
ShapeContainer* container = static_cast<ShapeContainer*>(subgroup->Children[0]);
Shape* shape = static_cast<Shape*>(container->Children[1]);
if (shape->GetShapeID() == spid)
{
ret = container;
break;
}
}
else if ( groupChild->TypeCode == ShapeContainer::TYPE_CODE_0xF004 )
{
//It's a singe shape
ShapeContainer* container = static_cast<ShapeContainer*>(groupChild);
Shape* shape = static_cast<Shape*>(container->Children[0]);
if (shape->GetShapeID() == spid)
{
ret = container;
break;
}
}
}
}
else
{
continue;
}
if (ret)
break;
}
return ret;
}
inline const DrawingGroup* GetDrawingGroup () const
{
return m_pDrawingGroupData;
}
unsigned int m_uLastShapeId;
private:
ShapeContainer* m_pBackgroud;
DrawingGroup* m_pDrawingGroupData;
std::list<OfficeArtWordDrawing> m_arrDrawings;
};
}

View File

@ -1,101 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "Record.h"
namespace DocFileFormat
{
class BitmapBlip: public Record
{
public:
static const unsigned short TYPE_CODE_0xF01D = 0xF01D;
static const unsigned short TYPE_CODE_0xF01E = 0xF01E;
static const unsigned short TYPE_CODE_0xF01F = 0xF01F;
static const unsigned short TYPE_CODE_0xF020 = 0xF020;
static const unsigned short TYPE_CODE_0xF021 = 0xF021;
static const unsigned short TYPE_CODE_0xF02A = 0xF02A;
static const unsigned short TYPE_CODE_0xF029 = 0xF029;
public:
BitmapBlip() : Record(), m_rgbUid(NULL), m_rgbUidPrimary(NULL), m_bTag(0), m_pvBits(NULL)
{
}
BitmapBlip(IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) :
Record(_reader, size, typeCode, version, instance ), m_rgbUid(NULL), m_rgbUidPrimary(NULL), m_bTag(0), m_pvBits(NULL), pvBitsSize(0)
{
m_rgbUid = Reader->ReadBytes(16, true);
if ((instance == 0x46B) || (instance == 0x6E3) || (instance == 0x6E1) || (instance == 0x7A9) || (instance == 0x6E5))
{
m_rgbUidPrimary = Reader->ReadBytes(16, true);
}
m_bTag = Reader->ReadByte();
pvBitsSize = (size - 17);
if (m_rgbUidPrimary)
{
pvBitsSize -= 16;
}
m_pvBits = Reader->ReadBytes((int)(pvBitsSize), true);
}
virtual ~BitmapBlip()
{
RELEASEARRAYOBJECTS(m_rgbUid);
RELEASEARRAYOBJECTS(m_rgbUidPrimary);
RELEASEARRAYOBJECTS(m_pvBits);
}
virtual Record* NewObject(IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance)
{
return new BitmapBlip(_reader, bodySize, typeCode, version, instance);
}
public:
/// The secondary, or data, UID - should always be set.
unsigned char* m_rgbUid;
/// The primary UID - this defaults to 0, in which case the primary ID is that of the internal data.
/// NOTE!: The primary UID is only saved to disk if (blip_instance ^ blip_signature == 1).
/// Blip_instance is MSOFBH.finst and blip_signature is one of the values defined in MSOBI
unsigned char* m_rgbUidPrimary;
unsigned char m_bTag;
/// Raster bits of the blip
unsigned char* m_pvBits;
unsigned int pvBitsSize;
};
}

View File

@ -1,60 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "RegularContainer.h"
namespace DocFileFormat
{
class BlipStoreContainer: public RegularContainer
{
public:
static const unsigned short TYPE_CODE_0xF001 = 0xF001;
BlipStoreContainer () : RegularContainer()
{
}
BlipStoreContainer (IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : RegularContainer (_reader, size, typeCode, version, instance)
{
}
virtual ~BlipStoreContainer()
{
}
virtual Record* NewObject (IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance)
{
return new BlipStoreContainer( _reader, bodySize, typeCode, version, instance );
}
};
}

View File

@ -1,137 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "RecordFactory.h"
#include "../Global.h"
namespace DocFileFormat
{
class BlipStoreEntry: public Record // OfficeArtFBSE
{
friend class VMLShapeMapping;
public:
static const unsigned short TYPE_CODE_0xF007 = 0xF007;
/// Required type on Win32
Global::BlipType btWin32;
/// Required type on Mac
Global::BlipType btMacOS;
Record* Blip;
private:
/// Identifier of blip
unsigned char* rgbUid;
/// currently unused
short tag;
/// Blip size in stream
unsigned int size;
/// Reference count on the blip
unsigned int cRef;
unsigned int foDelay; // File offset in the delay stream
/// How this blip is used (MSOBLIPUSAGE)
Global::BlipUsage usage;
/// length of the blip name
unsigned char cbName;
/// for the future
unsigned char unused2;
/// for the future
unsigned char unused3;
/// The primary UID - this defaults to 0, in which case the primary ID is that of the internal data.
/// NOTE!: The primary UID is only saved to disk if (blip_instance ^ blip_signature == 1).
/// Blip_instance is MSOFBH.inst and blip_signature is one of the values defined in MSOBI
unsigned char* m_rgbUid;
/// optional based on the above check.
unsigned char* m_rgbUidPrimary;
unsigned char m_bTag;
/// Cache of the metafile size
short m_cb;
//RECT m_rcBounds; // Boundary of metafile drawing commands
//POINT m_ptSize; // Size of metafile in EMUs
/// Cache of saved size (size of m_pvBits)
short m_cbSave;
/// Compression
unsigned char m_fCompression;
/// always msofilterNone
unsigned char m_fFilter;
public:
BlipStoreEntry() : Record(), btWin32(Global::msoblipERROR), btMacOS(Global::msoblipERROR), rgbUid(NULL), tag(0), size(0), cRef(0),
foDelay(0), usage(Global::msoblipUsageDefault), cbName(0), unused2(0), unused3(0), m_rgbUid(NULL), m_rgbUidPrimary(NULL),
m_bTag(0), m_cb(0), m_cbSave(0), m_fCompression(0), m_fFilter(0), Blip(NULL)
{
}
BlipStoreEntry(IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance ):
Record( _reader, size, typeCode, version, instance ), btWin32(Global::msoblipERROR), btMacOS(Global::msoblipERROR), rgbUid(NULL), tag(0), size(0), cRef(0),
foDelay(0), usage(Global::msoblipUsageDefault), cbName(0), unused2(0), unused3(0), m_rgbUid(NULL), m_rgbUidPrimary(NULL),
m_bTag(0), m_cb(0), m_cbSave(0), m_fCompression(0), m_fFilter(0), Blip(NULL)
{
btWin32 = (Global::BlipType)Reader->ReadByte();
btMacOS = (Global::BlipType)Reader->ReadByte();
rgbUid = Reader->ReadBytes(16, true);
tag = Reader->ReadInt16();
size = Reader->ReadUInt32();
cRef = Reader->ReadUInt32();
foDelay = Reader->ReadUInt32();
usage = (Global::BlipUsage) Reader->ReadByte();
cbName = Reader->ReadByte();
unused2 = Reader->ReadByte();
unused3 = Reader->ReadByte();
if (btMacOS != btWin32)
{
btWin32 = btMacOS = (Global::BlipType)this->Instance;
}
if (BodySize > 0x24)
{
Blip = RecordFactory::ReadRecord(Reader, 0);
}
}
virtual ~BlipStoreEntry()
{
RELEASEARRAYOBJECTS(rgbUid);
RELEASEARRAYOBJECTS(m_rgbUid);
RELEASEARRAYOBJECTS(m_rgbUidPrimary);
RELEASEOBJECT(Blip);
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new BlipStoreEntry( _reader, bodySize, typeCode, version, instance );
}
};
}

View File

@ -1,84 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "Record.h"
namespace DocFileFormat
{
class ChildAnchor: public Record
{
public:
static const unsigned short TYPE_CODE_0xF00F = 0xF00F;
ChildAnchor() : Record(), rcgBounds(), Left(0), Top(0), Right(0), Bottom(0)
{
}
ChildAnchor (IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : Record (_reader, size, typeCode, version, instance), rcgBounds(), Left(0), Top(0), Right(0), Bottom(0)
{
Left = Reader->ReadInt32();
Top = Reader->ReadInt32();
Right = Reader->ReadInt32();
Bottom = Reader->ReadInt32();
POINT _point;
_point.x = Left;
_point.y = Top;
SIZE _size;
_size.cx = Right - Left;
_size.cy = Bottom - Top;
rcgBounds = DocFileFormat::Rectangle (_point, _size);
}
virtual ~ChildAnchor()
{
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new ChildAnchor( _reader, bodySize, typeCode, version, instance );
}
public:
/// Rectangle that describes the bounds of the anchor
DocFileFormat::Rectangle rcgBounds;
int Left;
int Top;
int Right;
int Bottom;
};
}

View File

@ -1,63 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "Record.h"
namespace DocFileFormat
{
class ClientAnchor: public Record
{
public:
static const unsigned short TYPE_CODE_0xF010 = 0xF010;
ClientAnchor() : Record(), value(0)
{
}
ClientAnchor (IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : Record (_reader, size, typeCode, version, instance), value(0)
{
value = Reader->ReadInt32(); //index PlcfSpa
}
virtual ~ClientAnchor()
{
}
virtual Record* NewObject (IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance)
{
return new ClientAnchor (_reader, bodySize, typeCode, version, instance);
}
unsigned int value;
};
}

View File

@ -1,62 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "RegularContainer.h"
namespace DocFileFormat
{
class DrawingContainer: public RegularContainer
{
public:
static const unsigned short TYPE_CODE_0xF002 = 0xF002;
DrawingContainer():
RegularContainer()
{
}
DrawingContainer( IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance ):
RegularContainer( _reader, size, typeCode, version, instance )
{
}
virtual ~DrawingContainer()
{
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new DrawingContainer( _reader, bodySize, typeCode, version, instance );
}
};
}

View File

@ -1,60 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "RegularContainer.h"
namespace DocFileFormat
{
class DrawingGroup: public RegularContainer
{
public:
static const unsigned short TYPE_CODE_0xF000 = 0xF000;
DrawingGroup(): RegularContainer()
{
}
DrawingGroup (IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : RegularContainer( _reader, size, typeCode, version, instance )
{
}
virtual ~DrawingGroup()
{
}
virtual Record* NewObject (IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance)
{
return new DrawingGroup (_reader, bodySize, typeCode, version, instance);
}
};
}

View File

@ -1,67 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "Record.h"
namespace DocFileFormat
{
class DrawingRecord: public Record
{
public:
static const unsigned short TYPE_CODE_0xF008 = 0xF008;
unsigned int csp; // The number of shapes in this drawing
unsigned int spidCur; // The last MSOSPID given to an SP in this DG
DrawingRecord():
Record(), csp(0), spidCur(0)
{
}
DrawingRecord( IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance ):
Record( _reader, size, typeCode, version, instance )
{
csp = Reader->ReadUInt32();
spidCur = Reader->ReadInt32();
}
virtual ~DrawingRecord()
{
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new DrawingRecord( _reader, bodySize, typeCode, version, instance );
}
};
}

View File

@ -1,84 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "ShapeContainer.h"
namespace DocFileFormat
{
class GroupContainer: public RegularContainer
{
public:
static const unsigned short TYPE_CODE_0xF003 = 0xF003;
int Index;
GroupContainer() : RegularContainer(), Index(0)
{
}
GroupContainer(IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : RegularContainer(_reader, size, typeCode, version, instance), Index(0)
{
for ( unsigned int i = 0; i < this->Children.size(); i++ )
{
Record* groupChild = this->Children[i];
if ( groupChild != NULL )
{
if ( groupChild->TypeCode == 0xF003 )
{
// the child is a subgroup
GroupContainer* group = static_cast<GroupContainer*>(groupChild);
group->Index = i;
this->Children[i] = group;
}
else if ( groupChild->TypeCode == 0xF004 )
{
// the child is a shape
ShapeContainer* shape = static_cast<ShapeContainer*>(groupChild);
shape->m_nIndex = i;
this->Children[i] = shape;
}
}
}
}
virtual ~GroupContainer()
{
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new GroupContainer( _reader, bodySize, typeCode, version, instance );
}
};
}

View File

@ -1,82 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "Record.h"
namespace DocFileFormat
{
class GroupShapeRecord: public Record
{
public:
static const unsigned short TYPE_CODE_0xF009 = 0xF009;
GroupShapeRecord () : Record(), rcgBounds()
{
}
GroupShapeRecord(IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : Record(_reader, size, typeCode, version, instance), rcgBounds()
{
int left = Reader->ReadInt32();
int top = Reader->ReadInt32();
int right = Reader->ReadInt32();
int bottom = Reader->ReadInt32();
//left = max( 0, left );
//top = max( 0, top );
//right = max( 0, right );
//bottom = max( 0, bottom );
POINT oPoint;
oPoint.x = left;
oPoint.y = top;
SIZE oSize;
oSize.cx = ( right - left );
oSize.cy = ( bottom - top );
rcgBounds = DocFileFormat::Rectangle(oPoint,oSize);
}
virtual ~GroupShapeRecord()
{
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new GroupShapeRecord( _reader, bodySize, typeCode, version, instance );
}
DocFileFormat::Rectangle rcgBounds;
};
}

View File

@ -1,366 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "Record.h"
#include "../../../OfficeUtils/src/OfficeUtils.h"
#include "../../../Common/DocxFormat/Source/Base/Types_32.h"
namespace DocFileFormat
{
typedef struct
{
short Left;
short Top;
short Right;
short Bottom;
} PWMFRect16;
typedef struct
{
_UINT32 Key; // GDIP_WMF_PLACEABLEKEY
short Hmf; // Metafile HANDLE number (always 0)
PWMFRect16 BoundingBox; // Coordinates in metafile units
short Inch; // Number of metafile units per inch
_UINT32 Reserved; // Reserved (always 0)
short Checksum; // Checksum value for previous 10 WORDs
} WmfPlaceableFileHeader;
class CMetaHeader
{
public:
DWORD cbSize;
RECT rcBounds;
POINT ptSize;
DWORD cbSave;
BYTE compression;
BYTE filter;
CMetaHeader()
{
cbSize = cbSave = 0;
filter = compression = 0;
ptSize.x = ptSize.y = 0;
rcBounds.bottom = rcBounds.left = rcBounds.right = rcBounds.top = 0;
}
void ToWMFHeader(WmfPlaceableFileHeader* pHeader)
{
if (NULL == pHeader)
return;
pHeader->Key = 0x9AC6CDD7;
pHeader->Hmf = 0;
pHeader->BoundingBox.Left = (short)rcBounds.left;
pHeader->BoundingBox.Top = (short)rcBounds.top;
pHeader->BoundingBox.Right = (short)rcBounds.right;
pHeader->BoundingBox.Bottom = (short)rcBounds.bottom;
pHeader->Inch = 1440; // 1:1
pHeader->Reserved = 0;
pHeader->Checksum = 0;
pHeader->Checksum ^= (pHeader->Key & 0x0000FFFFL);
pHeader->Checksum ^= ((pHeader->Key & 0xFFFF0000L) >> 16);
pHeader->Checksum ^= pHeader->Hmf;
pHeader->Checksum ^= pHeader->BoundingBox.Left;
pHeader->Checksum ^= pHeader->BoundingBox.Top;
pHeader->Checksum ^= pHeader->BoundingBox.Right;
pHeader->Checksum ^= pHeader->BoundingBox.Bottom;
pHeader->Checksum ^= pHeader->Inch;
pHeader->Checksum ^= (pHeader->Reserved & 0x0000FFFFL);
pHeader->Checksum ^= ((pHeader->Reserved & 0xFFFF0000L) >> 16);
}
};
class CMetaFileBuffer
{
public:
bool m_bIsValid;
std::wstring m_sExtension;
private:
BYTE* m_pMetaHeader;
BYTE* m_pMetaFile;
LONG m_lMetaHeaderSize;
LONG m_lMetaFileSize;
public:
CMetaFileBuffer()
{
m_bIsValid = false;
m_pMetaHeader = NULL;
m_pMetaFile = NULL;
m_lMetaHeaderSize = 0;
m_lMetaFileSize = 0;
}
~CMetaFileBuffer()
{
RELEASEARRAYOBJECTS(m_pMetaHeader);
RELEASEARRAYOBJECTS(m_pMetaFile);
}
void SetHeader(BYTE* pHeader, LONG lSize)
{
m_pMetaHeader = pHeader;
m_lMetaHeaderSize = lSize;
}
void SetData(BYTE* pCompress, LONG lCompressSize, LONG lUncompressSize, bool bIsCompressed)
{
if (!bIsCompressed)
{
m_pMetaFile = new BYTE[lCompressSize];
m_lMetaFileSize = lCompressSize;
memcpy(m_pMetaFile, pCompress, lCompressSize);
}
else
{
ULONG lSize = lUncompressSize;
m_pMetaFile = new BYTE[lUncompressSize];
HRESULT res = S_OK;
COfficeUtils* pOfficeUtils = new COfficeUtils(NULL);
if (pOfficeUtils)
{
pOfficeUtils->Uncompress( m_pMetaFile, &lSize, pCompress, lCompressSize );
delete pOfficeUtils;
pOfficeUtils = NULL;
m_lMetaFileSize = (LONG)lSize;
}
else
{
RELEASEARRAYOBJECTS(m_pMetaFile);
m_lMetaFileSize = 0;
}
}
}
int ToBuffer(BYTE *& Data)
{
int sz = 0;
if (NULL != m_pMetaHeader) sz += m_lMetaHeaderSize;
if (NULL != m_pMetaFile) sz += m_lMetaFileSize;
Data = new BYTE[sz];
int pos = 0;
if (NULL != m_pMetaHeader)
{
memcpy(Data, (BYTE*)m_pMetaHeader, m_lMetaHeaderSize);
pos += m_lMetaHeaderSize;
}
if (NULL != m_pMetaFile)
{
memcpy(Data + pos, (BYTE*)m_pMetaFile, m_lMetaFileSize);
}
return sz;
}
void ToFile(NSFile::CFileBinary* pFile)
{
if (NULL != m_pMetaHeader)
{
pFile->WriteFile((BYTE*)m_pMetaHeader, m_lMetaHeaderSize);
}
}
};
typedef enum _BlipCompression
{
BlipCompressionDeflate,
BlipCompressionNone = 254,
BlipCompressionTest = 255
} BlipCompression;
class MetafilePictBlip: public Record
{
private:
/// The secondary, or data, UID - should always be set.
unsigned char* m_rgbUid;
/// The primary UID - this defaults to 0, in which case the primary ID is that of the internal data.
/// NOTE!: The primary UID is only saved to disk if (blip_instance ^ blip_signature == 1).
/// Blip_instance is MSOFBH.finst and blip_signature is one of the values defined in MSOBI
unsigned char* m_rgbUidPrimary;
/// Cache of the metafile size
int m_cb;
RECT m_rcBounds;
/// Boundary of metafile drawing commands
POINT m_ptSize;
/// Cache of saved size (size of m_pvBits)
int m_cbSave;
/// Compression
BlipCompression m_fCompression;
/// always msofilterNone
bool m_fFilter;
/// Compressed bits of metafile.
unsigned char* m_pvBits;
public:
CMetaFileBuffer oMetaFile;
static const unsigned short TYPE_CODE_0xF01A = 0xF01A;
static const unsigned short TYPE_CODE_0xF01B = 0xF01B;
static const unsigned short TYPE_CODE_0xF01C = 0xF01C;
MetafilePictBlip():
Record(), m_rgbUid(NULL), m_rgbUidPrimary(NULL), m_cb(0), m_cbSave(0), m_fCompression(BlipCompressionNone), m_fFilter(false),
m_pvBits(NULL)
{
}
MetafilePictBlip( IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance ):
Record( _reader, size, typeCode, version, instance ), m_rgbUid(NULL), m_rgbUidPrimary(NULL), m_cb(0), m_cbSave(0),
m_fCompression(BlipCompressionNone), m_fFilter(false), m_pvBits(NULL)
{
m_rgbUid = Reader->ReadBytes( 16, true );
if ( ( instance == 0x3D5 ) || ( instance == 0x217 ) || ( instance == 0x543 ) )
{
m_rgbUidPrimary = Reader->ReadBytes( 16, true );
}
oMetaFile.m_bIsValid = TRUE;
oMetaFile.m_sExtension = L".emf";
CMetaHeader oMetaHeader;
m_cb = Reader->ReadInt32();
m_rcBounds.left = Reader->ReadInt32();
m_rcBounds.top = Reader->ReadInt32();
m_rcBounds.right = Reader->ReadInt32() + m_rcBounds.left;
m_rcBounds.bottom = Reader->ReadInt32() + m_rcBounds.top;
m_ptSize.x = Reader->ReadInt32();
m_ptSize.y = Reader->ReadInt32();
m_cbSave = Reader->ReadInt32();
m_fCompression = (BlipCompression)Reader->ReadByte();
m_fFilter = ( Reader->ReadByte() == 1 ) ? (true) : (false);
int sz = Reader->GetSize() - Reader->GetPosition();
m_pvBits = Reader->ReadBytes( sz/*m_cbSave*/, true );
oMetaHeader.rcBounds = m_rcBounds;
oMetaHeader.cbSize = m_cb;
oMetaHeader.ptSize = m_ptSize;
oMetaHeader.cbSave = m_cbSave ;
oMetaHeader.compression = m_fCompression;
oMetaHeader.filter = m_fFilter;
if (typeCode == 0xf01b)
{
oMetaFile.m_sExtension = L".wmf";
WmfPlaceableFileHeader oWmfHeader = {};
oMetaHeader.ToWMFHeader(&oWmfHeader);
LONG lLenHeader = 22;
BYTE* pMetaHeader = new BYTE[lLenHeader];
memcpy(pMetaHeader, (void*)(&oWmfHeader), lLenHeader);
oMetaFile.SetHeader(pMetaHeader, lLenHeader);
}
if (typeCode == 0xf01c)
{
oMetaFile.m_sExtension = L".pcz";
//decompress???
}
oMetaFile.SetData(m_pvBits, oMetaHeader.cbSave, oMetaHeader.cbSize, 0 == oMetaHeader.compression);
}
virtual ~MetafilePictBlip()
{
RELEASEARRAYOBJECTS( m_rgbUid );
RELEASEARRAYOBJECTS( m_rgbUidPrimary );
RELEASEARRAYOBJECTS( m_pvBits );
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new MetafilePictBlip( _reader, bodySize, typeCode, version, instance );
}
/// Decompresses the bits of the picture if the picture is decompressed.
/// If the picture is not compressed, it returns original unsigned char array.
unsigned long Decompress( unsigned char **buffer )
{
unsigned long uncomprLen = 0;
if ( m_fCompression == BlipCompressionDeflate )
{
uncomprLen = m_cb;
*buffer = new unsigned char[uncomprLen];
HRESULT res = S_OK;
COfficeUtils* pOfficeUtils = new COfficeUtils(NULL);
if (pOfficeUtils)
{
pOfficeUtils->Uncompress( *buffer, &uncomprLen, m_pvBits, m_cbSave );
delete pOfficeUtils;
pOfficeUtils = NULL;
}
}
else if ( m_fCompression == BlipCompressionNone )
{
uncomprLen = m_cbSave;
*buffer = new unsigned char[uncomprLen];
memcpy( *buffer, m_pvBits , m_cbSave );
}
return uncomprLen;
}
};
}

View File

@ -1,73 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "Record.h"
namespace DocFileFormat
{
class OfficeArtClientTextbox : public Record
{
public:
static const unsigned short TYPE_CODE_0xF00D = 0xF00D;
OfficeArtClientTextbox () : Record(), m_nIndex(0)
{
}
OfficeArtClientTextbox (IBinaryReader* reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : Record(reader, size, typeCode, version, instance), m_nIndex(0)
{
unsigned int number = Reader->ReadUInt16();
m_nIndex = Reader->ReadUInt16();
}
virtual ~OfficeArtClientTextbox()
{
}
virtual Record* NewObject(IBinaryReader* reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance)
{
return new OfficeArtClientTextbox(reader, bodySize, typeCode, version, instance);
}
inline int GetIndex ()
{
return m_nIndex;
}
public:
int m_nIndex;
};
}

View File

@ -1,60 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "RegularContainer.h"
namespace DocFileFormat
{
class OfficeArtFRITContainer: public RegularContainer
{
public:
static const unsigned short TYPE_CODE_0xF118 = 0xF118;
OfficeArtFRITContainer () : RegularContainer()
{
}
OfficeArtFRITContainer (IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance) : RegularContainer (_reader, size, typeCode, version, instance)
{
}
virtual ~OfficeArtFRITContainer()
{
}
virtual Record* NewObject (IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance)
{
return new OfficeArtFRITContainer( _reader, bodySize, typeCode, version, instance );
}
};
}

View File

@ -1,75 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "Record.h"
namespace DocFileFormat
{
Record::~Record()
{
RELEASEARRAYOBJECTS( RawData );
RELEASEOBJECT( Reader );
}
/*========================================================================================================*/
Record::Record():
HeaderSize(0), BodySize(0), RawData(NULL), SiblingIdx(0), TypeCode(0), Version(0), Instance(0), Reader(NULL),
_ParentRecord(NULL)
{
}
/*========================================================================================================*/
Record::Record( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance ):
HeaderSize(Record::HEADER_SIZE_IN_BYTES), BodySize(bodySize), RawData(NULL), SiblingIdx(0), TypeCode(typeCode), Version(version), Instance(instance), Reader(NULL),
_ParentRecord(NULL)
{
HeaderSize = Record::HEADER_SIZE_IN_BYTES;
int real_size = _reader->GetSize() - _reader->GetPosition();
if (real_size < BodySize)
{
BodySize = real_size;
}
RawData = _reader->ReadBytes( BodySize, true );
Reader = new MemoryStream( RawData, BodySize, false );
}
/*========================================================================================================*/
unsigned int Record::GetTotalSize() const
{
return ( HeaderSize + BodySize );
}
}

View File

@ -1,130 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "Record.h"
#include "ShapeTypeFactory.h"
namespace DocFileFormat
{
class Shape: public Record
{
public:
int spid;
bool fGroup;
bool fChild;
bool fPatriarch; // This is the topmost group shape. Exactly one of these per drawing.
bool fDeleted; // The shape has been deleted
bool fOleShape; // The shape is an OLE object
bool fHaveMaster;
bool fFlipH;
bool fFlipV;
bool fConnector;
bool fHaveAnchor;
bool fBackground;
bool fHaveSpt;
ShapeType* shapeType;
public:
static const unsigned short TYPE_CODE_0xF00A = 0xF00A;
Shape():
Record(), spid(0), fGroup(false), fChild(false), fPatriarch(false), fDeleted(false), fOleShape(false),
fHaveMaster(false), fFlipH(false), fFlipV(false), fConnector(false), fHaveAnchor(false), fBackground(false),
fHaveSpt(false), shapeType(NULL)
{
}
virtual ~Shape()
{
RELEASEOBJECT( shapeType );
}
Shape( IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance ):
Record( _reader, size, typeCode, version, instance ), spid(0), fGroup(false), fChild(false), fPatriarch(false), fDeleted(false), fOleShape(false),
fHaveMaster(false), fFlipH(false), fFlipV(false), fConnector(false), fHaveAnchor(false), fBackground(false),
fHaveSpt(false), shapeType(NULL)
{
spid = Reader->ReadInt32();
unsigned int flag = Reader->ReadUInt32();
fGroup = FormatUtils::BitmaskToBool( flag, 0x1 );
fChild = FormatUtils::BitmaskToBool( flag, 0x2 );
fPatriarch = FormatUtils::BitmaskToBool( flag, 0x4 );
fDeleted = FormatUtils::BitmaskToBool( flag, 0x8 );
fOleShape = FormatUtils::BitmaskToBool( flag, 0x10 );
fHaveMaster = FormatUtils::BitmaskToBool( flag, 0x20 );
fFlipH = FormatUtils::BitmaskToBool( flag, 0x40 );
fFlipV = FormatUtils::BitmaskToBool( flag, 0x80 );
fConnector = FormatUtils::BitmaskToBool( flag, 0x100 );
fHaveAnchor = FormatUtils::BitmaskToBool( flag, 0x200 );
fBackground = FormatUtils::BitmaskToBool( flag, 0x400 );
fHaveSpt = FormatUtils::BitmaskToBool( flag, 0x800 );
if (Instance > 0)
shapeType = ShapeTypeFactory::NewShapeType((MSOSPT)Instance);
else if (!fHaveSpt)
{
shapeType = ShapeTypeFactory::NewShapeType(msosptNotPrimitive);
}
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new Shape( _reader, bodySize, typeCode, version, instance );
}
inline int GetShapeID() const
{
return spid;
}
inline ShapeType* GetShapeType() const
{
return shapeType;
}
template<class T> bool is() const
{
bool isResult = false;
if ( shapeType != NULL )
{
isResult = ( typeid(*shapeType) == typeid(T) );
}
return isResult;
}
};
}

View File

@ -1,144 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "RegularContainer.h"
#include "ShapeOptions.h"
#include "Shape.h"
#include "ClientAnchor.h"
namespace DocFileFormat
{
class ShapeContainer: public RegularContainer
{
public:
static const unsigned short TYPE_CODE_0xF004 = 0xF004;
int m_nIndex;
unsigned int m_nShapeType;
bool m_bBackground;
bool m_bOLE;
bool m_bOleInPicture;
bool m_bSkip;
ShapeContainer():
RegularContainer(), m_nIndex(0), m_nShapeType(0), m_bSkip(false), m_bBackground(false), m_bOLE(false), m_bOleInPicture(false)
{
}
ShapeContainer( IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance ) :
m_bSkip(false), m_bBackground(false), m_bOLE(false), m_nIndex(0), m_nShapeType(0), RegularContainer( _reader, size, typeCode, version, instance )
{
for ( size_t i = 0; i < this->Children.size(); ++i )
{
ClientAnchor *clientAnchor = dynamic_cast<ClientAnchor*>( this->Children[i] );
//if ( (clientAnchor) && (clientAnchor->value == 0x80000000))
// m_bSkip = true; //О реорганизации территориальных органов ПФР с 01.11.2018.doc
Shape* sh = dynamic_cast<Shape*>( this->Children[i] );
if (sh)
{
m_bBackground = sh->fBackground;
m_bOLE = sh->fOleShape;
if (sh->shapeType)
{
m_nShapeType = sh->shapeType->GetTypeCode();
}
else
{
for ( size_t j = 0; j < this->Children.size(); ++j)
{
ShapeOptions* sh_options = dynamic_cast<ShapeOptions*>( this->Children[j] );
if (sh_options)
{
if (sh_options->OptionsByID.end() != sh_options->OptionsByID.find(ODRAW::pib))
{
m_nShapeType = msosptPictureFrame;
}
}
}
}
}
}
}
virtual ~ShapeContainer()
{
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return new ShapeContainer( _reader, bodySize, typeCode, version, instance );
}
ODRAW::OfficeArtFOPTEPtr ExtractOption(const ODRAW::ePropertyId & prop) const
{
ODRAW::OfficeArtFOPTEPtr ret;
for ( size_t i = 0; i < this->Children.size(); ++i )
{
ShapeOptions* opt = dynamic_cast<ShapeOptions*>( this->Children[i] );
if ( opt == NULL ) continue;
std::map<ODRAW::ePropertyId, ODRAW::OfficeArtFOPTEPtr>::iterator pFind = opt->OptionsByID.find(prop);
if (pFind != opt->OptionsByID.end())
{
ret = pFind->second;
}
}
return ret;
}
std::vector<ODRAW::OfficeArtFOPTEPtr> ExtractOptions() const
{
std::vector<ODRAW::OfficeArtFOPTEPtr> ret;
//build the list of all option entries of this shape
for ( size_t i = 0; i < this->Children.size(); ++i )
{
ShapeOptions* opt = dynamic_cast<ShapeOptions*>( this->Children[i] );
if ( opt == NULL ) continue;
for ( size_t i = 0; i < opt->Options.size(); i++)
{
ret.push_back( opt->Options[i]);
}
}
return ret;
}
};
}

View File

@ -1,353 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../IVisitable.h"
#include "../../Common/XmlTools.h"
#include <boost/shared_ptr.hpp>
namespace ODRAW
{
class OfficeArtFOPTE;
typedef boost::shared_ptr<OfficeArtFOPTE> OfficeArtFOPTEPtr;
}
namespace DocFileFormat
{
enum MSOSPT
{
msosptNotPrimitive = 0x00000000, // ( - ) A shape that has no preset geometry, and is drawn with custom geometry instead. For example, freeform shapes drawn by users fall into this category.
msosptRectangle = 0x00000001, // A rectangle shape.
msosptRoundRectangle = 0x00000002, // A rectangle shape with rounded corners.
msosptEllipse = 0x00000003, // An ellipse shape.
msosptDiamond = 0x00000004, // A diamond shape.
msosptIsocelesTriangle = 0x00000005, // An isosceles triangle shape.
msosptRightTriangle = 0x00000006, // A right triangle shape.
msosptParallelogram = 0x00000007, // A parallelogram shape.
msosptTrapezoid = 0x00000008, // A trapezoid shape.
msosptHexagon = 0x00000009, // A hexagon shape.
msosptOctagon = 0x0000000A, // An octagon shape.
msosptPlus = 0x0000000B, // A plus shape.
msosptStar = 0x0000000C, // A star shape.
msosptArrow = 0x0000000D, // An arrow shape.
msosptThickArrow = 0x0000000E, // ( - ) This value SHOULD NOT be used.
msosptHomePlate = 0x0000000F, // An irregular pentagon shape.
msosptCube = 0x00000010, // A cube shape.
msosptBalloon = 0x00000011, // ( - ) A speech balloon shape.
msosptSeal = 0x00000012, // ( - ) A seal shape.
msosptArc = 0x00000013, // A curved arc shape.
msosptLine = 0x00000014, // A line shape.
msosptPlaque = 0x00000015, // A plaque shape.
msosptCan = 0x00000016, // A cylinder shape.
msosptDonut = 0x00000017, // A donut shape.
msosptTextSimple = 0x00000018, // A simple text shape. Text SHOULD be drawn on a straight line.
msosptTextOctagon = 0x00000019, // An octagonal text shape. Text SHOULD be drawn within an octagonal boundary.
msosptTextHexagon = 0x0000001A, // A hexagonal text shape. Text SHOULD be drawn within a hexagonal boundary.
msosptTextCurve = 0x0000001B, // A curved text shape. Text SHOULD be drawn on a curved line.
msosptTextWave = 0x0000001C, // A wavy text shape. Text SHOULD be drawn on a wavy line.
msosptTextRing = 0x0000001D, // A ringed text shape. Text SHOULD be drawn within a semicircular arc.
msosptTextOnCurve = 0x0000001E, // A text shape that draws text on a curve. Text SHOULD be drawn on a curved line.
msosptTextOnRing = 0x0000001F, // A text shape that draws text on a ring. Text SHOULD be drawn on a semicircular arc.
msosptStraightConnector1 = 0x00000020, // A straight connector shape.
msosptBentConnector2 = 0x00000021, // A bent connector shape.
msosptBentConnector3 = 0x00000022, // A bent connector shape.
msosptBentConnector4 = 0x00000023, // A bent connector shape.
msosptBentConnector5 = 0x00000024, // A bent connector shape.
msosptCurvedConnector2 = 0x00000025, // A curved connector shape.
msosptCurvedConnector3 = 0x00000026, // A curved connector shape.
msosptCurvedConnector4 = 0x00000027, // A curved connector shape.
msosptCurvedConnector5 = 0x00000028, // A curved connector shape.
msosptCallout1 = 0x00000029, // A callout shape.
msosptCallout2 = 0x0000002A, // A callout shape.
msosptCallout3 = 0x0000002B, // A callout shape.
msosptAccentCallout1 = 0x0000002C, // A callout shape with side accent.
msosptAccentCallout2 = 0x0000002D, // A callout shape with side accent.
msosptAccentCallout3 = 0x0000002E, // A callout shape with side accent.
msosptBorderCallout1 = 0x0000002F, // A callout shape with border.
msosptBorderCallout2 = 0x00000030, // A callout shape with border.
msosptBorderCallout3 = 0x00000031, // A callout shape with border.
msosptAccentBorderCallout1 = 0x00000032, // A callout shape with border and side accent.
msosptAccentBorderCallout2 = 0x00000033, // A callout shape with border and side accent.
msosptAccentBorderCallout3 = 0x00000034, // A callout shape with border and side accent.
msosptRibbon = 0x00000035, // A ribbon shape.
msosptRibbon2 = 0x00000036, // A ribbon shape.
msosptChevron = 0x00000037, // A chevron shape.
msosptPentagon = 0x00000038, // A regular pentagon shape.
msosptNoSmoking = 0x00000039, // A circle-slash shape.
msosptSeal8 = 0x0000003A, // A seal shape with eight points.
msosptSeal16 = 0x0000003B, // A seal shape with sixteen points.
msosptSeal32 = 0x0000003C, // A seal shape with thirty-two points.
msosptWedgeRectCallout = 0x0000003D, // A rectangular callout shape.
msosptWedgeRRectCallout = 0x0000003E, // A rectangular callout shape with rounded corners.
msosptWedgeEllipseCallout = 0x0000003F, // An elliptical callout shape.
msosptWave = 0x00000040, // A wave shape.
msosptFoldedCorner = 0x00000041, // A rectangular shape with a folded corner.
msosptLeftArrow = 0x00000042, // An arrow shape pointing left.
msosptDownArrow = 0x00000043, // An arrow shape pointing down.
msosptUpArrow = 0x00000044, // An arrow shape pointing up.
msosptLeftRightArrow = 0x00000045, // An arrow shape pointing left and right.
msosptUpDownArrow = 0x00000046, // An arrow shape pointing down and up.
msosptIrregularSeal1 = 0x00000047, // An irregular seal shape.
msosptIrregularSeal2 = 0x00000048, // An irregular seal shape.
msosptLightningBolt = 0x00000049, // A lightning bolt shape.
msosptHeart = 0x0000004A, // A heart shape.
msosptPictureFrame = 0x0000004B, // A frame shape.
msosptQuadArrow = 0x0000004C, // A shape with arrows pointing down, left, right, and up.
msosptLeftArrowCallout = 0x0000004D, // A callout shape with an arrow pointing left.
msosptRightArrowCallout = 0x0000004E, // A callout shape with an arrow pointing right.
msosptUpArrowCallout = 0x0000004F, // A callout shape with an arrow pointing up.
msosptDownArrowCallout = 0x00000050, // A callout shape with an arrow pointing down.
msosptLeftRightArrowCallout = 0x00000051, // A callout shape with arrows pointing left and right.
msosptUpDownArrowCallout = 0x00000052, // A callout shape with arrows pointing down and up.
msosptQuadArrowCallout = 0x00000053, // A callout shape with arrows pointing down, left, right, and up.
msosptBevel = 0x00000054, // A beveled rectangle shape.
msosptLeftBracket = 0x00000055, // An opening bracket shape.
msosptRightBracket = 0x00000056, // A closing bracket shape.
msosptLeftBrace = 0x00000057, // An opening brace shape.
msosptRightBrace = 0x00000058, // A closing brace shape.
msosptLeftUpArrow = 0x00000059, // An arrow shape pointing left and up.
msosptBentUpArrow = 0x0000005A, // A bent arrow shape with its base on the left, pointing up.
msosptBentArrow = 0x0000005B, // A curved arrow shape with its base on the bottom, pointing right.
msosptSeal24 = 0x0000005C, // A seal shape with twenty-four points.
msosptStripedRightArrow = 0x0000005D, // A striped arrow shape pointing right.
msosptNotchedRightArrow = 0x0000005E, // A notched arrow shape pointing right.
msosptBlockArc = 0x0000005F, // A semicircular arc shape.
msosptSmileyFace = 0x00000060, // A smiling face shape.
msosptVerticalScroll = 0x00000061, // A scroll shape opened vertically.
msosptHorizontalScroll = 0x00000062, // A scroll shape opened horizontally.
msosptCircularArrow = 0x00000063, // A semicircular arrow shape.
msosptNotchedCircularArrow = 0x00000064, // This value SHOULD NOT be used.
msosptUturnArrow = 0x00000065, // A semicircular arrow shape with a straight tail.
msosptCurvedRightArrow = 0x00000066, // An arrow shape that curves to the right.
msosptCurvedLeftArrow = 0x00000067, // An arrow shape that curves to the left.
msosptCurvedUpArrow = 0x00000068, // An arrow shape that curves upward.
msosptCurvedDownArrow = 0x00000069, // An arrow shape that curves downward.
msosptCloudCallout = 0x0000006A, // A cloud-shaped callout.
msosptEllipseRibbon = 0x0000006B, // An elliptical ribbon shape.
msosptEllipseRibbon2 = 0x0000006C, // An elliptical ribbon shape.
msosptFlowChartProcess = 0x0000006D, // A process shape for flowcharts.
msosptFlowChartDecision = 0x0000006E, // A decision shape for flowcharts.
msosptFlowChartInputOutput = 0x0000006F, // An input-output shape for flowcharts.
msosptFlowChartPredefinedProcess = 0x00000070, // A predefined process shape for flowcharts.
msosptFlowChartInternalStorage = 0x00000071, // An internal storage shape for flowcharts.
msosptFlowChartDocument = 0x00000072, // A document shape for flowcharts.
msosptFlowChartMultidocument = 0x00000073, // A multidocument shape for flowcharts.
msosptFlowChartTerminator = 0x00000074, // A terminator shape for flowcharts.
msosptFlowChartPreparation = 0x00000075, // A preparation shape for flowcharts.
msosptFlowChartManualInput = 0x00000076, // A manual input shape for flowcharts.
msosptFlowChartManualOperation = 0x00000077, // A manual operation shape for flowcharts.
msosptFlowChartConnector = 0x00000078, // A connector shape for flowcharts.
msosptFlowChartPunchedCard = 0x00000079, // A punched card shape for flowcharts.
msosptFlowChartPunchedTape = 0x0000007A, // A punched tape shape for flowcharts.
msosptFlowChartSummingJunction = 0x0000007B, // A summing junction shape for flowcharts.
msosptFlowChartOr = 0x0000007C, // An OR shape for flowcharts.
msosptFlowChartCollate = 0x0000007D, // A collation shape for flowcharts.
msosptFlowChartSort = 0x0000007E, // A sorting shape for flowcharts.
msosptFlowChartExtract = 0x0000007F, // An extraction shape for flowcharts.
msosptFlowChartMerge = 0x00000080, // A merging shape for flowcharts.
msosptFlowChartOfflineStorage = 0x00000081, // An offline storage shape for flowcharts.
msosptFlowChartOnlineStorage = 0x00000082, // An online storage shape for flowcharts.
msosptFlowChartMagneticTape = 0x00000083, // A magnetic tape shape for flowcharts.
msosptFlowChartMagneticDisk = 0x00000084, // A magnetic disk shape for flowcharts.
msosptFlowChartMagneticDrum = 0x00000085, // A magnetic drum shape for flowcharts.
msosptFlowChartDisplay = 0x00000086, // A display shape for flowcharts.
msosptFlowChartDelay = 0x00000087, // A delay shape for flowcharts.
msosptTextPlainText = 0x00000088, // A plain text shape.
msosptTextStop = 0x00000089, // An octagonal text shape.
msosptTextTriangle = 0x0000008A, // A triangular text shape pointing upwards.
msosptTextTriangleInverted = 0x0000008B, // A triangular text shape pointing downwards.
msosptTextChevron = 0x0000008C, // A chevron text shape pointing upwards.
msosptTextChevronInverted = 0x0000008D, // A chevron text shape pointing downwards.
msosptTextRingInside = 0x0000008E, // A circular text shape, as if reading an inscription on the inside of a ring.
msosptTextRingOutside = 0x0000008F, // A circular text shape, as if reading an inscription on the outside of a ring.
msosptTextArchUpCurve = 0x00000090, // An upward arching curved text shape.
msosptTextArchDownCurve = 0x00000091, // A downward arching curved text shape.
msosptTextCircleCurve = 0x00000092, // A circular text shape.
msosptTextButtonCurve = 0x00000093, // A text shape that resembles a button.
msosptTextArchUpPour = 0x00000094, // An upward arching text shape.
msosptTextArchDownPour = 0x00000095, // A downward arching text shape.
msosptTextCirclePour = 0x00000096, // A circular text shape.
msosptTextButtonPour = 0x00000097, // A text shape that resembles a button.
msosptTextCurveUp = 0x00000098, // An upward curving text shape.
msosptTextCurveDown = 0x00000099, // A downward curving text shape.
msosptTextCascadeUp = 0x0000009A, // A cascading text shape pointed upwards.
msosptTextCascadeDown = 0x0000009B, // A cascading text shape pointed downwards.
msosptTextWave1 = 0x0000009C, // A wavy text shape.
msosptTextWave2 = 0x0000009D, // A wavy text shape.
msosptTextWave3 = 0x0000009E, // A wavy text shape.
msosptTextWave4 = 0x0000009F, // A wavy text shape.
msosptTextInflate = 0x000000A0, // A text shape that expands vertically in the middle.
msosptTextDeflate = 0x000000A1, // A text shape that shrinks vertically in the middle.
msosptTextInflateBottom = 0x000000A2, // A text shape that expands downward in the middle.
msosptTextDeflateBottom = 0x000000A3, // A text shape that shrinks upwards in the middle.
msosptTextInflateTop = 0x000000A4, // A text shape that expands upward in the middle.
msosptTextDeflateTop = 0x000000A5, // A text shape that shrinks downward in the middle.
msosptTextDeflateInflate = 0x000000A6, // A text shape where lower lines expand upward. Upper lines shrink to compensate.
msosptTextDeflateInflateDeflate = 0x000000A7, // A text shape where lines in the center expand vertically. Upper and lower lines shrink to compensate.
msosptTextFadeRight = 0x000000A8, // A text shape that shrinks vertically on the right side.
msosptTextFadeLeft = 0x000000A9, // A text shape that shrinks vertically on the left side.
msosptTextFadeUp = 0x000000AA, // A text shape that shrinks horizontally on top.
msosptTextFadeDown = 0x000000AB, // A text shape that shrinks horizontally on bottom.
msosptTextSlantUp = 0x000000AC, // An upward slanted text shape.
msosptTextSlantDown = 0x000000AD, // A downward slanted text shape.
msosptTextCanUp = 0x000000AE, // A text shape that is curved upwards as if being read on the side of a can.
msosptTextCanDown = 0x000000AF, // A text shape that is curved downwards as if being read on the side of a can.
msosptFlowChartAlternateProcess = 0x000000B0, // An alternate process shape for flowcharts.
msosptFlowChartOffpageConnector = 0x000000B1, // An off page connector shape for flowcharts.
msosptCallout90 = 0x000000B2, // A callout shape.
msosptAccentCallout90 = 0x000000B3, // A callout shape.
msosptBorderCallout90 = 0x000000B4, // A callout shape with border.
msosptAccentBorderCallout90 = 0x000000B5, // A callout shape with border.
msosptLeftRightUpArrow = 0x000000B6, // A shape with arrows pointing left, right, and up.
msosptSun = 0x000000B7, // A sun shape.
msosptMoon = 0x000000B8, // A moon shape.
msosptBracketPair = 0x000000B9, // A shape enclosed in brackets.
msosptBracePair = 0x000000BA, // A shape enclosed in braces.
msosptSeal4 = 0x000000BB, // A seal shape with four points.
msosptDoubleWave = 0x000000BC, // A double wave shape.
msosptActionButtonBlank = 0x000000BD, // A blank button shape.
msosptActionButtonHome = 0x000000BE, // A home button shape.
msosptActionButtonHelp = 0x000000BF, // A help button shape.
msosptActionButtonInformation = 0x000000C0, // An information button shape.
msosptActionButtonForwardNext = 0x000000C1, // A forward or next button shape.
msosptActionButtonBackPrevious = 0x000000C2, // A back or previous button shape.
msosptActionButtonEnd = 0x000000C3, // An end button shape.
msosptActionButtonBeginning = 0x000000C4, // A beginning button shape.
msosptActionButtonReturn = 0x000000C5, // A return button shape.
msosptActionButtonDocument = 0x000000C6, // A document button shape.
msosptActionButtonSound = 0x000000C7, // A sound button shape.
msosptActionButtonMovie = 0x000000C8, // A movie button shape.
msosptHostControl = 0x000000C9, // This value SHOULD NOT be used.
msosptTextBox = 0x000000CA // A text box shape.
};
typedef enum _JoinStyle
{
miter,
round,
bevel
} JoinStyle;
static const wchar_t JoinStyleMap[3][6] =
{
L"miter" ,
L"round" ,
L"bevel"
};
class Handle
{
public:
Handle()
{
}
Handle(std::wstring pos, std::wstring xRange)
{
position = pos;
xrange = xRange;
}
std::wstring position;
std::wstring xrange;
std::wstring switchHandle;
std::wstring yrange;
std::wstring polar;
std::wstring radiusrange;
};
class ShapeType: public IVisitable
{
public:
ShapeType (unsigned int typeCode) : Filled(true), Stroked(true), TypeCode(typeCode), Joins(miter), ShapeConcentricFill(false)
{
}
virtual ~ShapeType()
{
}
unsigned int GetTypeCode() const
{
return TypeCode;
}
/// This string describes a sequence of commands that define the shapes path.
/// This string describes both the pSegmentInfo array and pVertices array in the shapes geometry properties.
std::wstring Path;
/// This specifies a list of formulas whose calculated values are referenced by other properties.
/// Each formula is listed on a separate line. Formulas are ordered, with the first formula having index 0.
/// This section can be omitted if the shape doesnt need any guides.
std::list<std::wstring> Formulas;
/// Specifies a comma-delimited list of parameters, or adjustment values,
/// used to define values for a parameterized formula.
/// These values represent the location of an adjust handle and may be
/// referenced by the geometry of an adjust handle or as a parameter guide function.
std::wstring AdjustmentValues;
/// These values specify the location of connection points on the shapes path.
/// The connection points are defined by a string consisting of pairs of x and y values, delimited by commas.
std::wstring ConnectorLocations;
/// This section specifies the properties of each adjust handle on the shape.
/// One adjust handle is specified per line.
/// The properties for each handle correspond to values of the ADJH structure
/// contained in the pAdjustHandles array in the shapes geometry properties.
std::list<Handle> Handles;
/// Specifies one or more text boxes inscribed inside the shape.
/// A textbox is defined by one or more sets of numbers specifying (in order) the left, top, right, and bottom points of the rectangle.
/// Multiple sets are delimited by a semicolon.
/// If omitted, the text box is the same as the geometrys bounding box.
std::wstring TextBoxRectangle;
bool ShapeConcentricFill;
/// Specifies what join style the shape has.
/// Since there is no UI for changing the join style,
/// all shapes of this type will always have the specified join style.
JoinStyle Joins;
/// Specifies the (x,y) coordinates of the limo stretch point.
/// Some shapes that have portions that should be constrained to a fixed aspect ratio, are designed with limo-stretch to keep those portions at the fixed aspect ratio.
std::wstring Limo;
/// Associated with each connection site, there is a direction which specifies at what angle elbow and curved connectors should attach to it
std::wstring ConnectorAngles;
/// Specifies if a shape of this type is filled by default
bool Filled;
/// Specifies if a shape of this type is stroked by default
bool Stroked;
/// Speicfies the locked properties of teh shape.
/// By default nothing is locked.
ODRAW::OfficeArtFOPTEPtr Lock;
///
std::wstring Textpath;
protected:
unsigned int TypeCode;
};
}

View File

@ -1,69 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class BevelType : public ShapeType
{
public:
BevelType () : ShapeType(msosptBevel)
{
ShapeConcentricFill = true;
Joins = miter;
Path = (L"m,l,21600r21600,l21600,xem@0@0nfl@0@2@1@2@1@0xem,nfl@0@0em,21600nfl@0@2em21600,21600nfl@1@2em21600,nfl@1@0e");
Formulas.push_back((L"val #0"));
Formulas.push_back((L"sum width 0 #0"));
Formulas.push_back((L"sum height 0 #0"));
Formulas.push_back((L"prod width 1 2"));
Formulas.push_back((L"prod height 1 2"));
Formulas.push_back((L"prod #0 1 2"));
Formulas.push_back((L"prod #0 3 2"));
Formulas.push_back((L"sum @1 @5 0"));
Formulas.push_back((L"sum @2 @5 0"));
AdjustmentValues = (L"2700");
ConnectorLocations = (L"0,@4;@0,@4;@3,21600;@3,@2;21600,@4;@1,@4;@3,0;@3,@0");
TextBoxRectangle = (L"@0,@0,@1,@2");
Handle one;
one.position = (L"#0,topLeft");
one.xrange = (L"0,10800");
Handles.push_back (one);
Limo = (L"10800,10800");
}
};
}

View File

@ -1,102 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class BlockArcType : public ShapeType
{
public:
BlockArcType () : ShapeType(msosptBlockArc)
{
ShapeConcentricFill = false;
Joins = miter;
Path = (L"al10800,10800@0@0@2@14,10800,10800,10800,10800@3@15xe");
Formulas.push_back((L"val #1"));
Formulas.push_back((L"val #0"));
Formulas.push_back((L"sum 0 0 #0"));
Formulas.push_back((L"sumangle #0 0 180"));
Formulas.push_back((L"sumangle #0 0 90"));
Formulas.push_back((L"prod @4 2 1"));
Formulas.push_back((L"sumangle #0 90 0"));
Formulas.push_back((L"prod @6 2 1"));
Formulas.push_back((L"abs #0"));
Formulas.push_back((L"sumangle @8 0 90"));
Formulas.push_back((L"if @9 @7 @5"));
Formulas.push_back((L"sumangle @10 0 360"));
Formulas.push_back((L"if @10 @11 @10"));
Formulas.push_back((L"sumangle @12 0 360"));
Formulas.push_back((L"if @12 @13 @12"));
Formulas.push_back((L"sum 0 0 @14"));
Formulas.push_back((L"val 10800"));
Formulas.push_back((L"sum 10800 0 #1"));
Formulas.push_back((L"prod #1 1 2"));
Formulas.push_back((L"sum @18 5400 0"));
Formulas.push_back((L"cos @19 #0"));
Formulas.push_back((L"sin @19 #0"));
Formulas.push_back((L"sum @20 10800 0"));
Formulas.push_back((L"sum @21 10800 0"));
Formulas.push_back((L"sum 10800 0 @20"));
Formulas.push_back((L"sum #1 10800 0"));
Formulas.push_back((L"if @9 @17 @25"));
Formulas.push_back((L"if @9 0 21600"));
Formulas.push_back((L"cos 10800 #0"));
Formulas.push_back((L"sin 10800 #0"));
Formulas.push_back((L"sin #1 #0"));
Formulas.push_back((L"sum @28 10800 0"));
Formulas.push_back((L"sum @29 10800 0"));
Formulas.push_back((L"sum @30 10800 0"));
Formulas.push_back((L"if @4 0 @31"));
Formulas.push_back((L"if #0 @34 0"));
Formulas.push_back((L"if @6 @35 @31"));
Formulas.push_back((L"sum 21600 0 @36"));
Formulas.push_back((L"if @4 0 @33"));
Formulas.push_back((L"if #0 @38 @32"));
Formulas.push_back((L"if @6 @39 0"));
Formulas.push_back((L"if @4 @32 21600"));
Formulas.push_back((L"if @6 @41 @33"));
AdjustmentValues = (L"11796480,5400");
ConnectorLocations = (L"10800,@27;@22,@23;10800,@26;@24,@23");
TextBoxRectangle = (L"@36,@40,@37,@42");
Handle one;
one.position = (L"#1,#0");
one.polar = (L"10800,10800");
one.radiusrange = (L"0,10800");
Handles.push_back (one);
}
};
}

View File

@ -1,72 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class CanType: public ShapeType
{
public:
CanType():
ShapeType(msosptCan)
{
this->ShapeConcentricFill = true;
this->Joins = round;
this->Path = L"m10800,qx0@1l0@2qy10800,21600,21600@2l21600@1qy10800,xem0@1qy10800@0,21600@1nfe";
this->Formulas.push_back( L"val #0" );
this->Formulas.push_back( L"prod #0 1 2" );
this->Formulas.push_back( L"sum height 0 @1" );
this->AdjustmentValues = L"5400";
this->ConnectorLocations = L"10800,@0;10800,0;0,10800;10800,21600;21600,10800";
this->ConnectorAngles = L"270,270,180,90,0";
this->TextBoxRectangle = L"0,@0,21600,@2";
Handle HandleOne;
HandleOne.position = L"center,#0";
HandleOne.yrange = L"0,10800";
this->Handles.push_back( HandleOne );
}
virtual ~CanType()
{
}
};
}

View File

@ -1,79 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class CubeType: public ShapeType
{
public:
CubeType():
ShapeType(msosptCube)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m@0,l0@0,,21600@1,21600,21600@2,21600,xem0@0nfl@1@0,21600,em@1@0nfl@1,21600e";
this->Formulas.push_back( L"val #0");
this->Formulas.push_back( L"sum width 0 #0");
this->Formulas.push_back( L"sum height 0 #0");
this->Formulas.push_back( L"mid height #0");
this->Formulas.push_back( L"prod @1 1 2");
this->Formulas.push_back( L"prod @2 1 2");
this->Formulas.push_back( L"mid width #0");
this->AdjustmentValues = L"5400";
this->ConnectorLocations = L"@6,0;@4,@0;0,@3;@4,21600;@1,@3;21600,@5";
this->ConnectorAngles = L"270,270,180,90,0,0";
this->TextBoxRectangle = L"0,@0,@1,21600";
Handle HandleOne;
HandleOne.position = L"topLeft,#0";
HandleOne.switchHandle = L"true";
HandleOne.yrange = L"0,21600";
this->Handles.push_back( HandleOne );
this->Limo = L"10800,10800";
}
virtual ~CubeType()
{
}
};
}

View File

@ -1,59 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class DiamondType: public ShapeType
{
public:
DiamondType():
ShapeType(msosptDiamond)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m10800,l,10800,10800,21600,21600,10800xe";
this->ConnectorLocations = L"Rectangle";
this->TextBoxRectangle = L"5400,5400,16200,16200";
}
virtual ~DiamondType()
{
}
};
}

View File

@ -1,64 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class DonutType: public ShapeType
{
public:
DonutType() : ShapeType(msosptDonut)
{
ShapeConcentricFill = false;
Joins = round;
Path = L"m,10800qy10800,,21600,10800,10800,21600,,10800xm@0,10800qy10800@2@1,10800,10800@0@0,10800xe";
Formulas.push_back(L"val #0" ) ;
Formulas.push_back(L"sum width 0 #0" ) ;
Formulas.push_back(L"sum height 0 #0" );
Formulas.push_back(L"prod @0 2929 10000" );
Formulas.push_back(L"sum width 0 @3" ) ;
Formulas.push_back(L"sum height 0 @3" );
AdjustmentValues = L"5400";
ConnectorLocations = L"10800,0;3163,3163;0,10800;3163,18437;10800,21600;18437,18437;21600,10800;18437,3163";
TextBoxRectangle = L"3163,3163,18437,18437";
Handle HandleOne;
HandleOne.position = L"#0,center";
HandleOne.xrange = L"0,10800";
Handles.push_back(HandleOne);
}
};
}

View File

@ -1,53 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class HeartType : public ShapeType
{
public:
HeartType () : ShapeType(msosptHeart)
{
ShapeConcentricFill = true;
Joins = miter;
Path = (L"m10860,2187c10451,1746,9529,1018,9015,730,7865,152,6685,,5415,,4175,152,2995,575,1967,1305,1150,2187,575,3222,242,4220,,5410,242,6560,575,7597l10860,21600,20995,7597v485,-1037,605,-2187,485,-3377c21115,3222,20420,2187,19632,1305,18575,575,17425,152,16275,,15005,,13735,152,12705,730v-529,288,-1451,1016,-1845,1457xe" );
AdjustmentValues = (L"21600" );
ConnectorLocations = (L"10860,2187;2928,10800;10860,21600;18672,10800" );
ConnectorAngles = (L"270,180,90,0" );
TextBoxRectangle = (L"5037,2277,16557,13677" );
}
};
}

View File

@ -1,73 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class HexagonType: public ShapeType
{
public:
HexagonType():
ShapeType(msosptHexagon)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m@0,l,10800@0,21600@1,21600,21600,10800@1,xe";
this->Formulas.push_back( L"val #0");
this->Formulas.push_back( L"sum width 0 #0");
this->Formulas.push_back( L"sum height 0 #0");
this->Formulas.push_back( L"prod @0 2929 10000");
this->Formulas.push_back( L"sum width 0 @3");
this->Formulas.push_back( L"sum height 0 @3");
this->AdjustmentValues = L"5400";
this->ConnectorLocations = L"Rectangle";
this->TextBoxRectangle = L"1800,1800,19800,19800;3600,3600,18000,18000;6300,6300,15300,15300";
Handle HandleOne;
HandleOne.position = L"#0,topLeft";
HandleOne.xrange = L"0,10800";
Handles.push_back( HandleOne );
}
virtual ~HexagonType()
{
}
};
}

View File

@ -1,69 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class IsoscelesTriangleType: public ShapeType
{
public:
IsoscelesTriangleType():
ShapeType(msosptIsocelesTriangle)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m@0,l,21600r21600,xe" ;
this->Formulas.push_back( L"val #0" );
this->Formulas.push_back( L"prod #0 1 2" );
this->Formulas.push_back( L"sum @1 10800 0");
this->AdjustmentValues = L"10800" ;
this->ConnectorLocations = L"@0,0;@1,10800;0,21600;10800,21600;21600,21600;@2,10800";
this->TextBoxRectangle = L"0,10800,10800,18000;5400,10800,16200,18000;10800,10800,21600,18000;0,7200,7200,21600;7200,7200,14400,21600;14400,7200,21600,21600";
Handle HandleOne;
HandleOne.position = L"#0,topLeft";
HandleOne.xrange = L"0,21600";
this->Handles.push_back( HandleOne );
}
virtual ~IsoscelesTriangleType()
{
}
};
}

View File

@ -1,53 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class LightningBoltType : public ShapeType
{
public:
LightningBoltType () : ShapeType(msosptLightningBolt)
{
ShapeConcentricFill = true;
Joins = miter;
Path = L"m8472,l,3890,7602,8382,5022,9705r7200,4192l10012,14915r11588,6685l14767,12877r1810,-870l11050,6797r1810,-717xe";
//AdjustmentValues = L"2700" );
ConnectorLocations = L"8472,0;0,3890;5022,9705;10012,14915;21600,21600;16577,12007;12860,6080";
ConnectorAngles = L"270,270,180,180,90,0,0";
TextBoxRectangle = L"8757,7437,13917,14277";
}
};
}

View File

@ -1,50 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class LineType: public ShapeType
{
public:
LineType():
ShapeType(msosptLine)
{
}
virtual ~LineType()
{
}
};
}

View File

@ -1,76 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class MoonType : public ShapeType
{
public:
MoonType () : ShapeType(msosptMoon)
{
ShapeConcentricFill = true;
Joins = miter;
Path = (L"m21600,qx,10800,21600,21600wa@0@10@6@11,21600,21600,21600,xe");
Formulas.push_back((L"val #0"));
Formulas.push_back((L"sum 21600 0 #0"));
Formulas.push_back((L"prod #0 #0 @1"));
Formulas.push_back((L"prod 21600 21600 @1"));
Formulas.push_back((L"prod @3 2 1"));
Formulas.push_back((L"sum @4 0 @2"));
Formulas.push_back((L"sum @5 0 #0"));
Formulas.push_back((L"prod @5 1 2"));
Formulas.push_back((L"sum @7 0 #0"));
Formulas.push_back((L"prod @8 1 2"));
Formulas.push_back((L"sum 10800 0 @9"));
Formulas.push_back((L"sum @9 10800 0"));
Formulas.push_back((L"prod #0 9598 32768"));
Formulas.push_back((L"sum 21600 0 @12"));
Formulas.push_back((L"ellipse @13 21600 10800"));
Formulas.push_back((L"sum 10800 0 @14"));
Formulas.push_back((L"sum @14 10800 0"));
AdjustmentValues = (L"10800");
ConnectorLocations = (L"21600,0;0,10800;21600,21600;@0,10800");
ConnectorAngles = (L"270,180,90,0");
TextBoxRectangle = (L"@12,@15,@0,@16");
Handle one;
one.position = (L"#0,center");
one.xrange = (L"0,18900");
Handles.push_back (one);
}
};
}

View File

@ -1,75 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class NoSmokingType : public ShapeType
{
public:
NoSmokingType () : ShapeType(msosptNoSmoking)
{
ShapeConcentricFill = true;
Joins = miter;
Path = (L"m,10800qy10800,,21600,10800,10800,21600,,10800xar@0@0@16@16@12@14@15@13xar@0@0@16@16@13@15@14@12xe");
Formulas.push_back((L"val #0" ));
Formulas.push_back((L"prod @0 2 1" ));
Formulas.push_back((L"sum 21600 0 @1" ));
Formulas.push_back((L"prod @2 @2 1" ));
Formulas.push_back((L"prod @0 @0 1" ));
Formulas.push_back((L"sum @3 0 @4" ));
Formulas.push_back((L"prod @5 1 8" ));
Formulas.push_back((L"sqrt @6" ));
Formulas.push_back((L"prod @4 1 8" ));
Formulas.push_back((L"sqrt @8" ));
Formulas.push_back((L"sum @7 @9 0" ));
Formulas.push_back((L"sum @7 0 @9" ));
Formulas.push_back((L"sum @10 10800 0" ));
Formulas.push_back((L"sum 10800 0 @10" ));
Formulas.push_back((L"sum @11 10800 0" ));
Formulas.push_back((L"sum 10800 0 @11" ));
Formulas.push_back((L"sum 21600 0 @0" ));
AdjustmentValues = (L"2700" );
ConnectorLocations = (L"10800,0;3163,3163;0,10800;3163,18437;10800,21600;18437,18437;21600,10800;18437,3163" );
TextBoxRectangle = (L"3163,3163,18437,18437" );
Handle one;
one.position = L"#0,center";
one.xrange = L"0,7200";
Handles.push_back (one);
}
};
}

View File

@ -1,80 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class OctagonType: public ShapeType
{
public:
OctagonType():
ShapeType(msosptOctagon)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m@0,l0@0,0@2@0,21600@1,21600,21600@2,21600@0@1,xe";
this->Formulas.push_back( L"val #0");
this->Formulas.push_back( L"sum width 0 #0");
this->Formulas.push_back( L"sum height 0 #0");
this->Formulas.push_back( L"prod @0 2929 10000");
this->Formulas.push_back( L"sum width 0 @3");
this->Formulas.push_back( L"sum height 0 @3");
this->Formulas.push_back( L"val width");
this->Formulas.push_back( L"val height");
this->Formulas.push_back( L"prod width 1 2");
this->Formulas.push_back( L"prod height 1 2");
this->AdjustmentValues = L"6326";
this->ConnectorLocations = L"@8,0;0,@9;@8,@7;@6,@9";
this->TextBoxRectangle = L"0,0,21600,21600;2700,2700,18900,18900;5400,5400,16200,16200";
Handle HandleOne;
HandleOne.position = L"#0,topLeft";
HandleOne.switchHandle = L"true";
HandleOne.xrange = L"0,10800";
this->Handles.push_back( HandleOne );
this->Limo = L"10800,10800";
}
virtual ~OctagonType()
{
}
};
}

View File

@ -1,80 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class ParallelogramType: public ShapeType
{
public:
ParallelogramType():
ShapeType(msosptParallelogram)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m@0,l,21600@1,21600,21600,xe";
this->Formulas.push_back( L"val #0");
this->Formulas.push_back( L"sum width 0 #0");
this->Formulas.push_back( L"prod #0 1 2");
this->Formulas.push_back( L"sum width 0 @2");
this->Formulas.push_back( L"mid #0 width");
this->Formulas.push_back( L"mid @1 0");
this->Formulas.push_back( L"prod height width #0");
this->Formulas.push_back( L"prod @6 1 2");
this->Formulas.push_back( L"sum height 0 @7");
this->Formulas.push_back( L"prod width 1 2");
this->Formulas.push_back( L"sum #0 0 @9");
this->Formulas.push_back( L"if @10 @8 0");
this->Formulas.push_back( L"if @10 @7 height");
this->AdjustmentValues = L"5400";
this->ConnectorLocations = L"@4,0;10800,@11;@3,10800;@5,21600;10800,@12;@2,10800";
this->TextBoxRectangle = L"1800,1800,19800,19800;8100,8100,13500,13500;10800,10800,10800,10800";
Handle HandleOne;
HandleOne.position = L"#0,topLeft";
HandleOne.xrange = L"0,21600";
this->Handles.push_back( HandleOne );
}
virtual ~ParallelogramType()
{
}
};
}

View File

@ -1,56 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class PentagonType : public ShapeType
{
public:
PentagonType () : ShapeType(msosptPentagon)
{
ShapeConcentricFill = true;
Joins = miter;
Path = L"m10800,l,8259,4200,21600r13200,l21600,8259xe";
ConnectorLocations = L"10800,0;0,8259;4200,21600;10800,21600;17400,21600;21600,8259";
ConnectorAngles = L"270,180,90,90,90,0" ;
TextBoxRectangle = L"4200,5077,17400,21600";
}
virtual ~PentagonType()
{
}
};
}

View File

@ -1,75 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class PlaqueType: public ShapeType
{
public:
PlaqueType():
ShapeType(msosptPlaque)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m@0,qy0@0l0@2qx@0,21600l@1,21600qy21600@2l21600@0qx@1,xe";
this->Formulas.push_back( L"val #0");
this->Formulas.push_back( L"sum width 0 #0");
this->Formulas.push_back( L"sum height 0 #0");
this->Formulas.push_back( L"prod @0 7071 10000");
this->Formulas.push_back( L"sum width 0 @3");
this->Formulas.push_back( L"sum height 0 @3");
this->Formulas.push_back( L"val width");
this->Formulas.push_back( L"val height");
this->Formulas.push_back( L"prod width 1 2");
this->Formulas.push_back( L"prod height 1 2");
this->AdjustmentValues = L"3600";
this->ConnectorLocations = L"@8,0;0,@9;@8,@7;@6,@9";
this->TextBoxRectangle = L"@3,@3,@4,@5";
Handle HandleOne;
HandleOne.position = L"#0,topLeft";
HandleOne.switchHandle = L"true";
HandleOne.xrange = L"0,10800";
this->Handles.push_back( HandleOne );
this->Limo = L"10800,10800";
}
virtual ~PlaqueType()
{
}
};
}

View File

@ -1,80 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class PlusType: public ShapeType
{
public:
PlusType():
ShapeType(msosptPlus)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m@0,l@0@0,0@0,0@2@0@2@0,21600@1,21600@1@2,21600@2,21600@0@1@0@1,xe";
this->Formulas.push_back( L"val #0" );
this->Formulas.push_back( L"sum width 0 #0" );
this->Formulas.push_back( L"sum height 0 #0" );
this->Formulas.push_back( L"prod @0 2929 10000" );
this->Formulas.push_back( L"sum width 0 @3" );
this->Formulas.push_back( L"sum height 0 @3" );
this->Formulas.push_back( L"val width" );
this->Formulas.push_back( L"val height" );
this->Formulas.push_back( L"prod width 1 2" );
this->Formulas.push_back( L"prod height 1 2" );
this->AdjustmentValues = L"5400";
this->ConnectorLocations = L"@8,0;0,@9;@8,@7;@6,@9";
this->TextBoxRectangle = L"0,0,21600,21600;5400,5400,16200,16200;10800,10800,10800,10800";
Handle HandleOne;
HandleOne.position = L"#0,topLeft";
HandleOne.switchHandle = L"true";
HandleOne.xrange = L"0,10800";
this->Handles.push_back( HandleOne );
this->Limo = L"10800,10800";
}
virtual ~PlusType()
{
}
};
}

View File

@ -1,55 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class RectangleType: public ShapeType
{
public:
RectangleType():
ShapeType(msosptRectangle)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m,l,21600r21600,l21600,xe";
}
virtual ~RectangleType()
{
}
};
}

View File

@ -1,59 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class RightTriangleType: public ShapeType
{
public:
RightTriangleType():
ShapeType(msosptRightTriangle)
{
this->ShapeConcentricFill = true;
this->Joins = miter;
this->Path = L"m,l,21600r21600,xe";
this->ConnectorLocations = L"0,0;0,10800;0,21600;10800,21600;21600,21600;10800,10800";
this->TextBoxRectangle = L"1800,12600,12600,19800";
}
virtual ~RightTriangleType()
{
}
};
}

View File

@ -1,53 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "RectangleType.h"
namespace DocFileFormat
{
class RoundedRectangleType: public RectangleType
{
public:
RoundedRectangleType() : RectangleType()
{
TypeCode = msosptRoundRectangle;
Joins = round;
AdjustmentValues = L"5400";
}
virtual ~RoundedRectangleType()
{
}
};
}

View File

@ -1,62 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class SmileyFaceType : public ShapeType
{
public:
SmileyFaceType () : ShapeType(msosptSmileyFace)
{
ShapeConcentricFill = true;
Joins = miter;
Path = L"m10800,qx,10800,10800,21600,21600,10800,10800,xem7340,6445qx6215,7570,7340,8695,8465,7570,7340,6445xnfem14260,6445qx13135,7570,14260,8695,15385,7570,14260,6445xnfem4960@0c8853@3,12747@3,16640@0nfe";
Formulas.push_back(L"sum 33030 0 #0" );
Formulas.push_back(L"prod #0 4 3" );
Formulas.push_back(L"prod @0 1 3" );
Formulas.push_back(L"sum @1 0 @2" );
AdjustmentValues = L"17520";
ConnectorLocations = L"10800,0;3163,3163;0,10800;3163,18437;10800,21600;18437,18437;21600,10800;18437,3163" ;
TextBoxRectangle = L"3163,3163,18437,18437" ;
Handle one;
one.position = L"center,#0";
one.xrange = L"15510,17520";
Handles.push_back (one);
}
};
}

View File

@ -1,79 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class SunType : public ShapeType
{
public:
SunType () : ShapeType(msosptSun)
{
ShapeConcentricFill = true;
Joins = miter;
Path = L"m21600,10800l@15@14@15@18xem18436,3163l@17@12@16@13xem10800,l@14@10@18@10xem3163,3163l@12@13@13@12xem,10800l@10@18@10@14xem3163,18436l@13@16@12@17xem10800,21600l@18@15@14@15xem18436,18436l@16@17@17@16xem10800@19qx@19,10800,10800@20@20,10800,10800@19xe";
Formulas.push_back(L"sum 10800 0 #0");
Formulas.push_back(L"prod @0 30274 32768");
Formulas.push_back(L"prod @0 12540 32768");
Formulas.push_back(L"sum @1 10800 0");
Formulas.push_back(L"sum @2 10800 0");
Formulas.push_back(L"sum 10800 0 @1");
Formulas.push_back(L"sum 10800 0 @2");
Formulas.push_back(L"prod @0 23170 32768");
Formulas.push_back(L"sum @7 10800 0");
Formulas.push_back(L"sum 10800 0 @7");
Formulas.push_back(L"prod @5 3 4");
Formulas.push_back(L"prod @6 3 4");
Formulas.push_back(L"sum @10 791 0");
Formulas.push_back(L"sum @11 791 0");
Formulas.push_back(L"sum @11 2700 0");
Formulas.push_back(L"sum 21600 0 @10");
Formulas.push_back(L"sum 21600 0 @12");
Formulas.push_back(L"sum 21600 0 @13");
Formulas.push_back(L"sum 21600 0 @14");
Formulas.push_back(L"val #0");
Formulas.push_back(L"sum 21600 0 #0");
AdjustmentValues = L"5400";
ConnectorLocations = L"0,@4;@0,@4;@3,21600;@3,@2;21600,@4;@1,@4;@3,0;@3,@0";
TextBoxRectangle = L"@9,@9,@8,@8";
Handle one;
one.position = L"#0,center";
one.xrange = L"2700,10125";
Handles.push_back (one);
}
};
}

View File

@ -1,54 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class TextboxType: public ShapeType
{
public:
TextboxType () : ShapeType(msosptTextBox)
{
ShapeConcentricFill = true;
Joins = miter;
Path = L"m,l,21600r21600,l21600,xe";
}
virtual ~TextboxType()
{
}
};
}

View File

@ -1,78 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../ShapeType.h"
namespace DocFileFormat
{
class TrapezoidType : public ShapeType
{
public:
TrapezoidType () : ShapeType(msosptTrapezoid)
{
ShapeConcentricFill = true;
Joins = miter;
Path = L"m,l@0,21600@1,21600,21600,xe";
Formulas.push_back( L"val #0");
Formulas.push_back( L"sum width 0 #0");
Formulas.push_back( L"prod #0 1 2");
Formulas.push_back( L"sum width 0 @2");
Formulas.push_back( L"mid #0 width");
Formulas.push_back( L"mid @1 0");
Formulas.push_back( L"prod height width #0");
Formulas.push_back( L"prod @6 1 2");
Formulas.push_back( L"sum height 0 @7");
Formulas.push_back( L"prod width 1 2");
Formulas.push_back( L"sum #0 0 @9");
Formulas.push_back( L"if @10 @8 0");
Formulas.push_back( L"if @10 @7 height");
AdjustmentValues = L"5400";
ConnectorLocations = L"@3,10800;10800,21600;@2,10800;10800,0";
TextBoxRectangle = L"1800,1800,19800,19800;4500,4500,17100,17100;7200,7200,14400,14400";
Handle one;
one.position = L"#0,bottomRight";
one.xrange = L"0,10800";
Handles.push_back (one);
}
virtual ~TrapezoidType()
{
}
};
}

View File

@ -1,72 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "Record.h"
namespace DocFileFormat
{
class UnknownRecord: public Record
{
public:
unsigned char* _bytes;
unsigned int _size;
UnknownRecord():
Record(), _bytes(NULL), _size(0)
{
}
UnknownRecord( IBinaryReader* _reader, unsigned int size, unsigned int typeCode, unsigned int version, unsigned int instance ):
Record( _reader, size, typeCode, version, instance ), _bytes(NULL), _size(0)
{
this->_size = (unsigned int)( this->Reader->GetSize() - this->Reader->GetPosition() );
if ( this->_size >= size )
{
this->_size = size;
}
this->_bytes = this->Reader->ReadBytes( this->_size, true );
}
virtual ~UnknownRecord()
{
RELEASEARRAYOBJECTS( this->_bytes );
}
virtual Record* NewObject( IBinaryReader* _reader, unsigned int bodySize, unsigned int typeCode, unsigned int version, unsigned int instance )
{
return NULL;//new UnknownRecord( _reader, bodySize, typeCode, version, instance );
}
};
}

View File

@ -1,404 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "OleObject.h"
#include "WordDocument.h"
namespace DocFileFormat
{
OleObject::OleObject( const CharacterPropertyExceptions* chpx, WordDocument* document)
: bLinked(false), updateMode(NoLink), isEquation(false), isEmbedded (false), oleStorage(NULL)
{
if (!document) return;
if (!chpx) return;
nWordVersion = document->nWordVersion;
ObjectId = getOleEntryName( chpx );
StructuredStorageReader* docStorage = document->GetStorage();
oleStorage = docStorage->GetStorage();
if (!oleStorage) return;
std::wstring sObjectId( ObjectId.begin(), ObjectId.end() );
std::wstring name = L"ObjectPool/" + sObjectId + L"/";
bool bOle = processOleStream( name + L"Ole" );
bool bCompObj = bLinked ? processLinkInfoStream( name + L"LinkInfo" ):
processCompObjStream( name + L"CompObj" );
if (bOle || bCompObj)
{
processPICStream( name + L"PIC" );
processMETAStream( name + L"META" );
processEquationNativeStream( name + L"Equation Native" );
}
else if (nWordVersion > 0)
{
int fc = pictureDesciptor.GetFcPic( chpx );
if ( fc >= 0 )
{
POLE::Stream* pOleStream = document->GetDocumentStream();
pictureDesciptor.parse( pOleStream, fc, 0xffffff, nWordVersion);
VirtualStreamReader reader(pOleStream, pOleStream->tell(), nWordVersion);
int pos = reader.GetPosition();
short a1 = reader.ReadInt16();
short a2 = reader.ReadInt16();
short a3 = reader.ReadInt16();
int lcb = reader.ReadInt32();
//short a4 = reader.ReadInt16();
//short a5 = reader.ReadInt16();
//short a6 = reader.ReadInt16();
//short a7 = reader.ReadInt16();
int lcb1 = reader.ReadInt32();
ClipboardFormat = Program = reader.ReadLengthPrefixedAnsiString(0xffff);
short a10 = reader.ReadInt16();
short a11 = reader.ReadInt16();
short a12 = reader.ReadInt16();
short a14 = reader.ReadInt16();
//int lcb = 5000;//reader.ReadInt32();
int szHeader = reader.GetPosition() - pos;
int szData = reader.ReadInt32();
if (szData > lcb)
{
szData = szData >> 16;
}
unsigned char* bytes = reader.ReadBytes( szData, true );
if (bytes && szData < 0xffff)
{
emeddedData = std::string((char*)bytes, szData);
delete []bytes;
}
}
}
}
bool OleObject::processLinkInfoStream( const std::wstring& linkStream )
{
try
{
POLE::Stream* pLinkStream = NULL;
HRESULT res = S_OK;
pLinkStream = new POLE::Stream(oleStorage, linkStream);
if ( pLinkStream )
{
VirtualStreamReader reader( pLinkStream, 0, false);
processLinkInfoStream(reader);
delete pLinkStream;
return true;
}
}
catch (...)
{
}
return false;
}
void OleObject::processEquationNativeStream( const std::wstring& eqStream )
{
try
{
POLE::Stream* pCompStream = NULL;
HRESULT res = S_OK;
pCompStream = new POLE::Stream(oleStorage, eqStream);
if ( pCompStream )
{
VirtualStreamReader reader( pCompStream, 0, false);
int sz = reader.GetSize();
unsigned char *Buffer = reader.ReadBytes( sz, true );
if (Buffer && sz > 0)
{
isEquation = true;
delete []Buffer;
}
delete pCompStream;
}
}
catch (...)
{
}
}
void OleObject::processMETAStream( const std::wstring& metaStream )
{
try
{
HRESULT res = S_OK;
POLE::Stream* pMETAStream = new POLE::Stream(oleStorage, metaStream);
if ( pMETAStream )
{
pictureDesciptor.Type = wmf;
VirtualStreamReader reader( pMETAStream, 0, false);
pictureDesciptor.mfp.mm = reader.ReadUInt16();
pictureDesciptor.mfp.xExt = reader.ReadUInt16();
pictureDesciptor.mfp.yExt = reader.ReadUInt16();
pictureDesciptor.mfp.hMf = reader.ReadUInt16();
pictureDesciptor.embeddedDataSize = reader.GetSize() - 8;
pictureDesciptor.embeddedData = reader.ReadBytes( pictureDesciptor.embeddedDataSize, true );
}
}
catch (...)
{
}
}
void OleObject::processPICStream( const std::wstring& picStream )
{
try
{
HRESULT res = S_OK;
POLE::Stream* pPICStream = new POLE::Stream(oleStorage, picStream);
if ( pPICStream )
{
VirtualStreamReader reader( pPICStream, 0, false);
int sz = reader.GetSize();
int cbHeader = reader.ReadUInt32();
unsigned char* bytes = NULL;
pictureDesciptor.mfp.mm = reader.ReadInt16();
pictureDesciptor.mfp.xExt = reader.ReadInt16();
pictureDesciptor.mfp.yExt = reader.ReadInt16();
pictureDesciptor.mfp.hMf = reader.ReadInt16();
int x = reader.ReadUInt32();
int y = reader.ReadUInt32();
pictureDesciptor.dxaGoal = reader.ReadUInt32();
pictureDesciptor.dyaGoal = reader.ReadUInt32();
unsigned char* data = reader.ReadBytes(16, true);
delete []data;
pictureDesciptor.mx = reader.ReadUInt32();
pictureDesciptor.my = reader.ReadUInt32();
pictureDesciptor.dxaCropLeft = reader.ReadInt32();
pictureDesciptor.dyaCropTop = reader.ReadInt32();
pictureDesciptor.dxaCropRight = reader.ReadInt32();
pictureDesciptor.dyaCropBottom = reader.ReadInt32();
// borders
int bytesCount = (nWordVersion > 0) ? 2 : 4;
bytes = reader.ReadBytes( bytesCount, true );
pictureDesciptor.brcTop = new BorderCode( bytes, bytesCount );
RELEASEARRAYOBJECTS( bytes );
bytes = reader.ReadBytes( bytesCount, true );
pictureDesciptor.brcLeft = new BorderCode( bytes, bytesCount );
RELEASEARRAYOBJECTS( bytes );
bytes = reader.ReadBytes( bytesCount, true );
pictureDesciptor.brcBottom = new BorderCode( bytes, bytesCount );
RELEASEARRAYOBJECTS( bytes );
bytes = reader.ReadBytes( bytesCount, true );
pictureDesciptor.brcRight = new BorderCode( bytes, bytesCount );
RELEASEARRAYOBJECTS( bytes );
int etc = sz - reader.GetPosition();
unsigned char* data2 = reader.ReadBytes(etc, true);
delete []data2;
}
}
catch (...)
{
}
}
bool OleObject::processCompObjStream( const std::wstring& compStream )
{
try
{
HRESULT res = S_OK;
POLE::Stream* pCompStream = new POLE::Stream(oleStorage, compStream);
if ( (pCompStream) && (!pCompStream->fail()) )
{
VirtualStreamReader reader( pCompStream, 0, false);
processCompObjStream(reader);
delete pCompStream;
return true;
}
}
catch (...)
{
}
return false;
}
bool OleObject::processOleStream( const std::wstring& oleStreamName )
{
try
{
POLE::Stream* pOleStream;
HRESULT res = S_OK;
pOleStream = new POLE::Stream(oleStorage, oleStreamName);
if ( (pOleStream) && (!pOleStream->fail()))
{
VirtualStreamReader reader( pOleStream, 0, false );
processOleStream(reader);
delete pOleStream;
return true;
}
}
catch (...)
{
}
return false;
}
void OleObject::processOleStream( VirtualStreamReader& reader )
{
//skip version
reader.ReadBytes( 4, false );
//read the embedded/linked flag
int flag = reader.ReadInt32();
bLinked = FormatUtils::BitmaskToBool( flag, 0x1 );
//Link update option
this->updateMode = (LinkUpdateOption)reader.ReadInt32();
switch ( this->updateMode )
{
case NoLink: UpdateMode = L"NoLink"; break;
case Always: UpdateMode = L"Always"; break;
case OnCall: UpdateMode = L"OnCall"; break;
}
}
void OleObject::processLinkInfoStream( VirtualStreamReader& reader )
{
short cch = reader.ReadInt16();
unsigned char* str = reader.ReadBytes( cch, true );
FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &this->Link, str, cch, ENCODING_WINDOWS_1250 );
RELEASEARRAYOBJECTS( str );
//skip the terminating zero of the ANSI string
//even if the characters are ANSI chars, the terminating zero has 2 bytes
reader.ReadBytes( 2, false );
//skip the next 4 bytes (flags?)
reader.ReadBytes( 4, false );
//Read the Unicode version
this->Link.clear();
cch = reader.ReadInt16();
str = reader.ReadBytes( ( cch * 2 ), true );
FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &this->Link, str, ( cch * 2 ), ENCODING_UTF16 );
RELEASEARRAYOBJECTS( str );
//skip the terminating zero of the Unicode string
reader.ReadBytes( 2, false );
}
void OleObject::processCompObjStream( VirtualStreamReader& reader )
{
//skip the CompObjHeader
reader.ReadBytes( 28, false );
unsigned int sz_obj = reader.GetSize() - reader.GetPosition();
if (sz_obj > 4)
{
UserType = reader.ReadLengthPrefixedAnsiString(sz_obj);
sz_obj = reader.GetSize() - reader.GetPosition();
if (sz_obj > 4)
ClipboardFormat = reader.ReadLengthPrefixedAnsiString(sz_obj);
sz_obj = reader.GetSize() - reader.GetPosition();
if (sz_obj > 4)
Program = reader.ReadLengthPrefixedAnsiString(sz_obj);
}
}
std::wstring OleObject::getOleEntryName( const CharacterPropertyExceptions* chpx )
{
std::wstring ret;
if ( chpx != NULL )
{
for ( std::list<SinglePropertyModifier>::const_iterator iter = chpx->grpprl->begin(); iter != chpx->grpprl->end(); iter++ )
{
if ( iter->OpCode == sprmCPicLocation || iter->OpCode == sprmOldCPicLocation)
{
ret = ( L"_" + FormatUtils::IntToWideString( FormatUtils::BytesToUInt32( iter->Arguments, 0, iter->argumentsSize ) ) );
break;
}
}
}
return ret;
}
}

View File

@ -1,90 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "IVisitable.h"
#include "PictureDescriptor.h"
namespace DocFileFormat
{
class WordDocument;
class OleObject: public IVisitable
{
friend class OleObjectMapping;
public:
enum LinkUpdateOption
{
NoLink = 0,
Always = 1,
OnCall = 3
};
int nWordVersion;
bool bLinked; // The the value is true, the object is a linked object
std::wstring ObjectId;
std::wstring ClassId;
std::wstring UserType; // Display name of the linked object or embedded object.
std::wstring ClipboardFormat;
std::wstring Link;
std::wstring Program;
LinkUpdateOption updateMode;
std::wstring UpdateMode;
bool isEquation;
bool isEmbedded;
std::string emeddedData;
PictureDescriptor pictureDesciptor;
OleObject( const CharacterPropertyExceptions* chpx, WordDocument* document);
virtual ~OleObject() {}
private:
POLE::Storage *oleStorage;
bool processLinkInfoStream ( const std::wstring& linkStream );
void processEquationNativeStream( const std::wstring& eqStream );
void processPICStream ( const std::wstring& picStream );
void processMETAStream ( const std::wstring& metaStream );
bool processCompObjStream ( const std::wstring& compStream );
bool processOleStream ( const std::wstring& oleStreamName );
void processOleStream ( VirtualStreamReader& reader );
void processLinkInfoStream ( VirtualStreamReader& reader );
void processCompObjStream ( VirtualStreamReader& reader );
std::wstring getOleEntryName ( const CharacterPropertyExceptions* chpx );
};
}

View File

@ -1,190 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "ConversionContext.h"
#include "PictureDescriptor.h"
#include "OleObject.h"
#include "AbstractOpenXmlMapping.h"
#include "IMapping.h"
namespace DocFileFormat
{
class OleObjectMapping: public AbstractOpenXmlMapping, public IMapping
{
public:
OleObjectMapping(XMLTools::CStringXmlWriter* writer, ConversionContext* context, PictureDescriptor* pict, IMapping* caller, const std::wstring& shapeId)
:
AbstractOpenXmlMapping(writer), m_context(NULL), _pict(NULL), _caller(NULL), _shapeId(shapeId)
{
m_context = context;
_pict = pict;
_caller = caller;
}
virtual void Apply(IVisitable* visited)
{
OleObject* ole = static_cast<OleObject*>(visited);
if ( ole != NULL )
{
if (ole->isEmbedded)
{
if (ole->isEquation) ole->ClipboardFormat = L"Equation";
else ole->ClipboardFormat = L"MSWordDocx";
ole->Program = L"Word.Document";
}
m_pXmlWriter->WriteNodeBegin( L"o:OLEObject", TRUE );
int relID = -1;
if ( ole->bLinked )
{
relID = m_context->_docx->RegisterExternalOLEObject(_caller, ole->ClipboardFormat, ole->Link);
m_pXmlWriter->WriteAttribute( L"Type", L"Link" );
m_pXmlWriter->WriteAttribute( L"UpdateMode", ole->UpdateMode);
}
else
{
if (ole->isEmbedded)
relID = m_context->_docx->RegisterPackage(_caller, ole->ClipboardFormat);
else
relID = m_context->_docx->RegisterOLEObject(_caller, ole->ClipboardFormat);
m_pXmlWriter->WriteAttribute( L"Type", L"Embed" );
copyEmbeddedObject( ole );
}
m_pXmlWriter->WriteAttribute( L"ProgID", ole->Program);
m_pXmlWriter->WriteAttribute( L"ShapeID", _shapeId);
m_pXmlWriter->WriteAttribute( L"DrawAspect", L"Content" );
m_pXmlWriter->WriteAttribute( L"ObjectID", ole->ObjectId);
m_pXmlWriter->WriteAttribute( L"r:id", L"rId"+ FormatUtils::IntToWideString( relID ) );
m_pXmlWriter->WriteNodeEnd( L"", TRUE, FALSE );
m_pXmlWriter->WriteNodeEnd( L"o:OLEObject" );
}
}
static std::wstring GetTargetExt(const std::wstring& objectType)
{
std::wstring objectExt = L".bin";
if ( objectType == L"Biff8" )
{
objectExt = L".xls";
}
else if ( objectType == L"MSWordDoc" )
{
objectExt = L".doc";
}
else if ( objectType == L"MSPresentation" )
{
objectExt = L".ppt";
}
else if ( objectType == L"MSWordDocx" )
{
objectExt = L".docx";
}
else if ( objectType == L"Equation" )
{
objectExt = L".xml";
}
return objectExt;
}
static std::wstring GetContentType(const std::wstring& objectType)
{
std::wstring objectContentType = OpenXmlContentTypes::OleObject;
if ( objectType == L"Biff8" )
{
objectContentType = OpenXmlContentTypes::MSExcel;
}
else if ( objectType == L"MSWordDoc" )
{
objectContentType = OpenXmlContentTypes::MSWord;
}
else if ( objectType == L"MSPresentation" )
{
objectContentType = OpenXmlContentTypes::MSPowerpoint;
}
else if ( objectType == L"MSWordDocx" )
{
objectContentType = OpenXmlContentTypes::MSWordDocx;
}
else if ( objectType == L"Equation" )
{
objectContentType = OpenXmlContentTypes::Xml;
}
return objectContentType;
}
private:
inline void copyEmbeddedObject( const OleObject* ole )
{
if ( ole == NULL ) return;
std::wstring clsid;
std::wstring exelChart = L"Excel.Chart";
if ( std::search( ole->Program.begin(), ole->Program.end(), exelChart.begin(), exelChart.end() ) == ole->Program.end() )
{
clsid = ole->ClassId;
}
OleObjectFileStructure object_descr(OleObjectMapping::GetTargetExt( ole->ClipboardFormat ), ole->ObjectId, clsid);
if (ole->nWordVersion == 2)
{
object_descr.clsid = ole->ClipboardFormat;
object_descr.bNativeOnly = true;
}
if (ole->isEquation || ole->isEmbedded || ole->nWordVersion == 2)
{
object_descr.data = ole->emeddedData;
}
m_context->_docx->OleObjectsList.push_back(object_descr);
}
ConversionContext* m_context;
PictureDescriptor* _pict;
std::wstring _shapeId;
IMapping* _caller;
};
}

View File

@ -1,80 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../Common/FormatUtils.h"
namespace DocFileFormat
{
class PieceDescriptor
{
friend class PieceTable;
public:
/// Parses the bytes to retrieve a PieceDescriptor
PieceDescriptor(unsigned char *bytes, unsigned int size, int code_page_) : fc(0), code_page(code_page_), cpStart(0), cpEnd(0)
{
if (8 == size)
{
//get the fc value
unsigned int fcValue = FormatUtils::BytesToUInt32(bytes, 2, size);
//get the flag
bool flag = FormatUtils::BitmaskToBool((int)fcValue, 0x40000000);
//delete the flag
fcValue = fcValue & 0xBFFFFFFF;
//find encoding and offset
if (flag)
{
code_page = ENCODING_WINDOWS_1250;
this->fc = (unsigned int)( fcValue / 2 );
}
else
{
code_page = (code_page == ENCODING_WINDOWS_1250 ? ENCODING_UTF16 : code_page_);
this->fc = fcValue;
}
}
}
public:
/// File offset of beginning of piece.
/// This is relative to the beginning of the WordDocument stream.
unsigned int fc;
/// The encoding of the piece
int code_page;
int cpStart;
int cpEnd;
};
}

View File

@ -1,94 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../../DesktopEditor/common/Types.h"
#include <sstream>
namespace DocFileFormat
{
typedef enum _ByteOrder
{
RedFirst,
RedLast
} ByteOrder;
class RGBColor
{
private:
unsigned char Red;
unsigned char Green;
unsigned char Blue;
unsigned char Alpha;
public:
std::wstring SixDigitHexCode;
std::wstring EightDigitHexCode;
RGBColor( int cv, ByteOrder order )
{
unsigned char* bytes = FormatUtils::GetBytes( cv );
std::wstringstream rgbColor6, rgbColor8;
if( order == RedFirst )
{
this->Red = bytes[0];
this->Green = bytes[1];
this->Blue = bytes[2];
this->Alpha = bytes[3];
rgbColor6 << boost::wformat( L"%02x%02x%02x" ) % /*R*/this->Red % /*G*/this->Green % /*B*/this->Blue;
rgbColor8 << boost::wformat( L"%02x%02x%02x%02x" ) % /*R*/this->Red % /*G*/this->Green % /*B*/this->Blue % /*A*/this->Alpha;
SixDigitHexCode = rgbColor6.str();
EightDigitHexCode = rgbColor8.str();
}
else if ( order == RedLast )
{
this->Red = bytes[2];
this->Green = bytes[1];
this->Blue = bytes[0];
this->Alpha = bytes[3];
rgbColor6 << boost::wformat( L"%02x%02x%02x" ) % /*R*/this->Red % /*G*/this->Green % /*B*/this->Blue;
rgbColor8 << boost::wformat( L"%02x%02x%02x%02x" ) % /*R*/this->Red % /*G*/this->Green % /*B*/this->Blue % /*A*/this->Alpha;
SixDigitHexCode = rgbColor6.str();
EightDigitHexCode = rgbColor8.str();
}
RELEASEARRAYOBJECTS( bytes );
}
};
}

View File

@ -1,87 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "VirtualStreamReader.h"
#include "ByteStructure.h"
namespace DocFileFormat
{
class SectionDescriptor: public ByteStructure
{
friend class WordDocument;
private:
short fn;
short fnMpr;
int fcMpr;
/// A signed integer that specifies the position in the WordDocument Stream where a Sepx structure is located.
int fcSepx;
static const int STRUCTURE_SIZE = 12;
static const int STRUCTURE_SIZE_OLD = 6;
public:
static const int GetSize(int nWordVersion)
{
return (nWordVersion == 2) ? STRUCTURE_SIZE_OLD : STRUCTURE_SIZE;
}
SectionDescriptor() : fn(0), fnMpr(0), fcMpr(0), fcSepx(0)
{
}
virtual ~SectionDescriptor()
{
}
virtual ByteStructure* ConstructObject( VirtualStreamReader* reader, int length )
{
SectionDescriptor *newObject = new SectionDescriptor();
if (reader->nWordVersion == 2)
{
newObject->fn = reader->ReadInt16();
newObject->fcSepx = reader->ReadInt32();
//newObject->fnMpr = reader->ReadInt16();
//newObject->fcMpr = reader->ReadInt16();
}
else
{
newObject->fn = reader->ReadInt16();
newObject->fcSepx = reader->ReadInt32();
newObject->fnMpr = reader->ReadInt16();
newObject->fcMpr = reader->ReadInt32();
}
return static_cast<ByteStructure*>( newObject );
}
};
}

View File

@ -1,269 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "IVisitable.h"
namespace DocFileFormat
{
typedef enum _ShadingPattern
{
Automatic = 0x0000,
Solid = 0x0001,
Percent_5 = 0x0002,
Percent_10 = 0x0003,
Percent_20 = 0x0004,
Percent_25 = 0x0005,
Percent_30 = 0x0006,
Percent_40 = 0x0007,
Percent_50 = 0x0008,
Percent_60 = 0x0009,
Percent_70 = 0x000A,
Percent_75 = 0x000B,
Percent_80 = 0x000C,
Percent_90 = 0x000D,
DarkHorizontal = 0x000E,
DarkVertical = 0x000F,
DarkForwardDiagonal = 0x0010,
DarkBackwardDiagonal = 0x0011,
DarkCross = 0x0012,
DarkDiagonalCross = 0x0013,
Horizontal = 0x0014,
Vertical = 0x0015,
ForwardDiagonal = 0x0016,
BackwardDiagonal = 0x0017,
Cross = 0x0018,
DiagonalCross = 0x0019,
Percent_2_5 = 0x0023,
Percent_7_5 = 0x0024,
Percent_12_5 = 0x0025,
Percent_15 = 0x0026,
Percent_17_5 = 0x0027,
Percent_22_5 = 0x0028,
Percent_27_5 = 0x0029,
Percent_32_5 = 0x002A,
Percent_35 = 0x002B,
Percent_37_5 = 0x002C,
Percent_42_5 = 0x002D,
Percent_45 = 0x002E,
Percent_47_5 = 0x002F,
Percent_52_5 = 0x0030,
Percent_55 = 0x0031,
Percent_57_5 = 0x0032,
Percent_62_5 = 0x0033,
Percent_65 = 0x0034,
Percent_67_5 = 0x0035,
Percent_72_5 = 0x0036,
Percent_77_5 = 0x0037,
Percent_82_5 = 0x0038,
Percent_85 = 0x0039,
Percent_87_5 = 0x003A,
Percent_92_5 = 0x003B,
Percent_95 = 0x003C,
Percent_97_5 = 0x003D,
Nil = 0xFFFF
} ShadingPattern;
enum ShadingType
{
shadingTypeShd,
shadingTypeShd80
};
enum ShadingSpecialValue
{
shadingSpecialValueNormal,
shadingSpecialValueShdAuto,
shadingSpecialValueShdNil,
shadingSpecialValueShd80Nil
};
class ShadingDescriptor: public IVisitable
{
friend class PropertiesMapping;
private:
unsigned int cvFore; // 24-bit foreground color
bool cvForeAuto;
int icoFore; // Foreground color.
unsigned int cvBack;
bool cvBackAuto;
int icoBack;
ShadingPattern ipat;
ShadingType shadingType;
ShadingSpecialValue shadingSpecialValue;
public:
/// Creates a new ShadingDescriptor with default values
ShadingDescriptor()
{
setDefaultValues();
}
/// Parses the bytes to retrieve a ShadingDescriptor.
ShadingDescriptor(unsigned char* bytes, int size)
{
setDefaultValues();
if (NULL != bytes)
{
if (10 == size)
{
//it's a Word 2000/2003 descriptor
unsigned char cvForeBytes[4] = { bytes[2], bytes[1], bytes[0], 0 };
unsigned char cvBackBytes[4] = { bytes[6], bytes[5], bytes[4], 0 };
cvFore = FormatUtils::BytesToUInt32( cvForeBytes, 0, 4 );
if ( bytes[3] == 0xFF )
{
cvForeAuto = true;
}
cvBack = FormatUtils::BytesToUInt32( cvBackBytes, 0, 4 );
if ( bytes[7] == 0xFF )
{
cvBackAuto = true;
}
ipat = (ShadingPattern)FormatUtils::BytesToUInt16( bytes, 8, size );
shadingType = shadingTypeShd;
if ( ( cvFore == 0 ) && ( bytes[3] == 0xFF ) && ( cvBack == 0 ) && ( bytes[7] == 0xFF ) && ( ipat == Automatic ) )
{
shadingSpecialValue = shadingSpecialValueShdAuto;
}
else if ( ( cvFore == 0xFFFFFF ) && ( bytes[3] == 0xFF ) && ( cvBack == 0xFFFFFF ) && ( bytes[7] == 0xFF ) && ( ipat == Automatic ) )
{
shadingSpecialValue = shadingSpecialValueShdNil;
}
}
else if (2 == size)
{
//it's a Word 97 SPRM
short val = FormatUtils::BytesToInt16(bytes, 0, size);
icoFore = GETBITS(val, 0, 4);
icoBack = GETBITS(val, 5, 9);
ipat = (ShadingPattern) GETBITS(val, 10, 15);
shadingType = shadingTypeShd80;
if ((icoFore == 0x1F) && (icoBack == 0x1F) && (ipat == 0x3F))
{
shadingSpecialValue = shadingSpecialValueShd80Nil;
}
else
{
shadingType = shadingTypeShd;
cvForeAuto = false;
cvBackAuto = false;
if (0x00 == icoFore) { cvFore = RGB2 (0x00, 0x00, 0x00); cvForeAuto = true; }
else if (0x01 == icoFore) { cvFore = RGB2 (0x00, 0x00, 0x00); }
else if (0x02 == icoFore) { cvFore = RGB2 (0x00, 0x00, 0xFF); }
else if (0x03 == icoFore) { cvFore = RGB2 (0x00, 0xFF, 0xFF); }
else if (0x04 == icoFore) { cvFore = RGB2 (0x00, 0xFF, 0x00); }
else if (0x05 == icoFore) { cvFore = RGB2 (0xFF, 0x00, 0xFF); }
else if (0x06 == icoFore) { cvFore = RGB2 (0xFF, 0x00, 0x00); }
else if (0x07 == icoFore) { cvFore = RGB2 (0xFF, 0xFF, 0x00); }
else if (0x08 == icoFore) { cvFore = RGB2 (0xFF, 0xFF, 0xFF); }
else if (0x09 == icoFore) { cvFore = RGB2 (0x00, 0x00, 0x80); }
else if (0x0A == icoFore) { cvFore = RGB2 (0x00, 0x80, 0x80); }
else if (0x0B == icoFore) { cvFore = RGB2 (0x00, 0x80, 0x00); }
else if (0x0C == icoFore) { cvFore = RGB2 (0x80, 0x00, 0x80); }
else if (0x0D == icoFore) { cvFore = RGB2 (0x80, 0x00, 0x80); }
else if (0x0E == icoFore) { cvFore = RGB2 (0x80, 0x80, 0x00); }
else if (0x0F == icoFore) { cvFore = RGB2 (0x80, 0x80, 0x80); }
else if (0x10 == icoFore) { cvFore = RGB2 (0xC0, 0xC0, 0xC0); }
if (0x00 == icoBack) { cvBack = RGB2 (0xFF, 0xFF, 0xFF); cvBackAuto = true; }
else if (0x01 == icoBack) { cvBack = RGB2 (0x00, 0x00, 0x00); }
else if (0x02 == icoBack) { cvBack = RGB2 (0x00, 0x00, 0xFF); }
else if (0x03 == icoBack) { cvBack = RGB2 (0x00, 0xFF, 0xFF); }
else if (0x04 == icoBack) { cvBack = RGB2 (0x00, 0xFF, 0x00); }
else if (0x05 == icoBack) { cvBack = RGB2 (0xFF, 0x00, 0xFF); }
else if (0x06 == icoBack) { cvBack = RGB2 (0xFF, 0x00, 0x00); }
else if (0x07 == icoBack) { cvBack = RGB2 (0xFF, 0xFF, 0x00); }
else if (0x08 == icoBack) { cvBack = RGB2 (0xFF, 0xFF, 0xFF); }
else if (0x09 == icoBack) { cvBack = RGB2 (0x00, 0x00, 0x80); }
else if (0x0A == icoBack) { cvBack = RGB2 (0x00, 0x80, 0x80); }
else if (0x0B == icoBack) { cvBack = RGB2 (0x00, 0x80, 0x00); }
else if (0x0C == icoBack) { cvBack = RGB2 (0x80, 0x00, 0x80); }
else if (0x0D == icoBack) { cvBack = RGB2 (0x80, 0x00, 0x80); }
else if (0x0E == icoBack) { cvBack = RGB2 (0x80, 0x80, 0x00); }
else if (0x0F == icoBack) { cvBack = RGB2 (0x80, 0x80, 0x80); }
else if (0x10 == icoBack) { cvBack = RGB2 (0xC0, 0xC0, 0xC0); }
// .... если будут документы с такими цветовыми палитрами
//if ((cvFore == 0) && (icoFore == 0x0) && (cvBack == 0) && (icoBack == 0x0) && (ipat == Automatic))
//{
// shadingSpecialValue = shadingSpecialValueShdAuto;
//}
//else if ((cvFore == 0xFFFFFF) && (icoFore == 0x0) && (cvBack == 0xFFFFFF) && (icoBack == 0x0) && (ipat == Automatic))
//{
// shadingSpecialValue = shadingSpecialValueShdNil;
//}
}
}
else
{
}
}
}
private:
inline unsigned int RGB2 (unsigned char r, unsigned char g, unsigned char b)
{
return ( (r<<16) | (g<<8) | (b) );
}
void setDefaultValues()
{
cvBack = 0;
cvBackAuto = false;
cvFore = 0;
cvForeAuto = false;
icoBack = 0;
icoFore = 0;
ipat = Automatic;
shadingType = shadingTypeShd80;
shadingSpecialValue = shadingSpecialValueNormal;
}
};
}

View File

@ -1,127 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "ByteStructure.h"
#include "DrawingPrimitives.h"
class VirtualStreamReader;
namespace DocFileFormat
{
typedef enum AnchorType
{
MARGIN,
PAGE,
TEXT
} AnchorType;
class Spa : public ByteStructure
{
public:
friend class VMLShapeMapping;
friend class DocumentMapping;
static const int STRUCTURE_SIZE = 26;
static const int STRUCTURE_SIZE_OLD = 6;
static const int GetSize(int nWordVersion)
{
return (nWordVersion > 0) ? STRUCTURE_SIZE_OLD : STRUCTURE_SIZE;
}
Spa();
virtual ~Spa();
virtual ByteStructure* ConstructObject(VirtualStreamReader* reader, int length);
inline int GetShapeID() const
{
return spid;
}
private:
/// Shape Identifier. Used in conjunction with the office art data
/// (found via fcDggInfo in the FIB) to find the actual data for newObject shape.
int spid;
/// Left of rectangle enclosing shape relative to the origin of the shape
int xaLeft;
/// Top of rectangle enclosing shape relative to the origin of the shape
int yaTop;
/// Right of rectangle enclosing shape relative to the origin of the shape
int xaRight;
/// Bottom of the rectangle enclosing shape relative to the origin of the shape
int yaBottom;
/// true in the undo doc when shape is from the header doc
/// false otherwise (undefined when not in the undo doc)
bool fHdr;
/// X position of shape relative to anchor CP
/// 0 relative to page margin
/// 1 relative to top of page
/// 2 relative to text (column for horizontal text; paragraph for vertical text)
/// 3 reserved for future use
AnchorType bx;
/// Y position of shape relative to anchor CP
/// 0 relative to page margin
/// 1 relative to top of page
/// 2 relative to text (column for horizontal text; paragraph for vertical text)
/// 3 reserved for future use
AnchorType by;
/// Text wrapping mode
/// 0 like 2, but doesnt require absolute object
/// 1 no text next to shape
/// 2 wrap around absolute object
/// 3 wrap as if no object present
/// 4 wrap tightly around object
/// 5 wrap tightly, but allow holes
/// 6-15 reserved for future use
unsigned short wr;
/// Text wrapping mode type (valid only for wrapping modes 2 and 4)
/// 0 wrap both sides
/// 1 wrap only on left
/// 2 wrap only on right
/// 3 wrap only on largest side
unsigned short wrk;
/// When set, temporarily overrides bx, by,
/// forcing the xaLeft, xaRight, yaTop, and yaBottom fields
/// to all be page relative.
bool fRcaSimple;
bool fBelowText; // true: shape is below text
bool fAnchorLock; // true: anchor is locked
int cTxbx; // Count of textboxes in shape (undo doc only)
DrawingPrimitives primitives;
void read_primitives(Spa* pSpa, VirtualStreamReader* reader, int length);
};
}

View File

@ -1,192 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../../Common/DocxFormat/Source/Base/SmartPtr.h"
#include "BorderCode.h"
#include "Global.h"
namespace DocFileFormat
{
struct TC80
{
TC80()
{
wWidth = horzMerge =0;
textFlow = Global::lrTb;
vertMerge = Global::fvmClear;
vertAlign = Global::top;
ftsWidth = Global::nil;
fFitText = fNoWrap = fHideMark = false;
}
/// A value from the following table that specifies how this cell merges horizontally with the neighboring cells in the same row.
/// MUST be one of the following values:
/// 0 - The cell is not merged with the cells on either side of it.
/// 1 - The cell is one of a set of horizontally merged cells. It contributes its layout region to the set and its own contents are not rendered.
/// 2, 3 - The cell is the first cell in a set of horizontally merged cells. The contents and formatting of this cell extend into any consecutive cells following it that are designated as part of the merged set.
unsigned char horzMerge;
/// A value from the TextFlow enumeration that specifies rotation settings for the text in the cell.
Global::TextFlow textFlow;
/// A value from the VerticalMergeFlag enumeration that specifies how this cell merges vertically with the cells above or below it.
Global::VerticalMergeFlag vertMerge;
/// A value from the VerticalAlign enumeration that specifies how contents inside this cell are aligned.
Global::VerticalAlign vertAlign;
/// An Fts that specifies the unit of measurement for the wWidth field in the TC80 structure.
Global::CellWidthType ftsWidth;
/// Specifies whether the contents of the cell are to be stretched out such that the full cell width is used.
bool fFitText;
/// When set, specifies that the preferred layout of the contents of this cell are as a single line,
/// and cell widths can be adjusted to accommodate long lines.
/// This preference is ignored when the preferred width of this cell is set to ftsDxa.
bool fNoWrap;
/// When set, specifies that this cell is rendered with no height if all cells in the row are empty.
bool fHideMark;
/// An integer that specifies the preferred width of the cell.
/// The width includes cell margins, but does not include cell spacing. MUST be non-negative.
/// The unit of measurement depends on ftsWidth.
/// If ftsWidth is set to ftsPercent, the value is a fraction of the width of the entire table.
short wWidth;
NSCommon::smart_ptr<BorderCode> brcTop;
NSCommon::smart_ptr<BorderCode> brcLeft;
NSCommon::smart_ptr<BorderCode> brcBottom;
NSCommon::smart_ptr<BorderCode> brcRight;
} ;
class SprmTDefTable
{
private:
friend class TableCellPropertiesMapping;
public:
SprmTDefTable (unsigned char* bytes, int size)
{
numberOfColumns = bytes[0];
int pointer = 1;
// rgdxaCenter
for (int i = 0; i < numberOfColumns + 1; ++i)
{
int pos = FormatUtils::BytesToInt16(bytes, pointer, size);
rgdxaCenter.push_back(pos);
pointer += 2;
}
// rgTc80
for (int i = 0; i < numberOfColumns; ++i)
{
if (size <= pointer)
{
for (int j = i; j < numberOfColumns; ++j)
{
TC80 oTC80;
oTC80.ftsWidth = Global::dxa;
oTC80.wWidth = 3190;
oTC80.brcTop = new BorderCode();
oTC80.brcLeft = new BorderCode();
oTC80.brcBottom = new BorderCode();
oTC80.brcRight = new BorderCode();
rgTc80.push_back(oTC80);
}
break;
}
TC80 tc;
// the flags
unsigned short flags = FormatUtils::BytesToUInt16(bytes, pointer, size);
tc.horzMerge = (unsigned char)FormatUtils::BitmaskToInt((int)flags, 0x3);
tc.textFlow = (Global::TextFlow)FormatUtils::BitmaskToInt((int)flags, 0x1C);
tc.vertMerge = (Global::VerticalMergeFlag)FormatUtils::BitmaskToInt((int)flags, 0x60);
tc.vertAlign = (Global::VerticalAlign)FormatUtils::BitmaskToInt((int)flags, 0x180);
tc.ftsWidth = (Global::CellWidthType)FormatUtils::BitmaskToInt((int)flags, 0xE00);
tc.fFitText = FormatUtils::BitmaskToBool(flags, 0x1000);
tc.fNoWrap = FormatUtils::BitmaskToBool(flags, 0x2000);
tc.fHideMark = FormatUtils::BitmaskToBool(flags, 0x4000);
pointer += 2;
// cell width
tc.wWidth = FormatUtils::BytesToInt16(bytes, pointer, size);
pointer += 2;
const int borderCodeBytes = 4;
//border top
unsigned char brcTopBytes[borderCodeBytes];
memcpy(brcTopBytes, (bytes + pointer), borderCodeBytes);
tc.brcTop = new BorderCode(brcTopBytes, borderCodeBytes);
pointer += borderCodeBytes;
//border left
unsigned char brcLeftBytes[borderCodeBytes];
memcpy(brcLeftBytes, (bytes + pointer), borderCodeBytes);
tc.brcLeft = new BorderCode(brcLeftBytes, borderCodeBytes);
pointer += borderCodeBytes;
//border bottom
unsigned char brcBottomBytes[borderCodeBytes];
memcpy(brcBottomBytes, (bytes + pointer), borderCodeBytes);
tc.brcBottom = new BorderCode(brcBottomBytes, borderCodeBytes);
pointer += borderCodeBytes;
//border top
unsigned char brcRightBytes[borderCodeBytes];
memcpy(brcRightBytes, (bytes + pointer), borderCodeBytes);
tc.brcRight = new BorderCode(brcRightBytes, borderCodeBytes);
pointer += borderCodeBytes;
rgTc80.push_back(tc);
}
}
unsigned char numberOfColumns;
/// An array of 16-bit signed integer that specifies horizontal distance in twips.
/// MUST be greater than or equal to -31680 and less than or equal to 31680.
std::vector<short> rgdxaCenter;
/// An array of TC80 that specifies the default formatting for a cell in the table.
/// Each TC80 in the array corresponds to the equivalent column in the table.
/// If there are fewer TC80s than columns, the remaining columns are formatted with the default TC80 formatting.
/// If there are more TC80s than columns, the excess TC80s MUST be ignored.
std::vector<TC80> rgTc80;
};
}

View File

@ -1,219 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "VirtualStreamReader.h"
#include "WideString.h"
#include "IVisitable.h"
#include "../Common/FormatUtils.h"
namespace DocFileFormat
{
template<class T> class StringTable: public IVisitable
{
friend class WordDocument;
friend class CharacterPropertiesMapping;
friend class FontTableMapping;
friend class StyleSheetMapping;
friend class DocumentMapping;
friend class NumberingMapping;
private:
bool fExtend;
int cbData;
unsigned short cbExtra;
std::vector<ByteStructure*> Data;
std::vector<unsigned char*> DataExtra;
int code_page;
public:
virtual ~StringTable()
{
for ( size_t i = 0; i < this->Data.size(); ++i )
{
RELEASEOBJECT( this->Data[i] );
if (false == this->DataExtra.empty())
{
if (this->DataExtra[i])
{
delete []this->DataExtra[i];
this->DataExtra[i] = NULL;
}
}
}
}
StringTable( VirtualStreamReader *reader, int code_page_ ):
code_page(code_page_), fExtend(false), cbData(0), cbExtra(0)
{
parse( reader, (unsigned int)reader->GetPosition(), 0, false );
}
StringTable( POLE::Stream* tableStream, unsigned int fc, unsigned int lcb, int nWordVersion, bool bReadExta = false) :
code_page(1250), fExtend(false), cbData(0), cbExtra(0)
{
if ( lcb > 0 )
{
VirtualStreamReader reader( tableStream, fc, nWordVersion);
parse( &reader, fc, lcb, bReadExta ) ;
}
}
std::vector<unsigned char*> & getDataExtra() {return DataExtra;}
unsigned short getDataExtraSize() {return cbExtra;}
ByteStructure* operator [] ( size_t index ) const
{
if ( index < this->Data.size() )
{
return this->Data.at( index );
}
else
{
return NULL;
}
}
private:
void parse( VirtualStreamReader *reader, unsigned int fc, unsigned int lcb = 0, bool bReadExta = false )
{
if ( reader == NULL ) return;
if (fc > reader->GetSize()) return;
this->cbData = lcb;
int count_elements = 0;
//read fExtend
if ( reader->ReadUInt16() == 0xFFFF )
{
//if the first 2 bytes are 0xFFFF the STTB contains unicode characters
this->fExtend = true;
code_page = ENCODING_UTF16;
}
else
{
//else the STTB contains 1byte characters and the fExtend field is non-existend
//seek back to the beginning
this->fExtend = false;
code_page = ENCODING_WINDOWS_1250;
reader->Seek( (int)fc, 0/*STREAM_SEEK_SET*/ );
}
//read cData
long cDataStart = reader->GetPosition();
unsigned short cb = 0, elem_sz = 0;
//if (reader->nWordVersion == 2)
//{
// unsigned char * bytes = reader->ReadBytes(lcb, true);
// reader->Seek( (int)fc, 0/*STREAM_SEEK_SET*/ );
// delete []bytes;
//}
if (reader->nWordVersion > 0)
{
cb = reader->ReadUInt16();
this->cbData = cb; // all size
}
else if (reader->nWordVersion == 0)
{
cb = reader->ReadUInt16();
if ( cb != 0xFFFF )
{
count_elements = cb;
}
else
{
//cData is a 4byte signed Integer, so we need to seek back
reader->Seek( (int)( fc + cDataStart ), 0/*STREAM_SEEK_SET*/ );
this->cbData = reader->ReadInt32();
}
}
//read cbExtra
if (reader->nWordVersion == 0)
{
this->cbExtra = reader->ReadUInt16();
}
if (lcb > 0 && (lcb/* - fc*/) != this->cbData + this->cbExtra)
{
//????
}
while(true) //read the strings and extra datas
{
if (reader->GetPosition() >= fc + this->cbData + this->cbExtra && count_elements < 1)
break; //1995 and older
if (this->Data.size() == count_elements && count_elements > 0)
break; //1997 and newer
int cchData = 0;
int cbData = 0;
if ( this->fExtend )
{
cchData = (int)reader->ReadUInt16();
cbData = cchData * 2;
}
else
{
cchData = (int)reader->ReadByte();
cbData = cchData;
}
long posBeforeType = reader->GetPosition();
this->Data.push_back( T().ConstructObject( reader, cbData ) );
reader->Seek( (int)( posBeforeType + cbData ), 0/*STREAM_SEEK_SET */);
if (bReadExta)
{
unsigned char* pData = reader->ReadBytes( cbExtra, true );
DataExtra.push_back(pData);
}
else
{
reader->ReadBytes( cbExtra, false );
}
}
}
};
}

View File

@ -1,162 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../../Common/3dParty/pole/pole.h"
namespace DocFileFormat
{
class StructuredStorageReader
{
public:
StructuredStorageReader () : m_pStorage(NULL)
{
}
~StructuredStorageReader()
{
if(m_pStorage)
{
delete m_pStorage;
m_pStorage = NULL;
}
}
bool SetFile (const wchar_t* filename)
{
m_pStorage = new POLE::Storage(filename);
if (m_pStorage)//return true;
{
return m_pStorage->open();
}
return false;
}
bool isDirectory( const std::wstring& name )
{
if (!m_pStorage) return false;
return m_pStorage->isDirectory(name);
}
bool GetStream (const std::wstring & path, POLE::Stream** ppStream)
{
if (( m_pStorage != NULL ) && ( !path.empty() ))
{
*ppStream = new POLE::Stream(m_pStorage, path.c_str());
}
if ((*ppStream) && ((*ppStream)->size() > 0))
return true;
return false;
}
inline POLE::Storage* GetStorage()
{
return m_pStorage;
}
void copy( int indent, std::wstring path, POLE::Storage * storageOut, bool withRoot = true)
{
std::list<std::wstring> entries, entries_sort;
entries = m_pStorage->entries_with_prefix( path );
for( std::list<std::wstring>::iterator it = entries.begin(); it != entries.end(); ++it )
{
std::wstring name = *it;
std::wstring fullname = path + name;
if( m_pStorage->isDirectory( fullname ) )
{
entries_sort.push_back(name);
}
else
{
entries_sort.push_front(name);
}
}
//for( std::list<std::string>::iterator it = entries.begin(); it != entries.end(); ++it )
for( std::list<std::wstring>::iterator it = entries_sort.begin(); it != entries_sort.end(); ++it )
{
std::wstring name = *it;
std::wstring fullname = path + name;
if( m_pStorage->isDirectory( fullname ) )
{
copy( indent + 1, fullname + L"/", storageOut, withRoot );
}
else
{
copy_stream(fullname, storageOut, withRoot);
}
}
}
private:
void copy_stream(std::wstring streamName, POLE::Storage * storageOut, bool withRoot = true)
{
POLE::Stream *stream = new POLE::Stream(m_pStorage, streamName);
if (!stream) return;
stream->seek(0);
POLE::int64 size_stream = stream->size();
if (withRoot == false)
{
int pos = (int)streamName.find(L"/");
if (pos >= 0)
streamName = streamName.substr(pos + 1);
}
POLE::Stream *streamNew = new POLE::Stream(storageOut, streamName, true, size_stream);
if (!streamNew) return;
unsigned char* data_stream = new unsigned char[size_stream];
if (data_stream)
{
stream->read(data_stream, size_stream);
streamNew->write(data_stream, size_stream);
delete []data_stream;
data_stream = NULL;
}
streamNew->flush();
delete streamNew;
delete stream;
}
POLE::Storage* m_pStorage;
};
}

View File

@ -1,108 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "ParagraphPropertyExceptions.h"
namespace DocFileFormat
{
class TableInfo
{
public:
bool fInTable;
bool fTtp;
bool fInnerTtp;
bool fInnerTableCell;
unsigned int iTap;
TableInfo( ParagraphPropertyExceptions* papx, int nWordVersion):
fInTable(false), fTtp(false), fInnerTtp(false), fInnerTableCell(false), iTap(0)
{
if ( papx != NULL )
{
for ( std::list<SinglePropertyModifier>::iterator iter = papx->grpprl->begin(); iter != papx->grpprl->end(); iter++ )
{
switch(iter->OpCode)
{
case sprmOldPFInTable:
case sprmPFInTable:
{
fInTable = ( iter->Arguments[0] == 1 ) ? (true) : (false);
if (iTap < 1 && fInTable) iTap = 1;
}break;
//case sprmOldPFTtp:
case sprmOldPTtp:
case sprmPFTtp:
{
fTtp = ( iter->Arguments[0] == 1 ) ? (true) : (false);
}break;
//case sprmOldPFInnerTableCell:
case sprmPFInnerTableCell:
{
fInnerTableCell = ( iter->Arguments[0] == 1 ) ? (true) : (false);
}break;
//case sprmOldPFInnerTtp:
case sprmPFInnerTtp:
{
fInnerTtp = ( iter->Arguments[0] == 1 ) ? (true) : (false);
}break;
//case sprmOldPItap:
case sprmPItap:
{
iTap = FormatUtils::BytesToUInt32( iter->Arguments, 0, iter->argumentsSize );
if ( iTap > 0 )
{
fInTable = true;
}
}break;
}
if ( (int)( iter->OpCode ) == sprmTCnf )//66a
{
iTap = FormatUtils::BytesToUInt32( iter->Arguments, 0, iter->argumentsSize );
if ( iTap > 0 )
{
fInTable = true;
}
}
}
}
}
};
}

View File

@ -1,537 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "TablePropertiesMapping.h"
namespace DocFileFormat
{
TablePropertiesMapping::TablePropertiesMapping (XMLTools::CStringXmlWriter* pWriter, StyleSheet* styles, std::vector<short>* grid, bool isTableStyleNeeded ):
PropertiesMapping(pWriter), _tblPr(NULL), _tblGrid(NULL), _tblBorders(NULL), _grid(grid),
brcLeft(NULL), brcTop(NULL), brcBottom(NULL), brcRight(NULL), brcHorz(NULL), brcVert(NULL), _styles(styles),
_isTableStyleNeeded(isTableStyleNeeded)
{
_tblPr = new XMLTools::XMLElement( L"w:tblPr");
_tblBorders = new XMLTools::XMLElement( L"w:tblBorders");
}
TablePropertiesMapping::~TablePropertiesMapping()
{
RELEASEOBJECT (_tblPr);
RELEASEOBJECT (_tblGrid);
RELEASEOBJECT (_tblBorders);
RELEASEOBJECT (brcLeft);
RELEASEOBJECT (brcTop);
RELEASEOBJECT (brcBottom);
RELEASEOBJECT (brcRight);
RELEASEOBJECT (brcHorz);
RELEASEOBJECT (brcVert);
}
}
namespace DocFileFormat
{
void TablePropertiesMapping::Apply(IVisitable* visited)
{
TablePropertyExceptions* tapx = static_cast<TablePropertyExceptions*>( visited );
XMLTools::XMLElement tblCellMar ( L"w:tblCellMar");
XMLTools::XMLElement tblLayout ( L"w:tblLayout");
XMLTools::XMLElement tblpPr ( L"w:tblpPr");
XMLTools::XMLAttribute layoutType ( L"w:type", L"");
bool bLayoutFixed = true;
//layoutType.SetValue(L"fixed");
_CP_OPT(short) tblIndent;
short gabHalf = 0;
short marginLeft = 0;
short marginRight = 0;
BYTE itcFirst = 0;
BYTE itcLim = 0;
bool bTableW = false;
for ( std::list<SinglePropertyModifier>::iterator iter = tapx->grpprl->begin(); iter != tapx->grpprl->end(); iter++ )
{
switch( iter->OpCode )
{
case sprmOldTDxaGapHalf:
case sprmTDxaGapHalf:
{
gabHalf = FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize );
}
break;
case sprmOldTDefTable:
case sprmTDefTable:
{
//table definition
SprmTDefTable tDef( iter->Arguments, iter->argumentsSize );
//Workaround for retrieving the indent of the table:
//In some files there is a indent but no sprmTWidthIndent is set.
//For this cases we can calculate the indent of the table by getting the
//first boundary of the TDef and adding the padding of the cells
tblIndent = gabHalf + FormatUtils::BytesToInt16( iter->Arguments, 1, iter->argumentsSize );
//If there follows a real sprmTWidthIndent, this value will be overwritten
//tblIndent = (std::max)((int)tblIndent,0); //cerere.doc
}
break;
case sprmTTableWidth:
{
//preferred table width
unsigned char fts = iter->Arguments[0];
short width = FormatUtils::BytesToInt16( iter->Arguments, 1, iter->argumentsSize );
XMLTools::XMLElement tblW( L"w:tblW");
XMLTools::XMLAttribute w( L"w:w", FormatUtils::IntToWideString( width ) );
XMLTools::XMLAttribute type( L"w:type", FormatUtils::MapValueToWideString( fts, &WidthType[0][0], 4, 5 ) );
tblW.AppendAttribute( type );
tblW.AppendAttribute( w );
_tblPr->AppendChild( tblW );
bTableW = true;
}
break;
case sprmTMerge:
{
itcFirst = iter->Arguments[0];
itcLim = iter->Arguments[1];
}break;
case sprmTSplit:
{
}break;
case sprmOldTJc:
case sprmTJc:
case sprmTJcRow:
{ //justification
appendValueElement( _tblPr, L"jc" , FormatUtils::MapValueToWideString( iter->Arguments[0], &Global::JustificationCode[0][0], 10, 15 ), true );
}
break;
case sprmTWidthIndent:
{ //indent
tblIndent = FtsWWidth_Indent(iter->Arguments).wWidth;
// tblIndent = FormatUtils::BytesToInt16( iter->Arguments, 1, iter->argumentsSize );
}
break;
case sprmTIstd:
case sprmTIstdPermute:
{ //style
if ( _isTableStyleNeeded )
{
size_t ind = FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize );
std::wstring id = ind < _styles->Styles->size() ? StyleSheetMapping::MakeStyleId( _styles->Styles->at( ind ) ) : L"";
if( id != std::wstring( L"TableNormal") && !id.empty() )
{
appendValueElement( _tblPr, L"tblStyle", id, true );
}
}
}
break;
case sprmTFBiDi:
case sprmTFBiDi90:
{ //bidi
appendValueElement( _tblPr, L"bidiVisual", FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize ), true );
}
break;
case sprmOldTTlp:
case sprmTTlp:
{ //table look
appendValueElement( _tblPr, L"tblLook", FormatUtils::IntToFormattedWideString( FormatUtils::BytesToInt16( iter->Arguments, 2, iter->argumentsSize ), L"%04x" ), true );
}
break;
case sprmTFAutofit:
{//autofit
layoutType.SetValue(L"fixed");
if ( iter->Arguments[0] == 1 )
{
layoutType.SetValue( L"auto" );
bLayoutFixed = false;
}
}break;
case sprmTCellPadding:
case sprmTCellPaddingDefault:
case sprmTCellPaddingOuter:
{ //default cell padding (margin)
unsigned char grfbrc = iter->Arguments[2];
short wMar = FormatUtils::BytesToInt16( iter->Arguments, 4, iter->argumentsSize );
std::wstring strValue = FormatUtils::IntToWideString( wMar );
if ( FormatUtils::BitmaskToBool( (int)grfbrc, 0x01 ) )
{
appendDxaElement( &tblCellMar, L"top" , strValue, true );
}
if ( FormatUtils::BitmaskToBool( (int)grfbrc, 0x02 ) )
{
marginLeft = wMar;
}
if ( FormatUtils::BitmaskToBool( (int)grfbrc, 0x04 ) )
{
appendDxaElement( &tblCellMar, L"bottom", strValue, true );
}
if ( FormatUtils::BitmaskToBool( (int)grfbrc, 0x08 ) )
{
marginRight = wMar;
}
}
break;
case sprmTCHorzBands:
{ //row count
appendValueElement( _tblPr, L"tblStyleRowBandSize", iter->Arguments[0], true );
}
break;
case sprmTCVertBands:
{ //col count
appendValueElement( _tblPr, L"tblStyleColBandSize", iter->Arguments[0], true );
}
break;
case sprmTFNoAllowOverlap:
{ //overlap
std::wstring tblOverlapVal = std::wstring( L"overlap");
if ( iter->Arguments[0] )
{
tblOverlapVal = std::wstring( L"never");
}
appendValueElement( _tblPr, L"tblOverlap", tblOverlapVal, true );
}
break;
case sprmOldTSetShd :
case sprmTSetShdTable :
{ //shading
appendShading( _tblPr, ShadingDescriptor( iter->Arguments, iter->argumentsSize ) );
}
break;
case sprmTTableBorders80:
{ //borders 80 exceptions
const int size = 4;
unsigned char brc80[size];
//top border
memcpy( brc80, iter->Arguments, size );
RELEASEOBJECT( brcTop );
brcTop = new BorderCode( brc80, size );
//left
memcpy( brc80, ( iter->Arguments + 4 ), size );
RELEASEOBJECT( brcLeft );
brcLeft = new BorderCode( brc80, size );
//bottom
memcpy( brc80, ( iter->Arguments + 8 ), size );
RELEASEOBJECT( brcBottom );
brcBottom = new BorderCode( brc80, size );
//right
memcpy( brc80, ( iter->Arguments + 12 ), size );
RELEASEOBJECT( brcRight );
brcRight = new BorderCode( brc80, size );
//inside H
memcpy( brc80, ( iter->Arguments + 16 ), size );
RELEASEOBJECT( brcHorz );
brcHorz = new BorderCode( brc80, size );
//inside V
memcpy( brc80, ( iter->Arguments + 20 ), size );
RELEASEOBJECT( brcVert );
brcVert = new BorderCode( brc80, size );
}
break;
//border exceptions
case sprmOldTTableBorders:
case sprmTTableBorders:
{
const int size = 8;
unsigned char brc[size];
//top border
memcpy( brc, iter->Arguments, size );
RELEASEOBJECT( brcTop );
brcTop = new BorderCode( brc, size );
//left
memcpy( brc, ( iter->Arguments + 8 ), size );
RELEASEOBJECT( brcLeft );
brcLeft = new BorderCode( brc, size );
//bottom
memcpy( brc, ( iter->Arguments + 16 ), size );
RELEASEOBJECT( brcBottom );
brcBottom = new BorderCode( brc, size );
//right
memcpy( brc, ( iter->Arguments + 24 ), size );
RELEASEOBJECT( brcRight );
brcRight = new BorderCode( brc, size );
//inside H
memcpy( brc, ( iter->Arguments + 32 ), size );
RELEASEOBJECT( brcHorz );
brcHorz = new BorderCode( brc, size );
//inside V
memcpy( brc, ( iter->Arguments + 40 ), size );
RELEASEOBJECT( brcVert );
brcVert = new BorderCode( brc, size );
}
break;
//floating table properties
case sprmTPc:
{
unsigned char flag = ( iter->Arguments[0] & 0x30 ) >> 4;
appendValueAttribute( &tblpPr, L"w:vertAnchor", FormatUtils::MapValueToWideString( flag, &Global::VerticalPositionCode[0][0], 4, 7 ) );
flag = ( iter->Arguments[0] & 0xC0 ) >> 6;
appendValueAttribute( &tblpPr, L"w:horzAnchor", FormatUtils::MapValueToWideString( flag, &Global::HorizontalPositionCode[0][0], 4, 7 ) );
}
break;
case sprmTDxaFromText:
{
appendValueAttribute( &tblpPr, L"w:leftFromText", FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize ) );
}
break;
case sprmTDxaFromTextRight:
{
appendValueAttribute( &tblpPr, L"w:rightFromText", FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize ) );
}
break;
case sprmTDyaFromText:
{
appendValueAttribute( &tblpPr, L"w:topFromText", FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize ) );
}
break;
case sprmTDyaFromTextBottom:
{
appendValueAttribute( &tblpPr, L"w:bottomFromText", FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize ) );
}
break;
case sprmTDxaAbs:
{
appendValueAttribute( &tblpPr, L"w:tblpX", FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize ) );
}
break;
case sprmTDyaAbs:
{
appendValueAttribute( &tblpPr, L"w:tblpY", FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize ) );
}
break;
}
}
if (false == bTableW)
{
XMLTools::XMLElement tblW( L"w:tblW");
XMLTools::XMLAttribute w( L"w:w", L"0");
XMLTools::XMLAttribute type( L"w:type", L"auto" );
tblW.AppendAttribute( type );
tblW.AppendAttribute( w );
_tblPr->AppendChild( tblW );
}
//indent
if ( tblIndent )
{
XMLTools::XMLElement tblInd( L"w:tblInd");
XMLTools::XMLAttribute tblIndW( L"w:w", FormatUtils::IntToWideString( *tblIndent ) );
tblInd.AppendAttribute( tblIndW );
XMLTools::XMLAttribute tblIndType( L"w:type", L"dxa");
tblInd.AppendAttribute( tblIndType );
_tblPr->AppendChild( tblInd );
}
//append floating props
if ( tblpPr.GetAttributeCount() > 0 )
{
_tblPr->AppendChild( tblpPr );
}
//set borders
if ( brcTop != NULL )
{
XMLTools::XMLElement topBorder( L"w:top");
appendBorderAttributes( brcTop, &topBorder );
addOrSetBorder( _tblBorders, &topBorder );
}
if ( brcLeft != NULL )
{
XMLTools::XMLElement leftBorder( L"w:left");
appendBorderAttributes( brcLeft, &leftBorder );
addOrSetBorder( _tblBorders, &leftBorder );
}
if ( brcBottom != NULL )
{
XMLTools::XMLElement bottomBorder( L"w:bottom");
appendBorderAttributes( brcBottom, &bottomBorder );
addOrSetBorder( _tblBorders, &bottomBorder );
}
if ( brcRight != NULL )
{
XMLTools::XMLElement rightBorder( L"w:right");
appendBorderAttributes( brcRight, &rightBorder );
addOrSetBorder( _tblBorders, &rightBorder );
}
if ( brcHorz != NULL )
{
XMLTools::XMLElement insideHBorder( L"w:insideH");
appendBorderAttributes( brcHorz, &insideHBorder );
addOrSetBorder( _tblBorders, &insideHBorder );
}
if ( brcVert != NULL )
{
XMLTools::XMLElement insideVBorder( L"w:insideV");
appendBorderAttributes( brcVert, &insideVBorder );
addOrSetBorder( _tblBorders, &insideVBorder );
}
if ( _tblBorders->GetChildCount() > 0 )
{
_tblPr->AppendChild( *_tblBorders );
}
if (false == layoutType.GetValue().empty())
{
tblLayout.AppendAttribute(layoutType);
}
_tblPr->AppendChild( tblLayout );
if ( ( marginLeft == 0 ) && ( gabHalf != 0 ) )
{
appendDxaElement( &tblCellMar, L"left", FormatUtils::IntToWideString( gabHalf ), true );
}
else
{
appendDxaElement( &tblCellMar, L"left", FormatUtils::IntToWideString( marginLeft ), true );
}
if ( ( marginRight == 0 ) && ( gabHalf != 0 ) )
{
appendDxaElement( &tblCellMar, L"right", FormatUtils::IntToWideString( gabHalf ), true );
}
else
{
appendDxaElement( &tblCellMar, L"right", FormatUtils::IntToWideString( marginRight ), true );
}
_tblPr->AppendChild( tblCellMar );
//write Properties
if ( ( _tblPr->GetChildCount() > 0 ) || ( _tblPr->GetAttributeCount() > 0 ) )
{
m_pXmlWriter->WriteString( _tblPr->GetXMLString() );
}
//append the grid
_tblGrid = new XMLTools::XMLElement( L"w:tblGrid");
//Если _grid состоит из одних DocFormatUtils::gc_nZeroWidth и layout != "fixed", значит это doc полученный нами при конвертации из html. Таблицу размеров писать не нужно
bool bWriteGridCol = false;
if (true == bLayoutFixed)
bWriteGridCol = true;
else
{
for ( size_t i = 0, nSize = _grid->size(); i < nSize; i++ )
{
if(_grid->at(i) % DocFileFormat::gc_nZeroWidth != 0)
{
bWriteGridCol = true;
break;
}
}
}
if (true == bWriteGridCol)
{
for ( size_t i = 0; i < _grid->size(); i++ )
{
XMLTools::XMLElement gridCol( L"w:gridCol");
XMLTools::XMLAttribute gridColW( L"w:w", FormatUtils::IntToWideString( _grid->at( i ) ) );
gridCol.AppendAttribute( gridColW );
_tblGrid->AppendChild( gridCol );
}
}
m_pXmlWriter->WriteString( _tblGrid->GetXMLString() );
}
}

View File

@ -1,115 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "PropertyExceptions.h"
#include "ParagraphPropertyExceptions.h"
#include "VirtualStreamReader.h"
namespace DocFileFormat
{
class TablePropertyExceptions: public PropertyExceptions
{
public:
/// Parses the bytes to retrieve a TAPX
TablePropertyExceptions(unsigned char* bytes, int size, int nWordVersion) :
PropertyExceptions(bytes, size, nWordVersion), m_bSkipShading97 (FALSE)
{
//not yet implemented
}
virtual ~TablePropertyExceptions()
{
}
/// Extracts the TAPX SPRMs out of a PAPX
TablePropertyExceptions (ParagraphPropertyExceptions* papx, POLE::Stream* dataStream, int nWordVersion) :
PropertyExceptions()
{
VirtualStreamReader oBinReader(dataStream, 0, nWordVersion);
m_bSkipShading97 = FALSE;
for (std::list<SinglePropertyModifier>::iterator oSpmIter = papx->grpprl->begin(); oSpmIter != papx->grpprl->end(); ++oSpmIter)
{
if (oSpmIter->OpCode == sprmTDefTableShd ||
oSpmIter->OpCode == sprmTDefTableShd2nd ||
oSpmIter->OpCode == sprmTDefTableShd3rd)
{
m_bSkipShading97 = TRUE;
}
if (oSpmIter->Type == TAP)
{
grpprl->push_back(*oSpmIter);
}
else if (oSpmIter->OpCode == sprmPTableProps)
{
//there is a native TAP in the data stream
unsigned int fc = FormatUtils::BytesToUInt32(oSpmIter->Arguments, 0, oSpmIter->argumentsSize);
//get the size of the following grpprl
oBinReader.Seek(fc, 0/* STREAM_SEEK_SET*/);
unsigned char* sizebytes = oBinReader.ReadBytes(2, true);
unsigned short grpprlSize = FormatUtils::BytesToUInt16(sizebytes, 0, 2);
//read the grpprl
unsigned char* grpprlBytes = oBinReader.ReadBytes(grpprlSize, true);
//parse the grpprl
PropertyExceptions externalPx(grpprlBytes, grpprlSize, nWordVersion);
for (std::list<SinglePropertyModifier>::iterator oIter = externalPx.grpprl->begin(); oIter != externalPx.grpprl->end(); ++oIter)
{
if (oIter->Type == TAP)
{
grpprl->push_back(*oIter);
}
}
RELEASEARRAYOBJECTS(grpprlBytes);
RELEASEARRAYOBJECTS(sizebytes);
}
}
}
inline bool IsSkipShading97 ()
{
return m_bSkipShading97;
}
private:
bool m_bSkipShading97; // пропускать правило от Word97
};
}

View File

@ -1,257 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "TableRowPropertiesMapping.h"
namespace DocFileFormat
{
TableRowPropertiesMapping::TableRowPropertiesMapping (XMLTools::CStringXmlWriter* pWriter, CharacterPropertyExceptions* rowEndChpx) : PropertiesMapping(pWriter), _trPr(NULL), _tblPrEx(NULL), _rowEndChpx(NULL)
{
_trPr = new XMLTools::XMLElement(L"w:trPr");
_tblPrEx = new XMLTools::XMLElement(L"w:tblPrEx");
//_tblBorders = new XMLTools::XMLElement(L"w:tblBorders");
_rowEndChpx = rowEndChpx;
}
TableRowPropertiesMapping::~TableRowPropertiesMapping()
{
RELEASEOBJECT(_trPr);
RELEASEOBJECT(_tblPrEx);
}
void TableRowPropertiesMapping::Apply(IVisitable* visited)
{
TablePropertyExceptions* tapx = static_cast<TablePropertyExceptions*>( visited );
//delete infos
RevisionData rev( _rowEndChpx );
if ( ( _rowEndChpx != NULL ) && ( rev.Type == Deleted ) )
{
XMLTools::XMLElement del( L"w:del" );
_trPr->AppendChild( del );
}
for ( std::list<SinglePropertyModifier>::iterator iter = tapx->grpprl->begin(); iter != tapx->grpprl->end(); iter++ )
{
switch ( iter->OpCode )
{
case sprmOldTDefTable:
case sprmTDefTable:
{
//SprmTDefTable tdef = new SprmTDefTable(sprm.Arguments);
}break;
case sprmOldTTableHeader:
case sprmTTableHeader:
{ //header row
bool fHeader = ( iter->Arguments[0] != 0 ) ? (true) : (false);
if ( fHeader )
{
XMLTools::XMLElement header( L"w:tblHeader" );
_trPr->AppendChild( header );
}
}break;
case sprmTWidthAfter:
{ //width after
XMLTools::XMLElement wAfter( L"w:wAfter" );
XMLTools::XMLAttribute wAfterValue( L"w:w", FormatUtils::IntToWideString( FormatUtils::BytesToInt16( iter->Arguments, 1, iter->argumentsSize ) ) );
wAfter.AppendAttribute( wAfterValue );
XMLTools::XMLAttribute wAfterType( L"w:type", L"dxa" );
wAfter.AppendAttribute( wAfterType );
_trPr->AppendChild( wAfter, true );
}break;
case sprmTWidthBefore:
{ //width before
short before = FormatUtils::BytesToInt16( iter->Arguments, 1, iter->argumentsSize );
if ( before != 0 )
{
XMLTools::XMLElement wBefore( L"w:wBefore" );
XMLTools::XMLAttribute wBeforeValue( L"w:w", FormatUtils::IntToWideString( before ) );
wBefore.AppendAttribute( wBeforeValue );
XMLTools::XMLAttribute wBeforeType( L"w:type", L"dxa" );
wBefore.AppendAttribute( wBeforeType );
_trPr->AppendChild( wBefore, true );
}
}break;
case sprmOldTDyaRowHeight:
case sprmTDyaRowHeight:
{ //row height
XMLTools::XMLElement rowHeight( L"w:trHeight" );
XMLTools::XMLAttribute rowHeightVal( L"w:val" );
XMLTools::XMLAttribute rowHeightRule( L"w:hRule" );
short rH = FormatUtils::BytesToInt16( iter->Arguments, 0, iter->argumentsSize );
if ( rH > 0 )
{
rowHeightRule.SetValue( L"atLeast" );
rowHeightVal.SetValue( FormatUtils::IntToWideString( rH ) );
rowHeight.AppendAttribute( rowHeightVal );
}
else if( rH == 0 )
{
rowHeightRule.SetValue( L"auto" );
}
else
{
rowHeightRule.SetValue( L"exact" );
rH *= -1;
rowHeightVal.SetValue( FormatUtils::IntToWideString( rH ) );
rowHeight.AppendAttribute( rowHeightVal );
}
rowHeight.AppendAttribute( rowHeightRule );
_trPr->AppendChild( rowHeight );
}
break;
case sprmOldTFCantSplit:
case sprmTFCantSplit:
case sprmTFCantSplit90:
{ //can't split
appendFlagElement( _trPr, *iter, L"cantSplit", true );
}break;
//div id
case sprmTIpgp:// = PGPInfo.ipgpSelf (PGPInfo structure describes the border and margin properties)
{
}break;
default:
break;
//borders 80 exceptions
//case SinglePropertyModifier.OperationCode.sprmTTableBorders80:
// unsigned char[] brc80 = new unsigned char[4];
// //top border
// Array.Copy(sprm.Arguments, 0, brc80, 0, 4);
// brcTop = new BorderCode(brc80);
// //left
// Array.Copy(sprm.Arguments, 4, brc80, 0, 4);
// brcLeft = new BorderCode(brc80);
// //bottom
// Array.Copy(sprm.Arguments, 8, brc80, 0, 4);
// brcBottom = new BorderCode(brc80);
// //right
// Array.Copy(sprm.Arguments, 12, brc80, 0, 4);
// brcRight = new BorderCode(brc80);
// //inside H
// Array.Copy(sprm.Arguments, 16, brc80, 0, 4);
// brcHorz = new BorderCode(brc80);
// //inside V
// Array.Copy(sprm.Arguments, 20, brc80, 0, 4);
// brcVert = new BorderCode(brc80);
// break;
//border exceptions
//case SinglePropertyModifier.OperationCode.sprmTTableBorders:
// unsigned char[] brc = new unsigned char[8];
// //top border
// Array.Copy(sprm.Arguments, 0, brc, 0, 8);
// brcTop = new BorderCode(brc);
// //left
// Array.Copy(sprm.Arguments, 8, brc, 0, 8);
// brcLeft = new BorderCode(brc);
// //bottom
// Array.Copy(sprm.Arguments, 16, brc, 0, 8);
// brcBottom = new BorderCode(brc);
// //right
// Array.Copy(sprm.Arguments, 24, brc, 0, 8);
// brcRight = new BorderCode(brc);
// //inside H
// Array.Copy(sprm.Arguments, 32, brc, 0, 8);
// brcHorz = new BorderCode(brc);
// //inside V
// Array.Copy(sprm.Arguments, 40, brc, 0, 8);
// brcVert = new BorderCode(brc);
// break;
}
}
//set borders
//if (brcTop != null)
//{
// XmlNode topBorder = _nodeFactory.CreateNode(XmlNodeType.Element, "w", "top", OpenXmlNamespaces.WordprocessingML);
// appendBorderAttributes(brcTop, topBorder);
// addOrSetBorder(_tblBorders, topBorder);
//}
//if (brcLeft != null)
//{
// XmlNode leftBorder = _nodeFactory.CreateNode(XmlNodeType.Element, "w", "left", OpenXmlNamespaces.WordprocessingML);
// appendBorderAttributes(brcLeft, leftBorder);
// addOrSetBorder(_tblBorders, leftBorder);
//}
//if (brcBottom != null)
//{
// XmlNode bottomBorder = _nodeFactory.CreateNode(XmlNodeType.Element, "w", "bottom", OpenXmlNamespaces.WordprocessingML);
// appendBorderAttributes(brcBottom, bottomBorder);
// addOrSetBorder(_tblBorders, bottomBorder);
//}
//if (brcRight != null)
//{
// XmlNode rightBorder = _nodeFactory.CreateNode(XmlNodeType.Element, "w", "right", OpenXmlNamespaces.WordprocessingML);
// appendBorderAttributes(brcRight, rightBorder);
// addOrSetBorder(_tblBorders, rightBorder);
//}
//if (brcHorz != null)
//{
// XmlNode insideHBorder = _nodeFactory.CreateNode(XmlNodeType.Element, "w", "insideH", OpenXmlNamespaces.WordprocessingML);
// appendBorderAttributes(brcHorz, insideHBorder);
// addOrSetBorder(_tblBorders, insideHBorder);
//}
//if (brcVert != null)
//{
// XmlNode insideVBorder = _nodeFactory.CreateNode(XmlNodeType.Element, "w", "insideV", OpenXmlNamespaces.WordprocessingML);
// appendBorderAttributes(brcVert, insideVBorder);
// addOrSetBorder(_tblBorders, insideVBorder);
//}
//if (_tblBorders.ChildNodes.Count > 0)
//{
// _tblPrEx.AppendChild(_tblBorders);
//}
//set exceptions
if ( _tblPrEx->GetChildCount() > 0 )
{
_trPr->AppendChild( *(_tblPrEx) );
}
//write Properties
if ( ( _trPr->GetChildCount() > 0 ) || ( _trPr->GetAttributeCount() > 0 ) )
{
m_pXmlWriter->WriteString( _trPr->GetXMLString() );
}
}
}

View File

@ -1,151 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "ByteStructure.h"
namespace DocFileFormat
{
// BreaK Descriptor (BKD)
class Tbkd : public ByteStructure
{
public:
static const int STRUCTURE_SIZE = 6;
Tbkd() : ipgd(0), itxbxs(0), dcpDepend(0), icol(0), fTableBreak(false), fColumnBreak(false), fMarked(false), fUnk(false), fTextOverflow(false)
{
}
virtual ~Tbkd()
{
}
virtual ByteStructure* ConstructObject (VirtualStreamReader* reader, int length)
{
Tbkd* pTbkd = new Tbkd();
pTbkd->ipgd = reader->ReadInt16();
pTbkd->itxbxs = pTbkd->ipgd;
pTbkd->dcpDepend = reader->ReadInt16();
int flag = (int)reader->ReadInt16();
pTbkd->icol = (unsigned short)FormatUtils::BitmaskToInt(flag, 0x00FF);
pTbkd->fTableBreak = FormatUtils::BitmaskToBool(flag, 0x0100);
pTbkd->fColumnBreak = FormatUtils::BitmaskToBool(flag, 0x0200);
pTbkd->fMarked = FormatUtils::BitmaskToBool(flag, 0x0400);
pTbkd->fUnk = FormatUtils::BitmaskToBool(flag, 0x0800);
pTbkd->fTextOverflow = FormatUtils::BitmaskToBool(flag, 0x1000);
return static_cast<ByteStructure*>(pTbkd);
}
private:
/// Except in textbox BKD, index to PGD in plfpgd that describes the page this break is on
short ipgd;
/// In textbox BKD
short itxbxs;
/// Number of cp's considered for this break; note that the CP's described by cpDepend in this break reside in the next BKD
short dcpDepend;
unsigned short icol;
/// When true, this indicates that this is a table break.
bool fTableBreak;
/// When true, this indicates that this is a column break.
bool fColumnBreak;
/// Used temporarily while Word is running.
bool fMarked;
/// In textbox BKD, when true indicates cpLim of this textbox is not valid
bool fUnk;
/// In textbox BKD, when true indicates that text overflows the end of this textbox
bool fTextOverflow;
};
class FTXBXS : public ByteStructure
{
friend class TextboxMapping;
public:
static const int STRUCTURE_SIZE = 22;
struct FTXBXSReusable
{
int iNextReuse;
int cReusable;
};
struct FTXBXNonReusable
{
int cTxbx;
int cTxbxEdit; // This value MUST be zero and MUST be ignored.
};
FTXBXS ()
{
}
virtual ~FTXBXS()
{
}
virtual ByteStructure* ConstructObject (VirtualStreamReader* reader, int length)
{
FTXBXS* pFTXBXS = new FTXBXS();
if (!pFTXBXS) return NULL;
pFTXBXS->reusable01 = reader->ReadInt32();
pFTXBXS->reusable02 = reader->ReadInt32();
pFTXBXS->fReusable = reader->ReadInt16();
pFTXBXS->itxbxsDest = reader->ReadInt32();
pFTXBXS->lid = reader->ReadInt32();
pFTXBXS->txidUndo = reader->ReadInt32();
return static_cast<ByteStructure*>(pFTXBXS);
}
private:
int reusable01;
int reusable02;
short fReusable; // ставим в 0 потому что один TbRef привязан к одному элементу
int itxbxsDest; // This field MUST be ignored.
int lid;
int txidUndo; // This value MUST be zero and MUST be ignored.
};
}

View File

@ -1,184 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "Converter.h"
#include "TextboxMapping.h"
#include "TableMapping.h"
#include "FooterMapping.h"
#include "HeaderMapping.h"
#include "MainDocumentMapping.h"
namespace DocFileFormat
{
int TextboxMapping::TextboxCount = 0;
TextboxMapping::TextboxMapping (ConversionContext* ctx, int nTBIndex, XMLTools::CStringXmlWriter* writer, IMapping* caller ): DocumentMapping( ctx, writer, caller ), m_nTBIndex(0)
{
TextboxCount++;
m_nTBIndex = nTBIndex;
SetInset(-1,-1,-1,-1);
}
TextboxMapping::TextboxMapping (ConversionContext* ctx, XMLTools::CStringXmlWriter* writer, IMapping* caller) : DocumentMapping( ctx, writer, caller ), m_nTBIndex(0)
{
TextboxCount++;
m_nTBIndex = TextboxCount - 1;
SetInset(-1,-1,-1,-1);
}
TextboxMapping::~TextboxMapping()
{
//TextboxCount--;
}
}
namespace DocFileFormat
{
void TextboxMapping::SetTextboxStyle(const std::wstring & style)
{
m_sTextBoxStyle = style;
}
void TextboxMapping::SetInset (int nLeft, int nTop, int nRight, int nBottom)
{
//emu to pt (1 pt = 12700)
m_dxTextLeft = nLeft / 12700.;
m_dyTextTop = nTop / 12700.;
m_dxTextRight = nRight / 12700.;
m_dyTextBottom = nBottom / 12700.;
}
void TextboxMapping::Apply (IVisitable* visited)
{
m_document = static_cast<WordDocument*>(visited);
if (m_document)
{
//if (m_nTBIndex < m_document->TextboxBreakPlex->Elements.size())
// return;
m_pXmlWriter->WriteNodeBegin(L"v:textbox", true);
if(m_dxTextLeft >= 0 && m_dyTextTop >= 0 && m_dxTextRight >= 0 && m_dyTextBottom >= 0)
{
m_pXmlWriter->WriteAttribute( L"inset" , FormatUtils::DoubleToWideString(m_dxTextLeft) + L"pt," +
FormatUtils::DoubleToWideString(m_dyTextTop) + L"pt," +
FormatUtils::DoubleToWideString(m_dxTextRight) + L"pt," +
FormatUtils::DoubleToWideString(m_dyTextBottom) + L"pt");
}
if (!m_sTextBoxStyle.empty())
{
m_pXmlWriter->WriteAttribute( L"style", m_sTextBoxStyle);
}
m_pXmlWriter->WriteNodeEnd( L"", true, false );
m_pXmlWriter->WriteNodeBegin( L"w:txbxContent" );
int cp = 0;
int cpEnd = 0;
Tbkd* bkd = NULL;
int txtbxSubdocStart =
m_document->FIB->m_RgLw97.ccpText +
m_document->FIB->m_RgLw97.ccpFtn +
m_document->FIB->m_RgLw97.ccpHdr +
m_document->FIB->m_RgLw97.ccpAtn +
m_document->FIB->m_RgLw97.ccpEdn ;
if (typeid(*_caller) == typeid(MainDocumentMapping))
{
if (m_nTBIndex < m_document->TextboxBreakPlex->Elements.size() )//file(21).doc
{
bkd = static_cast<Tbkd*>(m_document->TextboxBreakPlex->Elements[m_nTBIndex]);
}
if (m_nTBIndex + 1 < m_document->TextboxBreakPlex->CharacterPositions.size())
{
cp = txtbxSubdocStart + m_document->TextboxBreakPlex->CharacterPositions[m_nTBIndex];
cpEnd = txtbxSubdocStart + m_document->TextboxBreakPlex->CharacterPositions[m_nTBIndex + 1];
}
else if (m_nTBIndex + 1 < m_document->TextboxIndividualPlex->CharacterPositions.size())
{
//todooo сделать чище
cp = m_document->TextboxIndividualPlex->CharacterPositions[m_nTBIndex] + 2;
cpEnd = m_document->TextboxIndividualPlex->CharacterPositions[m_nTBIndex + 1];
}
}
else if ((typeid(*_caller) == typeid(HeaderMapping)) || (typeid(*_caller) == typeid(FooterMapping)))
{
txtbxSubdocStart += m_document->FIB->m_RgLw97.ccpTxbx;
bkd = static_cast<Tbkd*>(m_document->TextboxBreakPlexHeader->Elements[m_nTBIndex]);
cp = txtbxSubdocStart + m_document->TextboxBreakPlexHeader->CharacterPositions[m_nTBIndex];
cpEnd = txtbxSubdocStart + m_document->TextboxBreakPlexHeader->CharacterPositions[m_nTBIndex + 1];
}
_isTextBoxContent = true;
//convert the textbox text
_lastValidPapx = (*(m_document->AllPapxFkps->begin()))->grppapx[0];
ParagraphPropertyExceptions* papx_prev = NULL;
while (cp < cpEnd)
{
int fc = m_document->FindFileCharPos(cp);
if (fc < 0) break;
ParagraphPropertyExceptions* papx = findValidPapx( fc );
if (papx_prev && papx_prev == papx)//file(21).doc
break;
papx_prev = papx;
TableInfo tai( papx, m_document->nWordVersion );
if ( tai.fInTable )
{
//this PAPX is for a table
Table table( this, cp, ( ( tai.iTap > 0 ) ? ( 1 ) : ( 0 ) ) );
table.Convert( this );
cp = table.GetCPEnd();
}
else
{
//this PAPX is for a normal paragraph
cp = writeParagraph( cp, 0x7fffffff );
}
}
_isTextBoxContent = false;
m_pXmlWriter->WriteNodeEnd( L"w:txbxContent" );
m_pXmlWriter->WriteNodeEnd( L"v:textbox" );
}
}
}

View File

@ -1,294 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "IBinaryReader.h"
#include "../Common/FormatUtils.h"
#include "../../Common/3dParty/pole/pole.h"
#include "../../Common/DocxFormat/Source/Base/Types_32.h"
class VirtualStreamReader : public IBinaryReader
{
public:
VirtualStreamReader (POLE::Stream* _stream, ULONG _position , int _nWordVersion) :
nWordVersion(_nWordVersion), stream(_stream), position(_position)
{
if ( stream == NULL )return;
stream->seek(position);
}
virtual ~VirtualStreamReader()
{
}
virtual unsigned short ReadUInt16()
{
unsigned short rdUShort = 0;
if (( stream != NULL ) && (position + 2 < stream->size()))
{
stream->seek( position );
stream->read((unsigned char*)(&rdUShort), sizeof( rdUShort ));
}
position += sizeof( rdUShort );
return rdUShort;
}
virtual short ReadInt16()
{
short rdShort = 0;
if (( stream != NULL ) && (position + 2 < stream->size()))
{
stream->seek( position );
stream->read((unsigned char*)(&rdShort), sizeof( rdShort ));
}
position += sizeof( rdShort );
return rdShort;
}
virtual int ReadInt32()
{
_INT32 rdInt = 0;
if (( stream != NULL ) && (position + 4 < stream->size()))
{
stream->seek( position );
stream->read( (unsigned char*) &rdInt, sizeof( rdInt ) );
}
position += sizeof( rdInt );
return rdInt;
}
virtual unsigned int ReadUInt32()
{
_UINT32 rdUInt = 0;
if (( stream != NULL ) && (position + 4 < stream->size()))
{
stream->seek( position );
stream->read((unsigned char*) &rdUInt, sizeof( rdUInt ) );
}
position += sizeof( rdUInt );
return rdUInt;
}
virtual unsigned char ReadByte()
{
unsigned char rdByte = 0;
if (( stream != NULL ) && (position + 1 < stream->size()))
{
stream->seek( position);
stream->read( (unsigned char*)&rdByte, sizeof( rdByte ) );
}
position += sizeof( rdByte );
return rdByte;
}
virtual unsigned char* ReadBytes( unsigned int count, bool isResultNeeded )
{
unsigned char *rdBytes = NULL;
if ( count > 0 && isResultNeeded)
{
if (position + count > stream->size())
{
if (position > stream->size()) count = 0;
else count = (unsigned int)(stream->size() - position);
}
rdBytes = new unsigned char[count];
}
if ( stream != NULL && rdBytes != NULL )
{
stream->seek( position );
count = (unsigned int)stream->read( rdBytes, count );
}
position += count;
return rdBytes;
}
virtual unsigned long GetPosition() const
{
return (unsigned long)this->position;
}
virtual unsigned long GetSize() const
{
unsigned long size = 0;
if ( stream != NULL )
{
size = (unsigned long)stream->size();
}
return size;
}
virtual int Seek( int offset, int origin )
{
if ( stream != NULL )
{
if (origin > 1)
{
}
stream->seek( offset );
position = offset;
return offset;
}
else
{
return 0;
}
}
std::wstring ReadXst()
{
if (!stream) return L"";
std::wstring wstrResult;
unsigned char* xstz = NULL;
unsigned char* cch = NULL;
if (nWordVersion > 0)
{
int cchSize = 1;
cch = ReadBytes( cchSize, true );
int xstzSize = DocFileFormat::FormatUtils::BytesToUChar( cch, 0, cchSize ) * 1;
xstz = ReadBytes(xstzSize, true);
DocFileFormat::FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &wstrResult, xstz, xstzSize, ENCODING_WINDOWS_1250 );
}
else
{
int cchSize = 2;
cch = ReadBytes( cchSize, true );
int xstzSize = DocFileFormat::FormatUtils::BytesToInt16( cch, 0, cchSize ) * 2;
xstz = ReadBytes(xstzSize, true);
DocFileFormat::FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &wstrResult, xstz, xstzSize, ENCODING_UTF16 );
}
RELEASEARRAYOBJECTS(xstz);
RELEASEARRAYOBJECTS(cch);
return wstrResult;
}
/// Read a length prefixed Unicode string from the given stream.
/// The string must have the following structure:
/// unsigned char 1 - 4: Character count (cch)
/// unsigned char 5 - (cch*2)+4: Unicode characters terminated by \0
std::wstring ReadLengthPrefixedUnicodeString()
{
std::wstring result;
int cch = ReadInt32();
if ( cch > 0 )
{
//dont read the terminating zero
unsigned char* stringBytes = ReadBytes( ( cch * 2 ), true );
DocFileFormat::FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &result, stringBytes, ( ( cch * 2 ) - 2 ), ENCODING_UTF16 );
RELEASEARRAYOBJECTS( stringBytes );
}
return result;
}
/// Read a length prefixed ANSI string from the given stream.
/// The string must have the following structure:
/// unsigned char 1-4: Character count (cch)
/// unsigned char 5-cch+4: ANSI characters terminated by \0
std::wstring ReadLengthPrefixedAnsiString(unsigned int max_size)
{
std::wstring result;
unsigned int cch = ReadUInt32();
unsigned char* stringBytes = NULL;
if (cch > max_size)
{
//error ... skip to 0
unsigned int pos_orinal = GetPosition();
unsigned int pos = 0;
stringBytes = ReadBytes( max_size, true );
if (stringBytes)
{
while(pos < max_size)
{
if (stringBytes[pos] == 0)
break;
pos++;
}
}
Seek(pos_orinal + pos - 1, 0);
}else
if ( cch > 0 )
{
//dont read the terminating zero
stringBytes = ReadBytes( cch, true );
DocFileFormat::FormatUtils::GetSTLCollectionFromBytes<std::wstring>( &result, stringBytes, ( cch - 1 ), ENCODING_WINDOWS_1250);
}
RELEASEARRAYOBJECTS( stringBytes );
return result;
}
int nWordVersion;
private:
POLE::uint64 position;
POLE::Stream* stream;
};

View File

@ -1,75 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "VirtualStreamReader.h"
#include "ByteStructure.h"
namespace DocFileFormat
{
class WideString: public std::wstring, public ByteStructure
{
public:
WideString( VirtualStreamReader reader, int length ): std::wstring()
{
}
WideString(): std::wstring()
{
}
virtual ~WideString()
{
}
virtual ByteStructure* ConstructObject( VirtualStreamReader* reader, int length )
{
WideString* newObject = new WideString();
unsigned char *bytes = NULL;
bytes = reader->ReadBytes( length, true );
//It's a real string table
if (reader->nWordVersion > 0)
{
FormatUtils::GetSTLCollectionFromBytes<WideString>( newObject, bytes, length, ENCODING_WINDOWS_1250 );
}
else
{
FormatUtils::GetSTLCollectionFromBytes<WideString>( newObject, bytes, length, ENCODING_UTF16 );
}
RELEASEARRAYOBJECTS( bytes );
return static_cast<ByteStructure*>( newObject );
}
};
}

File diff suppressed because it is too large Load Diff

View File

@ -1,183 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "WordprocessingDocument.h"
#include "../../DesktopEditor/common/Directory.h"
#include "../../DesktopEditor/common/SystemUtils.h"
#include "../../Common/DocxFormat/Source/DocxFormat/App.h"
#include "../../Common/DocxFormat/Source/DocxFormat/Core.h"
#include "../../Common/DocxFormat/Source/DocxFormat/ContentTypes.h"
namespace DocFileFormat
{
WordprocessingDocument::WordprocessingDocument(const std::wstring & _pathOutput, const WordDocument* _docFile) :
OpenXmlPackage( _docFile )
{
m_strOutputPath = _pathOutput;
}
WordprocessingDocument::~WordprocessingDocument()
{
}
void WordprocessingDocument::SaveDocument(bool &bMacros)
{
std::wstring pathWord = m_strOutputPath + FILE_SEPARATOR_STR + L"word" ;
NSDirectory::CreateDirectory( pathWord );
if (bMacros && docFile->GetStorage()->isDirectory(L"Macros"))
{
std::wstring sVbaProjectFile = pathWord + FILE_SEPARATOR_STR + L"vbaProject.bin";
POLE::Storage *storageVbaProject = new POLE::Storage(sVbaProjectFile.c_str());
if ((storageVbaProject) && (storageVbaProject->open(true, true)))
{
docFile->GetStorage()->copy(0, L"Macros/", storageVbaProject, false);
storageVbaProject->close();
delete storageVbaProject;
RegisterDocumentMacros();
RegisterVbaProject();
//output_document->get_xl_files().add_vba_project();
}
else bMacros = false;
}
else
bMacros = false;
if (!bMacros)
{
RegisterDocument();
}
OOX::CContentTypes oContentTypes;
OOX::CPath pathDocProps = m_strOutputPath + FILE_SEPARATOR_STR + _T("docProps");
NSDirectory::CreateDirectory(pathDocProps.GetPath());
OOX::CPath DocProps = std::wstring(_T("docProps"));
OOX::CApp* pApp = new OOX::CApp(NULL);
if (pApp)
{
std::wstring sApplication = NSSystemUtils::GetEnvVariable(NSSystemUtils::gc_EnvApplicationName);
if (sApplication.empty())
sApplication = NSSystemUtils::gc_EnvApplicationNameDefault;
pApp->SetApplication(sApplication);
#if defined(INTVER)
pApp->SetAppVersion(VALUE2STR(INTVER));
#endif
pApp->SetDocSecurity(0);
pApp->SetScaleCrop(false);
pApp->SetLinksUpToDate(false);
pApp->SetSharedDoc(false);
pApp->SetHyperlinksChanged(false);
pApp->write(pathDocProps + FILE_SEPARATOR_STR + _T("app.xml"), DocProps, oContentTypes);
delete pApp;
}
OOX::CCore* pCore = new OOX::CCore(NULL);
if (pCore)
{
pCore->SetCreator(_T(""));
pCore->SetLastModifiedBy(_T(""));
pCore->write(pathDocProps + FILE_SEPARATOR_STR + _T("core.xml"), DocProps, oContentTypes);
delete pCore;
}
RegisterDocPr();
WritePackage();
//Write main content. (word directory)
SaveToFile(pathWord, std::wstring( L"document.xml" ), DocumentXML );
SaveToFile(pathWord, std::wstring( L"fontTable.xml" ), FontTableXML );
SaveToFile(pathWord, std::wstring( L"styles.xml" ), StyleSheetXML );
SaveToFile(pathWord, std::wstring( L"footnotes.xml" ), FootnotesXML );
SaveToFile(pathWord, std::wstring( L"endnotes.xml" ), EndnotesXML );
SaveToFile(pathWord, std::wstring( L"numbering.xml" ), NumberingXML );
SaveToFile(pathWord, std::wstring( L"comments.xml" ), CommentsXML );
SaveToFile(pathWord, std::wstring( L"commentsExtended.xml"),CommentsExtendedXML );
SaveToFile(pathWord, std::wstring( L"settings.xml" ), SettingsXML );
SaveToFile(pathWord, std::wstring( L"customizations.xml" ), CommandTableXML );
if (!ImagesList.empty())
{
std::wstring pathMedia = pathWord + FILE_SEPARATOR_STR + L"media";
NSDirectory::CreateDirectory(pathMedia);
int i = 1;
for (std::list<ImageFileStructure>::iterator iter = ImagesList.begin(); iter != ImagesList.end(); ++iter)
{
SaveToFile(pathMedia, std::wstring(L"image" ) + FormatUtils::IntToWideString(i++) + iter->ext, (void*)iter->data.get(), iter->size);
}
}
if (!OleObjectsList.empty())
{
std::wstring pathObjects = pathWord + FILE_SEPARATOR_STR + L"embeddings" ;
NSDirectory::CreateDirectory( pathObjects );
int i = 1;
for (std::list<OleObjectFileStructure>::iterator iter = OleObjectsList.begin(); iter != OleObjectsList.end(); ++iter)
{
std::wstring fileName = pathObjects + FILE_SEPARATOR_STR + L"oleObject" + FormatUtils::IntToWideString(i++) + iter->ext;
if (!iter->data.empty())
{
SaveEmbeddedObject(fileName, *iter);
}
else
{
SaveOLEObject( fileName, *iter );
}
}
}
int headersCount = 0;
int footersCount = 0;
for (std::list<std::wstring>::iterator iter = HeaderXMLList.begin(); iter != HeaderXMLList.end(); ++iter)
{
SaveToFile(pathWord, ( std::wstring( L"header" ) + FormatUtils::IntToWideString(++headersCount) + std::wstring( L".xml" ) ), *iter);
}
for (std::list<std::wstring>::iterator iter = FooterXMLList.begin(); iter != FooterXMLList.end(); ++iter)
{
SaveToFile(pathWord, ( std::wstring( L"footer" ) + FormatUtils::IntToWideString(++footersCount) + std::wstring( L".xml" ) ), *iter);
}
}
}

View File

@ -1,268 +0,0 @@
#-------------------------------------------------
#
# Project created by QtCreator 2014-12-16T18:28:23
#
#-------------------------------------------------
QT -= core gui
TARGET = DocFormatLib
TEMPLATE = lib
CONFIG += staticlib
CORE_ROOT_DIR = $$PWD/../../..
PWD_ROOT_DIR = $$PWD
CONFIG += core_x2t
include(../../../Common/base.pri)
#BOOST
include($$PWD/../../../Common/3dParty/boost/boost.pri)
DEFINES += UNICODE \
_UNICODE \
DONT_WRITE_EMBEDDED_FONTS
core_mac {
#QMAKE_MAC_SDK = macosx10.11
}
SOURCES += \
../DocFormatLib.cpp \
../../../Common/3dParty/pole/pole.cpp \
../../DocDocxConverter/EncryptionHeader.cpp \
../../DocDocxConverter/DrawingPrimitives.cpp \
../../DocDocxConverter/Spa.cpp \
../../DocDocxConverter/OleObject.cpp
core_release {
SOURCES += \
docformatlib_converter.cpp
}
core_debug {
SOURCES += \
../../DocDocxConverter/AnnotationReferenceDescriptor.cpp \
../../DocDocxConverter/CharacterPropertiesMapping.cpp \
../../DocDocxConverter/Converter.cpp \
../../DocDocxConverter/DocumentMapping.cpp \
../../DocDocxConverter/DocumentProperties.cpp \
../../DocDocxConverter/FontFamilyName.cpp \
../../DocDocxConverter/FontTableMapping.cpp \
../../DocDocxConverter/FooterMapping.cpp \
../../DocDocxConverter/FormattedDiskPageCHPX.cpp \
../../DocDocxConverter/FormattedDiskPagePAPX.cpp \
../../DocDocxConverter/HeaderAndFooterTable.cpp \
../../DocDocxConverter/HeaderMapping.cpp \
../../DocDocxConverter/LanguageIdMapping.cpp \
../../DocDocxConverter/ListData.cpp \
../../DocDocxConverter/ListLevel.cpp \
../../DocDocxConverter/ListTable.cpp \
../../DocDocxConverter/MainDocumentMapping.cpp \
../../DocDocxConverter/NumberingMapping.cpp \
../../DocDocxConverter/OpenXmlPackage.cpp \
../../DocDocxConverter/ParagraphHeight.cpp \
../../DocDocxConverter/ParagraphPropertiesMapping.cpp \
../../DocDocxConverter/ParagraphPropertyExceptions.cpp \
../../DocDocxConverter/PictureDescriptor.cpp \
../../DocDocxConverter/PieceTable.cpp \
../../DocDocxConverter/PropertiesMapping.cpp \
../../DocDocxConverter/PropertyExceptions.cpp \
../../DocDocxConverter/RevisionData.cpp \
../../DocDocxConverter/SectionPropertiesMapping.cpp \
../../DocDocxConverter/SettingsMapping.cpp \
../../DocDocxConverter/SinglePropertyModifier.cpp \
../../DocDocxConverter/StyleSheet.cpp \
../../DocDocxConverter/StyleSheetDescription.cpp \
../../DocDocxConverter/StyleSheetInformation.cpp \
../../DocDocxConverter/StyleSheetMapping.cpp \
../../DocDocxConverter/TableCellPropertiesMapping.cpp \
../../DocDocxConverter/TableMapping.cpp \
../../DocDocxConverter/TablePropertiesMapping.cpp \
../../DocDocxConverter/TableRowPropertiesMapping.cpp \
../../DocDocxConverter/TextboxMapping.cpp \
../../DocDocxConverter/VMLPictureMapping.cpp \
../../DocDocxConverter/VMLShapeMapping.cpp \
../../DocDocxConverter/VMLShapeTypeMapping.cpp \
../../DocDocxConverter/WordDocument.cpp \
../../DocDocxConverter/WordprocessingDocument.cpp \
../../DocDocxConverter/FormFieldData.cpp \
../../DocDocxConverter/OfficeDrawing/Record.cpp \
../../DocDocxConverter/OfficeDrawing/RecordFactory.cpp \
../../DocDocxConverter/OfficeDrawing/ShapeTypeFactory.cpp
}
HEADERS += \
../DocFormatLib.h \
../../Common/Aggregat.h \
../../Common/FormatUtils.h \
../../Common/IOperand.h \
../../Common/IVirtualConstructor.h \
../../Common/LanguageCodes.h \
../../Common/Singleton.h \
../../Common/SPRMCodes.h \
../../Common/TargetOptions.h \
../../Common/TextMark.h \
../../Common/utf8.h \
../../Common/XmlTools.h \
../../DocDocxConverter/AbstractOpenXmlMapping.h \
../../DocDocxConverter/AnnotationOwnerList.h \
../../DocDocxConverter/AnnotationReferenceDescriptor.h \
../../DocDocxConverter/AutoSummaryInfo.h \
../../DocDocxConverter/BookmarkFirst.h \
../../DocDocxConverter/BorderCode.h \
../../DocDocxConverter/ByteStructure.h \
../../DocDocxConverter/CharacterPropertiesMapping.h \
../../DocDocxConverter/CharacterPropertyExceptions.h \
../../DocDocxConverter/CharacterRange.h \
../../DocDocxConverter/CommentsMapping.h \
../../DocDocxConverter/ContentTypes.h \
../../DocDocxConverter/ConversionContext.h \
../../DocDocxConverter/Converter.h \
../../DocDocxConverter/DateAndTime.h \
../../DocDocxConverter/DocumentMapping.h \
../../DocDocxConverter/DocumentProperties.h \
../../DocDocxConverter/DocumentTypographyInfo.h \
../../DocDocxConverter/DrawingObjectGrid.h \
../../DocDocxConverter/EmuValue.h \
../../DocDocxConverter/EndnoteDescriptor.h \
../../DocDocxConverter/EndnotesMapping.h \
../../DocDocxConverter/FieldCharacter.h \
../../DocDocxConverter/FileInformationBlock.h \
../../DocDocxConverter/FixedPointNumber.h \
../../DocDocxConverter/FontFamilyName.h \
../../DocDocxConverter/FontTableMapping.h \
../../DocDocxConverter/FooterMapping.h \
../../DocDocxConverter/FootnoteDescriptor.h \
../../DocDocxConverter/FootnotesMapping.h \
../../DocDocxConverter/FormattedDiskPage.h \
../../DocDocxConverter/FormattedDiskPageCHPX.h \
../../DocDocxConverter/FormattedDiskPagePAPX.h \
../../DocDocxConverter/Global.h \
../../DocDocxConverter/HeaderAndFooterTable.h \
../../DocDocxConverter/HeaderMapping.h \
../../DocDocxConverter/IBinaryReader.h \
../../DocDocxConverter/IMapping.h \
../../DocDocxConverter/IVisitable.h \
../../DocDocxConverter/LanguageId.h \
../../DocDocxConverter/LanguageIdMapping.h \
../../DocDocxConverter/LineSpacingDescriptor.h \
../../DocDocxConverter/ListData.h \
../../DocDocxConverter/ListFormatOverride.h \
../../DocDocxConverter/ListFormatOverrideLevel.h \
../../DocDocxConverter/ListFormatOverrideTable.h \
../../DocDocxConverter/ListLevel.h \
../../DocDocxConverter/ListTable.h \
../../DocDocxConverter/MainDocumentMapping.h \
../../DocDocxConverter/MemoryStream.h \
../../DocDocxConverter/NumberingMapping.h \
../../DocDocxConverter/OfficeArtContent.h \
../../DocDocxConverter/OleObject.h \
../../DocDocxConverter/OleObjectMapping.h \
../../DocDocxConverter/OpenXmlPackage.h \
../../DocDocxConverter/ParagraphHeight.h \
../../DocDocxConverter/ParagraphPropertiesMapping.h \
../../DocDocxConverter/ParagraphPropertyExceptions.h \
../../DocDocxConverter/PictureDescriptor.h \
../../DocDocxConverter/PieceDescriptor.h \
../../DocDocxConverter/PieceTable.h \
../../DocDocxConverter/Plex.h \
../../DocDocxConverter/PropertiesMapping.h \
../../DocDocxConverter/PropertyExceptions.h \
../../DocDocxConverter/RevisionData.h \
../../DocDocxConverter/RGBColor.h \
../../DocDocxConverter/SectionDescriptor.h \
../../DocDocxConverter/SectionPropertiesMapping.h \
../../DocDocxConverter/SectionPropertyExceptions.h \
../../DocDocxConverter/SettingsMapping.h \
../../DocDocxConverter/ShadingDescriptor.h \
../../DocDocxConverter/SinglePropertyModifier.h \
../../DocDocxConverter/Spa.h \
../../DocDocxConverter/SprmTDefTable.h \
../../DocDocxConverter/StringTable.h \
../../DocDocxConverter/StructuredStorageReader.h \
../../DocDocxConverter/StyleSheet.h \
../../DocDocxConverter/StyleSheetDescription.h \
../../DocDocxConverter/StyleSheetInformation.h \
../../DocDocxConverter/StyleSheetMapping.h \
../../DocDocxConverter/TabDescriptor.h \
../../DocDocxConverter/TableCellPropertiesMapping.h \
../../DocDocxConverter/TableInfo.h \
../../DocDocxConverter/TableMapping.h \
../../DocDocxConverter/TablePropertiesMapping.h \
../../DocDocxConverter/TablePropertyExceptions.h \
../../DocDocxConverter/TableRowPropertiesMapping.h \
../../DocDocxConverter/Tbkd.h \
../../DocDocxConverter/TextboxMapping.h \
../../DocDocxConverter/TwipsValue.h \
../../DocDocxConverter/VirtualStreamReader.h \
../../DocDocxConverter/VMLPictureMapping.h \
../../DocDocxConverter/VMLShapeMapping.h \
../../DocDocxConverter/VMLShapeTypeMapping.h \
../../DocDocxConverter/WideString.h \
../../DocDocxConverter/WordDocument.h \
../../DocDocxConverter/WordprocessingDocument.h \
../../DocDocxConverter/OfficeDrawing/BitmapBlip.h \
../../DocDocxConverter/OfficeDrawing/BlipStoreContainer.h \
../../DocDocxConverter/OfficeDrawing/BlipStoreEntry.h \
../../DocDocxConverter/OfficeDrawing/ChildAnchor.h \
../../DocDocxConverter/OfficeDrawing/ClientAnchor.h \
../../DocDocxConverter/OfficeDrawing/ClientData.h \
../../DocDocxConverter/OfficeDrawing/DrawingContainer.h \
../../DocDocxConverter/OfficeDrawing/DrawingGroup.h \
../../DocDocxConverter/OfficeDrawing/DrawingGroupRecord.h \
../../DocDocxConverter/OfficeDrawing/DrawingRecord.h \
../../DocDocxConverter/OfficeDrawing/GroupContainer.h \
../../DocDocxConverter/OfficeDrawing/GroupShapeRecord.h \
../../DocDocxConverter/OfficeDrawing/MetafilePictBlip.h \
../../DocDocxConverter/OfficeDrawing/OfficeArtClientTextbox.h \
../../DocDocxConverter/OfficeDrawing/PathParser.h \
../../DocDocxConverter/OfficeDrawing/PathSegment.h \
../../DocDocxConverter/OfficeDrawing/Record.h \
../../DocDocxConverter/OfficeDrawing/RecordFactory.h \
../../DocDocxConverter/OfficeDrawing/RegularContainer.h \
../../DocDocxConverter/OfficeDrawing/Shape.h \
../../DocDocxConverter/OfficeDrawing/ShapeContainer.h \
../../DocDocxConverter/OfficeDrawing/ShapeOptions.h \
../../DocDocxConverter/OfficeDrawing/ShapeType.h \
../../DocDocxConverter/OfficeDrawing/ShapeTypeFactory.h \
../../DocDocxConverter/OfficeDrawing/SplitMenuColorContainer.h \
../../DocDocxConverter/OfficeDrawing/UnknownRecord.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/ArcType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/ArrowType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/BevelType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/BlockArcType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/BracketsType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/CalloutsType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/CanType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/Connector.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/CubeType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/DiamondType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/DonutType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/FlowChartType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/FoldedCornerlType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/HeartType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/HexagonType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/IsoscelesTriangleType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/LightningBoltType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/LineType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/MoonType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/NoSmokingType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/OctagonType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/OvalType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/ParallelogramType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/PentagonType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/PictureFrameType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/PlaqueType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/PlusType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/RectangleType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/RightTriangleType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/RoundedRectangleType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/SmileyFaceType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/StarType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/SunType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/TextboxType.h \
../../DocDocxConverter/OfficeDrawing/Shapetypes/TrapezoidType.h \
../../../Common/3dParty/pole/pole.h \
../../DocDocxConverter/EncryptionHeader.h \
../../DocDocxConverter/DrawingPrimitives.h

View File

@ -1,80 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#include "../../DocDocxConverter/AnnotationReferenceDescriptor.cpp"
#include "../../DocDocxConverter/CharacterPropertiesMapping.cpp"
#include "../../DocDocxConverter/Converter.cpp"
#include "../../DocDocxConverter/DocumentMapping.cpp"
#include "../../DocDocxConverter/DocumentProperties.cpp"
#include "../../DocDocxConverter/FontFamilyName.cpp"
#include "../../DocDocxConverter/FontTableMapping.cpp"
#include "../../DocDocxConverter/FooterMapping.cpp"
#include "../../DocDocxConverter/FormattedDiskPageCHPX.cpp"
#include "../../DocDocxConverter/FormattedDiskPagePAPX.cpp"
#include "../../DocDocxConverter/HeaderAndFooterTable.cpp"
#include "../../DocDocxConverter/HeaderMapping.cpp"
#include "../../DocDocxConverter/LanguageIdMapping.cpp"
#include "../../DocDocxConverter/ListData.cpp"
#include "../../DocDocxConverter/ListLevel.cpp"
#include "../../DocDocxConverter/ListTable.cpp"
#include "../../DocDocxConverter/MainDocumentMapping.cpp"
#include "../../DocDocxConverter/NumberingMapping.cpp"
#include "../../DocDocxConverter/OpenXmlPackage.cpp"
#include "../../DocDocxConverter/ParagraphHeight.cpp"
#include "../../DocDocxConverter/ParagraphPropertiesMapping.cpp"
#include "../../DocDocxConverter/ParagraphPropertyExceptions.cpp"
#include "../../DocDocxConverter/PictureDescriptor.cpp"
#include "../../DocDocxConverter/PieceTable.cpp"
#include "../../DocDocxConverter/PropertiesMapping.cpp"
#include "../../DocDocxConverter/PropertyExceptions.cpp"
#include "../../DocDocxConverter/RevisionData.cpp"
#include "../../DocDocxConverter/SectionPropertiesMapping.cpp"
#include "../../DocDocxConverter/SettingsMapping.cpp"
#include "../../DocDocxConverter/SinglePropertyModifier.cpp"
#include "../../DocDocxConverter/StyleSheet.cpp"
#include "../../DocDocxConverter/StyleSheetDescription.cpp"
#include "../../DocDocxConverter/StyleSheetInformation.cpp"
#include "../../DocDocxConverter/StyleSheetMapping.cpp"
#include "../../DocDocxConverter/TableCellPropertiesMapping.cpp"
#include "../../DocDocxConverter/TableMapping.cpp"
#include "../../DocDocxConverter/TablePropertiesMapping.cpp"
#include "../../DocDocxConverter/TableRowPropertiesMapping.cpp"
#include "../../DocDocxConverter/TextboxMapping.cpp"
#include "../../DocDocxConverter/VMLPictureMapping.cpp"
#include "../../DocDocxConverter/VMLShapeMapping.cpp"
#include "../../DocDocxConverter/VMLShapeTypeMapping.cpp"
#include "../../DocDocxConverter/WordDocument.cpp"
#include "../../DocDocxConverter/WordprocessingDocument.cpp"
#include "../../DocDocxConverter/FormFieldData.cpp"
#include "../../DocDocxConverter/OfficeDrawing/Record.cpp"
#include "../../DocDocxConverter/OfficeDrawing/RecordFactory.cpp"
#include "../../DocDocxConverter/OfficeDrawing/ShapeTypeFactory.cpp"

View File

@ -1,885 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
6967B2F91E27C26800A129E2 /* DocFormatLib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B2F71E27C26800A129E2 /* DocFormatLib.cpp */; };
6967B3E11E27C2D500A129E2 /* pole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B3DF1E27C2D500A129E2 /* pole.cpp */; };
6967B4C31E27C52700A129E2 /* AnnotationReferenceDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B3E71E27C52700A129E2 /* AnnotationReferenceDescriptor.cpp */; };
6967B4C41E27C52700A129E2 /* CharacterPropertiesMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B3ED1E27C52700A129E2 /* CharacterPropertiesMapping.cpp */; };
6967B4C51E27C52700A129E2 /* Converter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B3F41E27C52700A129E2 /* Converter.cpp */; };
6967B4C61E27C52700A129E2 /* DocumentMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B3F71E27C52700A129E2 /* DocumentMapping.cpp */; };
6967B4C71E27C52700A129E2 /* DocumentProperties.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B3F91E27C52700A129E2 /* DocumentProperties.cpp */; };
6967B4C81E27C52700A129E2 /* DrawingPrimitives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B3FD1E27C52700A129E2 /* DrawingPrimitives.cpp */; };
6967B4C91E27C52700A129E2 /* EncryptionHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4001E27C52700A129E2 /* EncryptionHeader.cpp */; };
6967B4CA1E27C52700A129E2 /* FontFamilyName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4071E27C52700A129E2 /* FontFamilyName.cpp */; };
6967B4CB1E27C52700A129E2 /* FontTableMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4091E27C52700A129E2 /* FontTableMapping.cpp */; };
6967B4CC1E27C52700A129E2 /* FooterMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B40B1E27C52700A129E2 /* FooterMapping.cpp */; };
6967B4CD1E27C52700A129E2 /* FormattedDiskPageCHPX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4101E27C52700A129E2 /* FormattedDiskPageCHPX.cpp */; };
6967B4CE1E27C52700A129E2 /* FormattedDiskPagePAPX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4121E27C52700A129E2 /* FormattedDiskPagePAPX.cpp */; };
6967B4CF1E27C52700A129E2 /* HeaderAndFooterTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4151E27C52700A129E2 /* HeaderAndFooterTable.cpp */; };
6967B4D01E27C52700A129E2 /* HeaderMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4171E27C52700A129E2 /* HeaderMapping.cpp */; };
6967B4D11E27C52700A129E2 /* LanguageIdMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B41D1E27C52700A129E2 /* LanguageIdMapping.cpp */; };
6967B4D21E27C52700A129E2 /* ListData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4201E27C52700A129E2 /* ListData.cpp */; };
6967B4D31E27C52700A129E2 /* ListLevel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4251E27C52700A129E2 /* ListLevel.cpp */; };
6967B4D41E27C52700A129E2 /* ListTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4271E27C52700A129E2 /* ListTable.cpp */; };
6967B4D51E27C52700A129E2 /* MainDocumentMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4291E27C52700A129E2 /* MainDocumentMapping.cpp */; };
6967B4D61E27C52700A129E2 /* NumberingMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B42C1E27C52700A129E2 /* NumberingMapping.cpp */; };
6967B4DA1E27C52700A129E2 /* OleObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B47A1E27C52700A129E2 /* OleObject.cpp */; };
6967B4DB1E27C52700A129E2 /* OpenXmlPackage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B47D1E27C52700A129E2 /* OpenXmlPackage.cpp */; };
6967B4DC1E27C52700A129E2 /* ParagraphHeight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B47F1E27C52700A129E2 /* ParagraphHeight.cpp */; };
6967B4DD1E27C52700A129E2 /* ParagraphPropertiesMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4811E27C52700A129E2 /* ParagraphPropertiesMapping.cpp */; };
6967B4DE1E27C52700A129E2 /* ParagraphPropertyExceptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4831E27C52700A129E2 /* ParagraphPropertyExceptions.cpp */; };
6967B4DF1E27C52700A129E2 /* PictureDescriptor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4851E27C52700A129E2 /* PictureDescriptor.cpp */; };
6967B4E01E27C52700A129E2 /* PieceTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4881E27C52700A129E2 /* PieceTable.cpp */; };
6967B4E11E27C52700A129E2 /* PropertiesMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B48B1E27C52700A129E2 /* PropertiesMapping.cpp */; };
6967B4E21E27C52700A129E2 /* PropertyExceptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B48D1E27C52700A129E2 /* PropertyExceptions.cpp */; };
6967B4E31E27C52700A129E2 /* RevisionData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B48F1E27C52700A129E2 /* RevisionData.cpp */; };
6967B4E41E27C52700A129E2 /* SectionPropertiesMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4931E27C52700A129E2 /* SectionPropertiesMapping.cpp */; };
6967B4E51E27C52700A129E2 /* SettingsMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4961E27C52700A129E2 /* SettingsMapping.cpp */; };
6967B4E61E27C52700A129E2 /* SinglePropertyModifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4991E27C52700A129E2 /* SinglePropertyModifier.cpp */; };
6967B4E71E27C52700A129E2 /* Spa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B49B1E27C52700A129E2 /* Spa.cpp */; };
6967B4E81E27C52700A129E2 /* StyleSheet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4A01E27C52700A129E2 /* StyleSheet.cpp */; };
6967B4E91E27C52700A129E2 /* StyleSheetDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4A21E27C52700A129E2 /* StyleSheetDescription.cpp */; };
6967B4EA1E27C52700A129E2 /* StyleSheetInformation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4A41E27C52700A129E2 /* StyleSheetInformation.cpp */; };
6967B4EB1E27C52700A129E2 /* StyleSheetMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4A61E27C52700A129E2 /* StyleSheetMapping.cpp */; };
6967B4EC1E27C52700A129E2 /* TableCellPropertiesMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4A91E27C52700A129E2 /* TableCellPropertiesMapping.cpp */; };
6967B4ED1E27C52700A129E2 /* TableMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4AC1E27C52700A129E2 /* TableMapping.cpp */; };
6967B4EE1E27C52700A129E2 /* TablePropertiesMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4AE1E27C52700A129E2 /* TablePropertiesMapping.cpp */; };
6967B4EF1E27C52700A129E2 /* TableRowPropertiesMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4B11E27C52700A129E2 /* TableRowPropertiesMapping.cpp */; };
6967B4F01E27C52700A129E2 /* TextboxMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4B41E27C52700A129E2 /* TextboxMapping.cpp */; };
6967B4F11E27C52700A129E2 /* VMLPictureMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4B81E27C52700A129E2 /* VMLPictureMapping.cpp */; };
6967B4F21E27C52700A129E2 /* VMLShapeMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4BA1E27C52700A129E2 /* VMLShapeMapping.cpp */; };
6967B4F31E27C52700A129E2 /* VMLShapeTypeMapping.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4BC1E27C52700A129E2 /* VMLShapeTypeMapping.cpp */; };
6967B4F41E27C52700A129E2 /* WordDocument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4BF1E27C52700A129E2 /* WordDocument.cpp */; };
6967B4F51E27C52700A129E2 /* WordprocessingDocument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6967B4C11E27C52700A129E2 /* WordprocessingDocument.cpp */; };
8A1BC15322DF34920084799E /* ShapeTypeFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A1BC11622DF34900084799E /* ShapeTypeFactory.cpp */; };
8A1BC15422DF34920084799E /* Record.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A1BC14922DF34920084799E /* Record.cpp */; };
8A1BC15522DF34920084799E /* RecordFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8A1BC15222DF34920084799E /* RecordFactory.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
6967B2E91E27C23A00A129E2 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "include/$(PRODUCT_NAME)";
dstSubfolderSpec = 16;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
6967B2EB1E27C23A00A129E2 /* libDocFormatLib.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libDocFormatLib.a; sourceTree = BUILT_PRODUCTS_DIR; };
6967B2F71E27C26800A129E2 /* DocFormatLib.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DocFormatLib.cpp; path = ../../DocFormatLib.cpp; sourceTree = "<group>"; };
6967B2F81E27C26800A129E2 /* DocFormatLib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DocFormatLib.h; path = ../../DocFormatLib.h; sourceTree = "<group>"; };
6967B2FB1E27C2A100A129E2 /* Aggregat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Aggregat.h; sourceTree = "<group>"; };
6967B2FC1E27C2A100A129E2 /* Callback.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Callback.h; sourceTree = "<group>"; };
6967B2FD1E27C2A100A129E2 /* FormatUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormatUtils.h; sourceTree = "<group>"; };
6967B2FE1E27C2A100A129E2 /* IOperand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IOperand.h; sourceTree = "<group>"; };
6967B2FF1E27C2A100A129E2 /* IVirtualConstructor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IVirtualConstructor.h; sourceTree = "<group>"; };
6967B3001E27C2A100A129E2 /* LanguageCodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LanguageCodes.h; sourceTree = "<group>"; };
6967B3011E27C2A100A129E2 /* Singleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Singleton.h; sourceTree = "<group>"; };
6967B3021E27C2A100A129E2 /* SPRMCodes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SPRMCodes.h; sourceTree = "<group>"; };
6967B3031E27C2A100A129E2 /* TargetOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TargetOptions.h; sourceTree = "<group>"; };
6967B3041E27C2A100A129E2 /* TextMark.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextMark.h; sourceTree = "<group>"; };
6967B3051E27C2A100A129E2 /* utf8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = utf8.h; sourceTree = "<group>"; };
6967B3061E27C2A100A129E2 /* XmlTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XmlTools.h; sourceTree = "<group>"; };
6967B3DF1E27C2D500A129E2 /* pole.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = pole.cpp; path = ../../../../Common/3dParty/pole/pole.cpp; sourceTree = "<group>"; };
6967B3E01E27C2D500A129E2 /* pole.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pole.h; path = ../../../../Common/3dParty/pole/pole.h; sourceTree = "<group>"; };
6967B3E51E27C52700A129E2 /* AbstractOpenXmlMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AbstractOpenXmlMapping.h; sourceTree = "<group>"; };
6967B3E61E27C52700A129E2 /* AnnotationOwnerList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnnotationOwnerList.h; sourceTree = "<group>"; };
6967B3E71E27C52700A129E2 /* AnnotationReferenceDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AnnotationReferenceDescriptor.cpp; sourceTree = "<group>"; };
6967B3E81E27C52700A129E2 /* AnnotationReferenceDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnnotationReferenceDescriptor.h; sourceTree = "<group>"; };
6967B3E91E27C52700A129E2 /* AutoSummaryInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoSummaryInfo.h; sourceTree = "<group>"; };
6967B3EA1E27C52700A129E2 /* BookmarkFirst.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BookmarkFirst.h; sourceTree = "<group>"; };
6967B3EB1E27C52700A129E2 /* BorderCode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BorderCode.h; sourceTree = "<group>"; };
6967B3EC1E27C52700A129E2 /* ByteStructure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ByteStructure.h; sourceTree = "<group>"; };
6967B3ED1E27C52700A129E2 /* CharacterPropertiesMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CharacterPropertiesMapping.cpp; sourceTree = "<group>"; };
6967B3EE1E27C52700A129E2 /* CharacterPropertiesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CharacterPropertiesMapping.h; sourceTree = "<group>"; };
6967B3EF1E27C52700A129E2 /* CharacterPropertyExceptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CharacterPropertyExceptions.h; sourceTree = "<group>"; };
6967B3F01E27C52700A129E2 /* CharacterRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CharacterRange.h; sourceTree = "<group>"; };
6967B3F11E27C52700A129E2 /* CommentsMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommentsMapping.h; sourceTree = "<group>"; };
6967B3F21E27C52700A129E2 /* ContentTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContentTypes.h; sourceTree = "<group>"; };
6967B3F31E27C52700A129E2 /* ConversionContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConversionContext.h; sourceTree = "<group>"; };
6967B3F41E27C52700A129E2 /* Converter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Converter.cpp; sourceTree = "<group>"; };
6967B3F51E27C52700A129E2 /* Converter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Converter.h; sourceTree = "<group>"; };
6967B3F61E27C52700A129E2 /* DateAndTime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DateAndTime.h; sourceTree = "<group>"; };
6967B3F71E27C52700A129E2 /* DocumentMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentMapping.cpp; sourceTree = "<group>"; };
6967B3F81E27C52700A129E2 /* DocumentMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentMapping.h; sourceTree = "<group>"; };
6967B3F91E27C52700A129E2 /* DocumentProperties.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentProperties.cpp; sourceTree = "<group>"; };
6967B3FA1E27C52700A129E2 /* DocumentProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentProperties.h; sourceTree = "<group>"; };
6967B3FB1E27C52700A129E2 /* DocumentTypographyInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentTypographyInfo.h; sourceTree = "<group>"; };
6967B3FC1E27C52700A129E2 /* DrawingObjectGrid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingObjectGrid.h; sourceTree = "<group>"; };
6967B3FD1E27C52700A129E2 /* DrawingPrimitives.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DrawingPrimitives.cpp; sourceTree = "<group>"; };
6967B3FE1E27C52700A129E2 /* DrawingPrimitives.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingPrimitives.h; sourceTree = "<group>"; };
6967B3FF1E27C52700A129E2 /* EmuValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EmuValue.h; sourceTree = "<group>"; };
6967B4001E27C52700A129E2 /* EncryptionHeader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EncryptionHeader.cpp; sourceTree = "<group>"; };
6967B4011E27C52700A129E2 /* EncryptionHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EncryptionHeader.h; sourceTree = "<group>"; };
6967B4021E27C52700A129E2 /* EndnoteDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EndnoteDescriptor.h; sourceTree = "<group>"; };
6967B4031E27C52700A129E2 /* EndnotesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EndnotesMapping.h; sourceTree = "<group>"; };
6967B4041E27C52700A129E2 /* FieldCharacter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FieldCharacter.h; sourceTree = "<group>"; };
6967B4051E27C52700A129E2 /* FileInformationBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileInformationBlock.h; sourceTree = "<group>"; };
6967B4061E27C52700A129E2 /* FixedPointNumber.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FixedPointNumber.h; sourceTree = "<group>"; };
6967B4071E27C52700A129E2 /* FontFamilyName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontFamilyName.cpp; sourceTree = "<group>"; };
6967B4081E27C52700A129E2 /* FontFamilyName.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontFamilyName.h; sourceTree = "<group>"; };
6967B4091E27C52700A129E2 /* FontTableMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FontTableMapping.cpp; sourceTree = "<group>"; };
6967B40A1E27C52700A129E2 /* FontTableMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontTableMapping.h; sourceTree = "<group>"; };
6967B40B1E27C52700A129E2 /* FooterMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FooterMapping.cpp; sourceTree = "<group>"; };
6967B40C1E27C52700A129E2 /* FooterMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FooterMapping.h; sourceTree = "<group>"; };
6967B40D1E27C52700A129E2 /* FootnoteDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FootnoteDescriptor.h; sourceTree = "<group>"; };
6967B40E1E27C52700A129E2 /* FootnotesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FootnotesMapping.h; sourceTree = "<group>"; };
6967B40F1E27C52700A129E2 /* FormattedDiskPage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormattedDiskPage.h; sourceTree = "<group>"; };
6967B4101E27C52700A129E2 /* FormattedDiskPageCHPX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FormattedDiskPageCHPX.cpp; sourceTree = "<group>"; };
6967B4111E27C52700A129E2 /* FormattedDiskPageCHPX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormattedDiskPageCHPX.h; sourceTree = "<group>"; };
6967B4121E27C52700A129E2 /* FormattedDiskPagePAPX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FormattedDiskPagePAPX.cpp; sourceTree = "<group>"; };
6967B4131E27C52700A129E2 /* FormattedDiskPagePAPX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FormattedDiskPagePAPX.h; sourceTree = "<group>"; };
6967B4141E27C52700A129E2 /* Global.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Global.h; sourceTree = "<group>"; };
6967B4151E27C52700A129E2 /* HeaderAndFooterTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HeaderAndFooterTable.cpp; sourceTree = "<group>"; };
6967B4161E27C52700A129E2 /* HeaderAndFooterTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HeaderAndFooterTable.h; sourceTree = "<group>"; };
6967B4171E27C52700A129E2 /* HeaderMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HeaderMapping.cpp; sourceTree = "<group>"; };
6967B4181E27C52700A129E2 /* HeaderMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HeaderMapping.h; sourceTree = "<group>"; };
6967B4191E27C52700A129E2 /* IBinaryReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IBinaryReader.h; sourceTree = "<group>"; };
6967B41A1E27C52700A129E2 /* IMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IMapping.h; sourceTree = "<group>"; };
6967B41B1E27C52700A129E2 /* IVisitable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IVisitable.h; sourceTree = "<group>"; };
6967B41C1E27C52700A129E2 /* LanguageId.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LanguageId.h; sourceTree = "<group>"; };
6967B41D1E27C52700A129E2 /* LanguageIdMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LanguageIdMapping.cpp; sourceTree = "<group>"; };
6967B41E1E27C52700A129E2 /* LanguageIdMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LanguageIdMapping.h; sourceTree = "<group>"; };
6967B41F1E27C52700A129E2 /* LineSpacingDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LineSpacingDescriptor.h; sourceTree = "<group>"; };
6967B4201E27C52700A129E2 /* ListData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ListData.cpp; sourceTree = "<group>"; };
6967B4211E27C52700A129E2 /* ListData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListData.h; sourceTree = "<group>"; };
6967B4221E27C52700A129E2 /* ListFormatOverride.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListFormatOverride.h; sourceTree = "<group>"; };
6967B4231E27C52700A129E2 /* ListFormatOverrideLevel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListFormatOverrideLevel.h; sourceTree = "<group>"; };
6967B4241E27C52700A129E2 /* ListFormatOverrideTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListFormatOverrideTable.h; sourceTree = "<group>"; };
6967B4251E27C52700A129E2 /* ListLevel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ListLevel.cpp; sourceTree = "<group>"; };
6967B4261E27C52700A129E2 /* ListLevel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListLevel.h; sourceTree = "<group>"; };
6967B4271E27C52700A129E2 /* ListTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ListTable.cpp; sourceTree = "<group>"; };
6967B4281E27C52700A129E2 /* ListTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListTable.h; sourceTree = "<group>"; };
6967B4291E27C52700A129E2 /* MainDocumentMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MainDocumentMapping.cpp; sourceTree = "<group>"; };
6967B42A1E27C52700A129E2 /* MainDocumentMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainDocumentMapping.h; sourceTree = "<group>"; };
6967B42B1E27C52700A129E2 /* MemoryStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryStream.h; sourceTree = "<group>"; };
6967B42C1E27C52700A129E2 /* NumberingMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NumberingMapping.cpp; sourceTree = "<group>"; };
6967B42D1E27C52700A129E2 /* NumberingMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NumberingMapping.h; sourceTree = "<group>"; };
6967B42E1E27C52700A129E2 /* OfficeArtContent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OfficeArtContent.h; sourceTree = "<group>"; };
6967B47A1E27C52700A129E2 /* OleObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OleObject.cpp; sourceTree = "<group>"; };
6967B47B1E27C52700A129E2 /* OleObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OleObject.h; sourceTree = "<group>"; };
6967B47C1E27C52700A129E2 /* OleObjectMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OleObjectMapping.h; sourceTree = "<group>"; };
6967B47D1E27C52700A129E2 /* OpenXmlPackage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OpenXmlPackage.cpp; sourceTree = "<group>"; };
6967B47E1E27C52700A129E2 /* OpenXmlPackage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OpenXmlPackage.h; sourceTree = "<group>"; };
6967B47F1E27C52700A129E2 /* ParagraphHeight.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParagraphHeight.cpp; sourceTree = "<group>"; };
6967B4801E27C52700A129E2 /* ParagraphHeight.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParagraphHeight.h; sourceTree = "<group>"; };
6967B4811E27C52700A129E2 /* ParagraphPropertiesMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParagraphPropertiesMapping.cpp; sourceTree = "<group>"; };
6967B4821E27C52700A129E2 /* ParagraphPropertiesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParagraphPropertiesMapping.h; sourceTree = "<group>"; };
6967B4831E27C52700A129E2 /* ParagraphPropertyExceptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParagraphPropertyExceptions.cpp; sourceTree = "<group>"; };
6967B4841E27C52700A129E2 /* ParagraphPropertyExceptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParagraphPropertyExceptions.h; sourceTree = "<group>"; };
6967B4851E27C52700A129E2 /* PictureDescriptor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PictureDescriptor.cpp; sourceTree = "<group>"; };
6967B4861E27C52700A129E2 /* PictureDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PictureDescriptor.h; sourceTree = "<group>"; };
6967B4871E27C52700A129E2 /* PieceDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PieceDescriptor.h; sourceTree = "<group>"; };
6967B4881E27C52700A129E2 /* PieceTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PieceTable.cpp; sourceTree = "<group>"; };
6967B4891E27C52700A129E2 /* PieceTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PieceTable.h; sourceTree = "<group>"; };
6967B48A1E27C52700A129E2 /* Plex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Plex.h; sourceTree = "<group>"; };
6967B48B1E27C52700A129E2 /* PropertiesMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PropertiesMapping.cpp; sourceTree = "<group>"; };
6967B48C1E27C52700A129E2 /* PropertiesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PropertiesMapping.h; sourceTree = "<group>"; };
6967B48D1E27C52700A129E2 /* PropertyExceptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PropertyExceptions.cpp; sourceTree = "<group>"; };
6967B48E1E27C52700A129E2 /* PropertyExceptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PropertyExceptions.h; sourceTree = "<group>"; };
6967B48F1E27C52700A129E2 /* RevisionData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RevisionData.cpp; sourceTree = "<group>"; };
6967B4901E27C52700A129E2 /* RevisionData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RevisionData.h; sourceTree = "<group>"; };
6967B4911E27C52700A129E2 /* RGBColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RGBColor.h; sourceTree = "<group>"; };
6967B4921E27C52700A129E2 /* SectionDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SectionDescriptor.h; sourceTree = "<group>"; };
6967B4931E27C52700A129E2 /* SectionPropertiesMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SectionPropertiesMapping.cpp; sourceTree = "<group>"; };
6967B4941E27C52700A129E2 /* SectionPropertiesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SectionPropertiesMapping.h; sourceTree = "<group>"; };
6967B4951E27C52700A129E2 /* SectionPropertyExceptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SectionPropertyExceptions.h; sourceTree = "<group>"; };
6967B4961E27C52700A129E2 /* SettingsMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SettingsMapping.cpp; sourceTree = "<group>"; };
6967B4971E27C52700A129E2 /* SettingsMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsMapping.h; sourceTree = "<group>"; };
6967B4981E27C52700A129E2 /* ShadingDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShadingDescriptor.h; sourceTree = "<group>"; };
6967B4991E27C52700A129E2 /* SinglePropertyModifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SinglePropertyModifier.cpp; sourceTree = "<group>"; };
6967B49A1E27C52700A129E2 /* SinglePropertyModifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SinglePropertyModifier.h; sourceTree = "<group>"; };
6967B49B1E27C52700A129E2 /* Spa.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Spa.cpp; sourceTree = "<group>"; };
6967B49C1E27C52700A129E2 /* Spa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Spa.h; sourceTree = "<group>"; };
6967B49D1E27C52700A129E2 /* SprmTDefTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SprmTDefTable.h; sourceTree = "<group>"; };
6967B49E1E27C52700A129E2 /* StringTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringTable.h; sourceTree = "<group>"; };
6967B49F1E27C52700A129E2 /* StructuredStorageReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StructuredStorageReader.h; sourceTree = "<group>"; };
6967B4A01E27C52700A129E2 /* StyleSheet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleSheet.cpp; sourceTree = "<group>"; };
6967B4A11E27C52700A129E2 /* StyleSheet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleSheet.h; sourceTree = "<group>"; };
6967B4A21E27C52700A129E2 /* StyleSheetDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleSheetDescription.cpp; sourceTree = "<group>"; };
6967B4A31E27C52700A129E2 /* StyleSheetDescription.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleSheetDescription.h; sourceTree = "<group>"; };
6967B4A41E27C52700A129E2 /* StyleSheetInformation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleSheetInformation.cpp; sourceTree = "<group>"; };
6967B4A51E27C52700A129E2 /* StyleSheetInformation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleSheetInformation.h; sourceTree = "<group>"; };
6967B4A61E27C52700A129E2 /* StyleSheetMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StyleSheetMapping.cpp; sourceTree = "<group>"; };
6967B4A71E27C52700A129E2 /* StyleSheetMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StyleSheetMapping.h; sourceTree = "<group>"; };
6967B4A81E27C52700A129E2 /* TabDescriptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TabDescriptor.h; sourceTree = "<group>"; };
6967B4A91E27C52700A129E2 /* TableCellPropertiesMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TableCellPropertiesMapping.cpp; sourceTree = "<group>"; };
6967B4AA1E27C52700A129E2 /* TableCellPropertiesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableCellPropertiesMapping.h; sourceTree = "<group>"; };
6967B4AB1E27C52700A129E2 /* TableInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableInfo.h; sourceTree = "<group>"; };
6967B4AC1E27C52700A129E2 /* TableMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TableMapping.cpp; sourceTree = "<group>"; };
6967B4AD1E27C52700A129E2 /* TableMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableMapping.h; sourceTree = "<group>"; };
6967B4AE1E27C52700A129E2 /* TablePropertiesMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TablePropertiesMapping.cpp; sourceTree = "<group>"; };
6967B4AF1E27C52700A129E2 /* TablePropertiesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TablePropertiesMapping.h; sourceTree = "<group>"; };
6967B4B01E27C52700A129E2 /* TablePropertyExceptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TablePropertyExceptions.h; sourceTree = "<group>"; };
6967B4B11E27C52700A129E2 /* TableRowPropertiesMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TableRowPropertiesMapping.cpp; sourceTree = "<group>"; };
6967B4B21E27C52700A129E2 /* TableRowPropertiesMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableRowPropertiesMapping.h; sourceTree = "<group>"; };
6967B4B31E27C52700A129E2 /* Tbkd.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Tbkd.h; sourceTree = "<group>"; };
6967B4B41E27C52700A129E2 /* TextboxMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextboxMapping.cpp; sourceTree = "<group>"; };
6967B4B51E27C52700A129E2 /* TextboxMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextboxMapping.h; sourceTree = "<group>"; };
6967B4B61E27C52700A129E2 /* TwipsValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TwipsValue.h; sourceTree = "<group>"; };
6967B4B71E27C52700A129E2 /* VirtualStreamReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VirtualStreamReader.h; sourceTree = "<group>"; };
6967B4B81E27C52700A129E2 /* VMLPictureMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VMLPictureMapping.cpp; sourceTree = "<group>"; };
6967B4B91E27C52700A129E2 /* VMLPictureMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VMLPictureMapping.h; sourceTree = "<group>"; };
6967B4BA1E27C52700A129E2 /* VMLShapeMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VMLShapeMapping.cpp; sourceTree = "<group>"; };
6967B4BB1E27C52700A129E2 /* VMLShapeMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VMLShapeMapping.h; sourceTree = "<group>"; };
6967B4BC1E27C52700A129E2 /* VMLShapeTypeMapping.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VMLShapeTypeMapping.cpp; sourceTree = "<group>"; };
6967B4BD1E27C52700A129E2 /* VMLShapeTypeMapping.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VMLShapeTypeMapping.h; sourceTree = "<group>"; };
6967B4BE1E27C52700A129E2 /* WideString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WideString.h; sourceTree = "<group>"; };
6967B4BF1E27C52700A129E2 /* WordDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WordDocument.cpp; sourceTree = "<group>"; };
6967B4C01E27C52700A129E2 /* WordDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WordDocument.h; sourceTree = "<group>"; };
6967B4C11E27C52700A129E2 /* WordprocessingDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WordprocessingDocument.cpp; sourceTree = "<group>"; };
6967B4C21E27C52700A129E2 /* WordprocessingDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WordprocessingDocument.h; sourceTree = "<group>"; };
8A1BC11122DF348F0084799E /* ClientAnchor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClientAnchor.h; sourceTree = "<group>"; };
8A1BC11222DF34900084799E /* ShapeTypeFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeTypeFactory.h; sourceTree = "<group>"; };
8A1BC11322DF34900084799E /* OfficeArtClientTextbox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OfficeArtClientTextbox.h; sourceTree = "<group>"; };
8A1BC11422DF34900084799E /* DiagramBooleanProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiagramBooleanProperties.h; sourceTree = "<group>"; };
8A1BC11522DF34900084799E /* MetafilePictBlip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MetafilePictBlip.h; sourceTree = "<group>"; };
8A1BC11622DF34900084799E /* ShapeTypeFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ShapeTypeFactory.cpp; sourceTree = "<group>"; };
8A1BC11722DF34900084799E /* DrawingContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingContainer.h; sourceTree = "<group>"; };
8A1BC11822DF34900084799E /* UnknownRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UnknownRecord.h; sourceTree = "<group>"; };
8A1BC11922DF34900084799E /* Record.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Record.h; sourceTree = "<group>"; };
8A1BC11A22DF34900084799E /* BitmapBlip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BitmapBlip.h; sourceTree = "<group>"; };
8A1BC11B22DF34910084799E /* OfficeArtFRITContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OfficeArtFRITContainer.h; sourceTree = "<group>"; };
8A1BC11C22DF34910084799E /* DrawingGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingGroup.h; sourceTree = "<group>"; };
8A1BC11D22DF34910084799E /* ShapeContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeContainer.h; sourceTree = "<group>"; };
8A1BC11E22DF34910084799E /* ShapeType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeType.h; sourceTree = "<group>"; };
8A1BC12022DF34910084799E /* PlaqueType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlaqueType.h; sourceTree = "<group>"; };
8A1BC12122DF34910084799E /* CubeType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CubeType.h; sourceTree = "<group>"; };
8A1BC12222DF34910084799E /* LightningBoltType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LightningBoltType.h; sourceTree = "<group>"; };
8A1BC12322DF34910084799E /* OvalType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OvalType.h; sourceTree = "<group>"; };
8A1BC12422DF34910084799E /* CalloutsType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CalloutsType.h; sourceTree = "<group>"; };
8A1BC12522DF34910084799E /* TextboxType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextboxType.h; sourceTree = "<group>"; };
8A1BC12622DF34910084799E /* HexagonType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HexagonType.h; sourceTree = "<group>"; };
8A1BC12722DF34910084799E /* NoSmokingType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NoSmokingType.h; sourceTree = "<group>"; };
8A1BC12822DF34910084799E /* OctagonType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OctagonType.h; sourceTree = "<group>"; };
8A1BC12922DF34910084799E /* ArcType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArcType.h; sourceTree = "<group>"; };
8A1BC12A22DF34910084799E /* CanType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CanType.h; sourceTree = "<group>"; };
8A1BC12B22DF34910084799E /* PictureFrameType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PictureFrameType.h; sourceTree = "<group>"; };
8A1BC12C22DF34910084799E /* BevelType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BevelType.h; sourceTree = "<group>"; };
8A1BC12D22DF34910084799E /* MoonType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MoonType.h; sourceTree = "<group>"; };
8A1BC12E22DF34910084799E /* FoldedCornerlType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FoldedCornerlType.h; sourceTree = "<group>"; };
8A1BC12F22DF34910084799E /* PentagonType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PentagonType.h; sourceTree = "<group>"; };
8A1BC13022DF34910084799E /* BracketsType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BracketsType.h; sourceTree = "<group>"; };
8A1BC13122DF34910084799E /* IsoscelesTriangleType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IsoscelesTriangleType.h; sourceTree = "<group>"; };
8A1BC13222DF34910084799E /* StarType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StarType.h; sourceTree = "<group>"; };
8A1BC13322DF34910084799E /* DonutType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DonutType.h; sourceTree = "<group>"; };
8A1BC13422DF34910084799E /* RectangleType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RectangleType.h; sourceTree = "<group>"; };
8A1BC13522DF34910084799E /* TrapezoidType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TrapezoidType.h; sourceTree = "<group>"; };
8A1BC13622DF34910084799E /* ArrowType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArrowType.h; sourceTree = "<group>"; };
8A1BC13722DF34910084799E /* SmileyFaceType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SmileyFaceType.h; sourceTree = "<group>"; };
8A1BC13822DF34910084799E /* PlusType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlusType.h; sourceTree = "<group>"; };
8A1BC13922DF34910084799E /* RightTriangleType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RightTriangleType.h; sourceTree = "<group>"; };
8A1BC13A22DF34910084799E /* HeartType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HeartType.h; sourceTree = "<group>"; };
8A1BC13B22DF34910084799E /* SunType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SunType.h; sourceTree = "<group>"; };
8A1BC13C22DF34910084799E /* Connector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Connector.h; sourceTree = "<group>"; };
8A1BC13D22DF34910084799E /* RoundedRectangleType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RoundedRectangleType.h; sourceTree = "<group>"; };
8A1BC13E22DF34910084799E /* BlockArcType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlockArcType.h; sourceTree = "<group>"; };
8A1BC13F22DF34910084799E /* WordArtText.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WordArtText.h; sourceTree = "<group>"; };
8A1BC14022DF34910084799E /* FlowChartType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FlowChartType.h; sourceTree = "<group>"; };
8A1BC14122DF34910084799E /* LineType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LineType.h; sourceTree = "<group>"; };
8A1BC14222DF34910084799E /* DiamondType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiamondType.h; sourceTree = "<group>"; };
8A1BC14322DF34910084799E /* ParallelogramType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ParallelogramType.h; sourceTree = "<group>"; };
8A1BC14422DF34910084799E /* ClientData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClientData.h; sourceTree = "<group>"; };
8A1BC14522DF34910084799E /* GroupShapeRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupShapeRecord.h; sourceTree = "<group>"; };
8A1BC14622DF34910084799E /* Shape.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Shape.h; sourceTree = "<group>"; };
8A1BC14722DF34910084799E /* BlipStoreEntry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlipStoreEntry.h; sourceTree = "<group>"; };
8A1BC14822DF34920084799E /* DrawingGroupRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingGroupRecord.h; sourceTree = "<group>"; };
8A1BC14922DF34920084799E /* Record.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Record.cpp; sourceTree = "<group>"; };
8A1BC14A22DF34920084799E /* SplitMenuColorContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SplitMenuColorContainer.h; sourceTree = "<group>"; };
8A1BC14B22DF34920084799E /* ShapeOptions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShapeOptions.h; sourceTree = "<group>"; };
8A1BC14C22DF34920084799E /* RegularContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegularContainer.h; sourceTree = "<group>"; };
8A1BC14D22DF34920084799E /* BlipStoreContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BlipStoreContainer.h; sourceTree = "<group>"; };
8A1BC14E22DF34920084799E /* RecordFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RecordFactory.h; sourceTree = "<group>"; };
8A1BC14F22DF34920084799E /* DrawingRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawingRecord.h; sourceTree = "<group>"; };
8A1BC15022DF34920084799E /* GroupContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupContainer.h; sourceTree = "<group>"; };
8A1BC15122DF34920084799E /* ChildAnchor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChildAnchor.h; sourceTree = "<group>"; };
8A1BC15222DF34920084799E /* RecordFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RecordFactory.cpp; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
6967B2E81E27C23A00A129E2 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
6967B2E21E27C23A00A129E2 = {
isa = PBXGroup;
children = (
6967B2ED1E27C23A00A129E2 /* DocFormatLib */,
6967B2EC1E27C23A00A129E2 /* Products */,
);
sourceTree = "<group>";
};
6967B2EC1E27C23A00A129E2 /* Products */ = {
isa = PBXGroup;
children = (
6967B2EB1E27C23A00A129E2 /* libDocFormatLib.a */,
);
name = Products;
sourceTree = "<group>";
};
6967B2ED1E27C23A00A129E2 /* DocFormatLib */ = {
isa = PBXGroup;
children = (
6967B3E41E27C52700A129E2 /* DocDocxConverter */,
6967B3E21E27C2D700A129E2 /* pole */,
6967B2FA1E27C2A100A129E2 /* Common */,
6967B2F71E27C26800A129E2 /* DocFormatLib.cpp */,
6967B2F81E27C26800A129E2 /* DocFormatLib.h */,
);
path = DocFormatLib;
sourceTree = "<group>";
};
6967B2FA1E27C2A100A129E2 /* Common */ = {
isa = PBXGroup;
children = (
6967B2FB1E27C2A100A129E2 /* Aggregat.h */,
6967B2FC1E27C2A100A129E2 /* Callback.h */,
6967B2FD1E27C2A100A129E2 /* FormatUtils.h */,
6967B2FE1E27C2A100A129E2 /* IOperand.h */,
6967B2FF1E27C2A100A129E2 /* IVirtualConstructor.h */,
6967B3001E27C2A100A129E2 /* LanguageCodes.h */,
6967B3011E27C2A100A129E2 /* Singleton.h */,
6967B3021E27C2A100A129E2 /* SPRMCodes.h */,
6967B3031E27C2A100A129E2 /* TargetOptions.h */,
6967B3041E27C2A100A129E2 /* TextMark.h */,
6967B3051E27C2A100A129E2 /* utf8.h */,
6967B3061E27C2A100A129E2 /* XmlTools.h */,
);
name = Common;
path = ../../../Common;
sourceTree = "<group>";
};
6967B3E21E27C2D700A129E2 /* pole */ = {
isa = PBXGroup;
children = (
6967B3DF1E27C2D500A129E2 /* pole.cpp */,
6967B3E01E27C2D500A129E2 /* pole.h */,
);
name = pole;
sourceTree = "<group>";
};
6967B3E41E27C52700A129E2 /* DocDocxConverter */ = {
isa = PBXGroup;
children = (
6967B3E51E27C52700A129E2 /* AbstractOpenXmlMapping.h */,
6967B3E61E27C52700A129E2 /* AnnotationOwnerList.h */,
6967B3E71E27C52700A129E2 /* AnnotationReferenceDescriptor.cpp */,
6967B3E81E27C52700A129E2 /* AnnotationReferenceDescriptor.h */,
6967B3E91E27C52700A129E2 /* AutoSummaryInfo.h */,
6967B3EA1E27C52700A129E2 /* BookmarkFirst.h */,
6967B3EB1E27C52700A129E2 /* BorderCode.h */,
6967B3EC1E27C52700A129E2 /* ByteStructure.h */,
6967B3ED1E27C52700A129E2 /* CharacterPropertiesMapping.cpp */,
6967B3EE1E27C52700A129E2 /* CharacterPropertiesMapping.h */,
6967B3EF1E27C52700A129E2 /* CharacterPropertyExceptions.h */,
6967B3F01E27C52700A129E2 /* CharacterRange.h */,
6967B3F11E27C52700A129E2 /* CommentsMapping.h */,
6967B3F21E27C52700A129E2 /* ContentTypes.h */,
6967B3F31E27C52700A129E2 /* ConversionContext.h */,
6967B3F41E27C52700A129E2 /* Converter.cpp */,
6967B3F51E27C52700A129E2 /* Converter.h */,
6967B3F61E27C52700A129E2 /* DateAndTime.h */,
6967B3F71E27C52700A129E2 /* DocumentMapping.cpp */,
6967B3F81E27C52700A129E2 /* DocumentMapping.h */,
6967B3F91E27C52700A129E2 /* DocumentProperties.cpp */,
6967B3FA1E27C52700A129E2 /* DocumentProperties.h */,
6967B3FB1E27C52700A129E2 /* DocumentTypographyInfo.h */,
6967B3FC1E27C52700A129E2 /* DrawingObjectGrid.h */,
6967B3FD1E27C52700A129E2 /* DrawingPrimitives.cpp */,
6967B3FE1E27C52700A129E2 /* DrawingPrimitives.h */,
6967B3FF1E27C52700A129E2 /* EmuValue.h */,
6967B4001E27C52700A129E2 /* EncryptionHeader.cpp */,
6967B4011E27C52700A129E2 /* EncryptionHeader.h */,
6967B4021E27C52700A129E2 /* EndnoteDescriptor.h */,
6967B4031E27C52700A129E2 /* EndnotesMapping.h */,
6967B4041E27C52700A129E2 /* FieldCharacter.h */,
6967B4051E27C52700A129E2 /* FileInformationBlock.h */,
6967B4061E27C52700A129E2 /* FixedPointNumber.h */,
6967B4071E27C52700A129E2 /* FontFamilyName.cpp */,
6967B4081E27C52700A129E2 /* FontFamilyName.h */,
6967B4091E27C52700A129E2 /* FontTableMapping.cpp */,
6967B40A1E27C52700A129E2 /* FontTableMapping.h */,
6967B40B1E27C52700A129E2 /* FooterMapping.cpp */,
6967B40C1E27C52700A129E2 /* FooterMapping.h */,
6967B40D1E27C52700A129E2 /* FootnoteDescriptor.h */,
6967B40E1E27C52700A129E2 /* FootnotesMapping.h */,
6967B40F1E27C52700A129E2 /* FormattedDiskPage.h */,
6967B4101E27C52700A129E2 /* FormattedDiskPageCHPX.cpp */,
6967B4111E27C52700A129E2 /* FormattedDiskPageCHPX.h */,
6967B4121E27C52700A129E2 /* FormattedDiskPagePAPX.cpp */,
6967B4131E27C52700A129E2 /* FormattedDiskPagePAPX.h */,
6967B4141E27C52700A129E2 /* Global.h */,
6967B4151E27C52700A129E2 /* HeaderAndFooterTable.cpp */,
6967B4161E27C52700A129E2 /* HeaderAndFooterTable.h */,
6967B4171E27C52700A129E2 /* HeaderMapping.cpp */,
6967B4181E27C52700A129E2 /* HeaderMapping.h */,
6967B4191E27C52700A129E2 /* IBinaryReader.h */,
6967B41A1E27C52700A129E2 /* IMapping.h */,
6967B41B1E27C52700A129E2 /* IVisitable.h */,
6967B41C1E27C52700A129E2 /* LanguageId.h */,
6967B41D1E27C52700A129E2 /* LanguageIdMapping.cpp */,
6967B41E1E27C52700A129E2 /* LanguageIdMapping.h */,
6967B41F1E27C52700A129E2 /* LineSpacingDescriptor.h */,
6967B4201E27C52700A129E2 /* ListData.cpp */,
6967B4211E27C52700A129E2 /* ListData.h */,
6967B4221E27C52700A129E2 /* ListFormatOverride.h */,
6967B4231E27C52700A129E2 /* ListFormatOverrideLevel.h */,
6967B4241E27C52700A129E2 /* ListFormatOverrideTable.h */,
6967B4251E27C52700A129E2 /* ListLevel.cpp */,
6967B4261E27C52700A129E2 /* ListLevel.h */,
6967B4271E27C52700A129E2 /* ListTable.cpp */,
6967B4281E27C52700A129E2 /* ListTable.h */,
6967B4291E27C52700A129E2 /* MainDocumentMapping.cpp */,
6967B42A1E27C52700A129E2 /* MainDocumentMapping.h */,
6967B42B1E27C52700A129E2 /* MemoryStream.h */,
6967B42C1E27C52700A129E2 /* NumberingMapping.cpp */,
6967B42D1E27C52700A129E2 /* NumberingMapping.h */,
6967B42E1E27C52700A129E2 /* OfficeArtContent.h */,
6967B42F1E27C52700A129E2 /* OfficeDrawing */,
6967B47A1E27C52700A129E2 /* OleObject.cpp */,
6967B47B1E27C52700A129E2 /* OleObject.h */,
6967B47C1E27C52700A129E2 /* OleObjectMapping.h */,
6967B47D1E27C52700A129E2 /* OpenXmlPackage.cpp */,
6967B47E1E27C52700A129E2 /* OpenXmlPackage.h */,
6967B47F1E27C52700A129E2 /* ParagraphHeight.cpp */,
6967B4801E27C52700A129E2 /* ParagraphHeight.h */,
6967B4811E27C52700A129E2 /* ParagraphPropertiesMapping.cpp */,
6967B4821E27C52700A129E2 /* ParagraphPropertiesMapping.h */,
6967B4831E27C52700A129E2 /* ParagraphPropertyExceptions.cpp */,
6967B4841E27C52700A129E2 /* ParagraphPropertyExceptions.h */,
6967B4851E27C52700A129E2 /* PictureDescriptor.cpp */,
6967B4861E27C52700A129E2 /* PictureDescriptor.h */,
6967B4871E27C52700A129E2 /* PieceDescriptor.h */,
6967B4881E27C52700A129E2 /* PieceTable.cpp */,
6967B4891E27C52700A129E2 /* PieceTable.h */,
6967B48A1E27C52700A129E2 /* Plex.h */,
6967B48B1E27C52700A129E2 /* PropertiesMapping.cpp */,
6967B48C1E27C52700A129E2 /* PropertiesMapping.h */,
6967B48D1E27C52700A129E2 /* PropertyExceptions.cpp */,
6967B48E1E27C52700A129E2 /* PropertyExceptions.h */,
6967B48F1E27C52700A129E2 /* RevisionData.cpp */,
6967B4901E27C52700A129E2 /* RevisionData.h */,
6967B4911E27C52700A129E2 /* RGBColor.h */,
6967B4921E27C52700A129E2 /* SectionDescriptor.h */,
6967B4931E27C52700A129E2 /* SectionPropertiesMapping.cpp */,
6967B4941E27C52700A129E2 /* SectionPropertiesMapping.h */,
6967B4951E27C52700A129E2 /* SectionPropertyExceptions.h */,
6967B4961E27C52700A129E2 /* SettingsMapping.cpp */,
6967B4971E27C52700A129E2 /* SettingsMapping.h */,
6967B4981E27C52700A129E2 /* ShadingDescriptor.h */,
6967B4991E27C52700A129E2 /* SinglePropertyModifier.cpp */,
6967B49A1E27C52700A129E2 /* SinglePropertyModifier.h */,
6967B49B1E27C52700A129E2 /* Spa.cpp */,
6967B49C1E27C52700A129E2 /* Spa.h */,
6967B49D1E27C52700A129E2 /* SprmTDefTable.h */,
6967B49E1E27C52700A129E2 /* StringTable.h */,
6967B49F1E27C52700A129E2 /* StructuredStorageReader.h */,
6967B4A01E27C52700A129E2 /* StyleSheet.cpp */,
6967B4A11E27C52700A129E2 /* StyleSheet.h */,
6967B4A21E27C52700A129E2 /* StyleSheetDescription.cpp */,
6967B4A31E27C52700A129E2 /* StyleSheetDescription.h */,
6967B4A41E27C52700A129E2 /* StyleSheetInformation.cpp */,
6967B4A51E27C52700A129E2 /* StyleSheetInformation.h */,
6967B4A61E27C52700A129E2 /* StyleSheetMapping.cpp */,
6967B4A71E27C52700A129E2 /* StyleSheetMapping.h */,
6967B4A81E27C52700A129E2 /* TabDescriptor.h */,
6967B4A91E27C52700A129E2 /* TableCellPropertiesMapping.cpp */,
6967B4AA1E27C52700A129E2 /* TableCellPropertiesMapping.h */,
6967B4AB1E27C52700A129E2 /* TableInfo.h */,
6967B4AC1E27C52700A129E2 /* TableMapping.cpp */,
6967B4AD1E27C52700A129E2 /* TableMapping.h */,
6967B4AE1E27C52700A129E2 /* TablePropertiesMapping.cpp */,
6967B4AF1E27C52700A129E2 /* TablePropertiesMapping.h */,
6967B4B01E27C52700A129E2 /* TablePropertyExceptions.h */,
6967B4B11E27C52700A129E2 /* TableRowPropertiesMapping.cpp */,
6967B4B21E27C52700A129E2 /* TableRowPropertiesMapping.h */,
6967B4B31E27C52700A129E2 /* Tbkd.h */,
6967B4B41E27C52700A129E2 /* TextboxMapping.cpp */,
6967B4B51E27C52700A129E2 /* TextboxMapping.h */,
6967B4B61E27C52700A129E2 /* TwipsValue.h */,
6967B4B71E27C52700A129E2 /* VirtualStreamReader.h */,
6967B4B81E27C52700A129E2 /* VMLPictureMapping.cpp */,
6967B4B91E27C52700A129E2 /* VMLPictureMapping.h */,
6967B4BA1E27C52700A129E2 /* VMLShapeMapping.cpp */,
6967B4BB1E27C52700A129E2 /* VMLShapeMapping.h */,
6967B4BC1E27C52700A129E2 /* VMLShapeTypeMapping.cpp */,
6967B4BD1E27C52700A129E2 /* VMLShapeTypeMapping.h */,
6967B4BE1E27C52700A129E2 /* WideString.h */,
6967B4BF1E27C52700A129E2 /* WordDocument.cpp */,
6967B4C01E27C52700A129E2 /* WordDocument.h */,
6967B4C11E27C52700A129E2 /* WordprocessingDocument.cpp */,
6967B4C21E27C52700A129E2 /* WordprocessingDocument.h */,
);
name = DocDocxConverter;
path = ../../../DocDocxConverter;
sourceTree = "<group>";
};
6967B42F1E27C52700A129E2 /* OfficeDrawing */ = {
isa = PBXGroup;
children = (
8A1BC11A22DF34900084799E /* BitmapBlip.h */,
8A1BC14D22DF34920084799E /* BlipStoreContainer.h */,
8A1BC14722DF34910084799E /* BlipStoreEntry.h */,
8A1BC15122DF34920084799E /* ChildAnchor.h */,
8A1BC11122DF348F0084799E /* ClientAnchor.h */,
8A1BC14422DF34910084799E /* ClientData.h */,
8A1BC11422DF34900084799E /* DiagramBooleanProperties.h */,
8A1BC11722DF34900084799E /* DrawingContainer.h */,
8A1BC11C22DF34910084799E /* DrawingGroup.h */,
8A1BC14822DF34920084799E /* DrawingGroupRecord.h */,
8A1BC14F22DF34920084799E /* DrawingRecord.h */,
8A1BC15022DF34920084799E /* GroupContainer.h */,
8A1BC14522DF34910084799E /* GroupShapeRecord.h */,
8A1BC11522DF34900084799E /* MetafilePictBlip.h */,
8A1BC11322DF34900084799E /* OfficeArtClientTextbox.h */,
8A1BC11B22DF34910084799E /* OfficeArtFRITContainer.h */,
8A1BC14922DF34920084799E /* Record.cpp */,
8A1BC11922DF34900084799E /* Record.h */,
8A1BC15222DF34920084799E /* RecordFactory.cpp */,
8A1BC14E22DF34920084799E /* RecordFactory.h */,
8A1BC14C22DF34920084799E /* RegularContainer.h */,
8A1BC14622DF34910084799E /* Shape.h */,
8A1BC11D22DF34910084799E /* ShapeContainer.h */,
8A1BC14B22DF34920084799E /* ShapeOptions.h */,
8A1BC11E22DF34910084799E /* ShapeType.h */,
8A1BC11622DF34900084799E /* ShapeTypeFactory.cpp */,
8A1BC11222DF34900084799E /* ShapeTypeFactory.h */,
8A1BC11F22DF34910084799E /* Shapetypes */,
8A1BC14A22DF34920084799E /* SplitMenuColorContainer.h */,
8A1BC11822DF34900084799E /* UnknownRecord.h */,
);
path = OfficeDrawing;
sourceTree = "<group>";
};
8A1BC11F22DF34910084799E /* Shapetypes */ = {
isa = PBXGroup;
children = (
8A1BC12022DF34910084799E /* PlaqueType.h */,
8A1BC12122DF34910084799E /* CubeType.h */,
8A1BC12222DF34910084799E /* LightningBoltType.h */,
8A1BC12322DF34910084799E /* OvalType.h */,
8A1BC12422DF34910084799E /* CalloutsType.h */,
8A1BC12522DF34910084799E /* TextboxType.h */,
8A1BC12622DF34910084799E /* HexagonType.h */,
8A1BC12722DF34910084799E /* NoSmokingType.h */,
8A1BC12822DF34910084799E /* OctagonType.h */,
8A1BC12922DF34910084799E /* ArcType.h */,
8A1BC12A22DF34910084799E /* CanType.h */,
8A1BC12B22DF34910084799E /* PictureFrameType.h */,
8A1BC12C22DF34910084799E /* BevelType.h */,
8A1BC12D22DF34910084799E /* MoonType.h */,
8A1BC12E22DF34910084799E /* FoldedCornerlType.h */,
8A1BC12F22DF34910084799E /* PentagonType.h */,
8A1BC13022DF34910084799E /* BracketsType.h */,
8A1BC13122DF34910084799E /* IsoscelesTriangleType.h */,
8A1BC13222DF34910084799E /* StarType.h */,
8A1BC13322DF34910084799E /* DonutType.h */,
8A1BC13422DF34910084799E /* RectangleType.h */,
8A1BC13522DF34910084799E /* TrapezoidType.h */,
8A1BC13622DF34910084799E /* ArrowType.h */,
8A1BC13722DF34910084799E /* SmileyFaceType.h */,
8A1BC13822DF34910084799E /* PlusType.h */,
8A1BC13922DF34910084799E /* RightTriangleType.h */,
8A1BC13A22DF34910084799E /* HeartType.h */,
8A1BC13B22DF34910084799E /* SunType.h */,
8A1BC13C22DF34910084799E /* Connector.h */,
8A1BC13D22DF34910084799E /* RoundedRectangleType.h */,
8A1BC13E22DF34910084799E /* BlockArcType.h */,
8A1BC13F22DF34910084799E /* WordArtText.h */,
8A1BC14022DF34910084799E /* FlowChartType.h */,
8A1BC14122DF34910084799E /* LineType.h */,
8A1BC14222DF34910084799E /* DiamondType.h */,
8A1BC14322DF34910084799E /* ParallelogramType.h */,
);
path = Shapetypes;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
6967B2EA1E27C23A00A129E2 /* DocFormatLib */ = {
isa = PBXNativeTarget;
buildConfigurationList = 6967B2F41E27C23A00A129E2 /* Build configuration list for PBXNativeTarget "DocFormatLib" */;
buildPhases = (
6967B2E71E27C23A00A129E2 /* Sources */,
6967B2E81E27C23A00A129E2 /* Frameworks */,
6967B2E91E27C23A00A129E2 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = DocFormatLib;
productName = DocFormatLib;
productReference = 6967B2EB1E27C23A00A129E2 /* libDocFormatLib.a */;
productType = "com.apple.product-type.library.static";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
6967B2E31E27C23A00A129E2 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0820;
ORGANIZATIONNAME = OnlyOffce;
TargetAttributes = {
6967B2EA1E27C23A00A129E2 = {
CreatedOnToolsVersion = 8.2;
DevelopmentTeam = 2WH24U26GJ;
ProvisioningStyle = Automatic;
};
};
};
buildConfigurationList = 6967B2E61E27C23A00A129E2 /* Build configuration list for PBXProject "DocFormatLib" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
English,
en,
);
mainGroup = 6967B2E21E27C23A00A129E2;
productRefGroup = 6967B2EC1E27C23A00A129E2 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
6967B2EA1E27C23A00A129E2 /* DocFormatLib */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
6967B2E71E27C23A00A129E2 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
6967B4D11E27C52700A129E2 /* LanguageIdMapping.cpp in Sources */,
6967B4E61E27C52700A129E2 /* SinglePropertyModifier.cpp in Sources */,
6967B4C91E27C52700A129E2 /* EncryptionHeader.cpp in Sources */,
6967B4ED1E27C52700A129E2 /* TableMapping.cpp in Sources */,
6967B4F31E27C52700A129E2 /* VMLShapeTypeMapping.cpp in Sources */,
6967B4E31E27C52700A129E2 /* RevisionData.cpp in Sources */,
6967B4D41E27C52700A129E2 /* ListTable.cpp in Sources */,
6967B4F41E27C52700A129E2 /* WordDocument.cpp in Sources */,
6967B4CD1E27C52700A129E2 /* FormattedDiskPageCHPX.cpp in Sources */,
6967B4F11E27C52700A129E2 /* VMLPictureMapping.cpp in Sources */,
6967B4D21E27C52700A129E2 /* ListData.cpp in Sources */,
6967B4E21E27C52700A129E2 /* PropertyExceptions.cpp in Sources */,
6967B4C31E27C52700A129E2 /* AnnotationReferenceDescriptor.cpp in Sources */,
6967B4D31E27C52700A129E2 /* ListLevel.cpp in Sources */,
8A1BC15322DF34920084799E /* ShapeTypeFactory.cpp in Sources */,
6967B4CB1E27C52700A129E2 /* FontTableMapping.cpp in Sources */,
6967B4EC1E27C52700A129E2 /* TableCellPropertiesMapping.cpp in Sources */,
6967B4C61E27C52700A129E2 /* DocumentMapping.cpp in Sources */,
6967B4CA1E27C52700A129E2 /* FontFamilyName.cpp in Sources */,
6967B4F21E27C52700A129E2 /* VMLShapeMapping.cpp in Sources */,
6967B4C71E27C52700A129E2 /* DocumentProperties.cpp in Sources */,
6967B4EF1E27C52700A129E2 /* TableRowPropertiesMapping.cpp in Sources */,
8A1BC15422DF34920084799E /* Record.cpp in Sources */,
6967B4E01E27C52700A129E2 /* PieceTable.cpp in Sources */,
6967B4E81E27C52700A129E2 /* StyleSheet.cpp in Sources */,
6967B4EA1E27C52700A129E2 /* StyleSheetInformation.cpp in Sources */,
6967B4D01E27C52700A129E2 /* HeaderMapping.cpp in Sources */,
6967B4DA1E27C52700A129E2 /* OleObject.cpp in Sources */,
6967B4D61E27C52700A129E2 /* NumberingMapping.cpp in Sources */,
6967B4CE1E27C52700A129E2 /* FormattedDiskPagePAPX.cpp in Sources */,
6967B4DF1E27C52700A129E2 /* PictureDescriptor.cpp in Sources */,
6967B4C41E27C52700A129E2 /* CharacterPropertiesMapping.cpp in Sources */,
6967B4F01E27C52700A129E2 /* TextboxMapping.cpp in Sources */,
6967B4DC1E27C52700A129E2 /* ParagraphHeight.cpp in Sources */,
6967B4DD1E27C52700A129E2 /* ParagraphPropertiesMapping.cpp in Sources */,
6967B4E11E27C52700A129E2 /* PropertiesMapping.cpp in Sources */,
6967B4C51E27C52700A129E2 /* Converter.cpp in Sources */,
6967B4E91E27C52700A129E2 /* StyleSheetDescription.cpp in Sources */,
6967B4E41E27C52700A129E2 /* SectionPropertiesMapping.cpp in Sources */,
8A1BC15522DF34920084799E /* RecordFactory.cpp in Sources */,
6967B4EE1E27C52700A129E2 /* TablePropertiesMapping.cpp in Sources */,
6967B4D51E27C52700A129E2 /* MainDocumentMapping.cpp in Sources */,
6967B4E51E27C52700A129E2 /* SettingsMapping.cpp in Sources */,
6967B4DB1E27C52700A129E2 /* OpenXmlPackage.cpp in Sources */,
6967B4CF1E27C52700A129E2 /* HeaderAndFooterTable.cpp in Sources */,
6967B4F51E27C52700A129E2 /* WordprocessingDocument.cpp in Sources */,
6967B2F91E27C26800A129E2 /* DocFormatLib.cpp in Sources */,
6967B4CC1E27C52700A129E2 /* FooterMapping.cpp in Sources */,
6967B4C81E27C52700A129E2 /* DrawingPrimitives.cpp in Sources */,
6967B4E71E27C52700A129E2 /* Spa.cpp in Sources */,
6967B3E11E27C2D500A129E2 /* pole.cpp in Sources */,
6967B4EB1E27C52700A129E2 /* StyleSheetMapping.cpp in Sources */,
6967B4DE1E27C52700A129E2 /* ParagraphPropertyExceptions.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
6967B2F21E27C23A00A129E2 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.2;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
};
name = Debug;
};
6967B2F31E27C23A00A129E2 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.2;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
VALIDATE_PRODUCT = YES;
};
name = Release;
};
6967B2F51E27C23A00A129E2 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
DEVELOPMENT_TEAM = 2WH24U26GJ;
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
/usr/include/,
/usr/include/libxml2/,
"$(PROJECT_DIR)/../../../DesktopEditor/freetype-2.5.2/include",
"$(PROJECT_DIR)/../../../DesktopEditor/freetype-2.5.2/devel",
"$(PROJECT_DIR)/../../../DesktopEditor/agg-2.4/include",
"$(PROJECT_DIR)/../../../Common/3dParty/pole",
"$(PROJECT_DIR)/../../../Common/3dParty/boost/boost_1_58_0",
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
};
name = Debug;
};
6967B2F61E27C23A00A129E2 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
DEVELOPMENT_TEAM = 2WH24U26GJ;
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
/usr/include/,
/usr/include/libxml2/,
"$(PROJECT_DIR)/../../../DesktopEditor/freetype-2.5.2/include",
"$(PROJECT_DIR)/../../../DesktopEditor/freetype-2.5.2/devel",
"$(PROJECT_DIR)/../../../DesktopEditor/agg-2.4/include",
"$(PROJECT_DIR)/../../../Common/3dParty/pole",
"$(PROJECT_DIR)/../../../Common/3dParty/boost/boost_1_58_0",
);
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
6967B2E61E27C23A00A129E2 /* Build configuration list for PBXProject "DocFormatLib" */ = {
isa = XCConfigurationList;
buildConfigurations = (
6967B2F21E27C23A00A129E2 /* Debug */,
6967B2F31E27C23A00A129E2 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
6967B2F41E27C23A00A129E2 /* Build configuration list for PBXNativeTarget "DocFormatLib" */ = {
isa = XCConfigurationList;
buildConfigurations = (
6967B2F51E27C23A00A129E2 /* Debug */,
6967B2F61E27C23A00A129E2 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 6967B2E31E27C23A00A129E2 /* Project object */;
}

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:DocFormatLib.xcodeproj">
</FileRef>
</Workspace>

View File

@ -1 +0,0 @@
DO NOT REMOVE FOLDER FOR XCODE

View File

@ -1,376 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C5371405-338F-4B70-83BD-2A5CDF64F383}</ProjectGuid>
<RootNamespace>DocFormatLib</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<IncludePath>D:\_Work\core\Common\3dParty\boost\build\win_32\include;$(IncludePath)</IncludePath>
<LibraryPath>D:\_Work\core\Common\3dParty\boost\build\win_32\lib;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\..\..\DesktopEditor\freetype-2.5.2\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;USE_LITE_READER;_USE_XMLLITE_READER_;PPTX_DEF;PPT_DEF;ENABLE_PPT_TO_PPTX_CONVERT;AVS_USE_CONVERT_PPTX_TOCUSTOM_VML;DONT_WRITE_EMBEDDED_FONTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<DisableSpecificWarnings>4005;4311;4312;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;_LIB;USE_LITE_READER;_USE_XMLLITE_READER_;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;USE_LITE_READER;_USE_XMLLITE_READER_;PPTX_DEF;PPT_DEF;ENABLE_PPT_TO_PPTX_CONVERT;AVS_USE_CONVERT_PPTX_TOCUSTOM_VML;DONT_WRITE_EMBEDDED_FONTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<AdditionalIncludeDirectories>..\..\..\Common\DocxFormat\Source\XML\libxml2\XML\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;_LIB;USE_ATL_CSTRINGS;_USE_LIBXML2_READER_;LIBXML_READER_ENABLED;USE_LITE_READER;_USE_XMLLITE_READER_;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\..\..\Common\3dParty\pole\pole.h" />
<ClInclude Include="..\..\Common\Aggregat.h" />
<ClInclude Include="..\..\Common\Callback.h" />
<ClInclude Include="..\..\Common\FormatUtils.h" />
<ClInclude Include="..\..\Common\IOperand.h" />
<ClInclude Include="..\..\Common\IVirtualConstructor.h" />
<ClInclude Include="..\..\Common\LanguageCodes.h" />
<ClInclude Include="..\..\Common\Singleton.h" />
<ClInclude Include="..\..\Common\SPRMCodes.h" />
<ClInclude Include="..\..\Common\TargetOptions.h" />
<ClInclude Include="..\..\Common\TextMark.h" />
<ClInclude Include="..\..\Common\utf8.h" />
<ClInclude Include="..\..\Common\XmlTools.h" />
<ClInclude Include="..\..\DocDocxConverter\AbstractOpenXmlMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\AnnotationOwnerList.h" />
<ClInclude Include="..\..\DocDocxConverter\AnnotationReferenceDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\AutoSummaryInfo.h" />
<ClInclude Include="..\..\DocDocxConverter\BookmarkFirst.h" />
<ClInclude Include="..\..\DocDocxConverter\BorderCode.h" />
<ClInclude Include="..\..\DocDocxConverter\ByteStructure.h" />
<ClInclude Include="..\..\DocDocxConverter\CharacterPropertiesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\CharacterPropertyExceptions.h" />
<ClInclude Include="..\..\DocDocxConverter\CharacterRange.h" />
<ClInclude Include="..\..\DocDocxConverter\CommentsMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\ContentTypes.h" />
<ClInclude Include="..\..\DocDocxConverter\ConversionContext.h" />
<ClInclude Include="..\..\DocDocxConverter\Converter.h" />
<ClInclude Include="..\..\DocDocxConverter\DateAndTime.h" />
<ClInclude Include="..\..\DocDocxConverter\DocumentMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\DocumentProperties.h" />
<ClInclude Include="..\..\DocDocxConverter\DocumentTypographyInfo.h" />
<ClInclude Include="..\..\DocDocxConverter\DrawingObjectGrid.h" />
<ClInclude Include="..\..\DocDocxConverter\DrawingPrimitives.h" />
<ClInclude Include="..\..\DocDocxConverter\EmuValue.h" />
<ClInclude Include="..\..\DocDocxConverter\EncryptionHeader.h" />
<ClInclude Include="..\..\DocDocxConverter\EndnoteDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\EndnotesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\FieldCharacter.h" />
<ClInclude Include="..\..\DocDocxConverter\FileInformationBlock.h" />
<ClInclude Include="..\..\DocDocxConverter\FixedPointNumber.h" />
<ClInclude Include="..\..\DocDocxConverter\FontFamilyName.h" />
<ClInclude Include="..\..\DocDocxConverter\FontTableMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\FooterMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\FootnoteDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\FootnotesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\FormattedDiskPage.h" />
<ClInclude Include="..\..\DocDocxConverter\FormattedDiskPageCHPX.h" />
<ClInclude Include="..\..\DocDocxConverter\FormattedDiskPagePAPX.h" />
<ClInclude Include="..\..\DocDocxConverter\FormFieldData.h" />
<ClInclude Include="..\..\DocDocxConverter\FormFieldDataMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\Global.h" />
<ClInclude Include="..\..\DocDocxConverter\HeaderAndFooterTable.h" />
<ClInclude Include="..\..\DocDocxConverter\HeaderMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\IBinaryReader.h" />
<ClInclude Include="..\..\DocDocxConverter\IMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\IVisitable.h" />
<ClInclude Include="..\..\DocDocxConverter\LanguageId.h" />
<ClInclude Include="..\..\DocDocxConverter\LanguageIdMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\LineSpacingDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\ListData.h" />
<ClInclude Include="..\..\DocDocxConverter\ListFormatOverride.h" />
<ClInclude Include="..\..\DocDocxConverter\ListFormatOverrideLevel.h" />
<ClInclude Include="..\..\DocDocxConverter\ListFormatOverrideTable.h" />
<ClInclude Include="..\..\DocDocxConverter\ListLevel.h" />
<ClInclude Include="..\..\DocDocxConverter\ListTable.h" />
<ClInclude Include="..\..\DocDocxConverter\MainDocumentMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\MemoryStream.h" />
<ClInclude Include="..\..\DocDocxConverter\NumberingMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeArtContent.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\BitmapBlip.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\BlipStoreContainer.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\BlipStoreEntry.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ChildAnchor.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ClientAnchor.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ClientData.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingContainer.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingGroup.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingGroupRecord.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingRecord.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\GroupContainer.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\GroupShapeRecord.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\MetafilePictBlip.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\OfficeArtClientTextbox.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Record.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\RecordFactory.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\RegularContainer.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shape.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeContainer.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeOptions.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeTypeFactory.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\ArcType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\ArrowType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\BevelType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\BlockArcType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\BracketsType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\CalloutsType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\CanType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\Connector.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\CubeType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\DiamondType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\DonutType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\FlowChartType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\FoldedCornerlType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\HeartType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\HexagonType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\IsoscelesTriangleType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\LightningBoltType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\LineType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\MoonType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\NoSmokingType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\OctagonType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\OvalType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\ParallelogramType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PentagonType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PictureFrameType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PlaqueType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PlusType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\RectangleType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\RightTriangleType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\RoundedRectangleType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\SmileyFaceType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\StarType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\SunType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\TextboxType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\TrapezoidType.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\WordArtText.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\SplitMenuColorContainer.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\threeDBooleanProperties.h" />
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\UnknownRecord.h" />
<ClInclude Include="..\..\DocDocxConverter\OleObject.h" />
<ClInclude Include="..\..\DocDocxConverter\OleObjectMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\OpenXmlPackage.h" />
<ClInclude Include="..\..\DocDocxConverter\ParagraphHeight.h" />
<ClInclude Include="..\..\DocDocxConverter\ParagraphPropertiesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\ParagraphPropertyExceptions.h" />
<ClInclude Include="..\..\DocDocxConverter\PictureDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\PieceDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\PieceTable.h" />
<ClInclude Include="..\..\DocDocxConverter\Plex.h" />
<ClInclude Include="..\..\DocDocxConverter\PropertiesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\PropertyExceptions.h" />
<ClInclude Include="..\..\DocDocxConverter\RevisionData.h" />
<ClInclude Include="..\..\DocDocxConverter\RGBColor.h" />
<ClInclude Include="..\..\DocDocxConverter\SectionDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\SectionPropertiesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\SectionPropertyExceptions.h" />
<ClInclude Include="..\..\DocDocxConverter\SettingsMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\ShadingDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\SinglePropertyModifier.h" />
<ClInclude Include="..\..\DocDocxConverter\Spa.h" />
<ClInclude Include="..\..\DocDocxConverter\SprmTDefTable.h" />
<ClInclude Include="..\..\DocDocxConverter\StringTable.h" />
<ClInclude Include="..\..\DocDocxConverter\StructuredStorageReader.h" />
<ClInclude Include="..\..\DocDocxConverter\StyleSheet.h" />
<ClInclude Include="..\..\DocDocxConverter\StyleSheetDescription.h" />
<ClInclude Include="..\..\DocDocxConverter\StyleSheetInformation.h" />
<ClInclude Include="..\..\DocDocxConverter\StyleSheetMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\TabDescriptor.h" />
<ClInclude Include="..\..\DocDocxConverter\TableCellPropertiesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\TableInfo.h" />
<ClInclude Include="..\..\DocDocxConverter\TableMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\TablePropertiesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\TablePropertyExceptions.h" />
<ClInclude Include="..\..\DocDocxConverter\TableRowPropertiesMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\Tbkd.h" />
<ClInclude Include="..\..\DocDocxConverter\TextboxMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\TwipsValue.h" />
<ClInclude Include="..\..\DocDocxConverter\VirtualStreamReader.h" />
<ClInclude Include="..\..\DocDocxConverter\VMLPictureMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\VMLShapeMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\VMLShapeTypeMapping.h" />
<ClInclude Include="..\..\DocDocxConverter\WideString.h" />
<ClInclude Include="..\..\DocDocxConverter\WordDocument.h" />
<ClInclude Include="..\..\DocDocxConverter\WordprocessingDocument.h" />
<ClInclude Include="..\DocFormatLib.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\Common\3dParty\pole\pole.cpp" />
<ClCompile Include="..\..\DocDocxConverter\AnnotationReferenceDescriptor.cpp" />
<ClCompile Include="..\..\DocDocxConverter\CharacterPropertiesMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\Converter.cpp" />
<ClCompile Include="..\..\DocDocxConverter\DocumentMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\DocumentProperties.cpp" />
<ClCompile Include="..\..\DocDocxConverter\DrawingPrimitives.cpp" />
<ClCompile Include="..\..\DocDocxConverter\EncryptionHeader.cpp" />
<ClCompile Include="..\..\DocDocxConverter\FontFamilyName.cpp" />
<ClCompile Include="..\..\DocDocxConverter\FontTableMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\FooterMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\FormattedDiskPageCHPX.cpp" />
<ClCompile Include="..\..\DocDocxConverter\FormattedDiskPagePAPX.cpp" />
<ClCompile Include="..\..\DocDocxConverter\FormFieldData.cpp" />
<ClCompile Include="..\..\DocDocxConverter\HeaderAndFooterTable.cpp" />
<ClCompile Include="..\..\DocDocxConverter\HeaderMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\LanguageIdMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\ListData.cpp" />
<ClCompile Include="..\..\DocDocxConverter\ListLevel.cpp" />
<ClCompile Include="..\..\DocDocxConverter\ListTable.cpp" />
<ClCompile Include="..\..\DocDocxConverter\MainDocumentMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\NumberingMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\OfficeDrawing\Record.cpp" />
<ClCompile Include="..\..\DocDocxConverter\OfficeDrawing\RecordFactory.cpp" />
<ClCompile Include="..\..\DocDocxConverter\OfficeDrawing\ShapeTypeFactory.cpp" />
<ClCompile Include="..\..\DocDocxConverter\OleObject.cpp" />
<ClCompile Include="..\..\DocDocxConverter\OpenXmlPackage.cpp" />
<ClCompile Include="..\..\DocDocxConverter\ParagraphHeight.cpp" />
<ClCompile Include="..\..\DocDocxConverter\ParagraphPropertiesMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\ParagraphPropertyExceptions.cpp" />
<ClCompile Include="..\..\DocDocxConverter\PictureDescriptor.cpp" />
<ClCompile Include="..\..\DocDocxConverter\PieceTable.cpp" />
<ClCompile Include="..\..\DocDocxConverter\PropertiesMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\PropertyExceptions.cpp" />
<ClCompile Include="..\..\DocDocxConverter\RevisionData.cpp" />
<ClCompile Include="..\..\DocDocxConverter\SectionPropertiesMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\SettingsMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\SinglePropertyModifier.cpp" />
<ClCompile Include="..\..\DocDocxConverter\Spa.cpp" />
<ClCompile Include="..\..\DocDocxConverter\StyleSheet.cpp" />
<ClCompile Include="..\..\DocDocxConverter\StyleSheetDescription.cpp" />
<ClCompile Include="..\..\DocDocxConverter\StyleSheetInformation.cpp" />
<ClCompile Include="..\..\DocDocxConverter\StyleSheetMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\TableCellPropertiesMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\TableMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\TablePropertiesMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\TableRowPropertiesMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\TextboxMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\VMLPictureMapping.cpp">
<AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\VMLShapeMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\VMLShapeTypeMapping.cpp" />
<ClCompile Include="..\..\DocDocxConverter\WordDocument.cpp" />
<ClCompile Include="..\..\DocDocxConverter\WordprocessingDocument.cpp" />
<ClCompile Include="..\DocFormatLib.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,713 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Common">
<UniqueIdentifier>{b71e7e8a-fe3b-470f-aecc-cd46ae338e31}</UniqueIdentifier>
</Filter>
<Filter Include="Common\pole">
<UniqueIdentifier>{08f46501-29da-4691-b19d-2f230e536ee2}</UniqueIdentifier>
</Filter>
<Filter Include="Doc_2_Docx">
<UniqueIdentifier>{0c04a0b9-7265-4e3e-af45-0a86e4d7c49c}</UniqueIdentifier>
</Filter>
<Filter Include="Doc_2_Docx\OfficeDrawing">
<UniqueIdentifier>{bbeff7b2-a7b0-4cab-85a4-893aebfce8a8}</UniqueIdentifier>
</Filter>
<Filter Include="Doc_2_Docx\OfficeDrawing\Shapetypes">
<UniqueIdentifier>{80f3b70c-514b-444d-8a10-21c4ccbea4a1}</UniqueIdentifier>
</Filter>
<Filter Include="Doc_2_Docx\Mapping">
<UniqueIdentifier>{6640ac5f-d20f-4e15-9a1c-230e6d19266e}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\Common\Aggregat.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\Callback.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\FormatUtils.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\IOperand.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\IVirtualConstructor.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\LanguageCodes.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\Singleton.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\SPRMCodes.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\TargetOptions.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\TextMark.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\utf8.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\Common\XmlTools.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\..\..\Common\3dParty\pole\pole.h">
<Filter>Common\pole</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\AnnotationOwnerList.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\AnnotationReferenceDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\AutoSummaryInfo.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\BookmarkFirst.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\BorderCode.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ByteStructure.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\CharacterPropertyExceptions.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\CharacterRange.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ContentTypes.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ConversionContext.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\Converter.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\DateAndTime.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\DocumentProperties.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\DocumentTypographyInfo.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\DrawingObjectGrid.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\DrawingPrimitives.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\EmuValue.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\EncryptionHeader.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\EndnoteDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FieldCharacter.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FileInformationBlock.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FixedPointNumber.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FontFamilyName.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FootnoteDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FormattedDiskPage.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FormattedDiskPageCHPX.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FormattedDiskPagePAPX.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FormFieldData.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\Global.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\HeaderAndFooterTable.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\IBinaryReader.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\IMapping.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\IVisitable.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\LanguageId.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\LineSpacingDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ListData.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ListFormatOverride.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ListFormatOverrideLevel.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ListFormatOverrideTable.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ListLevel.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ListTable.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\MemoryStream.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeArtContent.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OleObject.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OpenXmlPackage.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ParagraphHeight.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ParagraphPropertyExceptions.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\PictureDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\PieceDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\PieceTable.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\Plex.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\PropertyExceptions.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\RevisionData.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\RGBColor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\SectionDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\SectionPropertyExceptions.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ShadingDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\SinglePropertyModifier.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\Spa.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\SprmTDefTable.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\StringTable.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\StructuredStorageReader.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\StyleSheet.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\StyleSheetDescription.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\StyleSheetInformation.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TabDescriptor.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TableInfo.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TablePropertyExceptions.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\Tbkd.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TwipsValue.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\VirtualStreamReader.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\WideString.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\WordDocument.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\WordprocessingDocument.h">
<Filter>Doc_2_Docx</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\BitmapBlip.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\BlipStoreContainer.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\BlipStoreEntry.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ChildAnchor.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ClientAnchor.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ClientData.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingContainer.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingGroup.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingGroupRecord.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\DrawingRecord.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\GroupContainer.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\GroupShapeRecord.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\MetafilePictBlip.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\OfficeArtClientTextbox.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Record.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\RecordFactory.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\RegularContainer.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shape.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeContainer.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeOptions.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeType.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\ShapeTypeFactory.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\SplitMenuColorContainer.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\threeDBooleanProperties.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\UnknownRecord.h">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\ArcType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\ArrowType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\BevelType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\BlockArcType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\BracketsType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\CalloutsType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\CanType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\Connector.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\CubeType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\DiamondType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\DonutType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\FlowChartType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\FoldedCornerlType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\HeartType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\HexagonType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\IsoscelesTriangleType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\LightningBoltType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\LineType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\MoonType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\NoSmokingType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\OctagonType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\OvalType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\ParallelogramType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PentagonType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PictureFrameType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PlaqueType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\PlusType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\RectangleType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\RightTriangleType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\RoundedRectangleType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\SmileyFaceType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\StarType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\SunType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\TextboxType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\TrapezoidType.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OfficeDrawing\Shapetypes\WordArtText.h">
<Filter>Doc_2_Docx\OfficeDrawing\Shapetypes</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\AbstractOpenXmlMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\CharacterPropertiesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\CommentsMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\DocumentMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\EndnotesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FontTableMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FooterMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FootnotesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\FormFieldDataMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\HeaderMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\LanguageIdMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\MainDocumentMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\NumberingMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\OleObjectMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\ParagraphPropertiesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\PropertiesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\SectionPropertiesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\SettingsMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\StyleSheetMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TableCellPropertiesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TableMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TablePropertiesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TableRowPropertiesMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\TextboxMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\VMLPictureMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\VMLShapeMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\..\DocDocxConverter\VMLShapeTypeMapping.h">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClInclude>
<ClInclude Include="..\DocFormatLib.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\Common\3dParty\pole\pole.cpp">
<Filter>Common\pole</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\AnnotationReferenceDescriptor.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\Converter.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\DocumentProperties.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\DrawingPrimitives.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\EncryptionHeader.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\FontFamilyName.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\FormattedDiskPageCHPX.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\FormattedDiskPagePAPX.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\FormFieldData.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\HeaderAndFooterTable.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\ListData.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\ListLevel.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\ListTable.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\OleObject.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\OpenXmlPackage.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\ParagraphHeight.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\ParagraphPropertyExceptions.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\PictureDescriptor.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\PieceTable.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\PropertyExceptions.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\RevisionData.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\SinglePropertyModifier.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\Spa.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\StyleSheet.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\StyleSheetDescription.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\StyleSheetInformation.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\WordDocument.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\WordprocessingDocument.cpp">
<Filter>Doc_2_Docx</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\OfficeDrawing\Record.cpp">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\OfficeDrawing\RecordFactory.cpp">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\OfficeDrawing\ShapeTypeFactory.cpp">
<Filter>Doc_2_Docx\OfficeDrawing</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\CharacterPropertiesMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\DocumentMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\FontTableMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\FooterMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\HeaderMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\LanguageIdMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\MainDocumentMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\NumberingMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\ParagraphPropertiesMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\PropertiesMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\SectionPropertiesMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\SettingsMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\StyleSheetMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\TableCellPropertiesMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\TableMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\TablePropertiesMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\TableRowPropertiesMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\TextboxMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\VMLPictureMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\VMLShapeMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\..\DocDocxConverter\VMLShapeTypeMapping.cpp">
<Filter>Doc_2_Docx\Mapping</Filter>
</ClCompile>
<ClCompile Include="..\DocFormatLib.cpp" />
</ItemGroup>
</Project>

View File

@ -1,201 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "../Common/Singleton.h"
#include "../pole/pole.h"
namespace ASCDocFileFormat
{
class BinaryStorage
{
struct BinaryStorageData
{
unsigned char* data;
unsigned int size;
BinaryStorageData():
data(NULL), size(0)
{
}
BinaryStorageData( const unsigned char* _data, unsigned int _size ):
data(NULL), size(0)
{
if ( ( _data != NULL ) && ( _size != NULL ) )
{
this->size = _size;
this->data = new unsigned char[this->size];
if ( this->data != NULL )
{
memset( this->data, 0, this->size );
memcpy( this->data, _data, this->size );
}
}
}
BinaryStorageData( const BinaryStorageData& _binaryStorageData ):
data(NULL), size(0)
{
if ( ( _binaryStorageData.data != NULL ) && ( _binaryStorageData.size != NULL ) )
{
this->size = _binaryStorageData.size;
this->data = new unsigned char[this->size];
if ( this->data != NULL )
{
memset( this->data, 0, this->size );
memcpy( this->data, _binaryStorageData.data, this->size );
}
}
}
~BinaryStorageData()
{
RELEASEARRAYOBJECTS (data);
}
};
protected:
POLE::Storage* pIStorage;
POLE::Stream* pIStream;
list<BinaryStorageData> data;
unsigned long offset;
unsigned long startOffset;
bool ownStream;
public:
explicit BinaryStorage( unsigned long _startOffset = 0, POLE::Stream* _pIStream = NULL ):
pIStream(_pIStream), pIStorage(NULL), offset(_startOffset), startOffset(_startOffset), ownStream(false)
{
}
long BindToStorage( POLE::Storage* _pIStorage, const char* _stream_name )
{
HRESULT res = S_FALSE;
pIStorage = _pIStorage;
if ( pIStorage != NULL )
{
if ( ( pIStream != NULL ) && ( this->ownStream ) )
{
delete pIStream;
pIStream = NULL;
}
pIStream = new POLE::Stream(pIStorage,_stream_name,true);
if (pIStream == NULL)return S_FALSE;
//res = this->pIStorage->OpenStream( _stream, NULL, ( STGM_READWRITE | STGM_DIRECT | STGM_SHARE_EXCLUSIVE ), NULL, &(this->pIStream) );
//{
// res = this->pIStorage->CreateStream( _stream, ( STGM_READWRITE | STGM_DIRECT | STGM_SHARE_EXCLUSIVE ), NULL, NULL, &(this->pIStream) );
//}
}
if ( SUCCEEDED( res ) )
{
this->ownStream = true;
}
return res;
}
virtual ~BinaryStorage()
{
if ( ( pIStream != NULL ) && ( ownStream ) )
{
delete pIStream;
pIStream = NULL;
}
}
unsigned long PushData( const unsigned char* _data, unsigned int _size )
{
this->data.push_back( BinaryStorageData( _data, _size ) );
unsigned long dataOffset = this->offset;
this->offset += _size;
return dataOffset;
}
unsigned long ClearData()
{
this->data.clear();
this->offset = this->startOffset;
return this->offset;
}
long WriteData()
{
long res = S_OK;
ULONG writtenSize;
POLE::uint64 pos = startOffset;
if ( pIStream != NULL )
{
for ( list<BinaryStorageData>::const_iterator iter = data.begin(); iter != data.end(); iter++ )
{
pIStream->seek( pos);
writtenSize = pIStream->write( iter->data, iter->size );
pos += iter->size;
}
pIStream->flush();
}
else
{
res = S_FALSE;
}
return res;
}
};
class BinaryStorageSingleton: public Singleton<BinaryStorageSingleton>, public BinaryStorage
{
protected:
BinaryStorageSingleton(): BinaryStorage() {};
virtual ~BinaryStorageSingleton() {};
friend class Singleton<BinaryStorageSingleton>;
};
}

View File

@ -1,109 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "IParagraphItem.h"
namespace ASCDocFileFormat
{
class BookmarkEnd: public IParagraphItem
{
public:
BookmarkEnd()
{
}
explicit BookmarkEnd (std::wstring& _id) : id (_id)
{
}
virtual ~BookmarkEnd()
{
}
virtual unsigned long GetTextSize() const
{
return 0;
}
virtual std::wstring GetAllText() const
{
return std::wstring();
}
virtual vector<Chpx> GetRunProperties (vector<unsigned int>* runOffsets) const
{
return vector<Chpx>();
}
virtual unsigned int PrlSize() const
{
return 0;
}
virtual vector<IParagraphItemPtr> GetAllRunsCopy( vector<unsigned int>* runOffsets ) const
{
vector<IParagraphItemPtr> paragraphItems;
if ( runOffsets != NULL )
{
paragraphItems.push_back( IParagraphItemPtr( static_cast<IParagraphItem*>(this->Clone()) ) );
runOffsets->push_back( 0 );
}
return paragraphItems;
}
virtual IVirtualConstructor* New() const
{
return new BookmarkEnd();
}
virtual IVirtualConstructor* Clone() const
{
return new BookmarkEnd(*this);
}
//
inline std::wstring GetID() const
{
return id;
}
private:
std::wstring id;
};
}

View File

@ -1,112 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "IParagraphItem.h"
namespace ASCDocFileFormat
{
class BookmarkStart : public IParagraphItem
{
public:
BookmarkStart()
{
}
explicit BookmarkStart (std::wstring& _id, std::wstring& _name) : id(_id), name(_name)
{
}
virtual ~BookmarkStart()
{
}
virtual unsigned long GetTextSize() const
{
return 0;
}
virtual std::wstring GetAllText() const
{
return std::wstring();
}
virtual vector<Chpx> GetRunProperties( vector<unsigned int>* runOffsets ) const
{
return vector<Chpx>();
}
virtual unsigned int PrlSize () const
{
return 0;
}
virtual vector<IParagraphItemPtr> GetAllRunsCopy( vector<unsigned int>* runOffsets ) const
{
vector<IParagraphItemPtr> paragraphItems;
if ( runOffsets != NULL )
{
paragraphItems.push_back( IParagraphItemPtr( static_cast<IParagraphItem*>(this->Clone()) ) );
runOffsets->push_back( 0 );
}
return paragraphItems;
}
virtual IVirtualConstructor* New() const
{
return new BookmarkStart();
}
virtual IVirtualConstructor* Clone() const
{
return new BookmarkStart(*this);
}
//
inline std::wstring GetID() const
{
return id;
}
inline std::wstring GetName() const
{
return name;
}
private:
std::wstring id;
std::wstring name;
};
}

View File

@ -1,196 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
#include "COLORREF.h"
namespace ASCDocFileFormat
{
class Brc: public IOperand
{
private:
static const unsigned char SIZE_IN_BYTES = 8;
unsigned char bytes[SIZE_IN_BYTES];
public:
Brc()
{
memset( this->bytes, 0, SIZE_IN_BYTES );
}
explicit Brc( const COLORREF& _cv, unsigned char _dptLineWidth, unsigned char _brcType, unsigned char _dptSpace, bool fShadow, bool fFrame )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
unsigned char cvSize = _cv.Size();
memcpy( this->bytes, (unsigned char*)_cv, cvSize );
unsigned char dptLineWidth = 2;
if ( _dptLineWidth > 2 )
{
dptLineWidth = _dptLineWidth;
}
this->bytes[cvSize] = dptLineWidth;
this->bytes[cvSize + sizeof(dptLineWidth)] = _brcType;
unsigned short dptSpaceAndFlags = 0;
dptSpaceAndFlags |= _dptSpace; //Set dptSpace
if ( fShadow )
{
dptSpaceAndFlags |= 0x20; //Set fShadow
}
if ( fFrame )
{
dptSpaceAndFlags |= 0x40; //Set fFrame
}
FormatUtils::SetBytes( ( this->bytes + cvSize + sizeof(dptLineWidth) + sizeof(_brcType) ), dptSpaceAndFlags );
}
explicit Brc( const unsigned char* _bytes )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
if ( _bytes != NULL )
{
memcpy( this->bytes, _bytes, SIZE_IN_BYTES );
}
}
Brc( const Brc& _brc )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
memcpy( this->bytes, _brc.bytes, SIZE_IN_BYTES );
}
Brc& operator = ( const Brc& _brc )
{
if ( this != &_brc )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
memcpy( this->bytes, _brc.bytes, SIZE_IN_BYTES );
}
return *this;
}
virtual ~Brc()
{
}
virtual operator unsigned char*() const
{
return (unsigned char*)this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return sizeof(this->bytes);
}
};
class BrcOperand: public IOperand
{
private:
static const unsigned char SIZE_IN_BYTES = 9;
unsigned char bytes[SIZE_IN_BYTES];
public:
BrcOperand()
{
memset( this->bytes, 0, SIZE_IN_BYTES );
this->bytes[0] = ( SIZE_IN_BYTES - 1 );
}
explicit BrcOperand( const Brc& _brc )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
this->bytes[0] = ( SIZE_IN_BYTES - 1 );
memcpy( ( this->bytes + sizeof(unsigned char) ), (unsigned char*)_brc, _brc.Size() );
}
BrcOperand( const BrcOperand& _brcOperand )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
memcpy( this->bytes, _brcOperand.bytes, SIZE_IN_BYTES );
}
BrcOperand& operator = ( const BrcOperand& _brcOperand )
{
if ( this != &_brcOperand )
{
memset( this->bytes, 0, SIZE_IN_BYTES );
memcpy( this->bytes, _brcOperand.bytes, SIZE_IN_BYTES );
}
return *this;
}
virtual ~BrcOperand()
{
}
virtual operator unsigned char*() const
{
return (unsigned char*)this->bytes;
}
virtual operator const unsigned char*() const
{
return (const unsigned char*)this->bytes;
}
virtual unsigned int Size() const
{
return sizeof(this->bytes);
}
};
}

View File

@ -1,133 +0,0 @@
/*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
#pragma once
namespace ASCDocFileFormat
{
union Brc80
{
private:
struct
{
unsigned int dptLineWidth:8;
unsigned int brcType:8;
unsigned int ico:8;
unsigned int dptSpace:5;
unsigned int fShadow:1;
unsigned int fFrame:1;
unsigned int reserved:1;
} Brc80Struct;
unsigned int Brc80Int;
public:
Brc80() : Brc80Int(0xFFFFFFFF)
{
}
explicit Brc80( unsigned int _brc80 ) : Brc80Int(_brc80)
{
}
explicit Brc80( unsigned char _dptLineWidth, unsigned char _brcType, unsigned char _ico, unsigned char _dptSpace, bool fShadow, bool fFrame )
{
if ( _dptLineWidth < 2 )
{
this->Brc80Struct.dptLineWidth = 2;
}
else
{
this->Brc80Struct.dptLineWidth = _dptLineWidth;
}
if ( _brcType == 0x1A )
{
this->Brc80Struct.brcType = 0x18;
}
else if ( _brcType == 0x1B )
{
this->Brc80Struct.brcType = 0x19;
}
else
{
this->Brc80Struct.brcType = _brcType;
}
if ( _ico >= 0x11 )
{
this->Brc80Struct.ico = 0x10;
}
else
{
this->Brc80Struct.ico = _ico;
}
this->Brc80Struct.dptSpace = _dptSpace;
( fShadow ) ? ( this->Brc80Struct.fShadow = 1 ) : ( this->Brc80Struct.fShadow = 0 );
( fFrame ) ? ( this->Brc80Struct.fFrame = 1 ) : ( this->Brc80Struct.fFrame = 0 );
this->Brc80Struct.reserved = 0;
}
operator unsigned int() const
{
return Brc80Int;
}
};
class Brc80MayBeNil
{
private:
Brc80 brc80;
public:
Brc80MayBeNil():
brc80()
{
}
explicit Brc80MayBeNil( unsigned int _brc80MayBeNil ):
brc80(_brc80MayBeNil)
{
}
Brc80MayBeNil( unsigned char _dptLineWidth, unsigned char _brcType, unsigned char _ico, unsigned char _dptSpace, bool fShadow, bool fFrame ): brc80( _dptLineWidth, _brcType, _ico, _dptSpace, fShadow, fFrame )
{
}
operator unsigned int() const
{
return this->brc80;
}
};
}

Some files were not shown because too many files have changed in this diff Show More