Compare commits

...

1512 Commits

Author SHA1 Message Date
447e1f5ccc Fix for snapshots 2024-08-28 13:08:06 +03:00
06ee659edc Fixwork with replaceAll function 2024-08-27 23:07:25 +03:00
fe35178e26 Add support snapshots 2024-08-27 22:52:05 +03:00
13590d4c2e Refactoring work with cache 2024-08-27 13:04:20 +03:00
84fc9f876e Add flag for fonts generation 2024-08-26 13:56:36 +03:00
c4530caac1 Merge pull request #1623 from ONLYOFFICE/release/v8.2.0
Release/v8.2.0
2024-08-21 04:17:49 -07:00
c018d57081 fix bug #69634 2024-08-21 12:52:16 +03:00
43f49b7a9d fix bug #69775 2024-08-21 12:14:48 +03:00
f8e19a7f0b Merge pull request #1620 from ONLYOFFICE/fix/bug-69767
Fix bug #69767
2024-08-20 05:39:52 -07:00
f245985bbd fix bug #69774 2024-08-20 11:29:57 +03:00
68171df991 Merge branch 'release/v8.2.0' of https://github.com/ONLYOFFICE/core into release/v8.2.0 2024-08-20 11:27:58 +03:00
bbf4003ec7 Refactoring 2024-08-20 11:00:12 +03:00
75cc7d8457 Fix bug #69767 2024-08-20 10:59:32 +03:00
7018402a58 Merge pull request #1619 from ONLYOFFICE/fix/pdf-bugs
Fix pdf bugs
2024-08-20 00:04:03 -07:00
6ce30ccaad Fix test 2024-08-20 09:23:10 +03:00
670677c23b Fix pdf clip 2024-08-20 09:22:39 +03:00
208f6efcc5 fix bug #69781 2024-08-20 08:39:42 +03:00
685165d270 fix bug #69780 2024-08-20 08:39:02 +03:00
f18eb2ef5b Developing 2024-08-20 00:23:59 +03:00
facdff46fe Refactoring 2024-08-19 18:24:06 +03:00
8843c3dd36 Merge pull request #1617 from ONLYOFFICE/feature/docbuilder-java
Add JAVA_HOME environment variable support when compiling docbuilder Java-wrapper
2024-08-19 04:50:27 -07:00
2708479152 Add class for embed pdf object 2024-08-19 13:57:26 +03:00
f3facfa8e8 Fix for some JDK versions 2024-08-19 14:13:19 +04:00
1e26e1723a For buf 59297 2024-08-19 12:57:30 +03:00
6d9242e1dd Add building support for JDK > 8 2024-08-19 13:49:43 +04:00
e8de8dc03b fix bug #60796 2024-08-16 17:39:11 +03:00
57447f757f Merge pull request #1618 from ONLYOFFICE/fix/pdf-time
Fix pdf clip
2024-08-16 04:24:27 -07:00
46d6eaa793 Fix test Save/Restore graphics 2024-08-16 13:35:03 +03:00
def502c7eb Refactoring drawingfile (native realization support) 2024-08-15 22:00:37 +03:00
1e5e43cbe5 Fix clip 2024-08-15 16:59:00 +03:00
60a888fc19 Fix PdfFile test 2024-08-15 16:58:39 +03:00
01ca25d798 Fix test 2024-08-15 16:58:20 +03:00
6812ebaa42 fix bug #68293 2024-08-15 10:46:06 +03:00
aacb2842f7 Fix typo 2024-08-14 16:39:41 +04:00
27a2a47cbe Fixes 2024-08-14 16:35:22 +04:00
02f8178c01 Merge pull request #1616 from ONLYOFFICE/fix/bug65304
Fix bug 65304
2024-08-14 01:55:26 -07:00
a0e2384409 fix bug #69490 2024-08-13 21:33:51 +03:00
56088e9eff Add support for JAVA_HOME environment variable 2024-08-13 20:44:46 +04:00
1d6b895496 Refactoring 2024-08-13 16:32:41 +03:00
fa4b8c8d76 Fix build 2024-08-13 11:40:51 +03:00
2db2b98c8f Fix bug 65304 2024-08-13 10:54:23 +03:00
f45fb3c6be for bug #69599 2024-08-13 09:40:06 +03:00
6f60d75863 Fix build 2024-08-13 00:24:51 +03:00
d1acdf35d8 Refactoring 2024-08-13 00:16:51 +03:00
a1bf6a76ed fix bug #69658 2024-08-12 19:25:27 +03:00
3634d59ece Merge branch 'release/v8.2.0' of https://github.com/ONLYOFFICE/core into release/v8.2.0 2024-08-12 19:07:54 +03:00
1b21e8f136 fix bug #69647 2024-08-12 19:07:07 +03:00
554ca5ec7c Merge pull request #1615 from ONLYOFFICE/fix/docbuilder-script-cache
Fix script caching on Windows
2024-08-12 08:15:16 -07:00
dc2e0edf80 fix bug #25787 2024-08-12 18:13:52 +03:00
e38fa336d2 Fix script caching with v8_89 2024-08-12 17:32:14 +04:00
357450f242 Merge pull request #1614 from ONLYOFFICE/fix/html
Fix html to ooxml conversion
2024-08-12 03:20:37 -07:00
4ed9925aff Merge pull request #1610 from ONLYOFFICE/feature/MetafileSize
The size setting of metafiles has been changed
2024-08-12 03:20:17 -07:00
796537565b Fixed unnecessary use of standard styles in html to ooxml conversion 2024-08-09 15:43:55 +03:00
fcf8e28ae8 Added tabs to the text in html to ooxml conversion 2024-08-09 15:27:29 +03:00
de949afbb6 fix bug #69618 2024-08-09 12:33:40 +03:00
fb7bb041c1 Merge pull request #1613 from ONLYOFFICE/fix/pdf-leaks
Fix pdf leaks, clip and read jpeg
2024-08-09 02:03:52 -07:00
8d6e15627b Refactoring RenderOutputDev and test diff 2024-08-08 18:42:43 +03:00
0583cbb5cc Merge branch 'release/v8.2.0' of https://github.com/ONLYOFFICE/core into release/v8.2.0 2024-08-08 17:31:35 +03:00
a68bec86df Improved html to ooxml conversion 2024-08-08 16:05:19 +03:00
6554185ec7 Refacroting DrawImage 2024-08-07 18:07:12 +03:00
22bbde155d fix bug #44738 2024-08-07 12:03:23 +03:00
4a123d33ea fix bug #69552 2024-08-07 08:18:32 +03:00
c7d0f27f6b Fix ReadImage 2024-08-06 18:59:28 +03:00
f1ddd51164 Add support /* comments in script files 2024-08-06 18:08:47 +03:00
1d636b717f [x2t] Fix bug 69574 2024-08-06 15:53:40 +03:00
c026f33aa7 Improved html to ooxml conversion 2024-08-06 15:47:58 +03:00
29e5769d6d fix bug #30042 2024-08-06 10:54:09 +03:00
6586fc39ee Merge pull request #1612 from ONLYOFFICE/feature/gradients
Feature/gradients
2024-08-05 11:50:27 -07:00
e8c7a4f670 Fix ReadDCT 2024-08-05 18:14:56 +03:00
ead6b305b2 Create ReadDCT for jpeg image in pdf 2024-08-05 16:36:50 +03:00
2de6a6d199 Merge pull request #1611 from ONLYOFFICE/feature/docbuilder-java
Feature/docbuilder java
2024-08-05 05:38:52 -07:00
c6ca99994b Fix build into JAR on mac and linux 2024-08-02 19:35:13 +04:00
b707510c88 Remove explicit workDirectory setting 2024-08-02 18:38:40 +04:00
7171dcb9f0 Set library path at runtime
Now there is no need to pass `-D...` parameter to run java program
2024-08-02 18:26:15 +04:00
49dedc7a6d fix bug #69392 2024-08-02 16:43:20 +03:00
431fa060c4 fix bug #69488 2024-08-02 16:10:50 +03:00
0fc5133d98 Fix for building test example 2024-08-02 16:05:08 +04:00
8d5fc7d6ca Fix build for JDK 8 and force build into JAR 2024-08-02 15:58:13 +04:00
3221d20d81 Remove docbuilder_jni_utils helper library 2024-08-02 12:36:17 +04:00
9fdb81554a fix bug #69518 2024-08-02 10:58:01 +03:00
95a1983e75 Refactoring RendererOutputDev 2024-08-01 18:59:19 +03:00
c27aa4d807 Improved html to ooxml conversion 2024-08-01 13:54:07 +03:00
c4f8c524b5 Merge remote-tracking branch 'origin/release/v8.2.0' into fix/pdf-leaks 2024-08-01 12:32:12 +03:00
f7d55c08d8 fix bug #69474 2024-07-31 21:56:23 +03:00
4cfb8cc97a fix bug #69104 2024-07-31 21:51:15 +03:00
a41ecb0715 for bug #69405 2024-07-31 21:32:50 +03:00
faa9e5e640 Merge pull request #1608 from ONLYOFFICE/fix/bug-65822
For bug 65822
2024-07-31 05:40:58 -07:00
ac2ee1b56d Save line AP 2024-07-31 14:01:34 +03:00
b722238d21 Draw AP for markup annots 2024-07-31 14:00:24 +03:00
83e20057f4 Merge pull request #1607 from ONLYOFFICE/feature/docx-renderer
Feature/docx renderer
2024-07-30 10:34:35 -07:00
373786fca6 Update Clip 2024-07-30 18:35:57 +03:00
0fa1b4feec Add return 0/1 for builder external scripts 2024-07-30 11:47:13 +03:00
6a6204ae33 Fix add to conts & highlights 2024-07-30 11:35:39 +03:00
f02147b97c Fix jar build 2024-07-30 12:25:54 +04:00
88b1660735 Add another way to load native libraries 2024-07-30 11:36:47 +04:00
f5f7cb1aec . 2024-07-29 22:13:28 +03:00
af01306997 . 2024-07-29 21:58:34 +03:00
ef30a30e00 Fix first word width in splitted lines 2024-07-29 20:33:20 +03:00
16ae48ef4e Fix memory leaks 2024-07-29 17:56:48 +03:00
0eb8c93cf9 Merge pull request #1606 from ONLYOFFICE/fix/bug66692
Fix bug #66692
2024-07-29 14:50:16 +03:00
c98285ffef Merge pull request #1605 from ONLYOFFICE/fix/bug66675
Fix bug #66675
2024-07-29 14:50:03 +03:00
4b99c4179b Fixed inaccuracies when converting html to ooxml elements big and small 2024-07-29 12:39:51 +03:00
e98dec952f Fix build 2024-07-26 21:43:43 +03:00
8b2d7035c1 Add build to JAR 2024-07-26 19:42:37 +04:00
234def9cd7 Autowrap function arguments
+ Add constructor from Java arrays
2024-07-26 19:10:32 +04:00
ce92766ef6 Fix paths 2024-07-26 17:16:06 +03:00
59c95c5039 Merge pull request #1597 from ONLYOFFICE/feature/pdf-layer
Feature pdf layer
2024-07-26 07:05:38 -07:00
a23002225a Merge pull request #1598 from ONLYOFFICE/fix/bug-59297
Feature pdf headings
2024-07-26 07:03:52 -07:00
cb64a5a266 Fix bug #66675 2024-07-26 16:51:24 +06:00
65483d0460 fix bug #69395 2024-07-26 13:31:16 +03:00
41758f0552 Merge pull request #1604 from ONLYOFFICE/feature/docx-renderer
Fix bug with spacing
2024-07-26 02:30:17 -07:00
bfd790ba11 Fix bug with spacing 2024-07-26 12:26:59 +03:00
81d9e3cfd7 Merge pull request #1603 from ONLYOFFICE/feature/docx_renderer
Feature/docx renderer
2024-07-26 01:42:31 -07:00
2920527898 Reformat code 2024-07-26 11:40:01 +03:00
7013fdcb8d Merge branch hotfix/v8.1.1 into release/v8.2.0 2024-07-26 08:05:06 +00:00
0d84e22e79 Fix spaces more 2024-07-25 19:13:29 +03:00
f2acef6bb2 Add docbuilder.utils.Utils class to edit PATH on Windows 2024-07-25 20:06:11 +04:00
84b8850a52 Fix bug with spaces 2024-07-25 16:12:40 +03:00
b2a3de852a Fix bug #66692 2024-07-25 17:51:20 +06:00
a8fa59d64d Added ruby support and bug fixes 2024-07-25 14:44:20 +03:00
59b84f26ee Merge remote-tracking branch 'origin/fix/bug68344' into release/v8.2.0 2024-07-25 10:44:47 +03:00
5b17009fb9 Merge remote-tracking branch 'origin/fix/bug68540' into release/v8.2.0 2024-07-25 10:41:50 +03:00
a5827f187c Merge remote-tracking branch 'origin/fix/bug68585' into release/v8.2.0 2024-07-25 10:41:09 +03:00
6ae25ca4c4 Merge remote-tracking branch 'origin/fix/bug69238' into release/v8.2.0 2024-07-25 10:39:58 +03:00
ff4425e977 fix grad 2024-07-24 18:36:10 +03:00
06edc93c7b Fix bug #69238 2024-07-24 18:16:50 +03:00
8f9b35d94a Fix inline destination 2024-07-24 16:35:14 +03:00
14c06e4e7b Fix x coord Outlines 2024-07-24 15:16:21 +03:00
abaaa54bc2 Fix SetByIndex and test example
(now it does work)
2024-07-24 14:05:29 +04:00
7d0683e338 Update test example
(it doesn't work yet)
2024-07-23 20:32:44 +04:00
f9d6b49a05 Rename Call() to call() 2024-07-23 20:31:43 +04:00
01916b7de6 Add file type constants 2024-07-23 19:49:14 +04:00
666d62239e Add class CDocBuilderContext to Java and JNI 2024-07-23 19:36:49 +04:00
2e25f5dc64 Get previous array on return 2024-07-23 18:36:27 +03:00
cc61536a90 Fix function naming for CDocBuilderContextScope 2024-07-23 19:36:01 +04:00
58b5417ab4 Add class CDocBuilderContextScope to Java and JNI 2024-07-23 19:10:08 +04:00
c056c14303 Add hint how to run compiled Java example 2024-07-23 18:15:39 +04:00
1b975c7048 Get headings as an array
Get headings as an array with levels and convert to tree
2024-07-23 17:07:04 +03:00
3fd5b5612b Add test Java example 2024-07-23 17:32:51 +04:00
b8a8d36b8b Improved html to ooxml conversion 2024-07-23 14:55:38 +03:00
ccbeb28f8a fix bug #69325 2024-07-23 14:23:35 +03:00
6ab0d9d106 Fixes in Java code 2024-07-22 21:31:27 +04:00
79309d3f02 Add Java code for CDocBuilder
+ Change private members to package-private
2024-07-22 17:09:48 +04:00
c8c4edf592 Add JNI code for CDocBuilder 2024-07-22 16:37:17 +04:00
64afe55078 Add Java code for CDocBuilderValue
+ Changed all JNI functions to static
2024-07-22 15:28:15 +04:00
967a5728c7 fix build 2024-07-22 11:46:35 +03:00
62b96623a0 Add missed files 2024-07-22 11:04:18 +03:00
8a105d35d5 Merge pull request #1596 from ONLYOFFICE/fix/bug-69284
Fix bug 69284
2024-07-22 00:56:50 -07:00
eaf2c02b86 Fix bug 69284 2024-07-20 13:37:23 +03:00
46f30b980f Add JNI code for CDocBuilderValue 2024-07-19 20:35:42 +04:00
ac4f15b999 Improved html to ooxml conversion 2024-07-19 16:59:58 +03:00
918a940e05 . 2024-07-19 15:18:58 +03:00
47961709ad Fix docbuilder.c ToString function 2024-07-19 13:13:34 +04:00
a47e72cf2f fix bug #69311 2024-07-19 11:07:47 +03:00
472c9ecd0d for bug #61035 2024-07-17 18:21:03 +03:00
7b8aa38c37 Fix bug 45813 2024-07-17 17:40:11 +03:00
5c87955ae2 Fix bug 56118 2024-07-17 16:12:53 +03:00
c37aa9d9dc Fix bug 55429 2024-07-17 16:11:02 +03:00
d699c30bda Fix bug 48721 2024-07-17 16:09:42 +03:00
9db017b9f4 Fix bug 69136 2024-07-17 12:16:44 +03:00
70fe676300 Improved colgroup support in html to ooxml conversion 2024-07-16 18:36:09 +03:00
e73d4455c2 Fix bug 55995
Support pTransferFunc for setSoftMask
2024-07-16 17:57:52 +03:00
3158e830ff Indetns fix 2024-07-16 13:56:17 +03:00
33daee696c Delete unused 2024-07-16 13:13:28 +03:00
305492ec7b Fix flip SoftMask 2024-07-15 18:22:06 +03:00
2d213df8af Create CSoftMask 2024-07-12 18:25:11 +03:00
4bb3953171 Added colgroup implementation for tables in html to ooxml conversion 2024-07-12 18:03:18 +03:00
f8e894af67 Testing agg::scanline_u8_am 2024-07-11 18:27:49 +03:00
777be23513 [android] Replace dependencies 2024-07-11 14:59:43 +03:00
b8af955fcd fix bug #69104 2024-07-11 10:52:47 +03:00
176290adaf Fix bug + refactoring 2024-07-10 19:34:01 +03:00
b3868ff146 fix bug #54575 2024-07-10 16:49:08 +03:00
f30aba8bf1 Added support for the rules attribute for tables in html to ooxml conversion 2024-07-10 15:23:05 +03:00
b039eeca38 fix bug #69097 2024-07-10 13:00:33 +03:00
450cbf0ab1 fix bug #69096 2024-07-10 12:10:14 +03:00
2e33e7d097 fix bug #69095 2024-07-10 12:00:34 +03:00
e9af537e63 Merge remote-tracking branch 'origin/hotfix/v8.1.1' into develop 2024-07-10 11:27:41 +03:00
849d3fb09a Merge pull request #1592 from ONLYOFFICE/fix/pdf-layer 2024-07-09 20:24:32 -07:00
ea76a114f3 Fix Alpha type SoftMask and nesting of layers 2024-07-09 23:15:22 +03:00
fb209c6c8a Fix bugs 2024-07-09 19:49:21 +03:00
d4af1308c0 Merge pull request #1591 from ONLYOFFICE/feature/svg-font
Added custom SVG font
2024-07-09 18:48:00 +03:00
824d9c59cf Fix shapes merging 2024-07-09 16:56:43 +03:00
d4f3cd3801 Fix bugs in html to ooxml conversion 2024-07-09 16:44:50 +03:00
c7fc2bc3a7 The blockquote tag implementation has been added to the html to ooxml conversion 2024-07-09 16:44:32 +03:00
f9ecfee609 Merge pull request #1590 from ONLYOFFICE/pdf/fix-rotate-layer
Fix rotate layer
2024-07-09 06:37:59 -07:00
a8c815d7bd Fix bugs
Fix paragpraph bug
Fix bug with lines in tables
2024-07-09 16:25:32 +03:00
64234659aa Merge pull request #1589 from ONLYOFFICE/fix/bug69073
Fix bug #69073
2024-07-09 06:16:59 -07:00
09c066def3 Change whitespaces on tabs 2024-07-09 19:15:12 +06:00
685434b2ab Merge remote-tracking branch 'origin/hotfix/v8.1.1' into develop 2024-07-09 16:04:22 +03:00
bcfb9b3630 Fix rotate layer 2024-07-09 16:02:57 +03:00
17e6ebeb31 Merge pull request #1584 from ONLYOFFICE/fix/bug68998
Fix bug #68998
2024-07-09 05:28:27 -07:00
ae0e888186 Merge pull request #1588 from ONLYOFFICE/fix/bug-69049
Fix bug 69049
2024-07-09 05:15:46 -07:00
4559d53a97 Change CContText logic 2024-07-09 15:01:34 +03:00
dac41ff6f7 Fix bug #69073 2024-07-09 17:12:21 +06:00
5e5fec1666 add bg 2024-07-09 11:37:35 +03:00
a2d32b59a1 Fix bug 69049 2024-07-09 10:33:56 +03:00
0889f82c76 Merge pull request #1587 from ONLYOFFICE/feature/x2ttester
Fix bug 69056
2024-07-08 11:22:05 -07:00
ee6ea32ad1 Fix bug 69056 2024-07-08 17:30:49 +03:00
69e6ff99f6 Merge pull request #1586 from ONLYOFFICE/fix/EmfPlus
Fix EmfPlus
2024-07-08 04:04:26 -07:00
b763041695 Fixed working with the embedded EmfPlusOnly metafile 2024-07-08 13:58:23 +03:00
adfc64f01e fix bug #69031 2024-07-06 14:00:09 +03:00
f465f17b93 Merge pull request #1585 from ONLYOFFICE/fix/pdf-layer
Fix bugs #69016, #56088, #69019
2024-07-05 09:09:27 -07:00
efd7b5ac9a fix bug #69023 2024-07-05 17:24:33 +03:00
2375b476d0 Fix drawMaskedImage 2024-07-05 17:05:48 +03:00
f97bb4e688 Fix actual fonts 2024-07-05 17:04:56 +03:00
aff7b42f71 Add Isolated for AlphaMask and TransparencyGroup 2024-07-05 15:46:57 +03:00
0675b8c5b5 Fix bug 69019 2024-07-05 15:28:30 +03:00
a27c26dbe3 Fix bug #68998 2024-07-05 18:09:07 +06:00
74d7bbca7c Improvement in html to xml conversion of image size calculation 2024-07-04 18:00:32 +03:00
6eba82f433 Improvement in html to ooxml conversion of multi-level lists 2024-07-04 18:00:06 +03:00
d1460a057e Merge remote-tracking branch 'origin/fix/bug68957' into develop 2024-07-04 15:36:26 +03:00
21ba3ac0c9 fix bug #68957 2024-07-04 15:35:36 +03:00
14196ddc9f Add Mask and Layer for pdf 2024-07-03 17:34:25 +03:00
18db2f8614 Merge pull request #1574 from ONLYOFFICE/fix/bug-68843
Fix bug #68843
2024-07-03 06:58:26 -07:00
81f01f49ed Merge pull request #1583 from ONLYOFFICE/fix/bug-68928
Fix bug 68928
2024-07-03 06:58:08 -07:00
4cb159a794 Fix bug #68928 2024-07-03 16:53:50 +03:00
e164168418 fix bug #68971 2024-07-03 15:07:35 +03:00
fd60059dd6 fix bug #68974 2024-07-03 15:03:03 +03:00
e40be65c55 Merge pull request #1582 from ONLYOFFICE/fix/bug-68951
Fix bug 68951
2024-07-02 09:19:54 -07:00
0bf9663169 Fix bug 68951 2024-07-02 18:51:25 +03:00
b1ff8b79d3 Merge remote-tracking branch 'origin/hotfix/v8.1.1' into develop 2024-07-02 09:52:52 +03:00
efb9095dc5 fix bug #55042 2024-07-02 09:43:40 +03:00
3aab7fd183 fix bug #45681 2024-07-01 17:33:14 +03:00
0c0cd575ad Merge pull request #1579 from ONLYOFFICE/fix/pdf-bugs
Fix bug 60317
2024-07-01 03:17:14 -07:00
82c06b5aaa Merge pull request #1581 from ONLYOFFICE/feature/libvlc-linux
Update libvlc build with changed RPATHs
2024-06-29 11:32:24 -07:00
efa4433195 Added rendering of custom fonts in svg 2024-06-28 21:18:00 +03:00
e9c9530d66 Update build with changed rpaths 2024-06-28 20:27:57 +04:00
6c36fc7146 Add script to change rpaths in libvlc build 2024-06-28 20:27:36 +04:00
34db65ff5e fix bug #68916 2024-06-28 14:36:40 +03:00
5770551ed4 Merge remote-tracking branch 'origin/hotfix/v8.1.1' into develop 2024-06-28 11:28:45 +03:00
75c56c13fc fix bug #68864 2024-06-28 11:10:48 +03:00
e5b0c0f1f9 fix bug #68873 2024-06-28 10:46:51 +03:00
723dcef8aa fix bug #68895 2024-06-28 10:34:42 +03:00
880b96acfc Fix build 2024-06-26 12:30:03 +03:00
81806d96d0 Fix bug 60317 2024-06-26 12:29:51 +03:00
49a9205aad Merge pull request #1576 from ONLYOFFICE/fix/bug68834
Fix bug #68834
2024-06-26 11:58:10 +03:00
971205b325 For bug 59297 2024-06-26 11:02:05 +03:00
73fc80aa7d Merge remote-tracking branch 'origin/fix/bug23800' into develop 2024-06-26 10:03:49 +03:00
84836a3e8b Merge remote-tracking branch 'origin/fix/bug53148' into develop 2024-06-26 10:03:27 +03:00
6dc7ff0874 fix bug #49062 2024-06-26 09:51:20 +03:00
eec0fa47ce Merge remote-tracking branch 'origin/hotfix/v8.1.1' into develop 2024-06-26 09:14:19 +03:00
ebadb754c5 fix bug #68471 2024-06-26 08:59:12 +03:00
7d3bf0c328 Merge branch 'develop' of https://github.com/ONLYOFFICE/core into develop 2024-06-26 08:41:11 +03:00
7e7ed8d746 Merge pull request #1577 from ONLYOFFICE/feature/libvlc-linux
Add new libva libraries to linux libVLC build
2024-06-25 11:30:59 -07:00
cd7b39acf2 fix bug #68852 2024-06-25 18:47:51 +03:00
92a3c6cfce Fix Dockerfile 2024-06-25 19:14:16 +04:00
f3e6b5bc21 Add libva libraries to build 2024-06-25 18:42:16 +04:00
95d2939a73 Fix bug 61747 2024-06-25 17:39:06 +03:00
da06f82447 [x2t] Fix bug 68805 2024-06-25 17:17:03 +03:00
5ad4cca9f4 Fix bug #68834 2024-06-25 20:15:58 +06:00
3d528bf8b5 Fix bug #68843
Added switch implementation in svg
2024-06-25 16:39:42 +03:00
fe489b9da0 Rebuild libvlc with libva2 2024-06-25 17:38:25 +04:00
6d9bccee65 fix bug #68601 2024-06-25 16:22:35 +03:00
6ae6c37ef1 Added reading of custom fonts in svg 2024-06-25 15:51:04 +03:00
cc3528c226 Merge pull request #1573 from ONLYOFFICE/fix/bug-68549
Fix bug 68549
2024-06-25 03:36:54 -07:00
db4ae797a1 Fix bug 68549 2024-06-25 13:25:47 +03:00
b1810af6f0 Merge branch 'develop' of https://github.com/ONLYOFFICE/core into develop 2024-06-25 10:59:46 +03:00
263b48dea0 Fix bug #53148 2024-06-24 23:04:22 +05:00
128e09f839 Merge pull request #1571 from ONLYOFFICE/fix/bug68007
Fix bug #68007
2024-06-24 17:36:58 +03:00
5b16ea0693 Merge pull request #1570 from ONLYOFFICE/fix/bug58826
Fix bug #58826
2024-06-24 17:36:42 +03:00
be821d6b45 Fix bug #23800 2024-06-24 19:29:28 +05:00
4c08e60ecc Merge pull request #1572 from ONLYOFFICE/fix/bug-68712
Fix bugs 68712, 68751
2024-06-24 07:27:18 -07:00
e55101141c [x2t] Save changes.zip in applyChangesPdf; Fix bug 67341 2024-06-24 16:03:28 +03:00
ce9268f166 Fix for PdfWriter 2024-06-24 15:46:28 +03:00
e7751e891a Fix bug #58826 2024-06-24 17:47:13 +06:00
a3a734a558 fix bug #68769 2024-06-23 10:43:21 +03:00
7326f88aa0 Create CAnnotFonts 2024-06-21 17:23:00 +03:00
83f98f3186 Merge branch 'fix/pre-hotfix' into hotfix/v8.1.1 2024-06-21 17:19:38 +03:00
2d6ef9a38b fix bug #68767 2024-06-21 16:02:21 +03:00
baae7b0a15 Fix bug 68754 2024-06-21 12:17:51 +03:00
5e7caad32a fix bug#68764 2024-06-20 16:16:28 +03:00
a517809a5d fix bug #68766 2024-06-20 16:11:44 +03:00
255fa70292 Fix bug 68751 2024-06-20 12:44:32 +03:00
71ecf1a1e0 Fix bug 68712 2024-06-19 18:29:03 +03:00
8d092ad6e4 Fix bug #68711 2024-06-19 17:55:43 +06:00
d9269bcd33 fix bug #68406 2024-06-19 13:23:11 +03:00
2f45e0952e Fix bug with cloud images 2024-06-19 11:28:22 +03:00
05293f43ce Merge branch release/v8.1.0 into master 2024-06-19 08:22:01 +00:00
df6c20b57d Fix bug #68007 2024-06-18 19:36:37 +06:00
59b3862d89 Fix bug #68585 2024-06-18 17:18:41 +05:00
e80e545024 Merge pull request #1566 from ONLYOFFICE/fix/bug-68688 2024-06-17 07:56:13 -07:00
2245952739 Merge pull request #1567 from ONLYOFFICE/fix/bug-68252 2024-06-17 07:55:25 -07:00
ff52afecc9 Fix bug #68252 2024-06-17 17:50:50 +03:00
5503208e95 Fix bug 68237 2024-06-17 17:29:04 +03:00
90c1ffe7de Fix bugs 68688, 68689
Related bugs 46629, 61014, 68479, 68545
2024-06-17 17:08:18 +03:00
23ef8fd8af Merge pull request #1565 from ONLYOFFICE/fix/bug-68638
Fix bug #68638
2024-06-17 05:01:09 -07:00
e5559e4cf8 Fix bug #68638 2024-06-17 14:22:19 +03:00
91b82d9dcb Merge remote-tracking branch 'origin/release/v8.1.0' into develop 2024-06-14 16:03:23 +03:00
142ed45a1b . 2024-06-14 16:02:49 +03:00
76623ec66d [pdf=>image] Support orientation 2024-06-14 15:51:28 +03:00
d5a4cf73ec Merge pull request #1564 from ONLYOFFICE/feature/StarMath
Fix StarMath
2024-06-14 05:36:03 -07:00
ef530fea0b fix bug 68587 2024-06-14 14:10:51 +03:00
a72b42bd6d Fix placeholder index attribute 2024-06-14 15:58:56 +05:00
e20f98aa4a Merge pull request #1563 from ONLYOFFICE/fix/bug-68629
Fix bug 68629
2024-06-14 02:48:42 -07:00
cc27db504f Fix embedded fonts 2024-06-14 12:34:34 +03:00
1da9dc12b5 Merge pull request #1562 from ONLYOFFICE/fix/svg
Fix svg
2024-06-14 02:11:45 -07:00
6cf95e6151 Fix bug #68638 2024-06-14 12:06:45 +03:00
ad4ba02895 For bug 65310 2024-06-14 11:16:08 +03:00
79c7fced0a For bug 68629 2024-06-14 11:15:33 +03:00
b63ff91ce4 Merge pull request #1561 from ONLYOFFICE/fix/bug-68629
For bug 68237
2024-06-13 23:34:45 -07:00
d0b6c55347 For bug 68237 2024-06-14 09:16:09 +03:00
53f9629194 Merge pull request #1560 from ONLYOFFICE/fix/bug-68609
Fix bug #68609
2024-06-13 09:56:58 -07:00
272b69ae70 Fix bug #68609 2024-06-13 19:43:25 +03:00
8c081c83c9 fix bug 68586 2024-06-13 19:31:38 +03:00
37bef7c398 Merge pull request #1559 from ONLYOFFICE/fix/bug-68546
Fix bug 68546
2024-06-13 08:26:39 -07:00
aae80a161c Clear 2024-06-13 18:04:39 +03:00
a498117748 Fix bug 68546 2024-06-13 17:54:14 +03:00
7a4cebb89c fix bug #68569 2024-06-13 17:46:06 +03:00
3a8c941649 Merge remote-tracking branch 'origin/release/v8.1.0' into develop 2024-06-13 17:22:43 +03:00
32464cb685 The size setting of metafiles has been changed 2024-06-13 17:22:09 +03:00
a8787e9220 Merge pull request #1558 from ONLYOFFICE/fix/bug68545
Fix bug 68545
2024-06-13 07:01:20 -07:00
17bc68d102 Fix bug 68545 2024-06-13 16:49:13 +03:00
ca17a96d32 Fix null 2024-06-13 13:08:21 +03:00
04419326f4 Fix bug 68545 2024-06-13 13:00:13 +03:00
adfbf6ea3f Merge pull request #1549 from ONLYOFFICE/fix/bug-68532
Fix bug 68532
2024-06-13 02:15:00 -07:00
61397b67c1 Merge pull request #1557 from ONLYOFFICE/fix/propsbinary 2024-06-13 02:06:29 -07:00
a6e87b589c add props to binary 2024-06-13 11:56:10 +03:00
5927b0113f Merge pull request #1556 from ONLYOFFICE/fix/bug68540
fix bug #68540
2024-06-11 22:01:39 +03:00
e03b3e9f1b fix bug #68540 2024-06-11 22:01:06 +03:00
ecef6154ff Merge pull request #1555 from ONLYOFFICE/fix/bug65788
fix bug #65788
2024-06-11 21:38:19 +03:00
e16578c3a1 fix bug #65788 2024-06-11 21:36:15 +03:00
3e709a99ed Merge pull request #1548 from ONLYOFFICE/fix/bug68485
Fix bug #68485
2024-06-11 19:56:16 +03:00
c2f0390b6a Merge pull request #1550 from ONLYOFFICE/fix/bug68503
Fix bug #68503
2024-06-11 19:56:04 +03:00
27619798b9 Merge pull request #1551 from ONLYOFFICE/fix/bug68510
Fix bug #68510
2024-06-11 19:55:50 +03:00
e62585a7fc Merge pull request #1553 from ONLYOFFICE/fix/bug68404
Fix bug #68404
2024-06-11 19:45:19 +03:00
19c4a674f6 Merge pull request #1554 from ONLYOFFICE/fix/bug68238
fix bug #68238
2024-06-11 19:45:06 +03:00
505d8093ef fix bug #68238 2024-06-11 19:42:41 +03:00
3316216f8e Fix bug #68404 2024-06-11 19:35:41 +06:00
7131129ba0 Merge pull request #1552 from ONLYOFFICE/feature/StarMath
Fix StarMath
2024-06-11 06:19:47 -07:00
4070725515 Fix bug #68510 2024-06-11 18:34:27 +06:00
5dfeeeb809 Fix bug #68503 2024-06-11 15:52:14 +06:00
14b66e2bb3 Fix bug 68532 2024-06-11 11:39:04 +03:00
9a5e1464bd Fix bug #68485 2024-06-11 12:32:39 +06:00
af9a69d0f2 Update logic & fix bugs 2024-06-11 08:00:48 +03:00
819e568a35 Merge pull request #1547 from ONLYOFFICE/fix/bug-64722
Fix bug #64722
2024-06-10 03:36:46 -07:00
c8ce9c8a35 Merge pull request #1546 from ONLYOFFICE/fix/bug-68479
Fix bug 68479
2024-06-10 01:39:53 -07:00
95f91b816a Fix bug #64722 2024-06-10 11:18:54 +03:00
29788a5d1b Fix bug 68479 2024-06-10 11:14:55 +03:00
a81fb19e1a fix bug 68445 2024-06-10 10:35:08 +03:00
c82c8743f8 improvement of parsing and bracket conversion 2024-06-10 10:08:23 +03:00
ebef9ad556 Merge pull request #1545 from ONLYOFFICE/fix/bug68186 2024-06-07 18:45:05 +03:00
a564d289b7 Merge pull request #1543 from ONLYOFFICE/fix/html-bugs
Fix html bugs
2024-06-07 18:31:25 +03:00
a98ee52dc5 Fix bug 68186 2024-06-07 17:32:55 +03:00
f39355156c Merge remote-tracking branch 'origin/release/v8.1.0' into develop 2024-06-07 17:28:36 +03:00
99a560bebd Merge pull request #1544 from ONLYOFFICE/fix/bug68390
Fix bug #68390
2024-06-07 14:28:46 +03:00
cb10bccd6a Merge pull request #1538 from ONLYOFFICE/fix/bug68404
Fix bug #68404
2024-06-07 14:27:57 +03:00
c219ce8b06 Merge pull request #1537 from ONLYOFFICE/fix/bug68402
Fix bug #68402
2024-06-07 14:27:04 +03:00
afc8dd6e48 Merge pull request #1536 from ONLYOFFICE/fix/bug68400
Fix bug #68400
2024-06-07 14:24:14 +03:00
505c28f88d Merge pull request #1532 from ONLYOFFICE/fix/bug68238
Fix bug #68238
2024-06-07 14:23:44 +03:00
49d789dc77 Merge pull request #1524 from ONLYOFFICE/fix/bug65172
Fix bug #65172
2024-06-07 14:22:56 +03:00
2da89c8b03 Fix bug #68390 2024-06-07 15:59:35 +06:00
24fb53ac6f Fix bug #68426 2024-06-07 12:20:28 +03:00
4af39960da Fix bug #50286 2024-06-07 12:20:08 +03:00
29115060b4 Merge pull request #1540 from ONLYOFFICE/release/v8.1.0
Release/v8.1.0
2024-06-06 23:03:36 +03:00
dc485997f0 Merge pull request #1539 from ONLYOFFICE/feature/StarMath
Fix StarMath
2024-06-06 22:15:52 +03:00
2e6d5450b4 fix bug #66811 2024-06-06 16:22:04 +03:00
4ed4c5596f Fix bug #68404 2024-06-06 17:38:26 +06:00
dea44f1829 Fix bug #68402 2024-06-06 16:57:06 +06:00
b428487d07 Merge pull request #1535 from ONLYOFFICE/fix/bug-68123
Fix bug 68123
2024-06-06 13:22:30 +03:00
f366cae604 Fix bug #68400 2024-06-06 16:20:11 +06:00
96ea86e3c0 Fix bug 68123 2024-06-06 13:09:07 +03:00
5c7d0a61be fix bug 68332 2024-06-06 11:59:48 +03:00
4014d4914f fix bug 68327 2024-06-06 11:02:30 +03:00
0b77fb2bba fix bug 68333 2024-06-06 10:38:01 +03:00
2e1ccbc985 For bug 46629 2024-06-06 10:21:51 +03:00
f5202108a1 Merge pull request #1534 from ONLYOFFICE/fix/bug-68252
Fix bug #68252
2024-06-06 09:45:18 +03:00
2f7407bd8e Merge pull request #1533 from ONLYOFFICE/fix/bug-67967
Fix bug 67967
2024-06-06 09:45:00 +03:00
ac721572f2 Fix bug #67967 2024-06-06 08:51:59 +03:00
33da43b2f4 Fix bug 67747 2024-06-05 19:57:56 +03:00
6000944cc9 Fix bug #68238 2024-06-05 19:20:58 +06:00
591dffc965 Merge pull request #1531 from ONLYOFFICE/feature/StarMath
fix bug 68328
2024-06-05 15:57:20 +03:00
cd74ef4ded fix bug 68328 2024-06-05 15:52:33 +03:00
c7612a259d Add support create & save pdf forms 2024-06-05 14:41:41 +03:00
f665afc1ad Fix bug #68344 2024-06-05 14:31:48 +05:00
586455310a Merge pull request #1530 from ONLYOFFICE/fix/pdf-tilingPattern
Fix swap RGB pdf tilingPattern
2024-06-05 12:25:31 +03:00
96008085d6 Fix swap RGB 2024-06-05 11:46:30 +03:00
282b87e518 Merge pull request #1529 from ONLYOFFICE/fix/bug-63346
Fix bugs 63346, 66523
2024-06-05 11:16:00 +03:00
115a60c273 For bug 68216 2024-06-05 02:26:58 +03:00
66d48673cf Fix min tilingPattern 2024-06-04 15:41:58 +03:00
29ef74770a Fix bug 66523 2024-06-04 13:22:18 +03:00
15247d39f0 Fix bug 63346 2024-06-04 12:22:21 +03:00
e18fc06c7b Fix bug in first word splitting 2024-06-04 11:12:18 +03:00
145154690b Merge pull request #1528 from ONLYOFFICE/fix/bug-68349
For bug 68349
2024-06-04 09:59:16 +03:00
4f28d8d3d8 For bug 68349 2024-06-04 09:55:42 +03:00
4cd6e99531 Merge pull request #1527 from ONLYOFFICE/release/v8.1.0
Release/v8.1.0
2024-06-03 20:10:54 +03:00
2d3cd6bd3a Merge remote-tracking branch 'origin/release/v8.1.0' into develop 2024-06-03 16:15:48 +03:00
2fdd88bee2 Merge remote-tracking branch 'origin/fix/bug68170' into release/v8.1.0 2024-06-03 14:50:28 +03:00
7c501fe5a3 Fix bug #68252 2024-06-03 12:06:29 +03:00
acbf5b0c40 Fix bug #68170
Add image alternative text and description
2024-06-03 13:22:38 +05:00
d843cf1fe1 Fix bug #63489
Convert text divided into columns
2024-06-03 13:21:35 +05:00
50529346e4 Merge remote-tracking branch 'origin/release/v8.1.0' into fix/bug63489 2024-06-03 13:21:03 +05:00
803fcf3602 fix bug #68304 2024-06-02 17:35:48 +03:00
d83930bf67 fix bug #68307 2024-06-02 16:59:20 +03:00
cd5ca284e1 Change IsDouble method: return true if value has integer type 2024-06-02 15:37:04 +03:00
7a1a59a883 For bug 68028 2024-06-02 10:20:52 +03:00
56a08867db refactoring 2024-05-31 21:45:44 +03:00
bfb97ef026 Merge pull request #1526 from ONLYOFFICE/fix/pdf-tilepattern
Fix pdf rotate point
2024-05-31 16:47:41 +03:00
742cfde620 Fix rotate point 2024-05-31 16:39:41 +03:00
600fd26e30 fix build 2024-05-31 13:45:15 +03:00
92fa08303e Merge pull request #1525 from ONLYOFFICE/fix/pdf-default-color
Fix default color
2024-05-31 11:52:22 +03:00
17bd0f99dd Fix default color 2024-05-31 11:49:05 +03:00
4eaf500040 Fix bug #65172 2024-05-30 23:20:35 +06:00
d5d4d06553 Merge pull request #1517 from ONLYOFFICE/fix/bug66009
Fix bug #66009
2024-05-30 16:47:53 +03:00
400da99fa9 Merge pull request #1522 from ONLYOFFICE/fix/bug68229
Fix bug #68229
2024-05-30 16:46:56 +03:00
85be8041b1 Merge remote-tracking branch 'origin/release/v8.1.0' into develop 2024-05-30 16:42:51 +03:00
b209e00333 fix bug #68276 2024-05-30 16:30:59 +03:00
f86548c873 Refactoring 2024-05-30 16:27:00 +03:00
1859173fb6 Merge pull request #1523 from ONLYOFFICE/fix/bug-68256
Fix bug 68256
2024-05-30 13:06:54 +03:00
dfb0aeefcb Fix read/write tilingPattern in pdf 2024-05-30 12:45:56 +03:00
6ba5d1141e Fix bug 68256 2024-05-30 12:45:17 +03:00
8d6a13b24a Fix bug #68229 2024-05-30 15:41:52 +06:00
a66fdc73a5 fix bug #68264 2024-05-29 20:35:44 +03:00
a2b8fcc5e1 for bug #61035 2024-05-29 20:03:17 +03:00
7ac5ff5383 Merge pull request #1521 from ONLYOFFICE/fix/bug-68233
Fix bug 68233
2024-05-29 15:50:42 +03:00
5e560528a4 Fix bug 68233 2024-05-29 15:08:32 +03:00
b8c57da779 Merge pull request #1519 from ONLYOFFICE/fix/html
Fix html/mht bugs
2024-05-29 11:43:39 +03:00
19951d807c Merge pull request #1520 from ONLYOFFICE/feature/jsc-inspectable-context
Set contexts inspectable for JSC
2024-05-29 09:58:59 +03:00
49d1426831 Fix bug #68230 2024-05-29 01:33:56 +03:00
e8ae960a26 Fix bug #68235 2024-05-29 01:32:54 +03:00
11ddc0ab4f Set contexts inspectable for JSC 2024-05-28 23:50:21 +04:00
5361740a02 Merge pull request #1518 from ONLYOFFICE/fix/bug-68225
Fix bug 68225
2024-05-28 16:44:09 +03:00
0050c6148c Fix bug 68225 2024-05-28 16:33:41 +03:00
8e3df68ffc fix bug #50594 2024-05-28 15:27:12 +03:00
ab829fa8db fix bug #68213 2024-05-28 11:28:19 +03:00
be64e3e624 Fix spacing 2024-05-28 11:05:59 +03:00
2f6a542d02 Fix tatPlainParagraph type 2024-05-28 05:48:49 +03:00
f69b52e232 Fix bug 68004 2024-05-28 04:57:26 +03:00
ce15265d5a Fix split logic (in progress) 2024-05-27 23:28:05 +03:00
370e317b79 Updated split logic (in progress) 2024-05-27 22:21:28 +03:00
bc56de19c1 Fix bug #66009 2024-05-27 20:11:30 +06:00
1de6787014 Merge pull request #1516 from ONLYOFFICE/feature/StarMath
fix StarMath attribute
2024-05-27 13:32:11 +03:00
b02189c14d Merge pull request #1504 from ONLYOFFICE/fix/html
Fix html bugs
2024-05-27 13:23:40 +03:00
63003a5e76 fix bug 68094 2024-05-27 11:57:54 +03:00
499810dbae . 2024-05-27 08:01:06 +03:00
f55d822c4f fix build 2024-05-26 20:17:44 +03:00
4c51371b96 Merge pull request #1513 from ONLYOFFICE/fix/pdf-rotate
Fix pdf rotate
2024-05-25 21:53:19 +03:00
4be711c0bf Merge remote-tracking branch 'origin/release/v8.1.0' into develop 2024-05-24 17:43:32 +03:00
986bcae0e2 Merge pull request #1514 from ONLYOFFICE/fix/bug68109
Fix bug #68109
2024-05-24 17:20:27 +03:00
96b87265bb Merge pull request #1515 from ONLYOFFICE/fix/bug68113
Fix bug #68113
2024-05-24 17:19:24 +03:00
0be217ba05 Fix bug #68109 2024-05-24 18:23:17 +06:00
af12226bfa Fix FlateDecode for annot view 2024-05-24 14:51:30 +03:00
d51f035561 Fix AddShape for NewPage 2024-05-24 14:32:29 +03:00
d01681bb1e Fix bug #66549 2024-05-24 12:02:18 +03:00
72e975f7d9 Merge pull request #1512 from ONLYOFFICE/fix/pdf-bug
Fix bugs 54371, 67641
2024-05-24 09:57:00 +03:00
ba87df6b9d Fix bug 67641 2024-05-24 09:36:51 +03:00
a1fed79a78 Fix bug 54371 2024-05-24 09:36:31 +03:00
08111e8fde fix bug #67992 2024-05-23 17:46:02 +03:00
1286b7f458 fix bug #68122 2024-05-23 17:27:42 +03:00
dcb4364410 Fix bug 67641 2024-05-23 17:23:06 +03:00
55a009713e Fix bug 54371 2024-05-23 16:56:40 +03:00
474828364f Merge remote-tracking branch 'origin/release/v8.1.0' into fix/pdf-rotate 2024-05-23 16:31:30 +03:00
9e145ef9e0 Merge pull request #1511 from ONLYOFFICE/fix/pdf-bug
Fix 67740
2024-05-23 16:27:40 +03:00
40b6178a0d Fix c_nPenWidth0As1px for annot/field renderer 2024-05-23 16:22:52 +03:00
a70f50206d fix bug #67917 2024-05-23 14:36:14 +03:00
40fa3e60c4 Merge remote-tracking branch 'origin/release/v8.1.0' into fix/bug63489 2024-05-23 16:35:05 +05:00
105a193742 fix bug #68143 2024-05-23 14:00:28 +03:00
4ca9a94609 Fix bugs in html 2024-05-23 13:00:50 +03:00
3bfb3ee045 Fix bug #68113 2024-05-23 15:17:23 +06:00
512df584ba Merge branch 'release/v8.1.0' of https://github.com/ONLYOFFICE/core into release/v8.1.0 2024-05-23 12:03:20 +03:00
84eebc69e1 fix bug #68135 2024-05-23 12:03:14 +03:00
7abb3899a7 Merge pull request #1499 from ONLYOFFICE/fix/bug65948
fix bug #65948
2024-05-23 11:48:49 +03:00
f19906c14c Merge pull request #1500 from ONLYOFFICE/fix/bug66694
Fix bug #66694
2024-05-23 11:48:09 +03:00
fd15cdf4d0 Merge pull request #1508 from ONLYOFFICE/fix/bug66675
Fix bug #66675
2024-05-23 11:47:32 +03:00
9d3e553086 Merge pull request #1510 from ONLYOFFICE/fix/bug68111
Fix bug #68111
2024-05-23 11:46:11 +03:00
a19b4a03b3 Fixed a bug with attributes of functions and indexes 2024-05-23 11:27:28 +03:00
90650b1af8 Merge remote-tracking branch 'origin/fix/bug67380' into release/v8.1.0 2024-05-22 19:27:19 +03:00
3780922610 Fix bug #68111 2024-05-22 21:42:33 +06:00
fbb7ab93d6 Fix bug 67740 2024-05-22 17:37:33 +03:00
ca5201e704 FreeText has Rotate 2024-05-22 16:49:19 +03:00
2b13696379 Merge pull request #1509 from ONLYOFFICE/feature/docbuilder-python
Add new features to python docbuilder wrapper
2024-05-22 16:41:20 +03:00
24b32a2ba7 Fix bug #67380 2024-05-22 17:56:53 +05:00
1cdb2b0f15 Add list constructor and automatic conversion to CValue in functions 2024-05-22 16:52:13 +04:00
7758da7173 Add number constants for file types 2024-05-22 15:55:39 +04:00
3cd89354bc Fix pdf rotate for drawingfile 2024-05-22 11:08:12 +03:00
5fbed3db1c Fix double hashtag for color in RC 2024-05-22 10:30:09 +03:00
f28119e646 fix bug #68010 2024-05-21 20:47:23 +03:00
a2b0495254 Fix bug #66675 2024-05-21 21:11:57 +06:00
28f873be5c Merge pull request #1507 from ONLYOFFICE/feature/docbuilder-python
Add functionality in docbuilder python wrapper
2024-05-21 18:10:39 +03:00
5dede9304b Add support added images on recognize 2024-05-21 16:52:54 +03:00
ab52ee7486 Move PATH modify to windows-only section 2024-05-21 17:37:34 +04:00
3bf80a74fe Add split logic in paragraph 2024-05-21 12:13:43 +03:00
8f711f607f fix bug #67989 2024-05-21 11:25:57 +03:00
f2c5fed3c1 Merge pull request #1506 from ONLYOFFICE/fix/pdf-free-text
Fix FreeText renderer length
2024-05-21 10:54:01 +03:00
1602fb2106 Fix FreeText renderer length 2024-05-21 10:49:49 +03:00
c3f72756a4 Merge pull request #1505 from ONLYOFFICE/fix/pdf-build 2024-05-21 10:19:51 +03:00
5f8b557eb5 Fix pdf build 2024-05-21 10:18:18 +03:00
de31b16f91 Add Split logic 2024-05-21 09:27:54 +03:00
9d8e75a957 Fix library names for linux and mac 2024-05-20 19:40:40 +04:00
839844cb4f Merge pull request #1503 from ONLYOFFICE/fix/pdf-shape-img
Fix pdf shape image
2024-05-20 17:57:59 +03:00
fac976a22e Read and write image ref for OShapes 2024-05-20 17:52:22 +03:00
84cb59d7b2 Merge pull request #1502 from ONLYOFFICE/fix/pdf-freetext-rc
Fix pdf freetext
2024-05-20 14:09:06 +03:00
788620079d Add loadLibrary() check and automatic Dispose() 2024-05-20 14:33:43 +04:00
0e5b95f1d8 Refactoring 2024-05-20 13:29:38 +04:00
d0a82d71ee Fix build 2024-05-20 12:29:00 +03:00
97f742f816 Merge remote-tracking branch 'origin/release/v8.1.0' into fix/pdf-freetext-rc
# Conflicts:
#	PdfFile/PdfEditor.cpp
2024-05-20 10:14:57 +03:00
58980e61b7 Fix typo and create folder for tests 2024-05-19 12:02:37 +03:00
5a04f9033b Fix build 2024-05-19 11:33:45 +03:00
28785f13bc Merge pull request #1501 from ONLYOFFICE/feature/docbuilder-python
Feature/docbuilder python
2024-05-19 11:23:46 +03:00
7a73d3288c Refactoring 2024-05-19 11:21:18 +03:00
d82b2dc6ef Fix bug #68073 2024-05-18 14:14:05 +03:00
6ad319554d Fix bug with font-size 2024-05-18 13:42:32 +03:00
ff3b94a23a Fix bug #68036 2024-05-18 13:05:58 +03:00
5227a593ed Fix bug #68034 2024-05-18 13:05:34 +03:00
c802944d3b Fixes in docbuilder.py
+ Add more complex example
+ Add .gitignore
2024-05-17 23:16:02 +04:00
93d77ee945 Added all classes to docbuilder.py 2024-05-17 22:09:38 +04:00
4c101b21d0 Changed lines ending for consistency 2024-05-17 22:07:17 +04:00
05366635c1 Remove development 2024-05-17 18:10:30 +03:00
d853d42090 Fix calculating glyph widths for Base14 fonts 2024-05-17 16:00:23 +03:00
cb06eae63e Merge remote-tracking branch 'origin/release/v8.1.0' into fix/bug63489 2024-05-17 17:20:42 +05:00
6ba40aba51 Fix bug #67380 2024-05-17 16:57:40 +05:00
b8d54fb295 fix bug #65948 2024-05-17 17:55:02 +06:00
84d7eb03f2 Add example of python wrapper 2024-05-17 14:11:22 +04:00
28cd584393 Fix delete functions and add simple c++ example 2024-05-17 14:10:50 +04:00
bd6cc8a759 Merge remote-tracking branch 'origin/fix/bug67926' into release/v8.1.0 2024-05-17 12:21:01 +03:00
7cfd4e2dfa Merge remote-tracking branch 'origin/fix/bug67822' into release/v8.1.0 2024-05-17 12:20:45 +03:00
f923f4e03d Merge remote-tracking branch 'origin/fix/bug67823' into release/v8.1.0 2024-05-17 12:20:32 +03:00
e8898ce424 Merge remote-tracking branch 'origin/fix/bug61378' into release/v8.1.0 2024-05-17 12:19:39 +03:00
ebe045a833 fix bug #67995 2024-05-17 11:56:18 +03:00
140f9970f9 Add wrapper library docbuilder_functions.dll and tests for it 2024-05-17 12:07:22 +04:00
3d23e74818 Fix bug #61378 2024-05-16 21:48:26 +05:00
c24c78267b Write Base14 fonts to pdf 2024-05-16 18:56:59 +03:00
a7501e370b Fix bug #66694 2024-05-16 19:06:13 +06:00
68200895d0 Merge pull request #1496 from ONLYOFFICE/fix/StarMath
Fix/StarMath
2024-05-16 13:57:28 +03:00
b6b99ee9f0 Redirect to annotation rendering 2024-05-15 17:43:59 +03:00
5ea601cde9 fix bug #67973 2024-05-15 16:25:51 +03:00
1e7611f3f9 Add method for duplicate image links on recognize 2024-05-15 13:20:20 +03:00
c14856ac6f fix bug #68011 2024-05-15 11:15:31 +03:00
8857d3daca fix bug #67972 2024-05-15 11:00:27 +03:00
ad1bd06bb3 fix bug #67968 2024-05-15 09:55:58 +03:00
52555f4d9d fix bug #67963 2024-05-15 09:24:08 +03:00
d85b3dd7f0 Support images on recognize 2024-05-14 21:43:21 +03:00
6af44146e5 Merge pull request #1495 from ONLYOFFICE/fix/bug66658
Fix bug 66658
2024-05-14 18:30:42 +03:00
f704c44e9e Merge pull request #1497 from ONLYOFFICE/fix/bug66678
Fix bug #66678
2024-05-14 18:30:10 +03:00
a9884c1efb Merge pull request #1498 from ONLYOFFICE/fix/bug66677
Fix bug #66677
2024-05-14 18:29:50 +03:00
2dc0956b3c Create CAnnotRenderer 2024-05-14 17:52:04 +03:00
7dbe7eb3e1 Fix bug #66677 2024-05-14 19:16:08 +06:00
5617968a0c Fix bug #67926 2024-05-14 17:51:19 +05:00
3b029ae4cd Merge branch 'release/v8.1.0' into fix/StarMath 2024-05-14 14:43:16 +03:00
73dc770870 Fix bug #66678 2024-05-14 17:41:48 +06:00
46e56afa5c bug fix(crashes, parsing correction) 2024-05-14 14:31:24 +03:00
e6842f50b3 Fix bug #bug66658 2024-05-14 15:20:51 +06:00
f4ec536794 Fix bug 67809 2024-05-14 10:40:54 +03:00
f008857ab2 Find Font for FreeText 2024-05-13 18:12:23 +03:00
e7022472ff Merge pull request #1492 from ONLYOFFICE/fix/bug67936
Fix bug #67936
2024-05-13 18:00:11 +03:00
b470c4b259 Merge pull request #1493 from ONLYOFFICE/fix/bug67933
Fix bug #67933
2024-05-13 17:59:56 +03:00
155103b40f Fix bug #67933 2024-05-13 15:30:01 +06:00
0eee7ea548 Merge pull request #1491 from ONLYOFFICE/fix/bug-67916
Fix bug #67916
2024-05-13 01:58:54 -07:00
b53527c9fd Fix bug #67936 2024-05-13 14:53:32 +06:00
fb12bfa57f Add MovablePoints on Label 2024-05-13 11:17:30 +03:00
1a5af05024 Merge pull request #1490 from ONLYOFFICE/release/v8.1.0
Release/v8.1.0
2024-05-13 00:36:14 -07:00
7a842c4b14 Merge pull request #1489 from ONLYOFFICE/fix/html
Fix html
2024-05-12 12:45:44 -07:00
9779e53fe7 The algorithm for checking arrays has been rewritten 2024-05-12 21:50:04 +03:00
5c495dcf8d Merge pull request #1488 from ONLYOFFICE/release/v8.1.0
Release/v8.1.0
2024-05-12 07:16:18 -07:00
6bccf233ee Merge pull request #1477 from ONLYOFFICE/fix/html
Fix bugs in html converter
2024-05-12 06:46:37 -07:00
83e020f492 Fix bug #67916 2024-05-10 14:32:23 +03:00
84e4797ddf fix bug #67940 2024-05-10 10:53:02 +03:00
40e7685751 fix bug #67941 2024-05-10 10:40:07 +03:00
bfdd7be53c Merge pull request #1487 from ONLYOFFICE/fix/bug67919
Fix bug #67919
2024-05-08 17:41:06 +03:00
198498a26d Merge pull request #1486 from ONLYOFFICE/fix/bug67922
Fix bug #67922
2024-05-08 17:40:34 +03:00
3ba74a0373 Merge pull request #1485 from ONLYOFFICE/fix/bug67923
Fix bug #67923
2024-05-08 17:40:17 +03:00
5c7b7615dd Fix find FreeText Fonts object 2024-05-08 17:40:11 +03:00
e2992c2a79 Fix bug #67919 2024-05-08 19:33:43 +06:00
aab5cfe30c Fix bug #67922 2024-05-08 19:15:45 +06:00
f32ace9737 Fix bug #67923 2024-05-08 18:50:17 +06:00
d8bed77b67 Fix bug #67823 2024-05-08 17:05:49 +05:00
7ae79f20b8 Fix bug #67822 2024-05-08 15:12:22 +05:00
0a09d4a872 Merge pull request #1482 from ONLYOFFICE/fix/bug67897
Fix bug67897
2024-05-08 13:06:42 +03:00
68e778ba1f Merge pull request #1483 from ONLYOFFICE/fix/bug67898
Fix bug #67898
2024-05-08 13:06:20 +03:00
6d28d1af1d Merge pull request #1484 from ONLYOFFICE/fix/bug67891
Fix bug #67891
2024-05-08 13:05:52 +03:00
7e7bc0eb0e Fix bug #67891 2024-05-08 15:39:02 +06:00
b32728c9f0 fix bug #66842 2024-05-08 12:06:28 +03:00
39748f9d9e fix bug #67895 2024-05-08 11:49:04 +03:00
dabe547fb4 [android] Build only arm arch 2024-05-08 11:33:09 +03:00
3104f84768 fix bug #67876 2024-05-08 10:53:05 +03:00
bb2967c3ea Write RD and CA for FreeText AP.N 2024-05-07 17:43:26 +03:00
de1c08d65a Fix bug #67898 2024-05-07 20:40:12 +06:00
a68f18c9f2 Fix bug #67897 2024-05-07 19:55:22 +06:00
d16d7a1e76 Merge pull request #1479 from ONLYOFFICE/fix/bug67867
Fix bug #67867
2024-05-07 15:21:18 +03:00
2338218fa6 Merge pull request #1478 from ONLYOFFICE/fix/bug67864
Fix bug67864
2024-05-07 15:21:05 +03:00
a46115f056 Merge pull request #1480 from ONLYOFFICE/fix/bug67860
Fix bug #67860
2024-05-07 15:20:53 +03:00
d61747c283 Merge pull request #1481 from ONLYOFFICE/feature/libvlc-player-vout
Add video output signal to libvlc
2024-05-07 05:12:50 -07:00
10afcda7a3 Add new signal to CVlcPlayer 2024-05-07 14:31:02 +04:00
680c3824f7 Fix bug #67860 2024-05-07 16:00:34 +06:00
194d1c2208 Fix bug #67864 2024-05-07 15:04:29 +06:00
88aba1cb02 Fix MK.IF.A default value 2024-05-07 11:43:20 +03:00
fd664bafae Fix bug #67867 2024-05-07 14:20:46 +06:00
c03ec96966 . 2024-05-07 10:40:24 +03:00
5e02a7c21e Merge remote-tracking branch 'origin/fix/xlsb_conversion' into release/v8.1.0 2024-05-07 10:25:34 +03:00
bce25e9788 Fix mac build 2024-05-06 22:14:57 +03:00
b8332ae05b Merge pull request #1461 from ONLYOFFICE/feature/libvlc-functions
Add some functionality to libvlc player
2024-05-06 09:39:26 -07:00
f1fbcf653b Create StartDrawFreeText 2024-05-06 17:48:12 +03:00
283d611ad7 Fix sparkline conversion 2024-05-06 20:44:19 +06:00
045ca4ad9e . 2024-05-06 16:03:34 +03:00
f7a623a052 Merge branch 'release/v8.1.0' of https://github.com/ONLYOFFICE/core into release/v8.1.0 2024-05-06 15:49:06 +03:00
0439347bc3 fix bug #67782 2024-05-06 15:49:01 +03:00
441716773f Add property for strip x2t library 2024-05-06 15:12:02 +03:00
801e068abb Merge remote-tracking branch 'origin/fix/bug67815' into release/v8.1.0 2024-05-06 14:35:09 +03:00
a44e22c726 fix bug #67818 2024-05-06 14:34:06 +03:00
63bd2a1cbf Fix bug #67815 2024-05-06 15:49:48 +05:00
c88c1aac96 [android] Fix copy libs and build 2024-05-04 20:52:51 +03:00
a2e76364e9 Fix bug #67827 2024-05-04 15:19:06 +03:00
051ae3fab6 Fix bug #67836 2024-05-04 00:34:50 +03:00
f1544a6f6c Fix bug#67829 2024-05-03 22:50:16 +03:00
715facaefc Create AP for FreeText 2024-05-03 17:32:37 +03:00
6de671ccd5 Added language consideration when converting EPUB files 2024-05-03 15:57:29 +03:00
e61a727180 Merge pull request #1475 from ONLYOFFICE/fix/pdf-link
Fix pdf link
2024-05-03 15:42:40 +03:00
30e09e731b Fix delete Link annot in edit mode 2024-05-03 15:39:54 +03:00
d516c625eb Fix EditPage when adding Link in edit mode 2024-05-03 15:39:13 +03:00
9dceffdbeb Fix write RC to NSStringUtils::CStringBuilder 2024-05-03 15:36:51 +03:00
e107a67f55 Fix delete Link annot in edit mode 2024-05-03 15:36:14 +03:00
ee85c3597e fix bug #67011 2024-05-03 15:06:19 +03:00
ddc413a1b3 Fix EditPage when adding Link in edit mode 2024-05-03 13:39:03 +03:00
5c6aaed51f Fix svg file size 2024-05-03 13:18:53 +03:00
234c1766dc Fix bug #67770 2024-05-03 13:18:26 +03:00
95d8fd2871 Fix bug #67767 2024-05-03 13:17:41 +03:00
a6d9af576d . 2024-05-03 12:38:06 +03:00
23c54255e3 Fix ptg conversion 2024-05-03 13:55:29 +06:00
013d6990ce Write RC to FreeText 2024-05-02 18:32:32 +03:00
25b33244a4 fix bug #67011 2024-05-02 15:57:47 +03:00
c8c4127fbb Merge pull request #1474 from ONLYOFFICE/fix/bug62568
Fix/bug62568
2024-05-02 14:53:13 +03:00
33fdfadcf7 fix bug #66679 2024-05-02 11:33:28 +03:00
3d7fa985f7 Change libraries list for x2t 2024-05-01 21:51:58 +03:00
63c9185fd2 Add choice of colors for non parametric gradients 2024-04-29 22:08:28 +03:00
e69dc4f898 Remove unneeded files from compilation 2024-04-27 16:45:28 +03:00
32b5dfc04a for bug #67352 2024-04-27 16:43:18 +03:00
2d78eda6ad Merge remote-tracking branch 'origin/fix/bug65612' into release/v8.1.0 2024-04-27 16:35:59 +03:00
ae03967fb6 Merge remote-tracking branch 'origin/fix/bug61378' into release/v8.1.0 2024-04-27 16:26:27 +03:00
5db50d2ff7 Merge branch 'release/v8.1.0' into fix/xlsb_conversion 2024-04-27 17:43:35 +06:00
af226ceb67 Merge pull request #1473 from ONLYOFFICE/fix/bug67544
fix bug #67544
2024-04-27 14:41:34 +03:00
b17a6be4d5 fix bug #67679 2024-04-27 14:27:17 +03:00
7f791ad265 fix bug #67544 2024-04-27 17:27:11 +06:00
03b568ad49 fix bug #67673 2024-04-27 12:24:30 +03:00
f9bfdee8c3 Merge pull request #1470 from ONLYOFFICE/release/v8.1.0
Release/v8.1.0
2024-04-27 11:53:22 +03:00
123fcf9d3c Merge pull request #1472 from ONLYOFFICE/fix/bug-63701
Fix bug #63701
2024-04-27 11:29:56 +03:00
e673fd5b38 Merge pull request #1471 from ONLYOFFICE/fix/bug-67716
Fix bug #67716
2024-04-27 11:29:24 +03:00
0b07bef0de Fix for pptx shapes 2024-04-27 02:22:33 +03:00
ba4c5b31d1 Fix previous commit 2024-04-27 01:46:43 +03:00
6b5f930a1e Add custom image storage to docxrenderer 2024-04-27 01:44:26 +03:00
51c6fe496b Add parametrs input 2024-04-26 19:40:08 +03:00
4880ff705b Merge branch 'release/v8.1.0' into fix/StarMath 2024-04-26 17:30:39 +03:00
4f7841fa85 Merge pull request #1464 from ONLYOFFICE/fix/bug67231
Fix bug 67231
2024-04-26 17:23:34 +03:00
3acb44a5c9 Fixed drop in assessment. fix bugs. 2024-04-26 17:08:50 +03:00
5108fa6b94 Fix bug 66740 2024-04-26 14:44:03 +03:00
db5909fdf5 Fix bug #67716 2024-04-26 14:39:34 +03:00
051a1fa7ef Fix bug 67444 2024-04-26 12:47:51 +03:00
2fa4cdebb9 Fix table conversion 2024-04-25 21:35:11 +06:00
3c2f4874fc Fix bug #63701 2024-04-25 16:15:48 +03:00
66d8690dc3 Fix bug 66872 2024-04-25 12:08:44 +03:00
0f9b8f14e6 Fix bug #61378 2024-04-24 22:19:35 +05:00
eb1bc2779b Fix formula types conversion 2024-04-24 18:35:38 +06:00
ed9a5f1a24 editing tabs 2024-04-23 15:55:32 +03:00
31090af440 Fix array formula conversion 2024-04-22 16:32:40 +06:00
73624f28ac Fix android build 2024-04-20 14:02:19 +03:00
9daa8a1239 Fix build 2024-04-20 13:21:45 +03:00
82b634878f Fix build 2024-04-20 12:40:01 +03:00
033f61576e Merge pull request #1466 from ONLYOFFICE/fix/mht
Improved html and mht conversion
2024-04-19 20:50:11 +03:00
283f21de86 Add class Custom label for handle click 2024-04-19 20:13:30 +03:00
6de60d2543 Fix bugs in html to ooxml conversion 2024-04-19 19:20:45 +03:00
b7af10970a Merge pull request #1465 from ONLYOFFICE/fix/csv-date-conversion
Fix csv date conversion
2024-04-19 14:26:56 +03:00
c18224ea07 Fix csv date conversion 2024-04-19 17:17:14 +06:00
0a088eb949 fix bug 67231 2024-04-18 21:32:51 +03:00
48df470387 Merge pull request #1463 from ONLYOFFICE/fix/pdf-text-annot
Fix pdf text annot
2024-04-18 18:19:01 +03:00
c3767cf68e Fix bug 67439 2024-04-18 18:01:23 +03:00
663248ae2b Merge branch 'release/v8.1.0' into fix/xlsb_conversion 2024-04-18 20:53:34 +06:00
040ead411f Fixed a bug with encoding detection 2024-04-18 15:04:50 +03:00
a94a068202 Fix cell error conversion 2024-04-18 17:58:50 +06:00
05ad136231 Draw AP for 11-16 types text annot 2024-04-18 12:18:57 +03:00
b6c81a1f05 Draw AP for 0-10 types text annot 2024-04-17 17:52:20 +03:00
513b39b156 Fix bugs in html to ooxml conversion 2024-04-17 16:33:44 +03:00
2956768477 Merge pull request #1462 from ONLYOFFICE/fix/pdf-annot-text
Fix pdf annot text
2024-04-17 13:17:01 +03:00
a782d26621 Fix build 2024-04-17 13:04:55 +03:00
c859b5c440 Rename IsEditPage 2024-04-17 12:50:43 +03:00
6065c8b1f2 Fix bug 67337 2024-04-17 12:47:42 +03:00
bd39d887cf Create DrawTextComment-N and -R 2024-04-16 17:35:52 +03:00
6778a4c0da Add operators check in pthtypesParsing 2024-04-16 18:17:49 +06:00
2901f337e7 Add some functionality to libvlc player 2024-04-16 15:15:37 +04:00
ca179304c3 Fix bugs in html to ooxml conversion 2024-04-15 21:46:24 +03:00
cb53604c13 Add parsing ptg types method 2024-04-15 19:27:19 +06:00
2ad2ad9dfd Merge pull request #1460 from ONLYOFFICE/fix/pdf-shape
Fix clear content
2024-04-15 14:34:47 +03:00
6431ba5245 Fix clear content 2024-04-15 14:02:43 +03:00
2e74e8fa11 fix bug #67398 2024-04-14 17:06:40 +03:00
1e18eb4335 Merge pull request #1459 from ONLYOFFICE/fix/x2t_date_time 2024-04-12 20:32:58 +03:00
ddb01d9478 Sets bDateTime true by default 2024-04-12 20:19:12 +03:00
e11ddf9153 Merge pull request #1458 from ONLYOFFICE/feature/pdf-shape
Feature pdf shape
2024-04-12 17:48:38 +03:00
2f916dcd11 Fix build 2024-04-12 17:45:31 +03:00
8b2b4d1bbf Add support shapes from metadata 2024-04-12 17:07:20 +03:00
6adc289948 Merge remote-tracking branch 'origin/release/v8.1.0' into feature/pdf-shape 2024-04-12 13:57:53 +03:00
4f3d495b3a Rotate page 2024-04-12 13:56:05 +03:00
79fa4f26a7 Remove GetShapes test 2024-04-12 13:55:14 +03:00
52a07814f4 Improving the quality of converting html tables to ooxml and refactoring 2024-04-12 13:17:13 +03:00
2e32a1b70a Remove GetShapes 2024-04-12 12:50:07 +03:00
79d90b89bd Merge pull request #1457 from ONLYOFFICE/fix/office_utils
Fix bug with headers in zip
2024-04-12 10:03:29 +03:00
43c05c6041 Fix fromJS method 2024-04-11 17:02:21 +03:00
3015aff491 . 2024-04-11 16:35:23 +03:00
490e3be6c4 Merge pull request #1456 from ONLYOFFICE/fix/bug66286
For bug 66286
2024-04-11 16:18:48 +03:00
1929e2e5c9 Fix page scale 2024-04-11 16:02:48 +03:00
b7ca461ba5 Fix coord shift 2024-04-11 14:42:11 +03:00
8309c5bbfe End every paragraph with a:endParaRPr 2024-04-11 15:12:26 +05:00
ad60357f6f Merge remote-tracking branch 'origin/release/v8.1.0' into feature/pdf-shape
# Conflicts:
#	DocxRenderer/src/resources/VectorGraphics.h
2024-04-11 11:13:32 +03:00
de2ecb08a0 . 2024-04-10 22:09:51 +03:00
897c7493da Fixes for .m files 2024-04-10 20:31:35 +03:00
0700038802 Refactoring 2024-04-10 19:12:01 +03:00
d733af03aa Fix icon set conversion 2024-04-10 20:30:26 +06:00
13b0458d47 Add support for external headers 2024-04-10 15:30:52 +03:00
defbcd77fb Add originIndex for drawingfile 2024-04-10 13:12:08 +03:00
5e02d5d943 Fix begin/end-MarkedContent 2024-04-10 13:07:21 +03:00
aa83a2dda2 ShapeStart, ShapeEnd for RendererOutputDev 2024-04-10 12:44:03 +03:00
5c7ebcd3ff BMC replaced by BDC for marked content 2024-04-10 12:42:32 +03:00
82d577c335 ShapeStart, ShapeEnd to DocInfo 2024-04-10 12:40:25 +03:00
cecf3fe9a8 Fix bug with headers in zip 2024-04-10 11:41:15 +03:00
3e4c531538 Add default parametrs and new gradient types 2024-04-10 01:18:40 +03:00
b4556c0254 Refactoring 2024-04-09 22:55:42 +03:00
5708517a0e fix bug #67016 2024-04-09 21:02:22 +03:00
e728a58222 Fix cond fmt conversion from xlsb to xlsx 2024-04-09 22:17:25 +06:00
7db54c9cef Merge pull request #1454 from ONLYOFFICE/fix/bug66286
Fix bug 66286
2024-04-09 17:55:59 +03:00
a9dd418841 Fix build 2024-04-09 17:39:45 +03:00
8491d20439 Add fmla test case 2024-04-09 20:31:24 +06:00
30ae04fd6e Update test files 2024-04-09 20:31:09 +06:00
85980186ac Fix bug 66286 2024-04-09 16:46:52 +03:00
471c9a4ebd Improved work with caption tables when html to ooxml conversion 2024-04-09 16:18:46 +03:00
2481f7f257 Fix build with old compilers 2024-04-09 13:09:01 +03:00
f5ca81240b Fix connection conversion 2024-04-09 14:13:29 +06:00
2038ace911 Fix build 2024-04-09 10:03:19 +03:00
2277feb87d fix bug #67327 2024-04-08 19:55:37 +03:00
229c88a7be fix build 2024-04-08 19:55:08 +03:00
7accccb3ab Merge remote-tracking branch 'origin/release/v8.1.0' into feature/pdf-shape
# Conflicts:
#	DesktopEditor/graphics/pro/js/wasm/src/drawingfile.cpp
#	DocxRenderer/src/logic/Page.cpp
2024-04-08 18:02:41 +03:00
e33e659c22 Restore write xfrm to docx shapes. Add pptx shapes to wasm module 2024-04-08 17:35:40 +03:00
4ddde8246d Add ctPageRotate, AddPage and RemovePage 2024-04-08 17:17:06 +03:00
2ab2cb7cf2 Fix connections conversion 2024-04-08 18:45:59 +06:00
dbbd6cbbe6 Merge pull request #1452 from ONLYOFFICE/feature/docx_renderer2
Feature/docx renderer2
2024-04-08 13:22:00 +03:00
29afb2aed9 Add Triangle gradient 2024-04-05 19:34:20 +03:00
8c522aa006 Fix repeat fonts 2024-04-05 17:21:51 +03:00
bb858cc24a . 2024-04-05 16:59:03 +03:00
31079f91be Merge remote-tracking branch 'origin/fix/bug60279' into release/v8.1.0 2024-04-05 16:54:46 +03:00
8ad98fae68 Merge remote-tracking branch 'origin/fix/bug61378' into release/v8.1.0 2024-04-05 16:50:09 +03:00
790f51dd1b Merge remote-tracking branch 'origin/fix/bug67089' into release/v8.1.0 2024-04-05 16:48:05 +03:00
d13e5dc3da Merge remote-tracking branch 'origin/feature/odg' into release/v8.1.0 2024-04-05 16:47:48 +03:00
10c6def10e Bug fixed. Editing sqrt and nroot, dropping parentheses. 2024-04-05 15:54:31 +03:00
b2bcdbc2bc Fix bug #61378 2024-04-05 16:02:06 +05:00
bfefe4d1b7 Merge remote-tracking branch 'origin/release/v8.1.0' into feature/pdf-shape
# Conflicts:
#	DesktopEditor/graphics/pro/js/wasm/src/pdfwriter.cpp
#	PdfFile/PdfReader.cpp
#	PdfFile/SrcWriter/Document.cpp
2024-04-05 12:25:30 +03:00
7f17f30650 for bug 67231 2024-04-04 20:42:29 +03:00
6fdac51409 Merge pull request #1451 from ONLYOFFICE/fix/bug66986
For bug #66986
2024-04-04 16:53:58 +03:00
463ca006ee Fixed bugs with tables in html to ooxml conversion 2024-04-04 16:48:52 +03:00
e8a69e39bc Fix bugs #67249, #65628 2024-04-04 16:40:41 +03:00
8b9c0d79bb Fix bug #67210 2024-04-04 14:27:48 +03:00
12fd3bd3ce Comment conditional formattings ext 2024-04-04 17:20:59 +06:00
2f7447f918 For bug #66986 2024-04-04 12:40:16 +03:00
86b53b7ede Refactoring 2024-04-04 10:22:35 +03:00
078e9afcc2 Fix conditional formatting conversion 2024-04-03 21:31:09 +06:00
91bc306369 Fix bug #67089 2024-04-03 19:58:18 +05:00
21e3293895 fix image size from pixels to millimeters 2024-04-03 15:31:07 +03:00
ab4a3ef546 fix bug #67231 2024-04-03 11:53:12 +03:00
3d2e43b5d7 fix namespace math 2024-04-03 11:50:09 +03:00
fcb4ae3909 Merge pull request #1446 from ONLYOFFICE/fix/bug66934
Fix bug #66934
2024-04-02 19:04:57 +03:00
ebe0248c3f fix bug #67016 2024-04-02 13:08:08 +03:00
083ced27c8 fix build 2024-04-02 12:32:04 +03:00
cd86a8a3c7 fix image size and GenerateImg method 2024-04-02 00:47:50 +03:00
3c8604390e Fix table styles conversion 2024-04-01 16:03:16 +06:00
d23268b76e Merge branch 'release/v8.1.0' into fix/xlsb_conversion 2024-04-01 14:30:24 +06:00
2b72bf3f53 Fix bugs (correction of indexes, without elements between them, editing of frac and binom)
(cherry picked from commit 43bee348aa)
2024-04-01 10:48:20 +03:00
110617547c improvements to attribute parsing
(cherry picked from commit 7776f15a35)
2024-04-01 10:47:46 +03:00
db95af6c58 refinement of parsing and conversion of indexes. editing and writing tests.
(cherry picked from commit 62b3b7b3c6)
2024-04-01 10:47:39 +03:00
b1794fcf96 editing parsing of indexes with operators. adding alignment.
(cherry picked from commit 1dff8bb868)
2024-04-01 10:47:27 +03:00
fcd0bec3ac conversion of unary symbols. code refactoring.
(cherry picked from commit 89287887a0)
2024-04-01 10:47:11 +03:00
3d394b173c fix bugs
(cherry picked from commit 97ddd35653)
2024-04-01 10:46:56 +03:00
0b05f25488 Merge commit '835f4ba89db4bf52993519a88948923821db17be' into feature/odf-math-2 2024-04-01 10:45:07 +03:00
c44aed0e9a Refactoring 2024-03-30 12:53:30 +03:00
2156d6e134 fix bug #66842 2024-03-29 17:28:02 +03:00
9094965909 Fix bug #60279 2024-03-29 17:04:39 +05:00
9e1e641218 Add test for Linear and Radial gradients 2024-03-29 12:37:31 +03:00
8332560d06 Fix data validations 2024-03-29 15:31:52 +06:00
b7a4c739eb fix bug #67121 2024-03-28 13:40:59 +03:00
db9015a3e7 Change ms placeholder presentation type 2024-03-28 14:01:38 +05:00
f203f73a4b fix bug #67087 2024-03-27 18:40:38 +03:00
7a31de1708 Merge branch 'release/v8.1.0' into fix/xlsb_conversion 2024-03-27 14:55:31 +06:00
e2d278c74b Fix dxfs conversion 2024-03-27 14:54:22 +06:00
c961f00fd1 fix bug #67043 2024-03-26 20:06:43 +03:00
a31361fe05 Added a method for equating any one to the nearest of the given ones 2024-03-26 19:38:12 +03:00
53b93ed9f2 fix bug #67109 2024-03-26 19:34:29 +03:00
22a255f351 Fix images bug 2024-03-26 17:57:31 +03:00
cbac820495 fix bug #67066 2024-03-26 17:37:06 +03:00
4cc7ec1ed0 Fix dxfs conversion 2024-03-26 18:03:51 +06:00
8b16b1625f Fix bug 2024-03-26 11:46:30 +03:00
9e260897b3 Fixed a bug with the percentage size of the svg file 2024-03-26 10:56:52 +03:00
b10e482fbb Fix dxf prop conversion 2024-03-25 22:21:22 +06:00
510a6a621d fix bug #67054 2024-03-25 18:13:10 +03:00
4a1f483315 Fix alignment + fix logic 2024-03-24 22:47:03 +03:00
7e1c27e5ad Merge pull request #1448 from ONLYOFFICE/fix/bug67066
Fix bug 67066
2024-03-22 14:17:39 +03:00
c223714b52 Fix bug 67066 2024-03-22 13:54:48 +03:00
23f6a3a3df Merge branch 'release/v8.1.0' into fix/xlsb_conversion 2024-03-22 13:48:24 +06:00
aad7f089e4 Fix pivot tables conversion 2024-03-21 20:31:04 +06:00
03244e9e83 For bug #65612
Fix Split/Cover transition parameter conversion
2024-03-21 14:44:44 +05:00
8adf556ea8 Merge pull request #1447 from ONLYOFFICE/fix/pdf-cropbox-ap
Fix cropbox offset for AP annots
2024-03-21 12:23:40 +03:00
bb84209b05 Fix cropbox offset for AP annots 2024-03-21 12:02:59 +03:00
e01aa641a0 Remove PdfWriter_empty 2024-03-20 18:15:42 +03:00
c9fbe4189c Added merging of extra cells in html to ooxml conversion 2024-03-20 13:51:18 +03:00
475d0be0bf fix bug #59931 2024-03-20 11:54:48 +03:00
70a4e3e792 fix bug #67008 2024-03-20 10:55:55 +03:00
7c349dfa18 Create PdfEditor 2024-03-19 18:58:52 +03:00
4943193ef7 fix bug #66868 2024-03-19 16:44:26 +03:00
3a6f74dc82 fix flags 2024-03-19 16:08:21 +03:00
8c00325004 Merge remote-tracking branch 'origin/feature/pdf-freetext' into feature/pdf-shape 2024-03-19 14:48:33 +03:00
4deae80350 Fix right alignments 2024-03-19 12:27:22 +03:00
d5a4cd43e3 Fix bug 2024-03-19 11:23:58 +03:00
6eaf5cc9d3 Fix ScanPagePptx 2024-03-19 11:15:25 +03:00
ad2c6b67f1 fix bug #66864 2024-03-19 11:00:37 +03:00
13542b1388 fIx content types writing for worksheets and pivot tables 2024-03-18 22:38:46 +06:00
1b865e9b13 Refactoring AnnotField and FormField 2024-03-18 17:53:32 +03:00
cfee077b9d Merge remote-tracking branch 'origin/fix/bug66795' into release/v8.1.0 2024-03-18 15:57:32 +03:00
30d4dbae5a Merge branch 'release/v8.1.0' into fix/xlsb_conversion 2024-03-18 18:28:44 +06:00
6874e110bb fix build 2024-03-18 15:21:21 +03:00
f89becf68f Fix bug #66934 2024-03-18 18:18:08 +06:00
88008a9e7e fix bug #66959 2024-03-17 11:34:53 +03:00
b20e29daaf fix bug #66960 2024-03-17 09:24:24 +03:00
95cf8bc4bd Merge branch 'feature/docx_renderer2' of https://github.com/ONLYOFFICE/core into feature/docx_renderer2 2024-03-15 18:38:51 +03:00
b311bb319b ScanPagePptx done 2024-03-15 18:37:48 +03:00
21f73ba724 Merge pull request #1445 from ONLYOFFICE/feature/json-strings
JSON: Simplification of working with strings
2024-03-15 17:41:20 +03:00
ce9d61a3aa Fixed json test 2024-03-15 18:31:42 +04:00
b2c8696d1d Change strings conversion function 2024-03-15 18:16:58 +04:00
be0c6b13e7 Strings unify 2024-03-15 17:56:17 +04:00
ba307e8d2b Merge pull request #1444 from ONLYOFFICE/fix/bug66947
Fix bug 66947
2024-03-15 16:43:28 +03:00
4364f95fb6 Fix bug 66947 2024-03-15 16:30:12 +03:00
fb4c8ebf32 Refactoring and fix bugs 2024-03-15 15:57:57 +03:00
e53416e934 Add worksheet write before another parts 2024-03-15 18:10:58 +06:00
1a92ec57e1 Fix multisheet reference conversion 2024-03-15 18:09:36 +06:00
d0adabc5f7 Fix bug #66795 2024-03-15 17:04:33 +05:00
b9bf82d932 Merge branch hotfix/v8.0.1 into release/v8.1.0 2024-03-15 11:12:33 +00:00
f067fc3268 Merge branch hotfix/v8.0.1 into develop 2024-03-15 11:12:29 +00:00
dc3a4a3ed9 Merge branch hotfix/v8.0.1 into master 2024-03-15 11:12:24 +00:00
53ca119a99 Improved conversion of tables from html to ooxml 2024-03-15 12:58:03 +03:00
bf63f5322c Merge pull request #1440 from ONLYOFFICE/fix/bug66933
Fix bug 66933
2024-03-15 12:51:36 +03:00
f682f51481 Fix bug 66933 2024-03-15 12:17:11 +03:00
933741ca88 Fix ios build 2024-03-15 12:12:53 +03:00
7adcec27ff Merge pull request #1439 from ONLYOFFICE/release/v8.1.0
Release/v8.1.0
2024-03-14 20:08:12 +03:00
a684336b72 Fix build 2024-03-14 20:06:20 +03:00
c3ef38b1e1 For bug 66933 2024-03-14 18:53:22 +03:00
94ceab0a03 Add multysheet xti using 2024-03-14 19:33:07 +06:00
8769924fe2 Merge pull request #1438 from ONLYOFFICE/fix/bug66721
Fix bug 66721
2024-03-14 16:06:30 +03:00
08ae2f5d2e Fix bug 66721 2024-03-14 15:37:38 +03:00
b436a70662 Merge pull request #1437 from ONLYOFFICE/fix/bug66537
Fix bug 66537
2024-03-14 12:43:05 +03:00
7d15bbc7c2 Fix build 2024-03-14 12:17:51 +03:00
00769d01c1 Fix bug 66537 2024-03-14 11:42:25 +03:00
3b1fa0a9bd Merge branch 'release/v8.1.0' of https://github.com/ONLYOFFICE/core into release/v8.1.0 2024-03-13 18:43:29 +03:00
1a676ace8b fix bug #66857 2024-03-13 18:43:13 +03:00
601ba0cedc Merge pull request #1436 from ONLYOFFICE/release/v8.1.0
Release/v8.1.0
2024-03-13 18:24:43 +03:00
261d8aad37 Merge pull request #1435 from ONLYOFFICE/hotfix/v8.0.1
Hotfix/v8.0.1
2024-03-13 18:21:50 +03:00
27ebebdd0e fix flags 2024-03-13 17:27:31 +03:00
0053b72656 Remove unused files 2024-03-13 17:13:25 +03:00
9832010dd7 Add xti reading while xml read 2024-03-13 19:22:40 +06:00
dfbb20035b Merge remote-tracking branch 'origin/feature/docx_renderer2' into feature/pdf-freetext
# Conflicts:
#	PdfFile/PdfReader.cpp
2024-03-13 13:11:58 +03:00
112dbd9e88 Fixes for build module 2024-03-13 12:18:59 +03:00
6995a5ef34 Fix endless formula conversion 2024-03-13 14:42:40 +06:00
e18edba2ba Merge pull request #1434 from ONLYOFFICE/fix/8.0.2
Fix/8.0.2
2024-03-13 11:12:36 +03:00
38ce36fa75 . 2024-03-13 11:11:58 +03:00
e518efc5e1 . 2024-03-13 11:10:31 +03:00
53677bf8cc Revert test changes 2024-03-13 11:04:55 +03:00
b065aff618 Fixes for android 2024-03-13 10:57:11 +03:00
a6370ec0a6 fix bug #66842 2024-03-13 10:37:33 +03:00
245ba212c4 fix bug #66849 2024-03-12 23:55:01 +03:00
48c1478374 fix bug #66840 2024-03-12 19:58:47 +03:00
65112e860e Fix query table conversion 2024-03-12 21:46:19 +06:00
4a22b26ac1 Fix connection conversion 2024-03-12 20:24:02 +06:00
e18883f126 Fix bugs in html to ooxml conversion 2024-03-12 14:54:08 +03:00
29a4119546 Fix inline string conversion 2024-03-12 15:04:00 +06:00
9ffc34b7e2 Developing DocxRenderer
- pptx shapes (in progress)
- no br logic
2024-03-12 11:51:47 +03:00
8a9e5ad267 Fix bugs in html to ooxml conversion 2024-03-12 10:46:05 +03:00
69a71d78ed [x2t] For bug 66819 2024-03-12 01:33:24 +03:00
db3d665f8c fix bug #66821 2024-03-11 19:27:53 +03:00
5c52489394 Fix function calling order 2024-03-11 18:04:37 +03:00
e8a4dab0ea Add office_drawing file to visual studio project 2024-03-11 18:40:48 +05:00
320dcf8a0f Add odg file format conversion 2024-03-11 18:25:03 +05:00
f10ad91f0f Merge remote-tracking branch 'origin/release/v8.1.0' into develop 2024-03-11 11:16:30 +03:00
1d594b93ea Merge remote-tracking branch 'origin/fix/xlsb_conv_errors' into release/v8.1.0 2024-03-11 11:15:00 +03:00
d68f4cedff Merge pull request #1433 from ONLYOFFICE/fix/bug27583
Fix bug 27583
2024-03-11 11:05:22 +03:00
c3571838ef Merge pull request #1432 from ONLYOFFICE/fix/bug66657
Fix bug #66657
2024-03-11 11:05:15 +03:00
76e05db9da Fix bug #66657 2024-03-11 13:54:41 +06:00
f93a628c24 Refactoring build 2024-03-10 21:58:34 +03:00
d81e70cfee fix bug #66798 2024-03-10 14:37:48 +03:00
26658a7189 fix bug #66796 2024-03-09 16:20:20 +03:00
e2ebe6a6d3 fix bug #66783 2024-03-07 16:39:55 +03:00
f9cd49a756 Fix bugs 2024-03-07 16:05:31 +03:00
e30c5fb79d fix bug #66777 2024-03-07 15:59:01 +03:00
57e06222c7 fix bug #66773 2024-03-07 15:52:13 +03:00
8bd978d2c6 Merge remote-tracking branch 'origin/fix/bug27583' into release/v8.1.0 2024-03-07 15:06:34 +03:00
04480bb9eb fix bug #66766 2024-03-06 20:06:43 +03:00
82cd32aa85 fix bug #66772 2024-03-06 19:38:20 +03:00
d92ab67b21 Fix validation 2024-03-06 16:20:28 +03:00
36dbd4f0e1 Refactoring 2024-03-06 15:55:12 +03:00
e787102046 Fix bug #27583 2024-03-06 18:47:52 +06:00
2445f6f2e3 Merge remote-tracking branch 'origin/release/v8.1.0' into develop 2024-03-06 15:38:39 +03:00
422f0736c4 Fix colot conversion 2024-03-06 17:45:57 +06:00
296383bd6f fix bug #66744 2024-03-06 12:05:45 +03:00
f6713d751b fix bug #66750 2024-03-06 11:41:39 +03:00
46fc80f423 fix bug #45218 2024-03-06 10:15:20 +03:00
b88d303ceb fix bug #66722 2024-03-04 19:43:28 +03:00
583f7b0d0c Create CFile.prototype["getShapes"] 2024-03-04 17:08:42 +03:00
86f288541f Merge branch 'release/v8.1.0' into fix/xlsb_conv_errors 2024-03-04 19:55:56 +06:00
9e24a89fd4 Fix bugs 2024-03-04 15:56:02 +03:00
f369715c55 Fix book view conversion 2024-03-04 18:12:00 +06:00
29852ddf25 Fix BeginShape to BeginMarkedContent 2024-03-04 10:31:02 +03:00
d88fc239b8 fix convert to xlsb 2024-03-02 15:42:11 +03:00
aad25c3da8 fix bug #66699 2024-03-02 15:22:30 +03:00
6bbf1190a7 Fix reference limits 2024-03-01 22:25:33 +06:00
3d1b8e64ac Fix shared formula conversion 2024-03-01 22:25:03 +06:00
e1ce2150dc Merge pull request #1431 from ONLYOFFICE/fix/bug66671
Fix bug 66671
2024-03-01 17:22:14 +03:00
1a86da3559 Fix bug #66670 2024-03-01 16:33:44 +03:00
1ff92a8e71 Fix def name conversion 2024-03-01 19:33:15 +06:00
00c95da6c0 Merge pull request #1430 from ONLYOFFICE/fix/66463
Fix bug #66463
2024-03-01 15:37:29 +03:00
bb1d5401d2 Refactoring 2024-03-01 15:24:09 +03:00
c9aad72ecc Fix bug 66671 2024-03-01 18:00:36 +06:00
e2dc625b0a Fix bugs and refactoring 2024-03-01 13:54:47 +03:00
c649de088a .
(cherry picked from commit bba6d180dc)
2024-03-01 13:29:13 +03:00
0476dedbac fix bug #66656 2024-02-29 21:54:50 +03:00
b71ed594da Add tests result 2024-02-29 20:03:36 +03:00
9c2e696710 Add words 2024-02-29 19:59:39 +03:00
f5ee86c94e Add tests for dictionaries 2024-02-29 19:44:28 +03:00
808782c1c8 Write BDC/EMC for MetaOForm 2024-02-29 17:34:37 +03:00
0dd978c000 Exist folder check: Add white list for some folders 2024-02-29 16:02:38 +03:00
bba6d180dc . 2024-02-29 15:54:56 +03:00
25ca9b5fcd meta in cell from/to bin 2024-02-29 12:24:02 +03:00
c7a1e3536d Meta from Cell 2024-02-29 12:02:26 +03:00
18e3ef0932 Merge remote-tracking branch 'origin/release/v8.1.0' into feature/pdf-shape 2024-02-29 11:37:43 +03:00
448156c905 Merge pull request #1429 from ONLYOFFICE/release/v8.1.0
Release/v8.1.0
2024-02-29 10:12:09 +03:00
db340198d6 Create GetShapesXML 2024-02-29 10:04:48 +03:00
7dd1dd3c8a Disable clear font streams in ScanPage mode 2024-02-28 22:33:07 +03:00
ec2687e5d1 for bug #57082 2024-02-28 21:29:46 +03:00
1ab06e503a Fix bug 2024-02-28 21:25:25 +03:00
f973a0a952 fix bug #66651 2024-02-28 21:13:35 +03:00
6a628a21fb Add 3dParty list 2024-02-28 17:08:44 +03:00
63c38399ad fix build 2024-02-28 14:50:08 +03:00
56c3b1a6d3 Fix bugs 2024-02-28 14:31:52 +03:00
163e21acf4 fix bug #53909 2024-02-27 17:56:13 +03:00
8ebd23defb UserProtectedRangeType 2024-02-27 17:17:35 +03:00
487c750020 Create CShapeStart::Read 2024-02-27 16:26:20 +03:00
4dc1751d89 Fix color conversion 2024-02-27 18:42:33 +06:00
fc3e6592f4 Fixes for support in js module 2024-02-27 15:00:33 +03:00
ed0d1fbdb0 Refactoring 2024-02-27 14:54:45 +03:00
849ad8ac87 Fixed bugs with styles in html->ooxml conversion and refactoring 2024-02-27 14:18:04 +03:00
9bb45aa05d fix bug #66622 2024-02-27 14:15:20 +03:00
306a61ba14 Fix NSFonts::IFontList::Add 2024-02-27 12:12:56 +03:00
a91500c4b7 Fix table conversion 2024-02-26 21:10:22 +06:00
88a6f5815c Add ScanPage 2024-02-26 17:29:21 +03:00
168aa04b8f Separate CAnnotMarkup::ReadRC 2024-02-26 17:27:37 +03:00
147d8ca783 for bug #66596 2024-02-26 16:14:04 +03:00
bb9e5c590a Create ctShapeStart and ctShapeEnd 2024-02-26 14:34:31 +03:00
7733825458 Fix compile 2024-02-26 11:56:48 +03:00
8ca63e5013 Merge branch hotfix/v8.0.1 into master 2024-02-26 07:33:51 +00:00
0c998e318b fix bug #34418 2024-02-24 12:10:57 +03:00
f8184532c8 Added support for reading @page and bug fixes in html to ooxml conversion 2024-02-22 18:10:26 +03:00
0927217246 Fix repeat font 2024-02-22 16:59:39 +03:00
0a1d3ddd91 Fix SetFont for FreeText annot 2024-02-22 15:03:28 +03:00
0bc356ebff fix bug #66057 2024-02-22 13:13:37 +03:00
620827ad53 . 2024-02-22 10:28:49 +03:00
c1025cf70b Merge remote-tracking branch 'origin/fix/xlsb_conversion' into release/v8.1.0 2024-02-22 10:27:33 +03:00
3320547735 Fix bug #66463 2024-02-21 22:41:35 +03:00
c1f1c3a683 add support oleObjects from Word 2003 XML 2024-02-21 20:45:07 +03:00
e8c375c864 Add FontSelection to FreeText 2024-02-21 18:54:58 +03:00
3d2ebf31b3 Fix sheet protection conversion 2024-02-21 14:32:01 +06:00
25be75004d Merge remote-tracking branch 'origin/hotfix/v8.0.1' into develop 2024-02-20 23:14:38 +03:00
cf90cd9e12 Merge pull request #1426 from ONLYOFFICE/fix/bug61241
fix bug #61241
2024-02-20 22:47:29 +03:00
690d17f6c4 fix bug #61241 2024-02-20 22:29:13 +03:00
ef0e18e1c9 Fix conditional formating refs conversion 2024-02-20 23:24:20 +06:00
001768d0c6 Try get by symbol 2024-02-20 19:58:30 +03:00
5cb6c32635 Merge pull request #1424 from ONLYOFFICE/feature/pdf-metaoform
Feature pdf metaoform
2024-02-20 16:21:16 +03:00
9c6c3e845b Merge remote-tracking branch 'origin/develop' into feature/docx_renderer2 2024-02-20 16:17:05 +03:00
f3bdeacf7e Fix bugs 2024-02-20 13:15:44 +03:00
7776743d8d Fix bug 66567 2024-02-19 22:15:10 +03:00
f672fcc665 oleObjects from ppt 2024-02-19 20:07:17 +03:00
b56e21d6c7 Improved padding in html to ooxml conversion 2024-02-19 18:33:31 +03:00
5326058947 Get fotn from AP 2024-02-19 18:06:42 +03:00
159ffec93b Merge pull request #1423 from ONLYOFFICE/fix/bug66562
Fix bug #66562
2024-02-19 17:37:53 +03:00
aba868b9ac Fix bug #66562 2024-02-19 18:25:05 +06:00
91e5fae5de fix bug #62141 2024-02-19 10:55:23 +03:00
efb18b5864 [x2t] Fix fromDraw 2024-02-19 01:52:06 +03:00
7d6a95d521 Fix bug 65583 2024-02-18 22:10:54 +03:00
49f5df9f88 [x2t] Fix COfficeFileFormatChecker::isOOXFormatFile for vsdx 2024-02-18 12:42:42 +03:00
8a6974a020 Add define to use default font to recalc 2024-02-17 14:57:38 +03:00
0ff68fcd8d Merge pull request #1422 from ONLYOFFICE/fix/bug66545 2024-02-17 10:42:05 +03:00
25fc759e61 Fix bug 66545 2024-02-17 10:18:10 +03:00
22508420d8 [x2t] To fix build 2024-02-16 23:30:42 +03:00
30fa4b0ea4 [x2t] For vsdx printing 2024-02-16 20:05:07 +03:00
c90394b50a Update logic 2024-02-16 19:37:52 +03:00
6b74d80cd9 Merge branch 'develop' into fix/xlsb_conversion 2024-02-16 20:48:28 +06:00
ace094fc2a for bug #63610 2024-02-16 17:31:21 +03:00
56a09831cc Improved conversion of style settings of html tables to ooxml 2024-02-16 16:39:50 +03:00
8442596372 Fix conversion table formulas with empty square brackets 2024-02-16 15:58:57 +06:00
4ee1d59803 Fix default values setting up 2024-02-16 15:56:48 +06:00
77901663a0 Fix bug 66513 2024-02-16 12:50:59 +03:00
65a483461e Fix RC parser - span and #text 2024-02-16 11:57:58 +03:00
aa89e7fd4e Merge remote-tracking branch 'origin/hotfix/v8.0.1' into feature/pdf-metaoform 2024-02-16 10:48:22 +03:00
b7bc83f37d Create ValidMetaData 2024-02-16 10:47:08 +03:00
e11f145d30 Merge pull request #1420 from ONLYOFFICE/fix/bug66504
Fix bug 66504
2024-02-15 17:26:44 +03:00
5c69cb0358 Fix MemStream::setPos 2024-02-15 17:20:57 +03:00
2f4fee3555 Fix bug 66504 2024-02-15 16:35:27 +03:00
8eee4d470c Fix sparkline conversion 2024-02-15 19:29:51 +06:00
7710090d31 Merge pull request #1419 from ONLYOFFICE/fix/pdf-name
Fix T name due to Adobe
2024-02-15 16:16:16 +03:00
c7df1bc3ce Merge pull request #1418 from ONLYOFFICE/fix/bug66504
Fix bug 66504
2024-02-15 16:15:56 +03:00
7fdead0eda Fix T name due to Adobe 2024-02-15 16:13:33 +03:00
e78a4c84b4 Fix bug 66504 2024-02-15 15:50:36 +03:00
d1da32b922 add error style initialization check 2024-02-15 17:54:50 +06:00
ebc94a2615 Add new string removing from column names 2024-02-15 17:54:17 +06:00
b9a11bc30d Add ID with MetaOForm 2024-02-15 13:11:19 +03:00
17a2172673 for bug #66495 2024-02-15 12:27:23 +03:00
34dfdf970f Merge remote-tracking branch 'origin/hotfix/v8.0.1' into develop 2024-02-15 12:17:01 +03:00
62481e5def Fix bug 66473 2024-02-15 11:20:01 +03:00
192704636f Fix build 2024-02-14 20:47:26 +03:00
0a9356f54b For bug 65400 2024-02-14 20:06:36 +03:00
ae8b458f79 fix bug #66497 2024-02-14 18:58:12 +03:00
8a88fce72f Merge pull request #1417 from ONLYOFFICE/feature/pdf-line
Write AP of pdf line annot
2024-02-14 14:58:44 +03:00
d23ebbdb38 Fix BC,BG for widget, C,S Line endpoint offset 2024-02-14 14:40:10 +03:00
5a9f74f5ad fix bug #66467 2024-02-14 14:22:44 +03:00
ef3cbf03b3 Merge pull request #1416 from ONLYOFFICE/fix/66463
Fix bug #66463
2024-02-14 13:30:19 +03:00
a6a73ffe3a Refactoring 2024-02-14 13:20:08 +03:00
95146474ff Fix comma processing 2024-02-14 16:15:37 +06:00
fa90923000 Fix table styles conversion 2024-02-14 16:03:53 +06:00
3d3daed655 Add table and column names to global info for formulas 2024-02-14 16:03:24 +06:00
c6b3238fa4 Fix dvals conversion 2024-02-14 16:02:06 +06:00
9a612d4543 Fix ptg list conversion 2024-02-14 16:01:11 +06:00
47a485999f . 2024-02-14 12:07:35 +03:00
e6ebc76ae6 metadata spreadsheets 2024-02-13 21:17:18 +03:00
33c5852834 Fix bug #66436 2024-02-13 20:25:30 +03:00
4736f93aa8 Fixed the unnecessary appearance of the table border in html to ooxml conversion 2024-02-13 18:10:17 +03:00
f055d0d592 Fix Line endpoint offset 2024-02-13 17:48:55 +03:00
bf68f87aa7 fix bug #65975 2024-02-13 14:41:10 +03:00
1eec0cffdb Update paragraph logic
in progress
2024-02-13 14:08:28 +03:00
d65cbf194a Added TextAssociationTypes 2024-02-13 10:21:49 +03:00
d4c245029d Create AdjustLineEndpoint and DrawLineArrow 2024-02-12 17:42:24 +03:00
071f27a305 Merge remote-tracking branch 'origin/fix/bug61378' into develop 2024-02-12 17:16:53 +03:00
20cd784510 Merge remote-tracking branch 'origin/fix/bug65611' into develop 2024-02-12 17:12:16 +03:00
9c33ec3518 Merge remote-tracking branch 'origin/fix/bug58244' into develop 2024-02-12 17:10:29 +03:00
6f0af189e1 Fix bug #61378 2024-02-12 16:05:06 +05:00
8a58381223 Merge remote-tracking branch 'origin/hotfix/v8.0.1' into develop 2024-02-12 10:55:12 +03:00
fb72c73ca0 fix bug #66440 2024-02-10 18:40:10 +03:00
cf19a912ee fix bug #66392 2024-02-10 16:16:20 +03:00
01d76af52f Create AP for Line annots 2024-02-09 18:01:16 +03:00
479943f5e2 Improved conversion of html tables to ooxml 2024-02-09 16:36:54 +03:00
795274a886 for bug #66401 2024-02-09 16:15:17 +03:00
5ccef7bdff Merge pull request #1415 from ONLYOFFICE/fix/WmfSize
Fix Wmf file Size
2024-02-09 13:15:06 +03:00
581e54691b Fix Wmf file Size 2024-02-09 12:59:17 +03:00
80782f371c Fix pcdi conversion 2024-02-09 15:01:14 +06:00
c43536c618 Fix strings to shared strings conversion 2024-02-09 15:00:55 +06:00
835f4ba89d bug fixing 2024-02-09 11:20:24 +03:00
29fb134033 Merge remote-tracking branch 'origin/hotfix/v8.0.1' into develop 2024-02-08 20:50:47 +03:00
a7a80cb92e Fixed some inaccuracies in the conversion of html tables 2024-02-08 18:55:17 +03:00
593a7ba176 RC parser 2024-02-08 18:53:15 +03:00
ba79959955 fix bug #66419 2024-02-08 17:59:20 +03:00
0aa03275f4 Fix worbook defined names conversion 2024-02-08 19:27:33 +06:00
ea9ef2349d fix bug #66401
remove template
2024-02-08 15:09:27 +03:00
aaf9772805 Fix getting the cache key for qt tool (#1414) 2024-02-08 14:06:47 +03:00
8b62c50107 [android][x2t] Add format checker 2024-02-08 12:34:33 +03:00
3889ca0c94 Add codeql check (#1413)
* Add new action with codeql scanner

* Cosmetic changes

* Disable scanning on PR event

* codeql: ignore some unimportant paths

---------

Co-authored-by: Danil Titarenko <77471369+danilapog@users.noreply.github.com>
2024-02-08 12:11:41 +03:00
ca4c17847d fix bug #63352 2024-02-07 15:30:13 +03:00
33058fbbce Fix worksheet parts conversion 2024-02-07 16:00:59 +06:00
587bd78f2f Fix build on macos/ios 2024-02-07 12:56:55 +03:00
127d70203c Fix worksheet writing sequence 2024-02-07 15:50:23 +06:00
4abd650b01 Merge pull request #1412 from ONLYOFFICE/fix/x2ttester
Fix/x2ttester
2024-02-07 12:13:44 +03:00
d3ea527e66 Fix output 2024-02-07 12:03:15 +03:00
b81fc6b3c7 Fix bug 2024-02-07 11:51:34 +03:00
ce2044a223 Fix default values for some structs 2024-02-07 14:42:40 +06:00
2160c86556 Fix underline xml reading 2024-02-07 14:39:57 +06:00
ae61dc5db9 Fix xml pattern fill writing 2024-02-07 14:39:30 +06:00
3e39bd8d13 Fix xf prop 2024-02-07 14:38:24 +06:00
1994a25b61 fix bug #66396 2024-02-07 11:38:03 +03:00
1e59463499 fix bug #66395 2024-02-07 11:33:07 +03:00
5d642ff7c4 fix bug #66394 2024-02-07 11:30:26 +03:00
74baaca570 Merge pull request #1411 from ONLYOFFICE/feature/android
Feature/android
2024-02-07 11:11:10 +03:00
5609c5fc7d fix bug #55873 2024-02-06 19:49:46 +03:00
a9394ac989 fix bug #66333 2024-02-06 17:43:33 +03:00
6b29728c46 Merge pull request #1410 from ONLYOFFICE/feature/standardtester
Add diff-only arg in standardtester
2024-02-06 17:39:53 +03:00
ace39650e1 Merge pull request #1409 from ONLYOFFICE/feature/x2ttester
Feature/x2ttester
2024-02-06 17:33:13 +03:00
51a8984ab8 Merge pull request #1408 from ONLYOFFICE/fix/pdf-refactoring
Fix pdf bug
2024-02-06 17:16:48 +03:00
92663a7ae3 Fix bug #62568 2024-02-06 17:37:12 +05:00
ee0ab7f042 Fix gradient path conversion 2024-02-06 17:36:36 +05:00
2e22646c34 Convert table templates 2024-02-06 17:36:06 +05:00
f189e20064 Merge remote-tracking branch 'origin/hotfix/v8.0.1' into develop 2024-02-06 14:06:35 +03:00
b413dbfb4a fix bug #66345 2024-02-06 14:03:17 +03:00
22bf7a149a Fix bug 66223 2024-02-06 12:26:52 +03:00
8a655f8600 deleting a file entry 2024-02-06 11:17:47 +03:00
0ec05761ea Merge remote-tracking branch 'origin/fix/odf-tests' into develop 2024-02-06 11:00:28 +03:00
7e5da0b22c Fix bug #63701 2024-02-06 10:38:49 +03:00
1089bb3226 Fix bug 2024-02-06 09:30:17 +03:00
eb8e7866aa Add diff-only arg in standardtester 2024-02-06 07:57:47 +03:00
cce60166a4 Add extract mode in x2ttester 2024-02-06 03:42:48 +03:00
0e114331de Fix bug #58244 2024-02-06 02:35:06 +05:00
430adb678d Fix typo 2024-02-06 00:34:18 +03:00
0d1e5198c4 Converting lim families with upper and lower indexes. Converting csub and csup. Bug fixing.Code refactoring. 2024-02-05 21:01:58 +03:00
b36c1ae9e7 Fix bug #59451 2024-02-05 18:05:55 +03:00
d5126dbda9 PdfAnnot refactoring, For bug 66223 2024-02-05 18:00:18 +03:00
f6eb25b3f1 GetButtonIcon without W,H 2024-02-05 17:27:55 +03:00
84f58b7b08 Add row col initialization check 2024-02-05 15:41:14 +06:00
c2231fca7c Add BaseThreadMonitor class 2024-02-05 12:32:41 +03:00
0529bc9d82 Merge remote-tracking branch 'origin/hotfix/v8.0.1' into fix/pdf-refactoring 2024-02-05 11:24:37 +03:00
29eb5bed4d Add new class 2024-02-05 10:54:54 +03:00
157c8acf57 fix bug #66312 2024-02-03 15:51:14 +03:00
397421c9c1 Fix build 2024-02-02 22:43:23 +03:00
aa8a0cfbc2 FIx array formula conversion 2024-02-02 23:18:05 +06:00
59e977d94c Fix typo 2024-02-02 14:21:12 +03:00
e25071cecf Merge pull request #1407 from ONLYOFFICE/fix/bug66076
Fix bug 66076
2024-02-02 12:02:24 +03:00
c3e19a6376 Merge pull request #1406 from ONLYOFFICE/fix/pdf-formfield-fonts
Fix create unused font for CheckBox FormField
2024-02-02 12:01:03 +03:00
00671ffdd6 Fix shared formulas conversion 2024-02-02 14:47:45 +06:00
4868df7e10 Fix refactoring 2024-02-02 11:21:06 +03:00
7d55ebafbc Add openssl and logging 2024-02-02 11:16:43 +03:00
03078b01d1 Revert "Without static Decrypt"
This reverts commit 0ee70f03c1.
2024-02-02 10:52:31 +03:00
4c1420a3a6 PdfReader refactoring 2024-02-01 17:55:41 +03:00
ba6267570b Merge pull request #1405 from ONLYOFFICE/feature/StarMathToOOXML
StarMathToOoxml
2024-02-01 16:59:47 +03:00
5b1385ca20 Merge remote-tracking branch 'origin/hotfix/v8.0.1' into develop 2024-02-01 11:44:16 +03:00
ff6866c68a Merge pull request #1404 from ONLYOFFICE/fix/fix-bugs-v8.0
Fix/fix bugs v8.0
2024-02-01 11:41:33 +03:00
79bb09f2c2 Fix odf tests 2024-01-31 19:06:37 +05:00
4d3f925a11 fix bug #65994 2024-01-31 14:46:24 +03:00
b05bdc68ce Fix create unused font for CheckBox FormField 2024-01-31 13:50:09 +03:00
4ddc517b93 fix bug #65786 2024-01-30 19:58:51 +03:00
fb78b3b611 for bug #66201 2024-01-30 19:14:47 +03:00
617714a907 fix same bugs 2024-01-30 19:13:55 +03:00
0ee70f03c1 Without static Decrypt 2024-01-30 17:00:08 +03:00
e30abd06a2 Merge branch release/v8.0.0 into master 2024-01-30 11:25:04 +00:00
d4f4f4d500 Fix whitespace showing in worksheet 2024-01-30 15:00:13 +06:00
278d629418 . 2024-01-30 11:54:32 +03:00
9bd5d10480 Merge remote-tracking branch 'origin/fix/fix-bugs-v8.0' into develop 2024-01-30 11:17:40 +03:00
70d8a1a927 For bug 66076 2024-01-30 01:17:31 +03:00
8e12b946a8 Merge pull request #1401 from ONLYOFFICE/fix/bug66223
Fix bug 66223
2024-01-29 18:53:44 +03:00
6e8c2d46fa Merge pull request #1402 from ONLYOFFICE/fix/bug66185
Fix bug #66185
2024-01-29 18:53:07 +03:00
efead80648 Fix bug #66185 2024-01-29 18:28:11 +03:00
3efd9aebc9 Fix bug 66223 2024-01-29 18:00:04 +03:00
efbb6f38a0 Fix cell protection 2024-01-29 20:05:20 +06:00
2eed2729cc Merge pull request #1400 from ONLYOFFICE/fix/savingAnnots
Fix saving annots
2024-01-29 14:54:44 +03:00
f9000aba58 Fix saving annots 2024-01-29 14:49:00 +03:00
e61999c5fe fix bug #66192 2024-01-29 12:18:08 +03:00
71fc5323c7 Fix formula value conversion 2024-01-29 15:04:34 +06:00
7d3940a382 Fix area ptg conversion 2024-01-29 15:04:03 +06:00
108b749d4f fix unknown codepage 2024-01-29 11:51:33 +03:00
7adaba30da Merge pull request #1388 from ONLYOFFICE/fix/bug62427
Fix bug 62427
2024-01-29 11:28:36 +03:00
cb2dff90b9 Fix bug 63590 2024-01-29 00:02:55 +03:00
48a055d390 Fix metafiles with bad sizes. And revert one commit. 2024-01-29 00:00:37 +03:00
f8293950ca Merge pull request #1398 from ONLYOFFICE/fix/pdf-forms
Fix Opt for radiobutton, fix unicode for JS
2024-01-26 19:03:50 +03:00
84b19f48c7 Fix Opt for radiobutton, fix unicode for JS 2024-01-26 18:19:32 +03:00
ec107421bb Merge remote-tracking branch 'origin/fix/bug66175' into fix/fix-bugs-v8.0 2024-01-26 17:33:26 +03:00
7333e6943b Fix bug #65611 2024-01-26 19:18:28 +05:00
d2acd7d86d Fix bug #66175 2024-01-26 16:54:30 +03:00
18d274cff2 Merge pull request #1396 from ONLYOFFICE/fix/bug65955
fix bug #65955
2024-01-26 15:51:23 +03:00
1686efd6ba Fix bug 66147 2024-01-26 15:11:51 +03:00
e73992f869 fix bug #65955 2024-01-26 15:10:46 +03:00
3fbbf754a2 Fixed a bug in reading a function without an element. Adding a base attribute read. Code refactoring. 2024-01-26 12:22:13 +03:00
13a1d953b8 Merge pull request #1395 from ONLYOFFICE/fix/bug66136
Fix bug #66136
2024-01-25 17:02:40 +03:00
0764850b79 Fix bug #66136 2024-01-25 16:55:57 +03:00
9cfbb0012c Merge remote-tracking branch 'origin/fix/footersConversion' into fix/fix-bugs-v8.0 2024-01-25 16:35:24 +03:00
afdc28dbe4 Fix page setup 2024-01-25 18:44:32 +06:00
dfb8359d11 Merge pull request #1394 from ONLYOFFICE/fix/bug-pdf-web
[x2t] Fix bug with pdf opening in web
2024-01-25 13:54:36 +03:00
bd4d242aee [x2t] Fix bug with pdf opening in web 2024-01-25 13:52:16 +03:00
06cf8b4a3d Fix footer converion from xlsb to xlsx 2024-01-25 16:52:08 +06:00
bccdeedc4e Fix cell refs conversion 2024-01-25 15:55:14 +06:00
16fec2e641 fix bug #66123 2024-01-25 12:08:44 +03:00
d5de6a710d Fix ZipFile func for linux 2024-01-25 00:07:00 +03:00
08c9dd34ac Fix build 65925 2024-01-24 21:59:09 +03:00
0ed9b41710 Merge pull request #1393 from ONLYOFFICE/fix/bug66122
fix bug #66122
2024-01-24 21:23:20 +03:00
fefe6b3053 fix bug #66122 2024-01-24 21:18:37 +03:00
50f3ad5d65 Merge branch 'release/v8.0.0' of https://github.com/ONLYOFFICE/core into release/v8.0.0 2024-01-24 21:03:16 +03:00
f134870e73 Fix bug 66072 2024-01-24 21:02:27 +03:00
180451e272 Merge pull request #1392 from ONLYOFFICE/fix/wmf
Fixed a bug with calculating the image size in wmf
2024-01-24 20:59:51 +03:00
9b97070db7 Fixed a bug with calculating the image size in wmf 2024-01-24 20:44:47 +03:00
9b16f92ae5 Merge pull request #1391 from ONLYOFFICE/fix/pdf-forms
Fix xref stream for big file
2024-01-24 16:49:50 +03:00
edb2a0f503 Fix xref stream for big file 2024-01-24 16:46:01 +03:00
39b61f1094 Merge pull request #1390 from ONLYOFFICE/fix/pdf-forms
Fix pdf forms
2024-01-24 15:52:46 +03:00
0e68fac03d Fix test 2024-01-24 15:36:40 +03:00
9947e80e6c Fix XLUnicodeString_T operator= 2024-01-24 17:50:21 +06:00
46ce3f962e Create SetEmptyAP 2024-01-24 14:35:20 +03:00
292830aa15 Merge remote-tracking branch 'origin/fix/bug65838' into develop 2024-01-24 13:59:45 +03:00
8a03329e15 Merge remote-tracking branch 'origin/fix/bug65838' into feature/odf 2024-01-24 13:59:06 +03:00
0ac9b0bee8 Merge branch 'develop' into fix/xlsb_conversion 2024-01-24 16:42:57 +06:00
71afe4a0d5 Add relative reference saving 2024-01-24 16:41:41 +06:00
2be05c4439 Fix write AP_V with parent V, read/write AA 2024-01-24 12:47:14 +03:00
5b6735e3bf Fix formula conversion 2024-01-24 15:36:14 +06:00
cb5d6d72b9 Fix convertation pdf/xps/djvu to doct 2024-01-24 12:30:50 +03:00
9f9da695d0 Add format detector to export 2024-01-24 10:54:43 +03:00
755ea7761c Conversion of Greek characters, universal input of functions and operators. Writing tests. 2024-01-24 10:36:31 +03:00
6f3dae7d5d Fix bug #65838
Convert text href odp to pptx
2024-01-24 01:35:26 +05:00
ae7854d23f For bug #65838
Convert text href pptx to odp
2024-01-24 01:34:57 +05:00
809ed0f91d Fix convertation to forms from forms format 2024-01-23 22:58:25 +03:00
1f4f05d52e Fix bug 65244 2024-01-23 21:59:25 +03:00
daaf4f0390 Fix bug 66011 2024-01-23 21:28:16 +03:00
6537a1998a add starmath convert 2024-01-23 19:36:48 +03:00
1432c7b07e Fix pdf write 2024-01-23 18:44:36 +03:00
e9b9f0f550 Fix color precision 2024-01-23 18:41:29 +03:00
0be57e7316 Merge remote-tracking branch 'origin/feature/StarMathToOOXML' into feature/odf 2024-01-23 18:36:00 +03:00
312e010978 Merge remote-tracking branch 'origin/release/v8.0.0' into develop 2024-01-23 17:43:35 +03:00
d61a309ca0 fix bug #66085 2024-01-23 15:12:10 +03:00
daaeaee4df Add tests for time 2024-01-23 13:27:47 +03:00
5c54ec3280 Fix bug 63779 2024-01-23 13:21:51 +03:00
aefce8c03c Merge pull request #1387 from ONLYOFFICE/fix/bug65989
Fix bug 65989
2024-01-23 10:41:46 +03:00
a879cd94c6 Fix bug 65989 2024-01-23 10:32:59 +03:00
42b86ceb53 Fix work in embedded mode (xp) 2024-01-22 21:25:44 +03:00
5cb048e074 Merge remote-tracking branch 'origin/fix/bug65600' into release/v8.0.0 2024-01-22 21:05:01 +03:00
d1a35c2e9c Refactoring in HtmlFile2 2024-01-22 18:39:00 +03:00
eac27ae43b Fix bug #65600 2024-01-22 19:10:31 +05:00
0415a3ec56 Fix write unicode with encrypt 2024-01-22 16:45:27 +03:00
ad4754f7fc fix bug #65595 2024-01-22 16:17:15 +03:00
b589d8e3ce fix bug #65975 2024-01-22 16:02:48 +03:00
84ae9da444 fix bug #65976 2024-01-22 12:48:45 +03:00
bd7bcc6b4d fix bug #65977 2024-01-22 12:20:24 +03:00
7259f9b376 Merge remote-tracking branch 'origin/fix/bug50186' into release/v8.0.0 2024-01-22 11:28:18 +03:00
44b1abf27d Fix convertation to forms from forms format 2024-01-22 11:11:12 +03:00
bc4449f7a7 Fix bug 62427
CFileBinary::GetTime,
CFileBinary::SetTime was updated
Fix bugs with time in Zip/Unzip
2024-01-22 02:23:23 +03:00
d878291091 Fix bug 65650 2024-01-21 21:00:39 +03:00
4ee2ca7098 Fix bug 65965 2024-01-20 22:25:01 +03:00
78cb8a7d55 Fix bug #50186 2024-01-19 21:32:51 +05:00
29fe342a1c Merge pull request #1386 from ONLYOFFICE/fix/pdf-pushbutton
Fix pdf pushbutton
2024-01-19 14:36:32 +03:00
a2916309b3 Fix ShiftRespectBorder 2024-01-19 13:21:28 +03:00
9b38a17d5f Merge pull request #1385 from ONLYOFFICE/fix/pdf-font
Fix pdf font
2024-01-19 11:09:10 +03:00
0803b33067 Write PushButton 2024-01-18 18:37:54 +03:00
004fcbe7ba Merge remote-tracking branch 'origin/fix/bug65838' into release/v8.0.0 2024-01-18 17:49:51 +03:00
bbfdab9231 Fix bug #65838 2024-01-18 19:42:37 +05:00
14d9d2b01e fix bug #65829 2024-01-18 17:15:52 +03:00
0bbd2d6d35 Fix xfs conversion 2024-01-18 20:03:38 +06:00
7b6a706ca3 Merge remote-tracking branch 'origin/fix/bug65600' into release/v8.0.0 2024-01-18 13:17:36 +03:00
ec89b34514 editing diacritics, unary marks. bug fixing. 2024-01-18 13:05:41 +03:00
d593418616 Fix bug #65600 2024-01-18 01:12:15 +05:00
6e0a28f8c8 Fix merged cellc conversion 2024-01-17 22:02:15 +06:00
7d82d4a8b7 Fix conditional formating conversion 2024-01-17 22:01:51 +06:00
a160bc7ad1 Find dShiftY for pushbutton 2024-01-17 18:05:06 +03:00
f341dac2c3 Merge pull request #1384 from ONLYOFFICE/fix/Metafiles
Fix bugs in metafiles conversion
2024-01-17 15:52:36 +03:00
4041e5b31c Fix bug #65918 2024-01-17 13:52:58 +03:00
0774df72ca fix bug #65914 2024-01-17 13:43:10 +03:00
a3b0bb2294 Fix bug #65915 2024-01-16 23:13:40 +03:00
20a2424605 Fix WriteString method 2024-01-16 22:13:46 +03:00
a871295ad7 fix bug #65827 2024-01-16 18:28:49 +03:00
2cf11468d4 fix bug #65831 2024-01-16 18:12:04 +03:00
b59b2ba039 Merge pull request #1366 from ONLYOFFICE/feature/js-serialize-update
Added IsInit() function and more exceptions
2024-01-16 17:28:45 +03:00
950449b8de Merge pull request #1383 from ONLYOFFICE/feature/json-stringify
Add JSON_stringify
2024-01-16 17:24:21 +03:00
15ba22dc5c Implemented for V8 2024-01-16 18:16:22 +04:00
63b2b0b432 Merge pull request #1382 from ONLYOFFICE/release/v8.0.0
Release/v8.0.0
2024-01-16 16:22:09 +03:00
86eddff91d Add tests 2024-01-16 15:32:03 +04:00
c426474c50 Implement function 2024-01-16 15:31:40 +04:00
4fc9fc68e2 Merge pull request #1381 from ONLYOFFICE/fix/bug65853
Fix bug 65853
2024-01-16 12:46:06 +03:00
540fce9ab8 Fix bug 65853 2024-01-16 12:44:51 +03:00
505231291f Fix bug 65853 2024-01-16 12:42:34 +03:00
441e9276f4 Merge remote-tracking branch 'origin/fix/bug65779' into release/v8.0.0 2024-01-16 11:07:29 +03:00
9bbea65319 Merge remote-tracking branch 'origin/fix/bug65359' into release/v8.0.0 2024-01-16 10:59:43 +03:00
95073fd590 Fix bug #65779 2024-01-15 20:05:28 +05:00
6bc58b973c Fix selection font for standard fonts 2024-01-15 17:26:35 +03:00
9da99f35b8 Fix duplicate for button font = DA font 2024-01-15 16:30:44 +03:00
d81efffbef Write m_sButtonFontName 2024-01-15 16:04:32 +03:00
fb27d00490 Fix hyperlinks conversion 2024-01-15 15:49:20 +06:00
01ac03f24b Fix comment convert condition 2024-01-15 13:44:52 +06:00
fe2779824b Fix comment conversion error 2024-01-12 21:37:42 +06:00
5c18827224 fix chartEx 2024-01-12 17:26:47 +03:00
4064aba5fb Create SetButtonFont 2024-01-12 17:25:28 +03:00
7af7b50f66 Fix autofilter conversion 2024-01-12 20:12:33 +06:00
6d5d74de0c Write border for pushbutton AP 2024-01-11 17:24:00 +03:00
508167f0f9 Fix conditional formating conversion 2024-01-11 18:08:00 +06:00
57497bc14b Add caption to pushbutton AP 2024-01-11 14:30:09 +03:00
5663169473 Include stdexcept for windows 2024-01-11 14:57:02 +04:00
af04c2bac1 Added more exceptions 2024-01-11 14:57:02 +04:00
e4477c9926 Add IsInit() function 2024-01-11 14:57:02 +04:00
3dae061381 Merge remote-tracking branch 'origin/release/v8.0.0' into develop 2024-01-11 12:09:34 +03:00
2ba62286d0 Create SetAP for pushbutton 2024-01-10 18:19:58 +03:00
28768e32af Fix bug #65359 2024-01-10 16:07:38 +05:00
1017b30776 Add numeric value cache for cell value 2024-01-10 14:14:09 +06:00
7266619e24 fix build 2024-01-09 17:58:25 +03:00
cdf10bbc38 fix build 2024-01-09 17:22:38 +03:00
54ec885316 Fix cell value parsing 2024-01-09 20:21:40 +06:00
3cf686e08e Merge branch 'develop' into fix/xlsb_conversion 2024-01-09 18:19:32 +06:00
83a053a1dd Fix numbers conversion 2024-01-09 18:15:15 +06:00
5bb50ffd47 . 2024-01-09 14:00:21 +03:00
fc99dedbd4 fix build 2024-01-09 12:37:47 +03:00
2588d45ffe . 2024-01-09 12:33:57 +03:00
1f92b15aae Fix blank cell conversion 2023-12-29 19:05:03 +06:00
9b06b9e7a8 Remove unused code 2023-12-29 19:04:40 +06:00
189269031a Fix shared string conversion 2023-12-29 17:49:12 +06:00
4ae8962af2 . 2023-12-27 16:53:05 +03:00
6f5fa6c4ca Switching to case-insensitive search in html2 2023-12-26 20:31:04 +03:00
3273ac74cf . 2023-12-26 16:49:50 +03:00
057eed59c1 xlst->xlsb 2023-12-25 19:42:49 +03:00
f9a40c77f8 Merge remote-tracking branch 'origin/release/v8.0.0' into develop 2023-12-25 18:38:59 +03:00
bc6e7e2831 Refinement of attributes. Code refactoring. Editing logic. 2023-12-22 17:17:18 +03:00
8ee116de7e Fix included headers paths 2023-12-19 15:04:56 +06:00
c4f49171cd Merge pull request #1362 from ONLYOFFICE/feature/xlsb_write
Add xlsb writing
2023-12-19 11:06:09 +03:00
35eb2849ef Adding conversion of indexed brackets, diacritics and attributes. Editing operator conversion. 2023-12-15 17:55:00 +03:00
48053414c9 Add frtpivot cache def version set 2023-12-15 20:02:44 +06:00
7ff4d0e167 Add chart sheet conversion test 2023-12-13 22:16:19 +06:00
03af151c30 Fix conversion 2023-12-13 22:15:23 +06:00
e01ba114d8 Add chart sheet conversion 2023-12-13 13:47:09 +06:00
f59f34eda9 Merge branch 'release/v8.0.0' into feature/xlsb_write 2023-12-12 20:43:21 +06:00
50cb0b543e Fix indent 2023-12-11 22:41:01 +03:00
c196f282af Bugfix BuildParagraphes 2023-12-11 05:25:02 +03:00
bea162aef9 BuildParagraphes update
(in progress)
2023-12-11 00:25:17 +03:00
daba967cdc Add pivot tables tests 2023-12-07 21:10:08 +06:00
5c7f07f71d Fix frtslicercache conversion 2023-12-07 20:57:56 +06:00
92312df5ad Add slicer tests 2023-12-07 20:57:20 +06:00
e4031da0ba Add comments and tables test 2023-12-07 14:24:13 +06:00
6298d21b5a Fix worksheet conversion 2023-12-06 21:43:18 +06:00
f3b23b3b47 Change example file 2023-12-06 21:05:51 +06:00
af7d46dbf7 Remove rgce check 2023-12-06 20:59:59 +06:00
93b8a80fa9 Fix parsed formula binary writing 2023-12-06 20:59:10 +06:00
2fde5de8b0 Fix defined names conversion 2023-12-06 17:54:11 +06:00
0c7963f427 Fix slicercache ext conversion 2023-12-06 15:53:17 +06:00
d5330086cc Merge branch 'feature/xlsb_write' into feature/addXlsbTests 2023-12-05 21:23:44 +06:00
45c7abfc36 Merge branch 'release/v8.0.0' into feature/xlsb_write 2023-12-05 21:23:06 +06:00
986b1114be Change test file 2023-12-05 21:21:23 +06:00
5af35f3b09 Fix styles conversion 2023-12-05 21:21:10 +06:00
b7a89a93a8 Merge branch 'feature/xlsb_write' into feature/addXlsbTests 2023-12-05 13:24:57 +06:00
04580a2fac Merge branch 'release/v8.0.0' into feature/xlsb_write 2023-12-05 13:13:32 +06:00
4f32c84e8a Add defaults for style colors 2023-12-05 13:10:51 +06:00
bfbae147f0 Add tests for simple xlsb 2023-12-05 13:10:22 +06:00
13c6193f42 Merge branch 'feature/xlsb_write' into feature/addXlsbTests 2023-12-04 20:22:00 +06:00
fcc7708a85 Merge branch 'release/v7.6.0' into feature/xlsb_write 2023-12-04 20:21:21 +06:00
0a157c4afd Remove formats from test convert params 2023-12-04 20:19:08 +06:00
1bf45a3c23 Add xlsx 2 xlsb tests 2023-12-04 13:07:30 +06:00
5533ac8a59 Adding conversion of brackets, matrices, scores and indexes. Tests. 2023-12-01 16:27:26 +03:00
e0437fcf77 Merge branch 'feature/xlsb_write' into feature/addXlsbTests 2023-12-01 19:06:17 +06:00
d404457744 FIx tables and cols conversion 2023-12-01 18:17:12 +06:00
3426704f80 mend 2023-11-30 14:00:19 +06:00
b317d304df Merge branch 'release/v7.6.0' into feature/xlsb_write 2023-11-30 13:59:46 +06:00
be08b9c6c6 Fix pivot conversion 2023-11-28 13:33:33 +06:00
fd95d72a08 Update ascent/descent
values in objects
crossing using ascent/descent
2023-11-26 01:17:33 +03:00
bfb113170f Merge branch 'release/v7.6.0' into feature/xlsb_write 2023-11-24 14:19:32 +06:00
f9b4f8402b added conversion of operations on sets and connections. tests added 2023-11-17 12:04:13 +03:00
e3a0b16578 Fix styles conversion 2023-11-16 00:45:21 +06:00
fb608d3dd5 Fix connection conversion 2023-11-14 16:33:26 +06:00
2d53f96522 Add query table conversion 2023-11-14 15:15:43 +06:00
c4085ed698 Fix xlsx 2 xlsb conversion 2023-11-10 17:21:44 +06:00
311cbe468b Merge branch 'develop' into feature/xlsb_write 2023-11-09 14:30:07 +06:00
3a17ce21ef Reworking of the CElementOperator class, reworking of some part of the conversion, tests 2023-11-08 17:24:09 +03:00
50a83e819f Merge branch hotfix/v7.5.1 into master 2023-11-08 12:05:57 +00:00
e5a4ea21b0 Fix move 2023-11-06 17:19:48 +03:00
07b33be69a Fix bug
- shared -> wear ptrs
- fix bug with sort
2023-11-06 15:49:29 +03:00
21d8353cdc Fix bug with highlighting 2023-11-03 13:00:11 +03:00
29e44fb12c Refactoring
- tables romoved (for now)
- paragraph logic is broken (fix soon)
2023-11-03 12:22:14 +03:00
91fad82d6a Refactoring
in progress
2023-11-02 23:10:29 +03:00
8b9d5c9f51 Refactoring (still in porgress) 2023-11-02 18:34:45 +03:00
83e37ba5f0 Refactoring (in progress) 2023-11-02 14:12:58 +03:00
5272f00216 Merge branch 'develop' into feature/xlsb_write 2023-11-01 16:12:41 +06:00
954f3d5471 Merge branch hotfix/v7.5.1 into master 2023-10-31 14:41:39 +00:00
6374e3ba23 Refactoring 2023-10-31 17:17:17 +03:00
5b0516e398 Architecture refinement (adding connections, functions and operators) 2023-10-27 17:23:25 +03:00
eec0075e54 Сhange of architecture 2023-10-13 18:18:06 +03:00
c343625e6f Add connections conversion 2023-10-13 21:14:26 +06:00
832a57bed1 Add comments conversion 2023-10-13 20:47:35 +06:00
102fa4d4b6 Merge branch 'release/v7.5.0' into feature/xlsb_write 2023-10-12 16:25:25 +06:00
dc09bd4e01 Add external links binary writing 2023-10-11 19:30:01 +06:00
a20d28d83c Merge branch 'release/v7.5.0' into feature/xlsb_write 2023-10-10 15:27:37 +06:00
dd0ede1405 Remove nodiscard 2023-10-04 19:20:42 +03:00
46d3b94bc6 Merge branch 'develop' into feature/xlsb_write 2023-10-04 16:13:58 +06:00
416ef9c03c Add table slicer conversion 2023-10-02 20:57:53 +06:00
7ed274c3e9 Fix lines below text & size of super/sub script 2023-10-02 17:00:34 +03:00
004af5b9cc add default column width 2023-09-29 21:04:18 +06:00
2193366443 Fix pivot tables conversion 2023-09-29 20:12:31 +06:00
23c93145b1 Fix pivot table stream writing 2023-09-28 13:32:10 +06:00
417267a963 adding parsing of structures such as matrices, indexes 2023-09-25 16:12:50 +03:00
7a198ac6db Fix paragpraph logic
finally
2023-09-25 14:29:33 +03:00
85c420d501 Add pivot cache records conversion 2023-09-21 22:05:22 +06:00
4ab4f74166 Add pivot cache definition conversion 2023-09-19 20:37:28 +06:00
adcfe31832 Add pivot tables conversion 2023-09-15 19:26:02 +06:00
35fbf84683 Change logic 2023-09-14 15:17:15 +03:00
7cee2951e8 Fix slicers conversion 2023-09-12 19:23:31 +06:00
8a203f4851 Add slicer Cache conversion 2023-09-11 21:30:12 +06:00
e72afe11d3 Adding tests 2023-09-11 18:14:38 +03:00
e70589f943 Fix default values for workbook definde names 2023-09-11 18:24:48 +06:00
0c55adc82a Conversion development 2023-09-10 15:19:45 +03:00
6743757a94 Add slicer conversion 2023-09-08 16:35:45 +06:00
daba15e142 Fix workbook names conversion 2023-09-08 16:14:24 +06:00
9ae35fe594 Add default values for workbook records 2023-09-07 19:30:45 +06:00
bfaca9d414 Fix wokkbook binary type 2023-09-07 19:27:47 +06:00
b4b4596657 Fix table conversion 2023-09-06 16:05:26 +06:00
4498c5a60f Remove double binary file writing 2023-09-05 22:19:51 +06:00
9e009cc0f8 Revision of reading brackets. Conversion development. 2023-09-02 10:11:57 +03:00
7dc8a4bb9b Fix bug
dropcaps fix
2023-09-01 18:52:29 +03:00
b6f11208c9 Add table writing 2023-09-01 21:24:56 +06:00
dd532eb823 Add table conversion 2023-08-31 17:21:58 +06:00
e11e314b22 Update drop caps
drop caps is shapes now
2023-08-29 22:51:37 +03:00
6a1897d342 Fix book views conversion 2023-08-29 18:19:30 +06:00
5ac9df5d89 Improvement of functionality (brackets, scalable brackets, attributes) 2023-08-25 18:28:53 +03:00
e2143e170a Fix sheet format pr conversion 2023-08-25 20:30:42 +06:00
8a02c684f4 Fix characters 2023-08-25 14:11:18 +06:00
a38a0c302d Fix sheet view conversion 2023-08-24 20:06:32 +06:00
568582f2b5 Add default values for xlsb conversion 2023-08-23 20:37:30 +06:00
60b7fabad9 Fix shared strings conversion 2023-08-22 20:24:45 +06:00
14e78b8a93 Add shared strings writing 2023-08-22 17:37:33 +06:00
60797121d2 Add shared strings conversion 2023-08-21 22:01:47 +06:00
aa9ff37320 Development of algorithms 2023-08-18 19:44:42 +03:00
e9dc0d4c2c Fix worksheet conversion 2023-08-18 16:25:17 +06:00
6aae88e521 Merge branch 'release/v7.5.0' into feature/docx_renderer2 2023-08-17 11:09:18 +03:00
cc9c219d62 Fix fonts conversion defaults 2023-08-17 13:43:20 +06:00
d93934a2d4 Fix xfs conversion 2023-08-16 19:38:18 +06:00
5a52de4b2e Add styles conversion 2023-08-16 16:46:44 +06:00
a23d7864aa Add drawing ext conversion for styles 2023-08-16 15:23:10 +06:00
6737ac2122 Add dxfs converting 2023-08-16 15:21:31 +06:00
e180b49191 Add style colors conversion 2023-08-15 18:51:32 +06:00
a420375411 Fix include file paths 2023-08-14 21:13:07 +06:00
5b00fc4ad4 Add Table styles conversion 2023-08-14 20:48:13 +06:00
83cb27d123 Add cell styles conversion 2023-08-14 19:26:41 +06:00
a791775acf Add cell xfs conversion 2023-08-14 19:10:03 +06:00
48e3f55411 Add cell style xfs conversion 2023-08-14 18:58:10 +06:00
15cf8de9bf Add borders conversion 2023-08-14 17:32:25 +06:00
44fb83dc3a Add Fills conversion 2023-08-14 16:07:00 +06:00
deb206fad2 Add nubFmts conversion 2023-08-14 16:06:43 +06:00
38b6a583d2 Add fonts conversion 2023-08-14 16:06:26 +06:00
a735af265d fix zero height cells 2023-08-11 21:39:12 +06:00
7197545541 Started development of StarMath string parser 2023-08-11 17:38:50 +03:00
32c86f6deb added formula conversion 2023-08-11 19:11:36 +06:00
2968e8e303 Add DropCaps support
commented for now
2023-08-10 21:23:33 +03:00
bc5ab2719c Remove unused files 2023-08-10 14:37:30 +03:00
f7ecbf8ddb added Ccell conversion 2023-08-10 15:42:33 +06:00
4ebbfad654 Fix spacing in different cconts 2023-08-08 12:05:01 +03:00
fd81de66bf corrected file types 2023-08-08 13:55:00 +06:00
6afb01da00 ParagraphStyle Fix 2023-08-08 10:06:13 +03:00
1f79847c78 added xlsb type changing 2023-08-07 22:35:15 +06:00
7aa61809a6 corrected conversion 2023-08-07 22:33:56 +06:00
ca95fab62d Merge branch 'feature/xlsb_write' of github.com:ONLYOFFICE/core into feature/xlsb_write 2023-08-04 21:54:00 +06:00
3f75431018 started sheet data conversion 2023-08-04 21:49:02 +06:00
9cfb0ee82a addede worksheet writing 2023-08-04 20:59:20 +06:00
eef5b9b9cc . 2023-08-04 12:08:47 +03:00
dc95b8a92c . 2023-08-04 12:04:07 +03:00
65675e2c54 . 2023-08-04 11:52:15 +03:00
6a26c78816 . 2023-08-03 15:12:20 +03:00
d38694d94a Merge remote-tracking branch 'origin/release/v7.5.0' into feature/xlsb_write 2023-08-03 14:53:33 +03:00
d358f2eb5f added conversion attributes check 2023-08-02 14:46:55 +06:00
7118da40a2 Fix bug
reload fonts
2023-07-28 11:36:33 +03:00
a65183616f Fix check files in test 2023-07-17 10:40:12 +03:00
03335551b6 Clear fonts cache & font streams on each convertaion 2023-07-17 10:35:47 +03:00
781338fb1e Sets Gid to 0 2023-07-14 18:17:22 +03:00
b792f98dea added workbook conversion 2023-07-14 19:45:12 +06:00
537e7aa9f5 added drawing ext conversion of workbook 2023-07-14 19:44:43 +06:00
281d9abd8f added file sharing conversion 2023-07-14 18:49:04 +06:00
5398d4598b added external references conversion 2023-07-14 18:05:55 +06:00
23dee6d7ef added workbook protection conversion 2023-07-13 20:42:42 +06:00
368fdbec18 added workbookPr conversion 2023-07-13 18:30:38 +06:00
f6e6e22401 added sheets conversion 2023-07-13 17:01:00 +06:00
a0262cf5f9 added defined names conversion 2023-07-13 15:34:44 +06:00
54a85f17fb added calcPr conversion 2023-07-13 14:45:36 +06:00
21d883e083 added book views conversion 2023-07-12 21:55:13 +06:00
c4fe64423c Calc width in selected font 2023-07-12 17:19:43 +03:00
1864a6d0c0 added worksheet conversion 2023-07-12 18:08:56 +06:00
bc7bbb94aa added extension list conversion 2023-07-12 18:08:02 +06:00
0c6a72df99 Fix bug with left sort
+ Changed consts space width
2023-07-12 13:31:35 +03:00
e2932091e8 added conditional formatting conversion 2023-07-10 21:49:44 +06:00
b0721b2c16 Rename param for x2t & remove src dependency for library (paragraph) 2023-07-09 21:35:44 +03:00
9602c52fae Merge branch 'develop' into feature/docx_renderer2 2023-07-09 21:19:50 +03:00
35cec4cbd8 added data validation conversion 2023-07-07 21:01:31 +06:00
69e5dd8cdf added ProtectedRange conversion 2023-07-07 19:54:52 +06:00
dac999e9e6 Clearing cache after document, not page
more optimization
no error if convert wasnt called
2023-07-07 13:48:58 +03:00
ae185f6cd3 added data consolifate conversion 2023-07-06 21:10:34 +06:00
df147106b3 added breaks conversion 2023-07-06 16:12:49 +06:00
f70718822b added picture worksheet conversion 2023-07-06 15:31:33 +06:00
9c119635da added cheetpr conversion 2023-07-06 15:15:00 +06:00
c495089022 added controls conversion 2023-07-05 21:31:25 +06:00
a1ac26ada9 added ole objects convertation 2023-07-05 19:48:11 +06:00
1b155518c2 Less comparsions 2023-07-02 19:18:16 +03:00
e2a3e82770 Fix bug
iterator exeption
2023-07-02 18:31:27 +03:00
e42f3031f8 Add caching fontstyle
like in fontmanager
2023-07-02 18:19:07 +03:00
5e1c67b29e added table parts conversion 2023-06-30 19:31:57 +06:00
b2b628b5b7 added autofilter conversion 2023-06-30 18:55:13 +06:00
950212b23b corrected conversion 2023-06-30 18:54:39 +06:00
dee93bae01 added sortstate conversion 2023-06-30 15:14:57 +06:00
8fe5139272 added protection and headerfooter conversion 2023-06-29 17:35:19 +06:00
2d13189051 added print options conversion 2023-06-29 16:12:31 +06:00
62b480b00c added page setup conversion 2023-06-29 16:03:29 +06:00
1e068075f4 added page margins conversion 2023-06-29 14:12:54 +06:00
264bec5feb added sheet view conversion 2023-06-28 22:50:08 +06:00
7bf8a55d25 added sheetformatpr conversion 2023-06-28 17:56:42 +06:00
4f068159d7 add merged cells conversion 2023-06-28 17:55:59 +06:00
311c70816f added hyperlinks conversion 2023-06-27 21:22:23 +06:00
f56184505f added BrtLegacyDrawing conversion 2023-06-27 20:45:24 +06:00
75853c8cb3 added Cdimension conversion 2023-06-27 16:24:22 +06:00
98eb856641 add drawning conversion 2023-06-27 16:20:26 +06:00
a74bb35ecd added cols convertation 2023-06-27 16:02:49 +06:00
f5d972573e Fix bug (tabulation)
\t symbol skipped and addded during analysis
2023-06-27 10:44:25 +03:00
ee3d054373 completed external links converting 2023-06-23 21:00:47 +06:00
8669470692 Fix bug 2023-06-23 17:15:42 +03:00
0b46254fed Fix rescale pen bug 2023-06-23 17:09:54 +03:00
01b114770a . 2023-06-19 12:11:36 +03:00
25db8ee837 Fix bug 2023-05-21 15:22:31 +03:00
e626d013a8 Fix bug 2023-05-21 15:13:37 +03:00
66d846dcfc Fix bug 2023-05-19 01:26:33 +03:00
c012741f7f Fix memory leaks
Finally
2023-05-19 00:29:22 +03:00
ad3a23a708 Fix bug 2023-05-11 15:23:22 +03:00
41c351b72d Fix memory leaks 2023-05-10 13:10:29 +03:00
bac28708c1 Fix bug 2023-05-10 12:36:10 +03:00
3bb66721a1 Fix bug 2023-05-02 18:57:40 +03:00
cf85c54f43 Fix font selection 2023-04-28 00:52:58 +03:00
dcddfd15b5 Merge pull request #1168 from ONLYOFFICE/release/v7.4.0
Release/v7.4.0
2023-04-27 02:13:48 +05:00
265e9d8af8 Fix bug 2023-04-25 03:37:21 +03:00
acb9af928f Add paragraph styles 2023-04-18 22:05:29 +03:00
9a0d42b957 Update shape merging 2023-04-10 19:11:42 +03:00
531fae1486 FontStyles refactoring 2023-04-10 18:41:44 +03:00
fb22675e69 Fix bug
or not
2023-04-08 17:09:47 +03:00
49f9c96570 Refactoring 2023-04-02 10:15:43 +03:00
c3bd31a38e Add optimization 2023-04-02 05:27:15 +03:00
c69da0df04 Add path merging 2023-04-02 04:39:08 +03:00
69cbba7b2b Refactoring 2023-03-21 01:35:08 +03:00
caea7fbe2f Fix bug + refactoring 2023-03-21 01:27:58 +03:00
4007b826bf Refactoring 2023-03-20 03:44:36 +03:00
39c19db22a Refactoring (faster) 2023-03-20 02:55:43 +03:00
bacbfbf221 Fix bug 2023-03-20 02:51:15 +03:00
9cc07e916b Refactoring 2023-03-20 02:21:04 +03:00
8de7d01012 Add FontSelector (Refactoring) 2023-03-19 18:45:10 +03:00
21544a7ff7 Refactoring 2023-03-14 19:02:58 +03:00
2ab9f06493 Refactoring 2023-03-14 18:10:33 +03:00
118783c716 Fix bug 2023-03-05 13:27:15 +03:00
0d06216215 Refactoring 2023-03-05 13:06:18 +03:00
66050307ce Refactoring
CStyleManager* in conttext is useless
2023-03-02 16:48:47 +03:00
53bbeb0cdc Refactoring + VectrosGraphics update 2023-02-27 15:46:54 +03:00
623e664478 indents update
tabs instead of spaces
2023-02-19 12:37:53 +03:00
5cac25286d Refactoring 2023-02-19 12:27:08 +03:00
74c4bf6236 Fix docx_renderer test build 2023-01-19 14:02:27 +03:00
6f1018aa50 Merge pull request #1115 from ONLYOFFICE/develop
develop -> docx_renderer2
2023-01-19 13:38:23 +03:00
0a1e90958c Added base classes for table decoding.
Added a Converter class for use in various objects.
Added additional comments to the code.
Added tasks under the //todo label.
2022-10-20 14:00:12 +03:00
742ed66df1 Refactoring. Optimized operating logic. Conversion time is reduced. 2022-10-14 15:06:40 +03:00
9c0b3b33c4 Merge pull request #1046 from ONLYOFFICE/hotfix/v7.2.1
Hotfix/v7.2.1
2022-10-02 21:54:35 +03:00
e35a27e9dc Added recognition of Diacritical Symbols.
Paragraphs are allocated to shapes based on the distance between them.
2022-09-26 13:38:52 +03:00
cc69b4b830 All paragraphs on one page add to general text shape now. 2022-09-26 13:38:52 +03:00
35cc9e4f20 Added new TextAssociationType - tatParagraphToShape.
Added changes to logic of determing paragraphs.
Some fixes 6.
2022-09-26 13:38:51 +03:00
7a276227d3 Modified the packing of lines by paragraphs and the definition of the type of paragraph alignment. 2022-09-26 13:38:51 +03:00
791be217af Fix problem with determine of font name. 2022-09-26 13:38:51 +03:00
1422 changed files with 89983 additions and 31510 deletions

162
.github/workflows/codeql.yaml vendored Normal file
View File

@ -0,0 +1,162 @@
name: "CodeQL Scanner"
on:
push:
branches:
- 'master'
- 'release/**'
- 'hotfix/**'
paths-ignore:
- '**/README.md'
- '**/LICENSE'
- '.github/**'
#pull_request:
# branches:
# - 'master'
# - 'release/**'
# - 'hotfix/**'
schedule:
- cron: '00 19 * * 5'
# This job take a lot of time, so if the number of worker
# processes from one branch or one PR exceeds 1, all previous
# running processes will be automatically canceled to avoid the accumulation
# of a large number of concurrent workers
concurrency:
group: codeql-${{ github.event.pull_request.number || github.ref_name }}
cancel-in-progress: true
env:
SOURCE_ROOT: "/build/core"
jobs:
analyze:
name: Analyze
runs-on: ${{ 'ubuntu-latest' }}
container:
image: ${{ matrix.image }}
options: --privileged
volumes:
- /usr/local/lib:/foovolume/android
- /usr/local/share:/foovolume/boost
- /usr/share:/foovolume/dotnet
- /opt:/foovolume/opt
- /opt/hostedtoolcache:/foovolume/tool
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'c-cpp' ]
image: ["ubuntu:20.04"]
# CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ]
# Use only 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
steps:
- uses: actions/setup-node@v4
with:
node-version: 20
- name: make free space in container
run: |
rm -rf /foovolume/android/android
rm -rf /foovolume/dotnet/dotnet
rm -rf /foovolume/boost/boost
rm -rf /foovolume/opt/ghc
rm -rf /foovolume/tool/*
df -h
# Prepare container environment
# Install some deps
# Set cache restore keys
- name: Prepare environment
id: prepare
shell: bash
env:
TZ: Etc/UTC
run: |
pwd
ls -la
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime
echo $TZ > /etc/timezone
apt-get update
apt-get install -y python3 python2 sudo curl jq git
apt-get install -y python || true
rm /usr/bin/python || true
ln -s /usr/bin/python2 /usr/bin/python
mkdir -p /build
git clone --depth 1 \
--single-branch \
--branch ${{ github.base_ref || github.ref_name }} https://github.com/ONLYOFFICE/core.git ${SOURCE_ROOT}
git clone --depth 1 \
--single-branch \
--branch ${{ github.base_ref || github.ref_name }} https://github.com/ONLYOFFICE/build_tools.git /build/build_tools
echo "party-key=$(curl -L -H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/ONLYOFFICE/core/commits?per_page=1&path=/Common/3dParty&sha=${{ github.base_ref || github.ref_name }}" | \
jq -r '.[].sha')" >> "$GITHUB_OUTPUT"
echo "qt-key=$(cat /build/build_tools/tools/linux/automate.py | egrep -m1 -o "qt_source_([0-9])?.([0-9])?.([0-9])?")" >> "$GITHUB_OUTPUT"
# Restore 3dParty from cache if cache key is match
- uses: actions/cache/restore@v3
id: restore-3d
with:
path: /build/core/Common/3dParty
key: 3dParty-${{ steps.prepare.outputs.party-key }}
# Restore qt tool from cache if cache key is match
- uses: actions/cache/restore@v3
id: restore-qt
with:
path: /build/build_tools/tools/linux/qt_build
key: qt-${{ steps.prepare.outputs.qt-key }}
# NOTE:
# init codeql with custom source-root dir
# because sources code was checkout with git from cli
# NOT with checkout action
# Also. Init and scan with codeql only if all cache hit
# otherwise will no initialization, just build and cache depends
- name: Initialize CodeQL
if: >
steps.restore-3d.outputs.cache-hit == 'true'
&& steps.restore-qt.outputs.cache-hit == 'true'
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
source-root: ${{ env.SOURCE_ROOT }}
- name: build
shell: bash
run: |
cd /build/build_tools/tools/linux
python3 ./automate.py core
- name: Perform CodeQL Analysis
if: >
steps.restore-3d.outputs.cache-hit == 'true'
&& steps.restore-qt.outputs.cache-hit == 'true'
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
# Make new 3dParty cache if restore action do not restore any cache
- uses: actions/cache/save@v3
if: steps.restore-3d.outputs.cache-hit != 'true'
id: save-3d
with:
path: /build/core/Common/3dParty
key: 3dParty-${{ steps.prepare.outputs.party-key }}
# Make new qt tool cache if restore action do not restore any cache
- uses: actions/cache/save@v3
if: steps.restore-qt.outputs.cache-hit != 'true'
id: save-qt
with:
path: /build/build_tools/tools/linux/qt_build
key: qt-${{ steps.prepare.outputs.qt-key }}

18
3DPARTY.md Normal file
View File

@ -0,0 +1,18 @@
## Third-party
- boost ([BSL](https://raw.githubusercontent.com/boostorg/boost/master/LICENSE_1_0.txt))
- icu ([UNICODE LICENSE V3](https://raw.githubusercontent.com/unicode-org/icu/main/LICENSE))
- freetype ([FTL](https://raw.githubusercontent.com/freetype/freetype/master/docs/FTL.TXT))
- harfbuzz ([MIT](https://raw.githubusercontent.com/harfbuzz/harfbuzz/main/COPYING))
- hyphen ([MPL](https://raw.githubusercontent.com/hunspell/hyphen/master/COPYING))
- hunspell ([MPL](https://raw.githubusercontent.com/hunspell/hunspell/master/COPYING.MPL))
- gumbo ([Apache-2.0](https://raw.githubusercontent.com/google/gumbo-parser/master/COPYING))
- katana ([MIT](https://raw.githubusercontent.com/jasenhuang/katana-parser/master/LICENSE))
- cximage ([CXIMAGE LICENCE](https://raw.githubusercontent.com/movableink/cximage/master/license.txt))
- openjpeg ([2-clause BSD License](https://raw.githubusercontent.com/uclouvain/openjpeg/master/LICENSE))
- socket.io-client-cpp ([MIT](https://raw.githubusercontent.com/socketio/socket.io-client-cpp/master/LICENSE))
- curl ([CURL LICENCE](https://raw.githubusercontent.com/curl/curl/master/COPYING))
- cryptopp ([BSL](https://raw.githubusercontent.com/weidai11/cryptopp/master/License.txt))
- openssl ([Apache-2.0](https://raw.githubusercontent.com/openssl/openssl/master/LICENSE.txt))
- v8 ([3-clause BSD License](https://raw.githubusercontent.com/v8/v8/main/LICENSE))

View File

@ -1,9 +1,20 @@
INCLUDEPATH += $$PWD/build/$$CORE_BUILDS_PLATFORM_PREFIX/include
CORE_BOOST_LIBS = $$PWD/build/$$CORE_BUILDS_PLATFORM_PREFIX/lib
core_ios:CONFIG += disable_enum_constexpr_conversion
core_android:CONFIG += disable_enum_constexpr_conversion
core_mac:CONFIG += disable_enum_constexpr_conversion
core_android {
INCLUDEPATH += $$PWD/build/android/include
CORE_BOOST_LIBS = $$PWD/build/android/lib/$$CORE_BUILDS_PLATFORM_PREFIX
DEFINES += "_HAS_AUTO_PTR_ETC=0"
}
disable_enum_constexpr_conversion {
QMAKE_CFLAGS += -Wno-enum-constexpr-conversion
QMAKE_CXXFLAGS += -Wno-enum-constexpr-conversion
}
bundle_xcframeworks {

View File

@ -1,326 +0,0 @@
#!/bin/bash
cd boost_1_72_0
OUTPUT_DIR="../build/android"
BOOST_LIBS="filesystem system date_time regex"
CPPSTD="-std=c++11 -frtti -fexceptions"
# Must set these after parseArgs to fill in overriden values
# Todo: -g -DNDEBUG are for debug builds only...
# Boost.test defines are needed to build correct instrumentable boost_unit_test_framework static lib
# it does not affect the functionality of <boost/test/included/unit_test.hpp> single-header usage.
# See http://www.boost.org/doc/libs/1_66_0/libs/test/doc/html/boost_test/adv_scenarios/static_lib_customizations/entry_point.html
EXTRA_FLAGS="-DBOOST_AC_USE_PTHREADS -DBOOST_SP_USE_PTHREADS \
-DBOOST_TEST_NO_MAIN -DBOOST_TEST_ALTERNATIVE_INIT_API -DANDROID_STL=c++_static \
-Wno-unused-local-typedef"
EXTRA_ANDROID_FLAGS="$EXTRA_FLAGS"
if [[ -n "$USE_CXX11_ABI" ]]; then
EXTRA_LINUX_FLAGS="$EXTRA_FLAGS -D_GLIBCXX_USE_CXX11_ABI=$USE_CXX11_ABI"
else
EXTRA_LINUX_FLAGS="$EXTRA_FLAGS"
fi
doneSection()
{
echo
echo "Done"
echo "================================================================="
echo
}
bootstrapBoost()
{
BOOTSTRAP_LIBS=$BOOST_LIBS
BOOST_LIBS_COMMA=$(echo $BOOTSTRAP_LIBS | sed -e "s/ /,/g")
echo "Bootstrapping for $1 (with libs $BOOST_LIBS_COMMA)"
./bootstrap.sh --with-libraries=$BOOST_LIBS_COMMA
doneSection
}
generateAndroidUserConfig()
{
HOSTOS="$(uname | awk '{ print $1}' | tr [:upper:] [:lower:])-" # darwin or linux
OSARCH="$(uname -m)"
# Boost doesn't build with <compileflags>-Werror
# Reported to boost-users@lists.boost.org
cat > "./tools/build/src/user-config.jam" <<EOF
using clang : 5.0~x86
: $ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/$HOSTOS$OSARCH/bin/clang++ $EXTRA_ANDROID_FLAGS
:
<architecture>x86 <target-os>android
<compileflags>--target=i686-none-linux-android
<compileflags>--gcc-toolchain=$ANDROID_NDK_ROOT/toolchains/x86-4.9/prebuilt/$HOSTOS$OSARCH
<compileflags>--sysroot=$ANDROID_NDK_ROOT/sysroot
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc++/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sources/android/support/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sysroot/usr/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sysroot/usr/include/i686-linux-android
<compileflags>-DANDROID
<compileflags>-D__ANDROID_API__=19
<compileflags>-ffunction-sections
<compileflags>-funwind-tables
<compileflags>-fstack-protector-strong
<compileflags>-fno-limit-debug-info
<compileflags>-fPIC
<compileflags>-no-canonical-prefixes
<compileflags>-mstackrealign
<compileflags>-Wa,--noexecstack
<compileflags>-Wformat
<compileflags>-Werror=format-security
<compileflags>-Wall
<compileflags>-Wshadow
;
using clang : 5.0~x86_64
: $ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/$HOSTOS$OSARCH/bin/clang++ $EXTRA_ANDROID_FLAGS
:
<architecture>x86 <target-os>android
<compileflags>--target=x86_64-none-linux-android
<compileflags>--gcc-toolchain=$ANDROID_NDK_ROOT/toolchains/x86_64-4.9/prebuilt/$HOSTOS$OSARCH
<compileflags>--sysroot=$ANDROID_NDK_ROOT/sysroot
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc++/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sources/android/support/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sysroot/usr/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sysroot/usr/include/x86_64-linux-android
<compileflags>-DANDROID
<compileflags>-D__ANDROID_API__=21
<compileflags>-ffunction-sections
<compileflags>-funwind-tables
<compileflags>-fstack-protector-strong
<compileflags>-fno-limit-debug-info
<compileflags>-fPIC
<compileflags>-no-canonical-prefixes
<compileflags>-mstackrealign
<compileflags>-Wa,--noexecstack
<compileflags>-Wformat
<compileflags>-Werror=format-security
<compileflags>-Wall
<compileflags>-Wshadow
;
using clang : 5.0~arm
: $ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/$HOSTOS$OSARCH/bin/clang++ $EXTRA_ANDROID_FLAGS
:
<architecture>arm <target-os>android
<compileflags>--target=armv7-none-linux-androideabi
<compileflags>--gcc-toolchain=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/$HOSTOS$OSARCH
<compileflags>--sysroot=$ANDROID_NDK_ROOT/sysroot
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc++/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sources/android/support/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sysroot/usr/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sysroot/usr/include/arm-linux-androideabi
<compileflags>-DANDROID
<compileflags>-D__ANDROID_API__=19
<compileflags>-ffunction-sections
<compileflags>-funwind-tables
<compileflags>-fstack-protector-strong
<compileflags>-fno-limit-debug-info
<compileflags>-fPIC
<compileflags>-fno-integrated-as
<compileflags>-no-canonical-prefixes
<compileflags>-Wa,--noexecstack
<compileflags>-Wformat
<compileflags>-Werror=format-security
<compileflags>-Wall
<compileflags>-Wshadow
<compileflags>-march=armv7-a
<compileflags>-mfloat-abi=softfp
<compileflags>-mfpu=vfpv3-d16
<compileflags>-mthumb
;
using clang : 5.0~arm64
: $ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/$HOSTOS$OSARCH/bin/clang++ $EXTRA_ANDROID_FLAGS
:
<architecture>arm <target-os>android
<compileflags>--target=aarch64-none-linux-android
<compileflags>--gcc-toolchain=$ANDROID_NDK_ROOT/toolchains/aarch64-linux-android-4.9/prebuilt/$HOSTOS$OSARCH
<compileflags>--sysroot=$ANDROID_NDK_ROOT/sysroot
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc++/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sources/cxx-stl/llvm-libc++abi/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sources/android/support/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sysroot/usr/include
<compileflags>-isystem <compileflags>$ANDROID_NDK_ROOT/sysroot/usr/include/aarch64-linux-android
<compileflags>-DANDROID
<compileflags>-D__ANDROID_API__=21
<compileflags>-ffunction-sections
<compileflags>-funwind-tables
<compileflags>-fstack-protector-strong
<compileflags>-fno-limit-debug-info
<compileflags>-fPIC
<compileflags>-no-canonical-prefixes
<compileflags>-Wa,--noexecstack
<compileflags>-Wformat
<compileflags>-Werror=format-security
<compileflags>-Wall
<compileflags>-Wshadow
;
EOF
}
buildBoost_Android()
{
mkdir -p $OUTPUT_DIR
echo > ${OUTPUT_DIR}/android-build.log
if [[ -z "$ANDROID_NDK_ROOT" ]]; then
echo "Must specify ANDROID_NDK_ROOT"
exit 1
fi
export NO_BZIP2=1
# build libicu if locale requested but not provided
# if echo $LIBRARIES | grep locale; then
# if [ -e libiconv-libicu-android ]; then
# echo "ICONV and ICU already compiled"
# else
# echo "boost_locale selected - compiling ICONV and ICU"
# git clone https://github.com/pelya/libiconv-libicu-android.git
# cd libiconv-libicu-android
# ./build.sh || exit 1
# cd ..
# fi
# fi
echo clean
./b2 --clean
echo Building release x86 Boost for Android Emulator
./b2 --build-dir=android-build --stagedir=android-build/stage \
--prefix="$OUTPUT_DIR" \
--libdir="$OUTPUT_DIR/lib/x86" toolset=clang-5.0~x86 \
architecture=x86 target-os=android define=_LITTLE_ENDIAN \
optimization=speed \
address-model=32 variant=release cxxflags="${CPPSTD}" \
link=static threading=multi install >> "${OUTPUT_DIR}/android-build.log" 2>&1
if [ $? != 0 ]; then echo "Error staging Android. Check ${OUTPUT_DIR}/android-build.log"; exit 1; fi
doneSection
echo Building release x86_64 Boost for Android Emulator
./b2 --build-dir=android-build --stagedir=android-build/stage \
--prefix="$OUTPUT_DIR" \
--libdir="$OUTPUT_DIR/lib/x86_64" toolset=clang-5.0~x86_64 \
architecture=x86 target-os=android define=_LITTLE_ENDIAN \
optimization=speed \
address-model=64 variant=release cxxflags="${CPPSTD}" \
link=static threading=multi install >> "${OUTPUT_DIR}/android-build.log" 2>&1
if [ $? != 0 ]; then echo "Error staging Android. Check ${OUTPUT_DIR}/android-build.log"; exit 1; fi
doneSection
echo Building release armv7 Boost for Android
./b2 --build-dir=android-build --stagedir=android-build/stage \
--prefix="$OUTPUT_DIR" \
--libdir="$OUTPUT_DIR/lib/armeabi-v7a" toolset=clang-5.0~arm \
abi=aapcs architecture=arm address-model=32 binary-format=elf threading=multi \
optimization=space \
target-os=android variant=release cxxflags="${CPPSTD}" \
link=static install >> "${OUTPUT_DIR}/android-build.log" 2>&1
if [ $? != 0 ]; then echo "Error installing Android. Check ${OUTPUT_DIR}/android-build.log"; exit 1; fi
doneSection
echo Building release arm64 Boost for Android
./b2 --build-dir=android-build --stagedir=android-build/stage \
--prefix="$OUTPUT_DIR" \
--libdir="$OUTPUT_DIR/lib/arm64-v8a" toolset=clang-5.0~arm64 \
abi=aapcs architecture=arm address-model=64 binary-format=elf threading=multi \
optimization=space \
target-os=android variant=release cxxflags="${CPPSTD}" \
link=static install >> "${OUTPUT_DIR}/android-build.log" 2>&1
if [ $? != 0 ]; then echo "Error installing Android. Check ${OUTPUT_DIR}/android-build.log"; exit 1; fi
doneSection
}
buildBoost_Android_debug()
{
mkdir -p $OUTPUT_DIR
echo > ${OUTPUT_DIR}/android-build.log
export NO_BZIP2=1
# build libicu if locale requested but not provided
# if echo $LIBRARIES | grep locale; then
# if [ -e libiconv-libicu-android ]; then
# echo "ICONV and ICU already compiled"
# else
# echo "boost_locale selected - compiling ICONV and ICU"
# git clone https://github.com/pelya/libiconv-libicu-android.git
# cd libiconv-libicu-android
# ./build.sh || exit 1
# cd ..
# fi
# fi
echo Building debug x86 Boost for Android Emulator
./b2 $THREADS --build-dir=android-build --stagedir=android-build/stage \
--prefix="$OUTPUT_DIR" \
--libdir="$OUTPUT_DIR/lib/debug/x86" toolset=clang-5.0~x86 \
architecture=x86 target-os=android define=_LITTLE_ENDIAN \
optimization=speed \
address-model=32 variant=debug cxxflags="${CPPSTD}" \
link=static threading=multi install >> "${OUTPUT_DIR}/android-build.log" 2>&1
if [ $? != 0 ]; then echo "Error staging Android. Check ${OUTPUT_DIR}/android-build.log"; exit 1; fi
doneSection
echo Building debug x86_64 Boost for Android Emulator
./b2 $THREADS --build-dir=android-build --stagedir=android-build/stage \
--prefix="$OUTPUT_DIR" \
--libdir="$OUTPUT_DIR/lib/debug/x86_64" toolset=clang-5.0~x86_64 \
architecture=x86 target-os=android define=_LITTLE_ENDIAN \
optimization=speed \
address-model=64 variant=debug cxxflags="${CPPSTD}" \
link=static threading=multi install >> "${OUTPUT_DIR}/android-build.log" 2>&1
if [ $? != 0 ]; then echo "Error staging Android. Check ${OUTPUT_DIR}/android-build.log"; exit 1; fi
doneSection
echo Building debug armv7 Boost for Android
./b2 $THREADS --build-dir=android-build --stagedir=android-build/stage \
--prefix="$OUTPUT_DIR" \
--libdir="$OUTPUT_DIR/lib/debug/armeabi-v7a" toolset=clang-5.0~arm \
abi=aapcs architecture=arm address-model=32 binary-format=elf threading=multi \
optimization=space \
target-os=android variant=debug cxxflags="${CPPSTD}" \
link=static install >> "${OUTPUT_DIR}/android-build.log" 2>&1
if [ $? != 0 ]; then echo "Error installing Android. Check ${OUTPUT_DIR}/android-build.log"; exit 1; fi
doneSection
echo Building debug arm64 Boost for Android
./b2 $THREADS --build-dir=android-build --stagedir=android-build/stage \
--prefix="$OUTPUT_DIR" \
--libdir="$OUTPUT_DIR/lib/debug/arm64-v8a" toolset=clang-5.0~arm64 \
abi=aapcs architecture=arm address-model=64 binary-format=elf threading=multi \
optimization=space \
target-os=android variant=debug cxxflags="${CPPSTD}" \
link=static install >> "${OUTPUT_DIR}/android-build.log" 2>&1
if [ $? != 0 ]; then echo "Error installing Android. Check ${OUTPUT_DIR}/android-build.log"; exit 1; fi
doneSection
}
bootstrapBoost
generateAndroidUserConfig
buildBoost_Android
#buildBoost_Android_debug
echo "Completed successfully"

View File

@ -1,220 +0,0 @@
#!/bin/bash
#
# Copyright 2016 leenjewel
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
source ./build-common.sh
export PLATFORM_TYPE="Android"
export ARCHS=("arm" "arm64" "x86" "x86_64")
export ABIS=("armeabi-v7a" "arm64-v8a" "x86" "x86_64")
export ABI_TRIPLES=("arm-linux-androideabi" "aarch64-linux-android" "i686-linux-android" "x86_64-linux-android")
export ANDROID_API=21
# for test
# export ARCHS=("x86_64")
# export ABIS=("x86_64")
# export ABI_TRIPLES=("x86_64-linux-android")
if [[ -z ${ANDROID_NDK_ROOT} ]]; then
echo "ANDROID_NDK_ROOT not defined"
exit 1
fi
function get_toolchain() {
HOST_OS=$(uname -s)
case ${HOST_OS} in
Darwin) HOST_OS=darwin ;;
Linux) HOST_OS=linux ;;
FreeBsd) HOST_OS=freebsd ;;
CYGWIN* | *_NT-*) HOST_OS=cygwin ;;
esac
HOST_ARCH=$(uname -m)
case ${HOST_ARCH} in
i?86) HOST_ARCH=x86 ;;
x86_64 | amd64) HOST_ARCH=x86_64 ;;
esac
echo "${HOST_OS}-${HOST_ARCH}"
}
function get_android_arch() {
local common_arch=$1
case ${common_arch} in
arm)
echo "arm-v7a"
;;
arm64)
echo "arm64-v8a"
;;
x86)
echo "x86"
;;
x86_64)
echo "x86-64"
;;
esac
}
function get_target_build() {
local arch=$1
case ${arch} in
arm-v7a)
echo "arm"
;;
arm64-v8a)
echo "arm64"
;;
x86)
echo "x86"
;;
x86-64)
echo "x86_64"
;;
esac
}
function get_build_host_internal() {
local arch=$1
case ${arch} in
arm-v7a | arm-v7a-neon)
echo "arm-linux-androideabi"
;;
arm64-v8a)
echo "aarch64-linux-android"
;;
x86)
echo "i686-linux-android"
;;
x86-64)
echo "x86_64-linux-android"
;;
esac
}
function android_get_build_host() {
local arch=$(get_android_arch $1)
get_build_host_internal $arch
}
function get_clang_target_host() {
local arch=$1
local api=$2
case ${arch} in
arm-v7a | arm-v7a-neon)
echo "armv7a-linux-androideabi${api}"
;;
arm64-v8a)
echo "aarch64-linux-android${api}"
;;
x86)
echo "i686-linux-android${api}"
;;
x86-64)
echo "x86_64-linux-android${api}"
;;
esac
}
function set_android_toolchain_bin() {
export PATH=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/$(get_toolchain)/bin:$PATH
echo PATH=$PATH
}
function set_android_toolchain() {
local name=$1
local arch=$(get_android_arch $2)
local api=$3
local build_host=$(get_build_host_internal "$arch")
local clang_target_host=$(get_clang_target_host "$arch" "$api")
export AR=${build_host}-ar
export CC=${clang_target_host}-clang
export CXX=${clang_target_host}-clang++
export AS=${build_host}-as
export LD=${build_host}-ld
export RANLIB=${build_host}-ranlib
export STRIP=${build_host}-strip
}
function get_common_includes() {
local toolchain=$(get_toolchain)
echo "-I${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${toolchain}/sysroot/usr/include -I${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${toolchain}/sysroot/usr/local/include"
}
function get_common_linked_libraries() {
local api=$1
local arch=$2
local toolchain=$(get_toolchain)
local build_host=$(get_build_host_internal "$arch")
echo "-L${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${toolchain}/${build_host}/lib -L${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${toolchain}/sysroot/usr/lib/${build_host}/${api} -L${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/${toolchain}/lib"
}
function set_android_cpu_feature() {
local name=$1
local arch=$(get_android_arch $2)
local api=$3
case ${arch} in
arm-v7a | arm-v7a-neon)
export CFLAGS="-march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -Wno-unused-function -fno-integrated-as -fstrict-aliasing -fPIC -DANDROID -D__ANDROID_API__=${api} -Os -ffunction-sections -fdata-sections $(get_common_includes)"
export CXXFLAGS="-std=c++11 -Os -ffunction-sections -fdata-sections"
export LDFLAGS="-march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -Wl,--fix-cortex-a8 -Wl,--gc-sections -Os -ffunction-sections -fdata-sections $(get_common_linked_libraries ${api} ${arch})"
export CPPFLAGS=${CFLAGS}
;;
arm64-v8a)
export CFLAGS="-march=armv8-a -Wno-unused-function -fno-integrated-as -fstrict-aliasing -fPIC -DANDROID -D__ANDROID_API__=${api} -Os -ffunction-sections -fdata-sections $(get_common_includes)"
export CXXFLAGS="-std=c++11 -Os -ffunction-sections -fdata-sections"
export LDFLAGS="-march=armv8-a -Wl,--gc-sections -Os -ffunction-sections -fdata-sections $(get_common_linked_libraries ${api} ${arch})"
export CPPFLAGS=${CFLAGS}
;;
x86)
export CFLAGS="-march=i686 -mtune=intel -mssse3 -mfpmath=sse -m32 -Wno-unused-function -fno-integrated-as -fstrict-aliasing -fPIC -DANDROID -D__ANDROID_API__=${api} -Os -ffunction-sections -fdata-sections $(get_common_includes)"
export CXXFLAGS="-std=c++11 -Os -ffunction-sections -fdata-sections"
export LDFLAGS="-march=i686 -Wl,--gc-sections -Os -ffunction-sections -fdata-sections $(get_common_linked_libraries ${api} ${arch})"
export CPPFLAGS=${CFLAGS}
;;
x86-64)
export CFLAGS="-march=x86-64 -msse4.2 -mpopcnt -m64 -mtune=intel -Wno-unused-function -fno-integrated-as -fstrict-aliasing -fPIC -DANDROID -D__ANDROID_API__=${api} -Os -ffunction-sections -fdata-sections $(get_common_includes)"
export CXXFLAGS="-std=c++11 -Os -ffunction-sections -fdata-sections"
export LDFLAGS="-march=x86-64 -Wl,--gc-sections -Os -ffunction-sections -fdata-sections $(get_common_linked_libraries ${api} ${arch})"
export CPPFLAGS=${CFLAGS}
;;
esac
}
function android_printf_global_params() {
local arch=$1
local abi=$2
local abi_triple=$3
local in_dir=$4
local out_dir=$5
echo -e "arch = $arch"
echo -e "abi = $abi"
echo -e "abi_triple = $abi_triple"
echo -e "PLATFORM_TYPE = $PLATFORM_TYPE"
echo -e "ANDROID_API = $ANDROID_API"
echo -e "in_dir = $in_dir"
echo -e "out_dir = $out_dir"
echo -e "AR = $AR"
echo -e "CC = $CC"
echo -e "CXX = $CXX"
echo -e "AS = $AS"
echo -e "LD = $LD"
echo -e "RANLIB = $RANLIB"
echo -e "STRIP = $STRIP"
echo -e "CFLAGS = $CFLAGS"
echo -e "CXXFLAGS = $CXXFLAGS"
echo -e "LDFLAGS = $LDFLAGS"
echo -e "CPPFLAGS = $CPPFLAGS"
}

View File

@ -1,128 +0,0 @@
#!/bin/bash
#
# Copyright 2016 leenjewel
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# # read -n1 -p "Press any key to continue..."
set -u
source ./build-android-common.sh
init_log_color
TOOLS_ROOT=$(pwd)
SOURCE="$0"
while [ -h "$SOURCE" ]; do
DIR="$(cd -P "$(dirname "$SOURCE")" && pwd)"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE"
done
pwd_path="$(cd -P "$(dirname "$SOURCE")" && pwd)"
echo pwd_path=${pwd_path}
echo TOOLS_ROOT=${TOOLS_ROOT}
LIB_VERSION="curl-7_68_0"
LIB_NAME="curl-7.68.0"
LIB_DEST_DIR="${pwd_path}/build/android/curl-universal"
echo "https://github.com/curl/curl/releases/download/${LIB_VERSION}/${LIB_NAME}.tar.gz"
# https://curl.haxx.se/download/${LIB_NAME}.tar.gz
# https://github.com/curl/curl/releases/download/curl-7_69_0/curl-7.69.0.tar.gz
# https://github.com/curl/curl/releases/download/curl-7_68_0/curl-7.68.0.tar.gz
rm -rf "${LIB_DEST_DIR}" "${LIB_NAME}"
[ -f "${LIB_NAME}.tar.gz" ] || curl -L -o ${LIB_NAME}.tar.gz https://github.com/curl/curl/releases/download/${LIB_VERSION}/${LIB_NAME}.tar.gz -s
[ -f "${LIB_NAME}.tar.gz" ] || log_error "curl download error!"
set_android_toolchain_bin
function configure_make() {
ARCH=$1
ABI=$2
ABI_TRIPLE=$3
log_info "configure $ABI start..."
if [ -d "${LIB_NAME}" ]; then
rm -fr "${LIB_NAME}"
fi
tar xfz "${LIB_NAME}.tar.gz"
pushd .
cd "${LIB_NAME}"
PREFIX_DIR="${pwd_path}/build/android/${ABI}"
if [ -d "${PREFIX_DIR}" ]; then
rm -fr "${PREFIX_DIR}"
fi
mkdir -p "${PREFIX_DIR}"
OUTPUT_ROOT=${TOOLS_ROOT}/build/android/${ABI}
mkdir -p ${OUTPUT_ROOT}/log
set_android_toolchain "curl" "${ARCH}" "${ANDROID_API}"
set_android_cpu_feature "curl" "${ARCH}" "${ANDROID_API}"
export ANDROID_NDK_HOME=${ANDROID_NDK_ROOT}
echo ANDROID_NDK_HOME=${ANDROID_NDK_HOME}
OPENSSL_OUT_DIR="${pwd_path}/../openssl/build/android/${ABI}"
export LDFLAGS="${LDFLAGS} -L${OPENSSL_OUT_DIR}/lib"
# export LDFLAGS="-Wl,-rpath-link,-L${OPENSSL_OUT_DIR}/lib $LDFLAGS "
android_printf_global_params "$ARCH" "$ABI" "$ABI_TRIPLE" "$PREFIX_DIR" "$OUTPUT_ROOT"
if [[ "${ARCH}" == "x86_64" ]]; then
./configure --host=$(android_get_build_host "${ARCH}") --prefix="${PREFIX_DIR}" --enable-ipv6 --with-ssl=${OPENSSL_OUT_DIR} --enable-static --disable-shared >"${OUTPUT_ROOT}/log/${ABI}.log" 2>&1
elif [[ "${ARCH}" == "x86" ]]; then
./configure --host=$(android_get_build_host "${ARCH}") --prefix="${PREFIX_DIR}" --enable-ipv6 --with-ssl=${OPENSSL_OUT_DIR} --enable-static --disable-shared >"${OUTPUT_ROOT}/log/${ABI}.log" 2>&1
elif [[ "${ARCH}" == "arm" ]]; then
./configure --host=$(android_get_build_host "${ARCH}") --prefix="${PREFIX_DIR}" --enable-ipv6 --with-ssl=${OPENSSL_OUT_DIR} --enable-static --disable-shared >"${OUTPUT_ROOT}/log/${ABI}.log" 2>&1
elif [[ "${ARCH}" == "arm64" ]]; then
./configure --host=$(android_get_build_host "${ARCH}") --prefix="${PREFIX_DIR}" --enable-ipv6 --with-ssl=${OPENSSL_OUT_DIR} --enable-static --disable-shared >"${OUTPUT_ROOT}/log/${ABI}.log" 2>&1
else
log_error "not support" && exit 1
fi
log_info "make $ABI start..."
make clean >>"${OUTPUT_ROOT}/log/${ABI}.log"
if make -j$(get_cpu_count) >>"${OUTPUT_ROOT}/log/${ABI}.log" 2>&1; then
make install >>"${OUTPUT_ROOT}/log/${ABI}.log" 2>&1
fi
popd
}
log_info "${PLATFORM_TYPE} ${LIB_NAME} start..."
for ((i = 0; i < ${#ARCHS[@]}; i++)); do
if [[ $# -eq 0 || "$1" == "${ARCHS[i]}" ]]; then
configure_make "${ARCHS[i]}" "${ABIS[i]}" "${ABI_TRIPLES[i]}"
fi
done
log_info "${PLATFORM_TYPE} ${LIB_NAME} end..."

View File

@ -1,18 +1,10 @@
core_android {
ABI_PATH = $$replace(CORE_BUILDS_PLATFORM_PREFIX, "android_", "")
contains(ABI_PATH, "armv7" ) {
ABI_PATH = $$replace(ABI_PATH, "armv7", "armeabi-v7a")
}
contains(ABI_PATH, "arm64_v8a" ) {
ABI_PATH = $$replace(ABI_PATH, "arm64_v8a", "arm64-v8a")
}
INCLUDEPATH += \
$$PWD/build/android/$$ABI_PATH/include \
$$PWD/../openssl/build/android/$$ABI_PATH/include \
$$PWD/build/android/include \
$$PWD/../openssl/build/android/$$CORE_BUILDS_PLATFORM_PREFIX_DST/include
LIBS += \
$$PWD/build/android/$$ABI_PATH/lib/libcurl.a \
$$PWD/../openssl/build/android/$$ABI_PATH/lib/libssl.a \
$$PWD/../openssl/build/android/$$ABI_PATH/lib/libcrypto.a \
$$PWD/build/android/$$CORE_BUILDS_PLATFORM_PREFIX_DST/libcurl.a \
$$PWD/../openssl/build/android/$$CORE_BUILDS_PLATFORM_PREFIX_DST/lib/libssl.a \
$$PWD/../openssl/build/android/$$CORE_BUILDS_PLATFORM_PREFIX_DST/lib/libcrypto.a \
}

View File

@ -12,22 +12,20 @@
#include "StaticFunctions.h"
#include "ConstValues.h"
#define DEFAULTFONTSIZE 28 // 14 * 2
#define DEFAULT_FONT_SIZE 14
namespace NSCSS
{
typedef std::map<std::wstring, std::wstring>::const_iterator styles_iterator;
CCompiledStyle::CCompiledStyle() : m_nDpi(96), m_UnitMeasure(Point)
{
m_oFont.SetSize(std::to_wstring(DEFAULTFONTSIZE), 0, true);
}
{}
CCompiledStyle::CCompiledStyle(const CCompiledStyle& oStyle) :
m_arParentsStyles(oStyle.m_arParentsStyles), m_sId(oStyle.m_sId),
m_nDpi(oStyle.m_nDpi), m_UnitMeasure(oStyle.m_UnitMeasure),
m_oFont(oStyle.m_oFont), m_oMargin(oStyle.m_oMargin), m_oPadding(oStyle.m_oPadding), m_oBackground(oStyle.m_oBackground),
m_oText(oStyle.m_oText), m_oBorder(oStyle.m_oBorder), m_oDisplay(oStyle.m_oDisplay){}
CCompiledStyle::CCompiledStyle(const CCompiledStyle& oStyle) :
m_arParentsStyles(oStyle.m_arParentsStyles), m_sId(oStyle.m_sId),
m_nDpi(oStyle.m_nDpi), m_UnitMeasure(oStyle.m_UnitMeasure),
m_oFont(oStyle.m_oFont), m_oMargin(oStyle.m_oMargin), m_oPadding(oStyle.m_oPadding), m_oBackground(oStyle.m_oBackground),
m_oText(oStyle.m_oText), m_oBorder(oStyle.m_oBorder), m_oDisplay(oStyle.m_oDisplay){}
CCompiledStyle::~CCompiledStyle()
{
@ -36,6 +34,9 @@ namespace NSCSS
CCompiledStyle& CCompiledStyle::operator+= (const CCompiledStyle &oElement)
{
if (oElement.Empty())
return *this;
m_oBackground += oElement.m_oBackground;
m_oBorder += oElement.m_oBorder;
m_oFont += oElement.m_oFont;
@ -44,6 +45,9 @@ namespace NSCSS
m_oText += oElement.m_oText;
m_oDisplay += oElement.m_oDisplay;
if (!oElement.m_sId.empty())
m_sId += L'+' + oElement.m_sId;
return *this;
}
@ -68,9 +72,7 @@ namespace NSCSS
bool CCompiledStyle::operator== (const CCompiledStyle& oStyle) const
{
return GetId()[0] == oStyle.GetId()[0] &&
m_arParentsStyles == oStyle.m_arParentsStyles &&
m_oBackground == oStyle.m_oBackground &&
return m_oBackground == oStyle.m_oBackground &&
m_oBorder == oStyle.m_oBorder &&
m_oFont == oStyle.m_oFont &&
m_oMargin == oStyle.m_oMargin &&
@ -100,16 +102,6 @@ namespace NSCSS
m_UnitMeasure = enUnitMeasure;
}
void CCompiledStyle::SetSizeSourceWindow(const CSizeWindow &oSizeWindow)
{
m_oSourceWindow = oSizeWindow;
}
void CCompiledStyle::SetSizeDeviceWindow(const CSizeWindow &oSizeWindow)
{
m_oDeviceWindow = oSizeWindow;
}
bool CCompiledStyle::Empty() const
{
return m_oBackground.Empty() && m_oBorder.Empty() && m_oFont.Empty() &&
@ -124,8 +116,8 @@ namespace NSCSS
void CCompiledStyle::AddStyle(const std::map<std::wstring, std::wstring>& mStyle, const unsigned int unLevel, const bool& bHardMode)
{
const bool bIsThereBorder = (m_oBorder.Empty()) ? false : true;
const double dFontSize = m_oFont.GetSize().ToDouble(NSCSS::Twips);
const double dFontSize = (!m_oFont.GetSize().Empty()) ? m_oFont.GetSize().ToDouble(NSCSS::Point) : DEFAULT_FONT_SIZE;
for (std::pair<std::wstring, std::wstring> pPropertie : mStyle)
{
std::transform(pPropertie.first.begin(), pPropertie.first.end(), pPropertie.first.begin(), tolower);
@ -183,45 +175,48 @@ namespace NSCSS
if (bIsThereBorder)
break;
m_oMargin.AddValue(pPropertie.second, unLevel, bHardMode);
m_oMargin.SetValues(pPropertie.second, unLevel, bHardMode);
m_oMargin.UpdateAll(dFontSize);
break;
}
CASE(L"margin-top"):
CASE(L"topmargin"):
{
if (bIsThereBorder)
break;
m_oMargin.AddTop(pPropertie.second, unLevel, bHardMode);
m_oMargin.UpdateTop(dFontSize);
m_oMargin.SetTop(pPropertie.second, unLevel, bHardMode);
break;
}
CASE(L"margin-right"):
CASE(L"margin-block-end"):
CASE(L"rightmargin"):
{
if (bIsThereBorder)
break;
m_oMargin.AddRight(pPropertie.second, unLevel, bHardMode);
m_oMargin.SetRight(pPropertie.second, unLevel, bHardMode);
m_oMargin.UpdateRight(dFontSize);
break;
}
CASE(L"margin-bottom"):
CASE(L"bottommargin"):
{
if (bIsThereBorder)
break;
m_oMargin.AddBottom(pPropertie.second, unLevel, bHardMode);
m_oMargin.SetBottom(pPropertie.second, unLevel, bHardMode);
m_oMargin.UpdateBottom(dFontSize);
break;
}
CASE(L"margin-left"):
CASE(L"margin-block-start"):
CASE(L"leftmargin"):
{
if (bIsThereBorder)
break;
m_oMargin.AddLeft(pPropertie.second, unLevel, bHardMode);
m_oMargin.SetLeft(pPropertie.second, unLevel, bHardMode);
m_oMargin.UpdateLeft(dFontSize);
break;
}
@ -229,35 +224,35 @@ namespace NSCSS
CASE(L"padding"):
CASE(L"mso-padding-alt"):
{
m_oPadding.AddValue(pPropertie.second, unLevel, bHardMode);
m_oPadding.SetValues(pPropertie.second, unLevel, bHardMode);
m_oPadding.UpdateAll(dFontSize);
break;
}
CASE(L"padding-top"):
CASE(L"mso-padding-top-alt"):
{
m_oPadding.AddTop(pPropertie.second, unLevel, bHardMode);
m_oPadding.SetTop(pPropertie.second, unLevel, bHardMode);
m_oPadding.UpdateTop(dFontSize);
break;
}
CASE(L"padding-right"):
CASE(L"mso-padding-right-alt"):
{
m_oPadding.AddRight(pPropertie.second, unLevel, bHardMode);
m_oPadding.SetRight(pPropertie.second, unLevel, bHardMode);
m_oPadding.UpdateRight(dFontSize);
break;
}
CASE(L"padding-bottom"):
CASE(L"mso-padding-bottom-alt"):
{
m_oPadding.AddBottom(pPropertie.second, unLevel, bHardMode);
m_oPadding.SetBottom(pPropertie.second, unLevel, bHardMode);
m_oPadding.UpdateBottom(dFontSize);
break;
}
CASE(L"padding-left"):
CASE(L"mso-padding-left-alt"):
{
m_oPadding.AddLeft(pPropertie.second, unLevel, bHardMode);
m_oPadding.SetLeft(pPropertie.second, unLevel, bHardMode);
m_oPadding.UpdateLeft(dFontSize);
break;
}
@ -305,6 +300,11 @@ namespace NSCSS
m_oBorder.SetColor(pPropertie.second, unLevel, bHardMode);
break;
}
CASE(L"border-collapse"):
{
m_oBorder.SetCollapse(pPropertie.second, unLevel, bHardMode);
break;
}
//BORDER TOP
CASE(L"border-top"):
{
@ -393,20 +393,12 @@ namespace NSCSS
CASE(L"background-color"):
{
m_oBackground.SetColor(pPropertie.second, unLevel, bHardMode);
if (bIsThereBorder)
m_oBackground.InBorder();
break;
}
CASE(L"background"):
CASE(L"bgcolor"):
{
m_oBackground.SetBackground(pPropertie.second, unLevel, bHardMode);
if (bIsThereBorder)
m_oBackground.InBorder();
break;
}
//DISPLAY
@ -431,6 +423,7 @@ namespace NSCSS
break;
}
CASE(L"vertical-align"):
CASE(L"valign"):
{
m_oDisplay.SetVAlign(pPropertie.second, unLevel, bHardMode);
break;
@ -501,6 +494,11 @@ namespace NSCSS
return arParentsName;
}
std::set<std::wstring> CCompiledStyle::GetParentsNamesSet() const
{
return m_arParentsStyles;
}
void CCompiledStyle::SetID(const std::wstring& sId)
{
m_sId = sId;
@ -510,4 +508,9 @@ namespace NSCSS
{
return m_sId;
}
bool CCompiledStyle::HaveThisParent(const std::wstring &wsParentName) const
{
return m_arParentsStyles.end() != m_arParentsStyles.find(wsParentName);
}
}

View File

@ -22,9 +22,6 @@ namespace NSCSS
unsigned short int m_nDpi;
UnitMeasure m_UnitMeasure;
CSizeWindow m_oSourceWindow;
CSizeWindow m_oDeviceWindow;
public:
NSProperties::CFont m_oFont;
NSProperties::CIndent m_oMargin;
@ -41,8 +38,6 @@ namespace NSCSS
void SetDpi(const unsigned short& uiDpi);
void SetUnitMeasure(const UnitMeasure& enUnitMeasure);
void SetSizeSourceWindow(const CSizeWindow& oSizeWindow);
void SetSizeDeviceWindow(const CSizeWindow& oSizeWindow);
bool Empty() const;
@ -53,10 +48,13 @@ namespace NSCSS
void AddParent(const std::wstring& sParentName);
std::vector<std::wstring> GetParentsName() const;
std::set<std::wstring> GetParentsNamesSet() const;
void SetID(const std::wstring& sId);
std::wstring GetId() const;
bool HaveThisParent(const std::wstring& wsParentName) const;
CCompiledStyle& operator+= (const CCompiledStyle& oElement);
CCompiledStyle& operator= (const CCompiledStyle& oElement);
bool operator== (const CCompiledStyle& oElement) const;

View File

@ -1,7 +1,6 @@
#include "CCssCalculator.h"
#include "CCssCalculator_Private.h"
namespace NSCSS
{
CCssCalculator::CCssCalculator()
@ -24,6 +23,16 @@ namespace NSCSS
return m_pInternal->GetCompiledStyle(oStyle, arSelectors, bIsSettings, unitMeasure);
}
std::wstring CCssCalculator::CalculateStyleId(const CNode& oNode)
{
return m_pInternal->CalculateStyleId(oNode);
}
bool CCssCalculator::CalculatePageStyle(NSProperties::CPage& oPageData, const std::vector<CNode> &arSelectors)
{
return m_pInternal->CalculatePageStyle(oPageData, arSelectors);
}
void CCssCalculator::AddStyles(const std::string &sStyle)
{
m_pInternal->AddStyles(sStyle);
@ -54,26 +63,6 @@ namespace NSCSS
m_pInternal->SetBodyTree(oTree);
}
void CCssCalculator::SetSizeSourceWindow(const CSizeWindow &oSizeWindow)
{
m_pInternal->SetSizeSourceWindow(oSizeWindow);
}
void CCssCalculator::SetSizeDeviceWindow(const CSizeWindow &oSizeWindow)
{
m_pInternal->SetSizeDeviceWindow(oSizeWindow);
}
CSizeWindow CCssCalculator::GetSizeSourceWindow() const
{
return m_pInternal->GetSizeSourceWindow();
}
CSizeWindow CCssCalculator::GetSizeDeviceWindow() const
{
return m_pInternal->GetSizeDeviceWindow();
}
UnitMeasure CCssCalculator::GetUnitMeasure() const
{
return m_pInternal->GetUnitMeasure();

View File

@ -22,6 +22,9 @@ namespace NSCSS
CCompiledStyle GetCompiledStyle(const std::vector<CNode> &arSelectors, const bool& bIsSettings = false, const UnitMeasure& unitMeasure = Point) const;
bool GetCompiledStyle(CCompiledStyle& oStyle, const std::vector<CNode> &arSelectors, const bool& bIsSettings = false, const UnitMeasure& unitMeasure = Point) const;
std::wstring CalculateStyleId(const CNode& oNode);
bool CalculatePageStyle(NSProperties::CPage& oPageData, const std::vector<CNode> &arSelectors);
// void AddStyle(const std::vector<std::string>& sSelectors, const std::string& sStyle);
void AddStyles (const std::string& sStyle);
void AddStyles (const std::wstring& wsStyle);
@ -31,12 +34,6 @@ namespace NSCSS
void SetDpi(const unsigned short int& nValue);
void SetBodyTree(const CTree &oTree);
void SetSizeSourceWindow(const CSizeWindow& oSizeWindow);
void SetSizeDeviceWindow(const CSizeWindow& oSizeWindow);
CSizeWindow GetSizeSourceWindow() const;
CSizeWindow GetSizeDeviceWindow() const;
UnitMeasure GetUnitMeasure() const;
std::wstring GetEncoding() const;
unsigned short int GetDpi() const;

View File

@ -16,8 +16,9 @@
#define MaxNumberRepetitions 6
inline static std::wstring StringifyValueList(const KatanaArray* oValues);
inline static std::wstring StringifyValue(const KatanaValue* oValue);
inline static std::wstring StringifyValueList(const KatanaArray* oValues);
inline static std::wstring StringifyValue(const KatanaValue* oValue);
inline static bool IsTableElement(const std::wstring& wsNameTag);
bool operator<(const std::vector<NSCSS::CNode> &arLeftSelectors, const std::vector<NSCSS::CNode> &arRightSelectors)
{
@ -52,13 +53,6 @@ namespace NSCSS
m_mData.clear();
#ifdef CSS_CALCULATOR_WITH_XHTML
for (std::map<std::vector<CNode>, CCompiledStyle*>::iterator iter = m_mUsedStyles.begin(); iter != m_mUsedStyles.end(); ++iter)
delete iter->second;
m_mUsedStyles.clear();
#endif
if (NULL != m_mStatictics)
delete m_mStatictics;
}
@ -86,6 +80,182 @@ namespace NSCSS
}
#ifdef CSS_CALCULATOR_WITH_XHTML
std::map<std::wstring, std::wstring> CCssCalculator_Private::GetPageData(const std::wstring &wsPageName)
{
if (m_arPageDatas.empty())
return {};
for (const TPageData& oPageData : m_arPageDatas)
{
if (std::find(oPageData.m_wsNames.begin(), oPageData.m_wsNames.end(), wsPageName) != oPageData.m_wsNames.end())
return oPageData.m_mData;
}
return {};
}
void CCssCalculator_Private::SetPageData(NSProperties::CPage &oPage, const std::map<std::wstring, std::wstring> &mData, unsigned int unLevel, bool bHardMode)
{
for (const std::pair<std::wstring, std::wstring> &oData : mData)
{
if (L"margin" == oData.first)
oPage.SetMargin(oData.second, unLevel, bHardMode);
else if (L"size" == oData.first)
oPage.SetSize(oData.second, unLevel, bHardMode);
else if (L"mso-header-margin" == oData.first)
oPage.SetHeader(oData.second, unLevel, bHardMode);
else if (L"mso-footer-margin" == oData.first)
oPage.SetFooter(oData.second, unLevel, bHardMode);
}
}
std::vector<std::wstring> CCssCalculator_Private::CalculateAllNodes(const std::vector<CNode> &arSelectors)
{
std::vector<std::wstring> arNodes;
for (std::vector<CNode>::const_reverse_iterator oNode = arSelectors.rbegin(); oNode != arSelectors.rend(); ++oNode)
{
if (!oNode->m_wsName.empty())
arNodes.push_back(oNode->m_wsName);
if (!oNode->m_wsClass.empty())
{
if (oNode->m_wsClass.find(L' ') != std::wstring::npos)
{
std::vector<std::wstring> arClasses = NS_STATIC_FUNCTIONS::GetWordsW(oNode->m_wsClass, false, L" ");
arNodes.push_back(std::accumulate(arClasses.begin(), arClasses.end(), std::wstring(),
[](std::wstring sRes, const std::wstring& sClass)
{return sRes += L'.' + sClass + L' ';}));
}
else
arNodes.push_back(L'.' + oNode->m_wsClass);
}
if (!oNode->m_wsId.empty())
arNodes.push_back(L'#' + oNode->m_wsId);
}
return arNodes;
}
void CCssCalculator_Private::FindPrevAndKindElements(const CElement *pElement, const std::vector<std::wstring> &arNextNodes, std::vector<CElement*>& arFindedElements, const std::wstring &wsName, const std::vector<std::wstring> &arClasses)
{
if (arNextNodes.empty())
return;
const std::vector<CElement*> arTempPrev = pElement->GetPrevElements(arNextNodes.crbegin() + 1, arNextNodes.crend());
const std::vector<CElement*> arTempKins = pElement->GetNextOfKin(wsName, arClasses);
if (!arTempPrev.empty())
arFindedElements.insert(arFindedElements.end(), arTempPrev.begin(), arTempPrev.end());
if (!arTempKins.empty())
arFindedElements.insert(arFindedElements.end(), arTempKins.begin(), arTempKins.end());
}
std::vector<CElement*> CCssCalculator_Private::FindElements(std::vector<std::wstring> &arNodes, std::vector<std::wstring> &arNextNodes, bool bIsSettings)
{
if (arNodes.empty())
return {};
std::vector<CElement*> arFindedElements;
std::wstring wsName, wsId;
std::vector<std::wstring> arClasses;
if (!arNodes.empty() && arNodes.back()[0] == L'#')
{
wsId = arNodes.back();
arNodes.pop_back();
arNextNodes.push_back(wsId);
}
if (!arNodes.empty() && arNodes.back()[0] == L'.')
{
arClasses = NS_STATIC_FUNCTIONS::GetWordsW(arNodes.back(), false, L" ");
arNextNodes.push_back(arNodes.back());
arNodes.pop_back();
}
if (!arNodes.empty())
{
wsName = arNodes.back();
arNodes.pop_back();
arNextNodes.push_back(wsName);
}
const std::map<std::wstring, CElement*>::const_iterator oFindName = m_mData.find(wsName);
std::map<std::wstring, CElement*>::const_iterator oFindId;
if (!wsId.empty())
{
oFindId = m_mData.find(wsId);
if (oFindId != m_mData.end() && NULL != m_mStatictics)
{
std::map<StatistickElement, unsigned int>::const_iterator oFindCountId = m_mStatictics->find(StatistickElement{StatistickElement::IsId, wsId});
if ((m_mStatictics->end() != oFindCountId) &&
(((bIsSettings && oFindCountId->second < MaxNumberRepetitions) ||
(!bIsSettings && oFindCountId->second >= MaxNumberRepetitions))))
{
if (!oFindId->second->Empty())
arFindedElements.push_back(oFindId->second);
}
FindPrevAndKindElements(oFindId->second, arNextNodes, arFindedElements, wsName);
}
}
if (!arClasses.empty())
{
if (!bIsSettings)
{
for (std::vector<std::wstring>::const_reverse_iterator iClass = arClasses.rbegin(); iClass != arClasses.rend(); ++iClass)
{
const std::map<std::wstring, CElement*>::const_iterator oFindClass = m_mData.find(*iClass);
if (oFindClass != m_mData.end())
{
if (!oFindClass->second->Empty())
arFindedElements.push_back(oFindClass->second);
FindPrevAndKindElements(oFindClass->second, arNextNodes, arFindedElements, wsName);
}
}
}
}
if (oFindName != m_mData.end())
{
if (!bIsSettings)
{
if (!oFindName->second->Empty())
arFindedElements.push_back(oFindName->second);
FindPrevAndKindElements(oFindName->second, arNextNodes, arFindedElements, wsName, arClasses);
}
}
if (arFindedElements.size() > 1)
{
std::sort(arFindedElements.rbegin(), arFindedElements.rend(),
[](CElement* oFirstElement, CElement* oSecondElement)
{
return oFirstElement->GetWeight() > oSecondElement->GetWeight();
});
}
return arFindedElements;
}
#endif
void CCssCalculator_Private::AddPageData(const std::wstring &wsPageNames, const std::wstring &wsStyles)
{
m_arPageDatas.push_back({NS_STATIC_FUNCTIONS::GetWordsW(wsPageNames), NS_STATIC_FUNCTIONS::GetRules(wsStyles)});
}
inline void CCssCalculator_Private::GetStylesheet(const KatanaStylesheet *oStylesheet)
{
for (size_t i = 0; i < oStylesheet->imports.length; ++i)
@ -308,231 +478,11 @@ namespace NSCSS
if (arSelectors.empty())
return CCompiledStyle();
SetUnitMeasure(unitMeasure);
CCompiledStyle oStyle;
if (!bIsSettings)
{
const std::map<std::vector<CNode>, CCompiledStyle*>::iterator oItem = m_mUsedStyles.find(arSelectors);
GetCompiledStyle(oStyle, arSelectors, bIsSettings, unitMeasure);
if (oItem != m_mUsedStyles.end())
return *oItem->second;
}
else if (NULL == m_mStatictics || m_mStatictics->empty())
{
CCompiledStyle oStyle;
oStyle.SetDpi(m_nDpi);
oStyle.SetUnitMeasure(m_UnitMeasure);
oStyle.SetID(arSelectors.back().m_wsName + ((!arSelectors.back().m_wsClass.empty()) ? L'.' + arSelectors.back().m_wsClass : L"") + ((arSelectors.back().m_wsId.empty()) ? L"" : L'#' + arSelectors.back().m_wsId) + L'-' + std::to_wstring(++m_nCountNodes));
oStyle.SetSizeDeviceWindow(m_oDeviceWindow);
oStyle.SetSizeSourceWindow(m_oSourceWindow);
return oStyle;
}
CCompiledStyle *pStyle = new CCompiledStyle();
pStyle->SetDpi(m_nDpi);
pStyle->SetUnitMeasure(m_UnitMeasure);
pStyle->SetSizeDeviceWindow(m_oDeviceWindow);
pStyle->SetSizeSourceWindow(m_oSourceWindow);
std::vector<std::wstring> arWords;
arWords.reserve(arSelectors.size() * 2);
std::vector<std::wstring> arNextNodes;
arNextNodes.reserve(arSelectors.size() * 2);
for (std::vector<CNode>::const_reverse_iterator oNode = arSelectors.rbegin(); oNode != arSelectors.rend(); ++oNode)
{
arWords.push_back(oNode->m_wsName);
//TODO:: проверить данный момент
// if (oNode->m_sName == L"td")
// pStyle->m_oMargin.SetPermission(false);
if (oNode->m_wsName == L"table")
pStyle->m_oBorder.Block();
if (!oNode->m_wsClass.empty())
{
if (oNode->m_wsClass.find(L' ') != std::wstring::npos)
{
std::vector<std::wstring> arClasses = NS_STATIC_FUNCTIONS::GetWordsW(oNode->m_wsClass, false, L" ");
if (arClasses.size() > 1)
arClasses.resize(unique(arClasses.begin(),arClasses.end()) - arClasses.begin());
switch (arClasses.size())
{
case 1:
{
arWords.push_back(L'.' + arClasses[0]);
break;
}
case 2:
{
arWords.push_back(L'.' + arClasses[0] + L" ." + arClasses[1]);
break;
}
case 3:
{
arWords.push_back(L'.' + arClasses[0] + L" ." + arClasses[1] + L" ." + arClasses[2]);
break;
}
default:
{
arWords.push_back(std::accumulate(arClasses.begin(), arClasses.end(), std::wstring(),
[](std::wstring sRes, const std::wstring& sClass)
{return sRes += L'.' + sClass + L' ';}));
break;
}
}
}
else
arWords.push_back(L'.' + oNode->m_wsClass);
}
if (!oNode->m_wsId.empty())
arWords.push_back(L'#' + oNode->m_wsId);
}
std::vector<CElement*> arElements;
for (size_t i = 0; i < arSelectors.size(); ++i)
{
std::wstring sName, sId;
std::vector<std::wstring> arClasses;
if (arWords.back()[0] == L'#')
{
sId = arWords.back();
arWords.pop_back();
arNextNodes.push_back(sId);
}
if (arWords.back()[0] == L'.')
{
arClasses = NS_STATIC_FUNCTIONS::GetWordsW(arWords.back(), false, L" ");
arNextNodes.push_back(arWords.back());
arWords.pop_back();
}
sName = arWords.back();
arWords.pop_back();
arNextNodes.push_back(sName);
pStyle->AddParent(sName);
const std::map<std::wstring, CElement*>::const_iterator oFindName = m_mData.find(sName);
std::map<std::wstring, CElement*>::const_iterator oFindId;
std::vector<CElement*> arFindElements;
if (!sId.empty())
{
oFindId = m_mData.find(sId);
if (oFindId != m_mData.end() && NULL != m_mStatictics)
{
std::map<StatistickElement, unsigned int>::const_iterator oFindCountId = m_mStatictics->find(StatistickElement{StatistickElement::IsId, sId});
if ((m_mStatictics->end() != oFindCountId) &&
(((bIsSettings && oFindCountId->second < MaxNumberRepetitions) ||
(!bIsSettings && oFindCountId->second >= MaxNumberRepetitions))))
{
if (!oFindId->second->Empty())
arFindElements.push_back(oFindId->second);
}
const std::vector<CElement*> arTempPrev = oFindId->second->GetPrevElements(arNextNodes.rbegin() + ((arClasses.empty()) ? 1 : 2), arNextNodes.rend());
if (!arTempPrev.empty())
arFindElements.insert(arFindElements.end(), arTempPrev.begin(), arTempPrev.end());
}
}
if (!arClasses.empty())
{
if (!bIsSettings)
{
for (std::vector<std::wstring>::const_reverse_iterator iClass = arClasses.rbegin(); iClass != arClasses.rend(); ++iClass)
{
const std::map<std::wstring, CElement*>::const_iterator oFindClass = m_mData.find(*iClass);
if (oFindClass != m_mData.end())
{
if (!oFindClass->second->Empty())
arFindElements.push_back(oFindClass->second);
const std::vector<CElement*> arTempPrev = oFindClass->second->GetPrevElements(arNextNodes.rbegin() + 2, arNextNodes.rend());
const std::vector<CElement*> arTempKins = oFindClass->second->GetNextOfKin(sName);
if (!arTempPrev.empty())
arFindElements.insert(arFindElements.end(), arTempPrev.begin(), arTempPrev.end());
if (!arTempKins.empty())
arFindElements.insert(arFindElements.end(), arTempKins.begin(), arTempKins.end());
}
}
}
}
if (oFindName != m_mData.end())
{
if (!bIsSettings)
{
if (!oFindName->second->Empty())
arFindElements.push_back(oFindName->second);
const std::vector<CElement*> arTempPrev = oFindName->second->GetPrevElements(arNextNodes.rbegin() + 1, arNextNodes.rend());
const std::vector<CElement*> arTempKins = oFindName->second->GetNextOfKin(sName, arClasses);
if (!arTempPrev.empty())
arFindElements.insert(arFindElements.end(), arTempPrev.begin(), arTempPrev.end());
if (!arTempKins.empty())
arFindElements.insert(arFindElements.end(), arTempKins.begin(), arTempKins.end());
}
}
if (arFindElements.size() > 1)
{
std::sort(arFindElements.rbegin(), arFindElements.rend(),
[](CElement* oFirstElement, CElement* oSecondElement)
{
return oFirstElement->GetWeight() > oSecondElement->GetWeight();
});
}
pStyle->AddStyle(arSelectors[i].m_mAttributes, i + 1);
for (const CElement* oElement : arFindElements)
pStyle->AddStyle(oElement->GetStyle(), i + 1);
if (NULL != m_mStatictics)
{
std::map<StatistickElement, unsigned int>::const_iterator oFindCountStyle = m_mStatictics->find(StatistickElement{StatistickElement::IsStyle, arSelectors[i].m_wsStyle});
if (oFindCountStyle != m_mStatictics->end())
{
if ((bIsSettings && oFindCountStyle->second < MaxNumberRepetitions) ||
(!bIsSettings && oFindCountStyle->second >= MaxNumberRepetitions))
pStyle->AddStyle(arSelectors[i].m_wsStyle, i + 1, true);
else if (!bIsSettings)
pStyle->AddStyle(arSelectors[i].m_wsStyle, i + 1, true);
}
else if (bIsSettings)
pStyle->AddStyle(arSelectors[i].m_wsStyle, i + 1, true);
}
else
pStyle->AddStyle(arSelectors[i].m_wsStyle, i + 1, true);
}
if (!bIsSettings)
{
pStyle->SetID(arSelectors.back().m_wsName + ((!arSelectors.back().m_wsClass.empty()) ? L'.' + arSelectors.back().m_wsClass : L"") + ((arSelectors.back().m_wsId.empty()) ? L"" : L'#' + arSelectors.back().m_wsId) + L'-' + std::to_wstring(++m_nCountNodes));
m_mUsedStyles[arSelectors] = pStyle;
}
return *pStyle;
return oStyle;
}
bool CCssCalculator_Private::GetCompiledStyle(CCompiledStyle &oStyle, const std::vector<CNode> &arSelectors, const bool &bIsSettings, const UnitMeasure &unitMeasure)
@ -544,11 +494,11 @@ namespace NSCSS
if (!bIsSettings)
{
const std::map<std::vector<CNode>, CCompiledStyle*>::iterator oItem = m_mUsedStyles.find(arSelectors);
const std::map<std::vector<CNode>, CCompiledStyle>::iterator oItem = m_mUsedStyles.find(arSelectors);
if (oItem != m_mUsedStyles.end())
{
oStyle = *oItem->second;
oStyle = oItem->second;
return true;
}
}
@ -558,180 +508,35 @@ namespace NSCSS
oStyle.SetUnitMeasure(m_UnitMeasure);
oStyle.SetID(arSelectors.back().m_wsName + ((!arSelectors.back().m_wsClass.empty()) ? L'.' + arSelectors.back().m_wsClass : L"") + ((arSelectors.back().m_wsId.empty()) ? L"" : L'#' + arSelectors.back().m_wsId) + L'-' + std::to_wstring(++m_nCountNodes));
oStyle.SetSizeDeviceWindow(m_oDeviceWindow);
oStyle.SetSizeSourceWindow(m_oSourceWindow);
return false;
}
oStyle.SetDpi(m_nDpi);
oStyle.SetUnitMeasure(m_UnitMeasure);
oStyle.SetSizeDeviceWindow(m_oDeviceWindow);
oStyle.SetSizeSourceWindow(m_oSourceWindow);
std::vector<std::wstring> arWords;
arWords.reserve(arSelectors.size() * 2);
std::vector<std::wstring> arNextNodes;
arNextNodes.reserve(arSelectors.size() * 2);
for (std::vector<CNode>::const_reverse_iterator oNode = arSelectors.rbegin(); oNode != arSelectors.rend(); ++oNode)
{
arWords.push_back(oNode->m_wsName);
// if (oNode->m_sName == L"td")
// oStyle.m_pMargin.SetPermission(false);
if (oNode->m_wsName == L"table")
oStyle.m_oBorder.Block();
if (!oNode->m_wsClass.empty())
{
if (oNode->m_wsClass.find(L' ') != std::wstring::npos)
{
std::vector<std::wstring> arClasses = NS_STATIC_FUNCTIONS::GetWordsW(oNode->m_wsClass, false, L" ");
if (arClasses.size() > 1)
arClasses.resize(unique(arClasses.begin(),arClasses.end()) - arClasses.begin());
switch (arClasses.size())
{
case 1:
{
arWords.push_back(L'.' + arClasses[0]);
break;
}
case 2:
{
arWords.push_back(L'.' + arClasses[0] + L" ." + arClasses[1]);
break;
}
case 3:
{
arWords.push_back(L'.' + arClasses[0] + L" ." + arClasses[1] + L" ." + arClasses[2]);
break;
}
default:
{
arWords.push_back(std::accumulate(arClasses.begin(), arClasses.end(), std::wstring(),
[](std::wstring sRes, const std::wstring& sClass)
{return sRes += L'.' + sClass + L' ';}));
break;
}
}
}
else
arWords.push_back(L'.' + oNode->m_wsClass);
}
if (!oNode->m_wsId.empty())
arWords.push_back(L'#' + oNode->m_wsId);
}
std::vector<CElement*> arElements;
std::vector<std::wstring> arNodes = CalculateAllNodes(arSelectors);
std::vector<std::wstring> arPrevNodes;
bool bInTable = false;
for (size_t i = 0; i < arSelectors.size(); ++i)
{
std::wstring sName, sId;
std::vector<std::wstring> arClasses;
oStyle.AddParent(arSelectors[i].m_wsName);
if (arWords.back()[0] == L'#')
if (!bInTable)
bInTable = IsTableElement(arSelectors[i].m_wsName);
if (bInTable)
{
sId = arWords.back();
arWords.pop_back();
arNextNodes.push_back(sId);
oStyle.m_oBackground.Clear();
oStyle.m_oBorder.Clear();
}
if (arWords.back()[0] == L'.')
{
arClasses = NS_STATIC_FUNCTIONS::GetWordsW(arWords.back(), false, L" ");
arNextNodes.push_back(arWords.back());
arWords.pop_back();
}
CCompiledStyle oTempStyle;
sName = arWords.back();
arWords.pop_back();
arNextNodes.push_back(sName);
oStyle.AddParent(sName);
oTempStyle.AddStyle(arSelectors[i].m_mAttributes, i + 1);
const std::map<std::wstring, CElement*>::const_iterator oFindName = m_mData.find(sName);
std::map<std::wstring, CElement*>::const_iterator oFindId;
std::vector<CElement*> arFindElements;
if (!sId.empty())
{
oFindId = m_mData.find(sId);
if (oFindId != m_mData.end() && NULL != m_mStatictics)
{
std::map<StatistickElement, unsigned int>::const_iterator oFindCountId = m_mStatictics->find(StatistickElement{StatistickElement::IsId, sId});
if ((m_mStatictics->end() != oFindCountId) &&
(((bIsSettings && oFindCountId->second < MaxNumberRepetitions) ||
(!bIsSettings && oFindCountId->second >= MaxNumberRepetitions))))
{
if (!oFindId->second->Empty())
arFindElements.push_back(oFindId->second);
}
const std::vector<CElement*> arTempPrev = oFindId->second->GetPrevElements(arNextNodes.rbegin() + ((arClasses.empty()) ? 1 : 2), arNextNodes.rend());
if (!arTempPrev.empty())
arFindElements.insert(arFindElements.end(), arTempPrev.begin(), arTempPrev.end());
}
}
if (!arClasses.empty())
{
if (!bIsSettings)
{
for (std::vector<std::wstring>::const_reverse_iterator iClass = arClasses.rbegin(); iClass != arClasses.rend(); ++iClass)
{
const std::map<std::wstring, CElement*>::const_iterator oFindClass = m_mData.find(*iClass);
if (oFindClass != m_mData.end())
{
if (!oFindClass->second->Empty())
arFindElements.push_back(oFindClass->second);
const std::vector<CElement*> arTempPrev = oFindClass->second->GetPrevElements(arNextNodes.rbegin() + 2, arNextNodes.rend());
const std::vector<CElement*> arTempKins = oFindClass->second->GetNextOfKin(sName);
if (!arTempPrev.empty())
arFindElements.insert(arFindElements.end(), arTempPrev.begin(), arTempPrev.end());
if (!arTempKins.empty())
arFindElements.insert(arFindElements.end(), arTempKins.begin(), arTempKins.end());
}
}
}
}
if (oFindName != m_mData.end())
{
if (!bIsSettings)
{
if (!oFindName->second->Empty())
arFindElements.push_back(oFindName->second);
const std::vector<CElement*> arTempPrev = oFindName->second->GetPrevElements(arNextNodes.rbegin() + 1, arNextNodes.rend());
const std::vector<CElement*> arTempKins = oFindName->second->GetNextOfKin(sName, arClasses);
if (!arTempPrev.empty())
arFindElements.insert(arFindElements.end(), arTempPrev.begin(), arTempPrev.end());
if (!arTempKins.empty())
arFindElements.insert(arFindElements.end(), arTempKins.begin(), arTempKins.end());
}
}
if (arFindElements.size() > 1)
{
std::sort(arFindElements.rbegin(), arFindElements.rend(),
[](CElement* oFirstElement, CElement* oSecondElement)
{
return oFirstElement->GetWeight() > oSecondElement->GetWeight();
});
}
for (const CElement* oElement : FindElements(arNodes, arPrevNodes, bIsSettings))
oTempStyle.AddStyle(oElement->GetStyle(), i + 1);
if (NULL != m_mStatictics)
{
@ -741,31 +546,68 @@ namespace NSCSS
{
if ((bIsSettings && oFindCountStyle->second < MaxNumberRepetitions) ||
(!bIsSettings && oFindCountStyle->second >= MaxNumberRepetitions))
oStyle.AddStyle(arSelectors[i].m_wsStyle, i + 1, true);
oTempStyle.AddStyle(arSelectors[i].m_wsStyle, i + 1, true);
else if (!bIsSettings)
oStyle.AddStyle(arSelectors[i].m_wsStyle, i + 1, true);
oTempStyle.AddStyle(arSelectors[i].m_wsStyle, i + 1, true);
}
else if (bIsSettings)
oStyle.AddStyle(arSelectors[i].m_wsStyle, i + 1, true);
else /*if (bIsSettings)*/
oTempStyle.AddStyle(arSelectors[i].m_wsStyle, i + 1, true);
}
else
oStyle.AddStyle(arSelectors[i].m_wsStyle, i + 1, true);
oTempStyle.AddStyle(arSelectors[i].m_wsStyle, i + 1, true);
for (const CElement* oElement : arFindElements)
oStyle.AddStyle(oElement->GetStyle(), i + 1);
oStyle += oTempStyle;
oStyle.AddStyle(arSelectors[i].m_mAttributes, i + 1);
// Скидываем некоторые внешние стили, которые внутри таблицы переопределяются
if (bInTable && i < arSelectors.size() - 1)
{
oStyle.m_oFont.GetLineHeight().Clear();
oStyle.m_oPadding.Clear();
oStyle.m_oMargin.Clear();
}
}
if (!bIsSettings)
oStyle.SetID(CalculateStyleId(arSelectors.back()));
if (!bIsSettings && !oStyle.Empty())
m_mUsedStyles[arSelectors] = oStyle;
return true;
}
std::wstring CCssCalculator_Private::CalculateStyleId(const CNode& oNode)
{
return oNode.m_wsName + ((!oNode.m_wsClass.empty()) ? L'.' + oNode.m_wsClass : L"") + ((oNode.m_wsId.empty()) ? L"" : L'#' + oNode.m_wsId) + L'-' + std::to_wstring(++m_nCountNodes);
}
bool CCssCalculator_Private::CalculatePageStyle(NSProperties::CPage &oPageData, const std::vector<CNode> &arSelectors)
{
if (arSelectors.empty())
return false;
std::vector<std::wstring> arNodes = CalculateAllNodes(arSelectors);
std::vector<std::wstring> arNextNodes;
for (size_t i = 0; i < arSelectors.size(); ++i)
{
oStyle.SetID(arSelectors.back().m_wsName + ((!arSelectors.back().m_wsClass.empty()) ? L'.' + arSelectors.back().m_wsClass : L"") + ((arSelectors.back().m_wsId.empty()) ? L"" : L'#' + arSelectors.back().m_wsId) + L'-' + std::to_wstring(++m_nCountNodes));
if (!arSelectors[i].m_wsStyle.empty() && std::wstring::npos != arSelectors[i].m_wsStyle.find(L"page"))
{
std::map<std::wstring, std::wstring> mRules = NS_STATIC_FUNCTIONS::GetRules(arSelectors[i].m_wsStyle);
if (mRules.end() != mRules.find(L"page"))
SetPageData(oPageData, GetPageData(mRules[L"page"]), i + 1, true);
}
CCompiledStyle *pTemp = new CCompiledStyle(oStyle);
for (const CElement* oElement : FindElements(arNodes, arNextNodes, false))
{
std::map<std::wstring, std::wstring> mRules = oElement->GetStyle();
if (mRules.end() != mRules.find(L"page"))
SetPageData(oPageData, GetPageData(mRules[L"page"]), i + 1, true);
}
m_mUsedStyles[arSelectors] = pTemp;
if (arSelectors[i].m_mAttributes.end() != arSelectors[i].m_mAttributes.find(L"page"))
SetPageData(oPageData, GetPageData(arSelectors[i].m_mAttributes.at(L"page")), i + 1, false);
}
return true;
}
#endif
@ -784,6 +626,16 @@ namespace NSCSS
if (wsStyle.empty())
return;
std::wregex oRegex(L"@page\\s*([^{]*)(\\{[^}]*\\})");
std::wsmatch oMatch;
std::wstring::const_iterator oSearchStart(wsStyle.cbegin());
while (std::regex_search(oSearchStart, wsStyle.cend(), oMatch, oRegex))
{
AddPageData(oMatch[1].str(), oMatch[2].str());
oSearchStart = oMatch.suffix().first;
}
AddStyles(U_TO_UTF8(wsStyle));
}
@ -810,26 +662,6 @@ namespace NSCSS
CTree::CountingNumberRepetitions(oTree, *m_mStatictics);
}
void CCssCalculator_Private::SetSizeSourceWindow(const CSizeWindow &oSizeWindow)
{
m_oSourceWindow = oSizeWindow;
}
void CCssCalculator_Private::SetSizeDeviceWindow(const CSizeWindow &oSizeWindow)
{
m_oDeviceWindow = oSizeWindow;
}
CSizeWindow CCssCalculator_Private::GetSizeSourceWindow() const
{
return m_oSourceWindow;
}
CSizeWindow CCssCalculator_Private::GetSizeDeviceWindow() const
{
return m_oDeviceWindow;
}
void CCssCalculator_Private::SetUnitMeasure(const UnitMeasure& nType)
{
m_UnitMeasure = nType;
@ -863,9 +695,6 @@ namespace NSCSS
m_mData.clear();
m_arFiles.clear();
m_oDeviceWindow.Clear();
m_oSourceWindow.Clear();
}
}
inline static std::wstring StringifyValueList(const KatanaArray* oValues)
@ -968,4 +797,11 @@ inline static std::wstring StringifyValue(const KatanaValue* oValue)
return str;
}
inline static bool IsTableElement(const std::wstring& wsNameTag)
{
return L"td" == wsNameTag || L"tr" == wsNameTag || L"table" == wsNameTag ||
L"tbody" == wsNameTag || L"thead" == wsNameTag || L"tfoot" == wsNameTag ||
L"th" == wsNameTag;
}

View File

@ -26,16 +26,31 @@ namespace NSCSS
std::map<std::wstring, CElement*> m_mData;
typedef struct
{
std::vector<std::wstring> m_wsNames;
std::map<std::wstring, std::wstring> m_mData;
} TPageData;
std::vector<TPageData> m_arPageDatas;
std::map<StatistickElement, unsigned int> *m_mStatictics; // Количество повторений свойств id и style у селекторов
#ifdef CSS_CALCULATOR_WITH_XHTML
std::map<std::vector<CNode>, CCompiledStyle*> m_mUsedStyles;
std::map<std::vector<CNode>, CCompiledStyle> m_mUsedStyles;
std::map<std::wstring, std::wstring> GetPageData(const std::wstring& wsPageName);
void SetPageData(NSProperties::CPage& oPage, const std::map<std::wstring, std::wstring>& mData, unsigned int unLevel, bool bHardMode = false);
std::vector<std::wstring> CalculateAllNodes(const std::vector<CNode>& arSelectors);
void FindPrevAndKindElements(const CElement* pElement, const std::vector<std::wstring>& arNextNodes, std::vector<CElement*>& arFindedElements, const std::wstring& wsName, const std::vector<std::wstring>& arClasses = {});
std::vector<CElement*> FindElements(std::vector<std::wstring>& arNodes, std::vector<std::wstring>& arNextNodes, bool bIsSettings);
#endif
std::wstring m_sEncoding;
CSizeWindow m_oSourceWindow;
CSizeWindow m_oDeviceWindow;
void AddPageData(const std::wstring& wsPageName, const std::wstring& wsStyles);
void GetStylesheet(const KatanaStylesheet* oStylesheet);
void GetRule(const KatanaRule* oRule);
@ -59,6 +74,9 @@ namespace NSCSS
#ifdef CSS_CALCULATOR_WITH_XHTML
CCompiledStyle GetCompiledStyle(const std::vector<CNode> &arSelectors, const bool& bIsSettings = false, const UnitMeasure& unitMeasure = Point);
bool GetCompiledStyle(CCompiledStyle& oStyle, const std::vector<CNode> &arSelectors, const bool& bIsSettings = false, const UnitMeasure& unitMeasure = Point);
std::wstring CalculateStyleId(const CNode& oNode);
bool CalculatePageStyle(NSProperties::CPage& oPageData, const std::vector<CNode> &arSelectors);
#endif
void AddStyles(const std::string& sStyle);
@ -69,12 +87,6 @@ namespace NSCSS
void SetDpi(unsigned short int nValue);
void SetBodyTree(const CTree &oTree);
void SetSizeSourceWindow(const CSizeWindow& oSizeWindow);
void SetSizeDeviceWindow(const CSizeWindow& oSizeWindow);
CSizeWindow GetSizeSourceWindow() const;
CSizeWindow GetSizeDeviceWindow() const;
UnitMeasure GetUnitMeasure() const;
std::wstring GetEncoding() const;
unsigned short int GetDpi() const;

View File

@ -173,26 +173,26 @@ namespace NSCSS
return arElements;
}
std::vector<CElement *> CElement::GetPrevElements(const std::vector<std::wstring>::reverse_iterator &arNodesRBegin, const std::vector<std::wstring>::reverse_iterator &arNodesREnd) const
std::vector<CElement *> CElement::GetPrevElements(const std::vector<std::wstring>::const_reverse_iterator& oNodesRBegin, const std::vector<std::wstring>::const_reverse_iterator& oNodesREnd) const
{
if (arNodesRBegin >= arNodesREnd || m_arPrevElements.empty())
if (oNodesRBegin >= oNodesREnd || m_arPrevElements.empty())
return std::vector<CElement*>();
std::vector<CElement*> arElements;
for (std::vector<std::wstring>::reverse_iterator iWord = arNodesRBegin; iWord != arNodesREnd; ++iWord)
for (std::vector<std::wstring>::const_reverse_iterator iWord = oNodesRBegin; iWord != oNodesREnd; ++iWord)
{
if ((*iWord)[0] == L'.' && ((*iWord).find(L" ") != std::wstring::npos))
{
std::vector<std::wstring> arClasses = NS_STATIC_FUNCTIONS::GetWordsW(*iWord, false, L" ");
for (std::wstring sClass : arClasses)
for (const std::wstring& wsClass : arClasses)
{
for (CElement* oPrevElement : m_arPrevElements)
{
if (oPrevElement->m_sSelector == sClass)
if (oPrevElement->m_sSelector == wsClass)
{
arElements.push_back(oPrevElement);
std::vector<CElement*> arTempElements = oPrevElement->GetPrevElements(iWord + 1, arNodesREnd);
std::vector<CElement*> arTempElements = oPrevElement->GetPrevElements(iWord + 1, oNodesREnd);
arElements.insert(arElements.end(), arTempElements.begin(), arTempElements.end());
}
}
@ -205,7 +205,7 @@ namespace NSCSS
if (oPrevElement->m_sSelector == *iWord)
{
arElements.push_back(oPrevElement);
std::vector<CElement*> arTempElements = oPrevElement->GetPrevElements(iWord + 1, arNodesREnd);
std::vector<CElement*> arTempElements = oPrevElement->GetPrevElements(iWord + 1, oNodesREnd);
arElements.insert(arElements.end(), arTempElements.begin(), arTempElements.end());
// return arElements;
}

View File

@ -39,7 +39,7 @@ namespace NSCSS
std::map<std::wstring, std::wstring> GetFullStyle(const std::vector<CNode>& arSelectors) const;
std::map<std::wstring, std::wstring> GetFullStyle(const std::vector<std::wstring>& arNodes) const;
std::vector<CElement *> GetNextOfKin(const std::wstring& sName, const std::vector<std::wstring>& arClasses = {}) const;
std::vector<CElement *> GetPrevElements(const std::vector<std::wstring>::reverse_iterator &arNodesRBegin, const std::vector<std::wstring>::reverse_iterator &arNodesREnd) const;
std::vector<CElement *> GetPrevElements(const std::vector<std::wstring>::const_reverse_iterator& oNodesRBegin, const std::vector<std::wstring>::const_reverse_iterator& oNodesREnd) const;
std::map<std::wstring, std::wstring> GetConvertStyle(const std::vector<CNode>& arNodes) const;
CElement *FindPrevElement(const std::wstring& sSelector) const;

View File

@ -5,7 +5,7 @@ namespace NSCSS
CNode::CNode()
{}
CNode::CNode(std::wstring wsName, std::wstring wsClass, std::wstring wsId)
CNode::CNode(const std::wstring& wsName, const std::wstring& wsClass, const std::wstring& wsId)
: m_wsName(wsName), m_wsClass(wsClass), m_wsId(wsId)
{}

View File

@ -18,7 +18,7 @@ namespace NSCSS
public:
CNode();
CNode(std::wstring wsName, std::wstring wsClass, std::wstring wsId);
CNode(const std::wstring& wsName, const std::wstring& wsClass, const std::wstring& wsId);
bool Empty() const;

View File

@ -14,23 +14,21 @@ namespace NSCSS
{
switch (enUnitMeasure)
{
case NSCSS::Pixel:
return dValue;
case NSCSS::Point:
return 72. / (double)ushDPI * dValue;
return dValue * 72. / (double)ushDPI;
case NSCSS::Cantimeter:
return dValue / (double)ushDPI * 2.54;
case NSCSS::Millimeter:
return dValue / (double)ushDPI * 25.4;
case NSCSS::Inch:
return 1. / (double)ushDPI * dValue;
return dValue / (double)ushDPI;
case NSCSS::Peak:
return 0.16667 / (double)ushDPI * dValue;
return dValue * 6. / (double)ushDPI; // 1 дюйм = 6 пик
case NSCSS::Twips:
return (dValue / (double)ushDPI) * 144.;
return dValue * 1440. / (double)ushDPI;
default:
return dValue;
}
return 0.;
}
double CUnitMeasureConverter::ConvertCm(double dValue, UnitMeasure enUnitMeasure, unsigned short ushDPI)
@ -38,22 +36,20 @@ namespace NSCSS
switch (enUnitMeasure)
{
case NSCSS::Point:
return 28.35 * dValue;
return dValue * 28.3465 ; // 1 см = (2.54 / 72) пункта
case NSCSS::Pixel:
return (double)ushDPI / 2.54 * dValue;
case NSCSS::Cantimeter:
return dValue;
return dValue * (double)ushDPI / 2.54;
case NSCSS::Millimeter:
return dValue * 10.;
case NSCSS::Inch:
return dValue / 2.54f;
return dValue / 2.54; // 1 дюйм = 2.54 см
case NSCSS::Peak:
return 2.36 * dValue;
return dValue * 2.36; // 2.36 = 6 / 2.54
case NSCSS::Twips:
return (dValue) * 0.3937 * (double)ushDPI;
return dValue * 567.; // 1 см = (1440 / 2.54) твипов
default:
return dValue;
}
return 0.;
}
double CUnitMeasureConverter::ConvertMm(double dValue, NSCSS::UnitMeasure enUnitMeasure, unsigned short ushDPI)
@ -61,22 +57,20 @@ namespace NSCSS
switch (enUnitMeasure)
{
case NSCSS::Point:
return 2.835 * dValue;
return dValue * 2.8346; // 1 мм = (25.4 / 72) пункта
case NSCSS::Pixel:
return (double)ushDPI / 25.4 * dValue;
return dValue * (double)ushDPI / 25.4;
case NSCSS::Cantimeter:
return dValue / 10.;
case NSCSS::Millimeter:
return dValue;
case NSCSS::Inch:
return dValue / 25.4;
case NSCSS::Peak:
return 0.236 * dValue;
return dValue * 0.236; // 0.236 = 6 / 25.4
case NSCSS::Twips:
return (dValue / 10.) * 0.3937 * (double)ushDPI;
return dValue * 56.7;
default:
return dValue;
}
return 0.;
}
double CUnitMeasureConverter::ConvertIn(double dValue, NSCSS::UnitMeasure enUnitMeasure, unsigned short ushDPI)
@ -84,45 +78,41 @@ namespace NSCSS
switch (enUnitMeasure)
{
case NSCSS::Point:
return dValue / 6.;
return dValue / 72.;
case NSCSS::Pixel:
return dValue * (double)ushDPI;
case NSCSS::Cantimeter:
return dValue * 2.54;
return dValue * 2.54; // 1 дюйм = 2.54 см
case NSCSS::Millimeter:
return dValue * 25.4;
case NSCSS::Inch:
return dValue;
case NSCSS::Peak:
return dValue / 72.;
return dValue * 6.;
case NSCSS::Twips:
return dValue * 144.;
return dValue * 1440.;
default:
return dValue;
}
return 0.;
}
double CUnitMeasureConverter::ConvertPt(double dValue, NSCSS::UnitMeasure enUnitMeasure, unsigned short ushDPI)
{
switch (enUnitMeasure)
{
case NSCSS::Point:
return dValue;
case NSCSS::Pixel:
return (double)ushDPI / 72. * dValue;
return dValue * (double)ushDPI / 72.;
case NSCSS::Cantimeter:
return dValue * 0.03528;
return dValue * 0.03528; // 0.03528 = 2.54 / 72
case NSCSS::Millimeter:
return dValue * 0.3528;
case NSCSS::Inch:
return dValue / 72.;
return dValue / 72.; // 1 дюйм = 72 пункта
case NSCSS::Peak:
return dValue / 12.;
return dValue * 0.0833; // 0.0833 = 6 / 72 (1 пункт = 1/72 дюйма)
case NSCSS::Twips:
return (dValue / 72.) * 144.;
return dValue * 20.; // 20 = 1440 / 72
default:
return dValue;
}
return 0.;
}
double CUnitMeasureConverter::ConvertPc(double dValue, NSCSS::UnitMeasure enUnitMeasure, unsigned short ushDPI)
@ -130,27 +120,49 @@ namespace NSCSS
switch (enUnitMeasure)
{
case NSCSS::Point:
return dValue * 12.;
return dValue * 12.; // 12 = 72 / 6
case NSCSS::Pixel:
return (double)ushDPI / 6. * dValue;
return dValue * (double)ushDPI / 6.; // 1 дюйм = 6 пика
case NSCSS::Cantimeter:
return dValue * 0.423;
return dValue * 0.423; // 0.423 = 2.54 / 6
case NSCSS::Millimeter:
return dValue * 4.23;
return dValue * 4.233; // 4.23 = 25.4 / 6
case NSCSS::Inch:
return dValue / 6.;
case NSCSS::Peak:
return dValue;
case NSCSS::Twips:
return dValue * 24.;
return dValue * 3.333; // 3.333 = 20 / 6
default:
return dValue;
}
}
double CUnitMeasureConverter::ConvertTw(double dValue, UnitMeasure enUnitMeasure, unsigned short ushDPI)
{
switch (enUnitMeasure)
{
case NSCSS::Point:
return dValue * 0.05; // 0.05 = 72. / 1440.
case NSCSS::Pixel:
return dValue * (double)ushDPI / 1440.; // 1 дюйм = 1440 твипов
case NSCSS::Cantimeter:
return dValue * 0.001764; // 0.001764 = 2.54 / 1440
case NSCSS::Millimeter:
return dValue * 0.01764;
case NSCSS::Inch:
return dValue * 1440.;
case NSCSS::Peak:
return dValue * 0.004167; // 0.004167 = 6 / 1440
default:
return dValue;
}
return 0.;
}
bool CUnitMeasureConverter::GetValue(const std::wstring &wsValue, double &dValue, UnitMeasure &enUnitMeasure)
{
std::wregex oRegex(LR"((-?\.\d+|-?\d+(\.\d+)?)\s*(px|pt|cm|mm|in|pc|%|em|rem)?)");
if (wsValue.empty() || wsValue.end() == std::find_if(wsValue.begin(), wsValue.end(), [](wchar_t wChar) { return iswdigit(wChar);}))
return false;
std::wregex oRegex(LR"((-?\.\d+|-?\d+(\.\d+)?)\s*(px|pt|cm|mm|in|pc|%|em|rem|tw)?)");
std::wsmatch oMatches;
if(!std::regex_search(wsValue, oMatches, oRegex))
@ -176,6 +188,8 @@ namespace NSCSS
enUnitMeasure = Em;
else if (L"rem" == oMatches[3])
enUnitMeasure = Rem;
else if (L"tw" == oMatches[3])
enUnitMeasure = Twips;
else
enUnitMeasure = None;

View File

@ -30,6 +30,7 @@ namespace NSCSS
static double ConvertIn(double dValue, UnitMeasure enUnitMeasure, unsigned short ushDPI);
static double ConvertPt(double dValue, UnitMeasure enUnitMeasure, unsigned short ushDPI);
static double ConvertPc(double dValue, UnitMeasure enUnitMeasure, unsigned short ushDPI);
static double ConvertTw(double dValue, UnitMeasure enUnitMeasure, unsigned short ushDPI);
static bool GetValue(const std::wstring& wsValue, double& dValue, UnitMeasure& enUnitMeasure);
};

View File

@ -2,34 +2,6 @@
namespace NSCSS
{
CSizeWindow::CSizeWindow()
: m_ushWidth(0), m_ushHeight(0)
{}
CSizeWindow::CSizeWindow(unsigned short unWidth, unsigned short unHeight)
: m_ushWidth(unWidth), m_ushHeight(unHeight)
{}
bool CSizeWindow::Empty() const
{
return ((0 == m_ushWidth) && (0 == m_ushHeight));
}
void CSizeWindow::Clear()
{
m_ushWidth = m_ushHeight = 0;
}
bool CSizeWindow::operator==(const CSizeWindow &oSizeWindow) const
{
return ((m_ushWidth == oSizeWindow.m_ushWidth) && (m_ushHeight == oSizeWindow.m_ushHeight));
}
bool CSizeWindow::operator!=(const CSizeWindow &oSizeWindow) const
{
return ((m_ushWidth != oSizeWindow.m_ushWidth) || (m_ushHeight != oSizeWindow.m_ushHeight));
}
bool StatistickElement::operator<(const StatistickElement &oStatistickElement) const
{
return sValue < oStatistickElement.sValue;
@ -98,7 +70,7 @@ namespace NSCSS
{L"deepskyblue", L"00BFFF"}, {L"dodgerblue", L"1E90FF"}, {L"cornflowerblue",L"6495ED"},
{L"mediumdlateblue", L"7B68EE"}, {L"royalblue", L"4169E1"}, {L"blue", L"0000FF"}, {L"LightCoral", L"#F08080"}, {L"LightCoral", L"#F08080"}, {L"LightCoral", L"#F08080"},
{L"mediumblue", L"0000CD"}, {L"darkblue", L"00008B"}, {L"navy", L"000080"},
{L"midnightblue", L"191970"},
{L"midnightblue", L"191970"}, {L"navyblue", L"A0B0E0"},
/* White tones */
{L"white", L"FFFFFF"}, {L"snow", L"FFFAFA"}, {L"honeydew", L"F0FFF0"},
{L"mintcream", L"F5FFFA"}, {L"azure", L"F0FFFF"}, {L"aliceblue", L"F0F8FF"},

View File

@ -16,21 +16,6 @@ namespace NSCSS
ScalingDirectionY = 2
} ScalingDirection;
struct CSizeWindow
{
unsigned short m_ushWidth;
unsigned short m_ushHeight;
CSizeWindow();
CSizeWindow(unsigned short unWidth, unsigned short unHeight);
bool Empty() const;
void Clear();
bool operator==(const CSizeWindow& oSizeWindow) const;
bool operator!=(const CSizeWindow& oSizeWindow) const;
};
struct StatistickElement
{
enum TypeElement
@ -61,66 +46,69 @@ namespace NSCSS
{
typedef enum
{
B_CustomStyle = 0,
B_StyleId = 1,
B_Type = 2,
B_Default = 3,
B_CustomStyle,
B_StyleId,
B_Type,
B_Default,
B_Name = 4,
B_BasedOn = 5,
B_QFormat = 6,
B_Link = 7,
B_UnhideWhenUsed = 8,
B_UiPriority = 9,
B_Name,
B_BasedOn,
B_QFormat,
B_Link,
B_UnhideWhenUsed,
B_UiPriority,
B_SemiHidden
} BasicProperties;
typedef enum
{
P_Jc = 0,
P_Spacing = 1,
P_ContextualSpacing = 2,
P_Ind = 3,
P_OutlineLvl = 4,
P_Shd = 5,
P_Jc,
P_Spacing,
P_ContextualSpacing,
P_Ind,
P_OutlineLvl,
P_Shd,
// <pBdr>
P_TopBorder = 6,
P_LeftBorder = 7,
P_BottomBorder = 8,
P_RightBorder = 9,
P_TopBorder,
P_LeftBorder,
P_BottomBorder,
P_RightBorder,
// </pBdr>
P_KeepLines = 10,
P_KeepNext = 11,
P_KeepLines,
P_KeepNext,
} ParagraphProperties;
typedef enum
{
R_RFonts = 0,
R_Sz = 1,
R_B = 2,
R_I = 3,
R_Color = 4,
R_U = 5,
R_Highlight = 6,
R_SmallCaps = 7
R_RFonts ,
R_Sz,
R_B,
R_I,
R_Color,
R_U,
R_Highlight,
R_Shd,
R_SmallCaps,
R_Kern
} RunnerProperties;
typedef enum
{
T_TblInd = 0,
T_TblInd ,
// <tblCellMar>
T_CellTop = 1,
T_CellLeft = 2,
T_CellBottom = 3,
T_CellRight = 4,
T_CellTop,
T_CellLeft,
T_CellBottom,
T_CellRight,
// <tblCellMar>
// <tblBorders>
T_BorderTop = 5,
T_BorderLeft = 6,
T_BorderBottom = 7,
T_BorderRight = 8,
T_BorderInsideH = 9,
T_BorderInsideV = 10
T_BorderTop ,
T_BorderLeft,
T_BorderBottom,
T_BorderRight,
T_BorderInsideH,
T_BorderInsideV
// </tblBorders>
} TableProperties;
}

View File

@ -80,6 +80,52 @@ namespace NS_STATIC_FUNCTIONS
return arValues;
}
std::vector<std::wstring> ParseCSSPropertie(const std::wstring& wsInput)
{
std::vector<std::wstring> arResult;
std::wstring wsCurrent;
bool bInQuotes = false;
bool bInFunction = false;
int nParenDepth = 0;
for (wchar_t c : wsInput)
{
if (c == ' ' && !bInQuotes && !bInFunction)
{
if (!wsCurrent.empty())
{
arResult.push_back(wsCurrent);
wsCurrent.clear();
}
}
else if (c == '"' || c == '\'')
{
bInQuotes = !bInQuotes;
wsCurrent += c;
}
else if (c == '(')
{
bInFunction = true;
nParenDepth++;
wsCurrent += c;
}
else if (c == ')')
{
nParenDepth--;
if (nParenDepth == 0)
bInFunction = false;
wsCurrent += c;
}
else
wsCurrent += c;
}
if (!wsCurrent.empty())
arResult.push_back(wsCurrent);
return arResult;
}
std::vector<std::wstring> GetWordsW(const std::wstring& wsLine, bool bWithSigns, const std::wstring& wsDelimiters)
{
if (wsLine.empty())
@ -95,7 +141,9 @@ namespace NS_STATIC_FUNCTIONS
while (std::wstring::npos != unEnd)
{
arWords.emplace_back(wsLine.data() + unStart, unEnd - unStart + ((bWithSigns) ? 1 : 0));
if (unStart != unEnd)
arWords.emplace_back(wsLine.data() + unStart, unEnd - unStart + ((bWithSigns) ? 1 : 0));
unStart = wsLine.find_first_not_of(wsDelimiters, unEnd);
unEnd = wsLine.find_first_of(wsDelimiters, unStart);
}
@ -141,30 +189,17 @@ namespace NS_STATIC_FUNCTIONS
std::map<std::wstring, std::wstring> GetRules(const std::wstring& wsStyles)
{
if (wsStyles.empty())
return {};
std::wregex oCssPropertyRegex(L"([a-zA-Z-]+)\\s*:\\s*([^;\t\n\r\f\v]+)");
std::wsmatch oMatch;
std::wstring::const_iterator oSearchStart(wsStyles.cbegin());
std::map<std::wstring, std::wstring> mRules;
std::wstring::const_iterator oStartProperty = std::find_if_not(wsStyles.begin(), wsStyles.end(), std::iswspace);
std::wstring::const_iterator oEndProperty, oStartValue, oEndValue;
while (wsStyles.end() != oStartProperty)
while (std::regex_search(oSearchStart, wsStyles.cend(), oMatch, oCssPropertyRegex))
{
oEndProperty = std::find_if(oStartProperty, wsStyles.end(), [](const wchar_t &wcChar){ return L':' == wcChar;});
oStartValue = std::find_if_not(oEndProperty + 1, wsStyles.end(), std::iswspace);
if (wsStyles.end() == oEndProperty || wsStyles.end() == oStartValue)
break;
oEndValue = std::find_if(oStartValue, wsStyles.end(), [](const wchar_t &wcChar){ return L';' == wcChar;});
mRules.insert({std::wstring(oStartProperty, oEndProperty), std::wstring(oStartValue, oEndValue)});
if (wsStyles.end() == oEndValue)
break;
oStartProperty = std::find_if_not(oEndValue + 1, wsStyles.end(), std::iswspace);
mRules.insert(std::make_pair<std::wstring, std::wstring>(oMatch[1], oMatch[2]));
oSearchStart = oMatch.suffix().first;
}
return mRules;

View File

@ -20,6 +20,7 @@ namespace NSCSS
double ReadDouble(const std::wstring& wsValue);
std::vector<double> ReadDoubleValues(const std::wstring& wsValue);
std::vector<std::wstring> ParseCSSPropertie(const std::wstring& wsInput);
std::vector<std::wstring> GetWordsW(const std::wstring& wsLine, bool bWithSigns = false, const std::wstring& wsDelimiters = L" \n\r\t\f\v:;,!");
std::vector<unsigned short int> GetWeightSelector(const std::wstring& sSelector);
std::map<std::wstring, std::wstring> GetRules(const std::wstring& wsStyles);

File diff suppressed because it is too large Load Diff

View File

@ -13,6 +13,8 @@ namespace NSCSS
{
namespace NSProperties
{
#define NEXT_LEVEL UINT_MAX, true
template<typename T>
class CValue
{
@ -21,6 +23,7 @@ namespace NSCSS
friend class CDigit;
friend class CColor;
friend class CEnum;
friend class CURL;
T m_oValue;
unsigned int m_unLevel;
@ -54,6 +57,11 @@ namespace NSCSS
}
}
static bool LevelIsSame(const CValue& oFirstValue, const CValue& oSecondValue)
{
return oFirstValue.m_unLevel == oSecondValue.m_unLevel;
}
bool operator==(const T& oValue) const { return m_oValue == oValue; }
bool operator>=(const T& oValue) const { return m_oValue >= oValue; }
bool operator<=(const T& oValue) const { return m_oValue <= oValue; }
@ -69,28 +77,33 @@ namespace NSCSS
return *this;
}
CValue& operator =(const T& oValue)
virtual CValue& operator =(const T& oValue)
{
//m_oValue = oValue.m_oValue;
return *this;
}
CValue& operator+=(const CValue& oValue)
virtual CValue& operator+=(const CValue& oValue)
{
if (m_unLevel > oValue.m_unLevel || (m_bImportant && !oValue.m_bImportant) || oValue.Empty())
return *this;
m_oValue = oValue.m_oValue;
m_unLevel = std::max(m_unLevel, oValue.m_unLevel);
m_bImportant = std::max(m_bImportant, oValue.m_bImportant);
m_unLevel = oValue.m_unLevel;
m_bImportant = oValue.m_bImportant;
return *this;
}
bool operator==(const CValue& oValue) const
virtual bool operator==(const CValue& oValue) const
{
return m_oValue == oValue.m_oValue;
}
virtual bool operator!=(const CValue& oValue) const
{
return m_oValue != oValue.m_oValue;
}
};
class CString : public CValue<std::wstring>
@ -124,13 +137,15 @@ namespace NSCSS
CDigit(double dValue, unsigned int unLevel, bool bImportant = false);
bool SetValue(const std::wstring& wsValue, unsigned int unLevel = 0, bool bHardMode = true) override;
bool SetValue(const CDigit& oValue);
bool SetValue(const double& dValue, unsigned int unLevel, bool bHardMode);
bool Empty() const override;
bool Zero() const;
void Clear() override;
void ConvertTo(UnitMeasure enUnitMeasure, double dPrevValue = 0.);
int ToInt() const override;
double ToDouble() const override;
std::wstring ToWString() const override;
@ -144,6 +159,9 @@ namespace NSCSS
bool operator==(const double& oValue) const;
bool operator==(const CDigit& oDigit) const;
bool operator!=(const double& oValue) const;
bool operator!=(const CDigit& oDigit) const;
CDigit operator+(const CDigit& oDigit) const;
CDigit operator-(const CDigit& oDigit) const;
CDigit operator*(const CDigit& oDigit) const;
@ -169,8 +187,28 @@ namespace NSCSS
bool Empty() const;
bool operator==(const TRGB& oRGB) const;
bool operator!=(const TRGB& oRGB) const;
};
class CURL
{
public:
CURL();
bool Empty() const;
bool LinkToId() const;
void Clear();
bool SetValue(const std::wstring& wsValue);
std::wstring GetValue() const;
bool operator==(const CURL& oValue) const;
bool operator!=(const CURL& oValue) const;
private:
std::wstring m_wsValue;
};
typedef enum
{
ColorEmpty,
@ -180,39 +218,8 @@ namespace NSCSS
ColorUrl
} ColorType;
class Q_DECL_EXPORT CColorValue
class CColor : public CValue<void*>
{
public:
CColorValue();
CColorValue(const CColorValue& oColorValue);
~CColorValue();
void SetRGB(unsigned char uchR, unsigned char uchG, unsigned char uchB);
void SetRGB(const TRGB& oRGB);
void SetHEX(const std::wstring& wsValue);
void SetUrl(const std::wstring& wsValue);
void SetNone();
void Clear();
bool Empty() const;
ColorType m_enType;
void* m_pColor = NULL;
std::wstring GetColor() const;
bool operator==(const CColorValue& oColorValue) const;
CColorValue& operator= (const CColorValue& oColorValue);
};
class CColor : public CValue<CColorValue>
{
CDigit m_oOpacity;
static TRGB ConvertHEXtoRGB(const std::wstring& wsValue);
static std::wstring ConvertRGBtoHEX(const TRGB& oValue);
static std::wstring CutURL(const std::wstring& wsValue);
void SetEmpty(unsigned int unLevel = 0);
public:
CColor();
@ -220,6 +227,8 @@ namespace NSCSS
bool SetOpacity(const std::wstring& wsValue, unsigned int unLevel = 0, bool bHardMode = true);
bool Empty() const override;
bool None() const;
bool Url() const;
void Clear() override;
ColorType GetType() const;
@ -229,7 +238,27 @@ namespace NSCSS
int ToInt() const override;
double ToDouble() const override;
std::wstring ToWString() const override;
std::wstring EquateToColor(const std::vector<std::pair<TRGB, std::wstring>>& arColors) const;
TRGB ToRGB() const;
static TRGB ConvertHEXtoRGB(const std::wstring& wsValue);
static std::wstring ConvertRGBtoHEX(const TRGB& oValue);
bool operator==(const CColor& oColor) const;
bool operator!=(const CColor& oColor) const;
CColor& operator =(const CColor& oColor);
CColor& operator+=(const CColor& oColor);
private:
CDigit m_oOpacity;
ColorType m_enType;
void SetEmpty(unsigned int unLevel = 0);
void SetRGB(unsigned char uchR, unsigned char uchG, unsigned char uchB);
void SetRGB(const TRGB& oRGB);
void SetHEX(const std::wstring& wsValue);
void SetUrl(const std::wstring& wsValue);
void SetNone();
};
typedef enum
@ -277,7 +306,7 @@ namespace NSCSS
CEnum();
bool SetValue(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode) override;
void SetMapping(const std::map<std::wstring, int>& mMap);
void SetMapping(const std::map<std::wstring, int>& mMap, int nDefaulvalue = -1);
bool Empty() const override;
void Clear() override;
@ -370,19 +399,18 @@ namespace NSCSS
bool SetColor (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetBackground(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
void InBorder();
const CColor& GetColor() const;
bool IsInBorder() const;
bool Empty() const;
void Clear();
bool Empty() const;
bool IsNone() const;
CBackground& operator =(const CBackground& oBackground);
CBackground& operator+=(const CBackground& oBackground);
bool operator==(const CBackground& oBackground) const;
private:
CColor m_oColor;
bool m_bInBorder;
};
class CTransform
@ -397,6 +425,11 @@ namespace NSCSS
bool SetMatrix(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetMatrix(const Aggplus::CMatrix &oMatrix);
void Translate(double dOffsetX, double dOffsetY);
void Scale(double dScaleX, double dScaleY);
void Rotate(double dValue);
void RotateAt(double dValue, double dX, double dY);
const CMatrix& GetMatrix() const;
bool Empty() const;
@ -411,14 +444,20 @@ namespace NSCSS
{
public:
CBorderSide();
CBorderSide(const CBorderSide& oBorderSide);
void Clear();
static void Equation(CBorderSide &oFirstBorderSide, CBorderSide &oSecondBorderSide);
bool SetValue(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetWidth(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetWidth(const double& dValue, unsigned int unLevel, bool bHardMode = false);
bool SetStyle(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetColor(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
void SetNone(unsigned int unLevel, bool bHardMode);
void Block();
void Unblock();
@ -429,9 +468,13 @@ namespace NSCSS
const CColor& GetColor() const;
bool Empty() const;
bool Zero() const;
bool Valid() const;
CBorderSide& operator+=(const CBorderSide& oBorderSide);
bool operator==(const CBorderSide& oBorderSide) const;
bool operator!=(const CBorderSide& oBorderSide) const;
CBorderSide& operator =(const CBorderSide& oBorderSide);
private:
CDigit m_oWidth;
CString m_oStyle;
@ -440,48 +483,71 @@ namespace NSCSS
bool m_bBlock;
};
typedef enum
{
Collapse,
Separate
} BorderCollapse;
class CBorder
{
public:
CBorder();
void Clear();
void ClearLeftSide();
void ClearTopSide();
void ClearRightSide();
void ClearBottomSide();
static void Equation(CBorder &oFirstBorder, CBorder &oSecondBorder);
bool SetSides(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetWidth(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetStyle(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetColor(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetSides(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetWidth(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetWidth(const double& dValue, unsigned int unLevel, bool bHardMode = false);
bool SetStyle(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetColor(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetCollapse(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
//Left Side
bool SetLeftSide (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetWidthLeftSide (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetWidthLeftSide (const double& dValue, unsigned int unLevel, bool bHardMode = false);
bool SetStyleLeftSide (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetColorLeftSide (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
//Top Side
bool SetTopSide (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetWidthTopSide (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetWidthTopSide (const double& dValue, unsigned int unLevel, bool bHardMode = false);
bool SetStyleTopSide (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetColorTopSide (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
//Right Side
bool SetRightSide (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetWidthRightSide (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetWidthRightSide (const double& dValue, unsigned int unLevel, bool bHardMode = false);
bool SetStyleRightSide (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetColorRightSide (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
//Bottom Side
bool SetBottomSide (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetWidthBottomSide(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetWidthBottomSide(const double& dValue, unsigned int unLevel, bool bHardMode = false);
bool SetStyleBottomSide(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetColorBottomSide(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
void SetNone(unsigned int unLevel, bool bHardMode = false);
void Block();
void Unblock();
bool Empty() const;
bool Zero() const;
bool EqualSides() const;
const CEnum& GetCollapse() const;
const CBorderSide& GetLeftBorder() const;
const CBorderSide& GetTopBorder() const;
const CBorderSide& GetRightBorder() const;
@ -489,11 +555,15 @@ namespace NSCSS
CBorder& operator+=(const CBorder& oBorder);
bool operator==(const CBorder& oBorder) const;
bool operator!=(const CBorder& oBorder) const;
CBorder& operator =(const CBorder& oBorder);
private:
CBorderSide m_oLeft;
CBorderSide m_oTop;
CBorderSide m_oRight;
CBorderSide m_oBottom;
CEnum m_enCollapse;
};
class CTextDecorationLine
@ -513,6 +583,7 @@ namespace NSCSS
bool LineThrough() const;
CTextDecorationLine &operator+=(const CTextDecorationLine& oTextDecoration);
bool operator==(const CTextDecorationLine& oTextDecorationLine) const;
};
struct TTextDecoration
@ -522,6 +593,7 @@ namespace NSCSS
CColor m_oColor;
TTextDecoration& operator+=(const TTextDecoration& oTextDecoration);
bool operator==(const TTextDecoration& oTextDecoration) const;
};
class CText
@ -535,11 +607,13 @@ namespace NSCSS
bool SetAlign (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetDecoration(const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetColor (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetHighlight (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
const CDigit& GetIndent() const;
const CString& GetAlign() const;
const TTextDecoration& GetDecoration() const;
const CColor& GetColor() const;
const CColor& GetHighlight() const;
bool Empty() const;
@ -554,6 +628,7 @@ namespace NSCSS
CDigit m_oIndent;
CString m_oAlign;
CColor m_oColor;
CColor m_oHighlight;
};
class CIndent
@ -561,33 +636,44 @@ namespace NSCSS
public:
CIndent();
void Clear();
static void Equation(CIndent &oFirstMargin, CIndent &oSecondMargin);
bool Equals() const;
void SetPermisson(bool bPermission);
bool AddValue (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool AddLeft (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool AddTop (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool AddRight (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool AddBottom (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
void UpdateAll(double dFontSize);
void UpdateLeft(double dFontSize);
void UpdateTop(double dFontSize);
void UpdateRight(double dFontSize);
void UpdateBottom(double dFontSize);
bool SetValues (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetTop (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetTop (const double& dValue, unsigned int unLevel, bool bHardMode = false);
bool SetRight (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetRight (const double& dValue, unsigned int unLevel, bool bHardMode = false);
bool SetBottom (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetBottom (const double& dValue, unsigned int unLevel, bool bHardMode = false);
bool SetLeft (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetLeft (const double& dValue, unsigned int unLevel, bool bHardMode = false);
void UpdateAll (double dFontSize);
void UpdateTop (double dFontSize);
void UpdateRight (double dFontSize);
void UpdateBottom(double dFontSize);
void UpdateLeft (double dFontSize);
const CDigit& GetLeft () const;
const CDigit& GetTop () const;
const CDigit& GetRight () const;
const CDigit& GetBottom() const;
const CDigit& GetLeft () const;
bool Empty() const;
bool Zero() const;
CIndent& operator+=(const CIndent& oMargin);
bool operator==(const CIndent& oMargin) const;
CIndent& operator+=(const CIndent& oIndent);
bool operator==(const CIndent& oIndent) const;
bool operator!=(const CIndent& oIndent) const;
private:
bool AddValue(CDigit& oValue, const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetValues(const std::wstring& wsTopValue, const std::wstring& wsRightValue, const std::wstring& wsBottomValue, const std::wstring& wsLeftValue, unsigned int unLevel, bool bHardMode = false);
void UpdateSide(CDigit& oSide, double dFontSize);
CDigit m_oLeft;
CDigit m_oTop;
@ -606,6 +692,7 @@ namespace NSCSS
bool SetValue (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetSize (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetSize (const double& dValue, unsigned int unLevel, bool bHardMode = false);
bool SetLineHeight (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetFamily (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetStretch (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
@ -623,6 +710,7 @@ namespace NSCSS
const CDigit& GetSize() const;
const CDigit& GetLineHeight() const;
CDigit& GetLineHeight();
const CString& GetFamily() const;
const CString& GetStretch() const;
const CString& GetStyle() const;
@ -642,8 +730,29 @@ namespace NSCSS
CString m_oStyle;
CString m_oVariant;
CString m_oWeight;
};
TTextDecoration m_oTextDecoration;
class CPage
{
public:
CPage();
bool SetMargin (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetSize (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetFooter (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
bool SetHeader (const std::wstring& wsValue, unsigned int unLevel, bool bHardMode = false);
const CDigit& GetWidth() const;
const CDigit& GetHeight() const;
const CIndent& GetMargin() const;
const CDigit& GetFooter() const;
const CDigit& GetHeader() const;
private:
CDigit m_oWidth;
CDigit m_oHeight;
CIndent m_oMargin;
CDigit m_oFooter;
CDigit m_oHeader;
};
}
}

View File

@ -1,19 +1,20 @@
#include "CDocumentStyle.h"
#include <iostream>
#include <unordered_set>
#include <wchar.h>
#include <math.h>
#include <cmath>
#include <algorithm>
#include <list>
#define DEFAULT_LINEHEIGHT 240
#define LINEHEIGHTSCALE 10 // Значение LineHeight в OOXML должно быть в 10 раз больше чем указано в стиле
#define LINEHEIGHTCOEF 24 // Используется когда необходимо перевести в twips значение
#define POINTCOEF 20 // Используется для конвертации в OOXML значение интервала между абзацами (Измерение в двадцатых долях от точки)
#define PAGEWIDTH (12240 / POINTCOEF)
#define PAGEHEIGHT (15840 / POINTCOEF)
#define DOUBLE_TO_INTW(dValue) std::to_wstring(static_cast<int>(dValue + 0.5))
#define VALUE_TO_INT(value, unit_measure) \
(NSCSS::UnitMeasure::None != value.GetUnitMeasure()) ? \
value.ToInt(unit_measure) : \
static_cast<int>(NSCSS::CUnitMeasureConverter::ConvertPx(value.ToDouble(), unit_measure, 96) + 0.5)
namespace NSCSS
{
@ -21,24 +22,55 @@ namespace NSCSS
: m_oStyle(oStyle), m_bIsPStyle(bIsPStyle)
{}
bool CheckArrays(const std::vector<std::wstring>& arInitial, const std::set<std::wstring>& arFirst, const std::set<std::wstring>& arSecond)
{
std::unordered_set<std::wstring> arInitialSet(arInitial.begin(), arInitial.end());
std::vector<std::wstring> arCommonElements1;
std::vector<std::wstring> arCommonElements2;
for (const std::wstring& wsValue : arFirst)
{
if (arInitialSet.count(wsValue) > 0)
arCommonElements1.push_back(wsValue);
}
for (const std::wstring& wsValue : arSecond)
{
if (arInitialSet.count(wsValue) > 0)
arCommonElements2.push_back(wsValue);
}
if (arCommonElements1.size() != arCommonElements2.size())
return false;
std::sort(arCommonElements1.begin(), arCommonElements1.end());
std::sort(arCommonElements2.begin(), arCommonElements2.end());
return arCommonElements1 == arCommonElements2;
}
bool CStyleUsed::operator==(const CStyleUsed &oUsedStyle) const
{
return (m_bIsPStyle == oUsedStyle.m_bIsPStyle) && (m_oStyle == oUsedStyle.m_oStyle);
return m_bIsPStyle == oUsedStyle.m_bIsPStyle &&
CheckArrays(Names_Standard_Styles, m_oStyle.GetParentsNamesSet(), oUsedStyle.m_oStyle.GetParentsNamesSet()) &&
m_oStyle == oUsedStyle.m_oStyle;
}
std::wstring CStyleUsed::getId()
{
return m_sId;
if (m_bIsPStyle)
return m_oStyle.GetId();
return m_oStyle.GetId() + L"-c";
}
void CStyleUsed::setId(const std::wstring &sId)
CDocumentStyle::CDocumentStyle() : m_arStandardStyles(Names_Standard_Styles)
{
m_sId = sId;
for (const std::wstring& oNameStandardStyle : Names_Standard_Styles)
m_arStandardStyles.push_back(oNameStandardStyle + L"-c");
}
CDocumentStyle::CDocumentStyle() : m_arStandardStyles({L"a", L"li", L"h1", L"h2", L"h3", L"h4", L"h5", L"h6", L"h1-c",
L"h2-c", L"h3-c", L"h4-c", L"h5-c", L"h6-c", L"p-c", L"p", L"div-c", L"div", L"a-c"}) {}
CDocumentStyle::~CDocumentStyle()
{
m_arStandardStyles. clear();
@ -157,6 +189,7 @@ namespace NSCSS
if (!oParentStyle.Empty())
{
oParentStyle.AddBasicProperties(BProperties::B_BasedOn, L"normal");
oParentStyle.AddBasicProperties(BProperties::B_StyleId, L"(" + oParentStyle.GetStyleId() + L")");
if (!bIsPStyle)
{
@ -271,250 +304,308 @@ namespace NSCSS
oElement.AddBasicProperties(BProperties::B_CustomStyle, L"1");
}
void CDocumentStyle::SetPStyle (const NSCSS::CCompiledStyle& oStyle, CXmlElement& oXmlElement)
void CDocumentStyle::SetPStyle (const NSCSS::CCompiledStyle& oStyle, CXmlElement& oXmlElement, bool bIsLite)
{
ConvertStyle(oStyle, oXmlElement, true);
if (oStyle.Empty() && oXmlElement.Empty())
if (!bIsLite)
ConvertStyle(oStyle, oXmlElement, true);
if (oStyle.Empty())
return;
oXmlElement.AddPropertiesInP(PProperties::P_Jc, oStyle.m_oText.GetAlign().ToWString());
const bool bInTable{oStyle.HaveThisParent(L"table")};
std::wstring wsTextAlign{oStyle.m_oText.GetAlign().ToWString()};
if (wsTextAlign.empty() && bInTable)
wsTextAlign = oStyle.m_oDisplay.GetHAlign().ToWString();
oXmlElement.AddPropertiesInP(PProperties::P_Jc, wsTextAlign);
std::wstring sInfValue;
sInfValue.reserve(64);
//TODO:: проверить Permission в Margin
if (!oStyle.m_oMargin.Empty() || !oStyle.m_oPadding.Empty() /*&& oStyle.m_oMargin.GetPermission()*/)
{
const double dLeftSide = oStyle.m_oMargin.GetLeft() .ToDouble(NSCSS::Twips) + oStyle.m_oPadding.GetLeft() .ToDouble(NSCSS::Twips);
const double dRightSide = oStyle.m_oMargin.GetRight().ToDouble(NSCSS::Twips) + oStyle.m_oPadding.GetRight().ToDouble(NSCSS::Twips);
if (!oStyle.m_oMargin.GetLeft().Empty() && !oStyle.m_oMargin.GetLeft().Zero())
sInfValue += L"w:left=\"" + std::to_wstring(oStyle.m_oMargin.GetLeft().ToInt(NSCSS::Twips)) + L"\" ";
sInfValue += L"w:left=\"" + DOUBLE_TO_INTW(dLeftSide * POINTCOEF) + L"\" ";
sInfValue += L"w:right=\"" + DOUBLE_TO_INTW(dRightSide * POINTCOEF) + L"\" ";
}
if (!oStyle.m_oMargin.GetRight().Empty() && !oStyle.m_oMargin.GetRight().Zero())
sInfValue += L"w:right=\"" + std::to_wstring(oStyle.m_oMargin.GetRight().ToInt(NSCSS::Twips)) + L"\" ";
const double dIndent = oStyle.m_oText.GetIndent().ToDouble(NSCSS::Twips);
if (0. != dIndent)
sInfValue += L"w:firstLine=\"" + DOUBLE_TO_INTW(dIndent) + L"\" ";
const int nIndent = oStyle.m_oText.GetIndent().ToInt(NSCSS::Twips);
if (0 != nIndent)
sInfValue += L"w:firstLine=\"" + std::to_wstring(nIndent) + L"\" ";
oXmlElement.AddPropertiesInP(PProperties::P_Ind, sInfValue);
std::wstring sSpacingValue;
sSpacingValue.reserve(128);
//TODO:: проверить Permission в Margin
if (!oStyle.m_oMargin.Empty() || !oStyle.m_oPadding.Empty()/*&& oStyle.m_oMargin.GetPermission()*/)
{
const double dSpacingBottom = oStyle.m_oMargin.GetBottom().ToDouble(NSCSS::Twips) + oStyle.m_oPadding.GetBottom().ToDouble(NSCSS::Twips);
const double dSpacingTop = oStyle.m_oMargin.GetTop() .ToDouble(NSCSS::Twips) + oStyle.m_oPadding.GetTop() .ToDouble(NSCSS::Twips);;
sSpacingValue += L" w:after=\"" + DOUBLE_TO_INTW(dSpacingBottom * POINTCOEF) + L"\" ";
sSpacingValue += L" w:before=\"" + DOUBLE_TO_INTW(dSpacingTop * POINTCOEF) + L"\" ";
}
else/* if (!oStyle.m_pBorder.Empty() || !oStyle.m_oMargin.GetPermission())*/
sSpacingValue += L"w:after=\"0\" w:before=\"0\"";
if (!oStyle.m_oMargin.GetTop().Empty() && !oStyle.m_oMargin.GetTop().Zero())
sSpacingValue += L"w:before=\"" + std::to_wstring(VALUE_TO_INT(oStyle.m_oMargin.GetTop(), NSCSS::Twips)) + L"\" w:beforeAutospacing=\"0\"";
else if (oStyle.m_oMargin.GetBottom().Zero() || bInTable)
sSpacingValue += L"w:before=\"0\" w:beforeAutospacing=\"0\"";
std::wstring wsLineHeight;
if (!oStyle.m_oFont.GetLineHeight().Empty())
{
double dLineHeight = oStyle.m_oFont.GetLineHeight().ToDouble(NSCSS::Twips, LINEHEIGHTCOEF) * LINEHEIGHTSCALE;
if (!oStyle.m_oMargin.GetBottom().Empty() && !oStyle.m_oMargin.GetBottom().Zero())
sSpacingValue += L" w:after=\"" + std::to_wstring(VALUE_TO_INT(oStyle.m_oMargin.GetBottom(), NSCSS::Twips)) + L"\" w:afterAutospacing=\"0\"";
else if (oStyle.m_oMargin.GetBottom().Zero() || bInTable)
sSpacingValue += L" w:after=\"0\" w:afterAutospacing=\"0\"";
if (NSCSS::None == oStyle.m_oFont.GetLineHeight().GetUnitMeasure())
dLineHeight *= LINEHEIGHTCOEF;
if (0. != dLineHeight)
wsLineHeight = DOUBLE_TO_INTW(dLineHeight);
}
if (!wsLineHeight.empty())
if (!oStyle.m_oFont.GetLineHeight().Empty() && !oStyle.m_oFont.GetLineHeight().Zero())
{
sSpacingValue += L" w:line=\"" + wsLineHeight + L"\" w:lineRule=\"auto\"";
const std::wstring wsLine{std::to_wstring(oStyle.m_oFont.GetLineHeight().ToInt(NSCSS::Twips, DEFAULT_LINEHEIGHT))};
const std::wstring wsLineRule{(NSCSS::Percent == oStyle.m_oFont.GetLineHeight().GetUnitMeasure() ? L"auto" : L"atLeast")};
sSpacingValue += L" w:line=\"" + wsLine + L"\" w:lineRule=\"" + wsLineRule + L"\"";
}
// else if (!oStyle.m_oBorder.Empty())
// {
// sSpacingValue += L" w:line=\"" + std::to_wstring(static_cast<short int>(oStyle.m_oFont.GetSize().ToDouble(NSCSS::Twips) * 2 * POINTCOEF + 0.5f)) + L"\" w:lineRule=\"auto\"";
// }
else if (!oStyle.m_oBorder.Empty())
sSpacingValue += L" w:line=\"240\" w:lineRule=\"auto\" ";
else if (oStyle.m_oFont.GetLineHeight().Zero() || bInTable)
sSpacingValue += L" w:lineRule=\"auto\" w:line=\"240\"";
if (!sSpacingValue.empty())
{
oXmlElement.AddPropertiesInP(PProperties::P_Spacing, sSpacingValue);
oXmlElement.AddPropertiesInP(PProperties::P_ContextualSpacing, L"true");
}
if (!oStyle.m_oBackground.Empty())
{
const std::wstring wsColor = oStyle.m_oBackground.GetColor().ToWString();
if (wsColor != L"ffffff")
oXmlElement.AddPropertiesInP(PProperties::P_Shd, wsColor);
}
if (!oStyle.m_oBackground.Empty() && !bInTable)
oXmlElement.AddPropertiesInP(PProperties::P_Shd, oStyle.m_oBackground.IsNone() ? L"auto" : oStyle.m_oBackground.GetColor().ToWString());
if (!oStyle.m_oBorder.Empty())
if (!oStyle.m_oBorder.Empty() && !bInTable)
{
if (oStyle.m_oBorder.EqualSides())
{
const std::wstring sBorderColor = oStyle.m_oBorder.GetLeftBorder().GetColor().ToWString();
const std::wstring sBorderStyle = oStyle.m_oBorder.GetLeftBorder().GetStyle().ToWString();
const std::wstring sBorderWidth = oStyle.m_oBorder.GetLeftBorder().GetWidth().ToWString();
const std::wstring sBorder = L" w:color=\"" + sBorderColor + L"\" w:space=\"0\" w:sz=\"" +
sBorderWidth + L"\" w:val=\"" + sBorderStyle + L"\"";
oXmlElement.AddPropertiesInP(PProperties::P_TopBorder, sBorder);
oXmlElement.AddPropertiesInP(PProperties::P_LeftBorder, sBorder);
oXmlElement.AddPropertiesInP(PProperties::P_BottomBorder, sBorder);
oXmlElement.AddPropertiesInP(PProperties::P_RightBorder, sBorder);
SetBorderStyle(oStyle, oXmlElement, PProperties::P_TopBorder);
SetBorderStyle(oStyle, oXmlElement, PProperties::P_LeftBorder);
SetBorderStyle(oStyle, oXmlElement, PProperties::P_BottomBorder);
SetBorderStyle(oStyle, oXmlElement, PProperties::P_RightBorder);
}
else
{
if (!oStyle.m_oBorder.GetTopBorder().Empty())
{
const std::wstring sBorderColor = oStyle.m_oBorder.GetTopBorder().GetColor().ToWString();
const std::wstring sBorderStyle = oStyle.m_oBorder.GetTopBorder().GetStyle().ToWString();
const std::wstring sBorderWidth = oStyle.m_oBorder.GetTopBorder().GetWidth().ToWString();
const std::wstring sBorder = L" w:color=\"" + sBorderColor + L"\" w:space=\"4\" w:sz=\"" +
sBorderWidth + L"\" w:val=\"" + sBorderStyle + L"\"";
oXmlElement.AddPropertiesInP(PProperties::P_TopBorder, sBorder);
}
SetBorderStyle(oStyle, oXmlElement, PProperties::P_TopBorder);
if (!oStyle.m_oBorder.GetRightBorder().Empty())
{
const std::wstring sBorderColor = oStyle.m_oBorder.GetRightBorder().GetColor().ToWString();
const std::wstring sBorderStyle = oStyle.m_oBorder.GetRightBorder().GetStyle().ToWString();
const std::wstring sBorderWidth = oStyle.m_oBorder.GetRightBorder().GetWidth().ToWString();
const std::wstring sBorder = L" w:color=\"" + sBorderColor + L"\" w:space=\"4\" w:sz=\"" +
sBorderWidth + L"\" w:val=\"" + sBorderStyle + L"\"";
oXmlElement.AddPropertiesInP(PProperties::P_RightBorder, sBorder);
}
SetBorderStyle(oStyle, oXmlElement, PProperties::P_RightBorder);
if (!oStyle.m_oBorder.GetBottomBorder().Empty())
{
const std::wstring sBorderColor = oStyle.m_oBorder.GetBottomBorder().GetColor().ToWString();
const std::wstring sBorderStyle = oStyle.m_oBorder.GetBottomBorder().GetStyle().ToWString();
const std::wstring sBorderWidth = oStyle.m_oBorder.GetBottomBorder().GetWidth().ToWString();
const std::wstring sBorder = L" w:color=\"" + sBorderColor + L"\" w:space=\"4\" w:sz=\"" +
sBorderWidth + L"\" w:val=\"" + sBorderStyle + L"\"";
oXmlElement.AddPropertiesInP(PProperties::P_BottomBorder, sBorder);
}
SetBorderStyle(oStyle, oXmlElement, PProperties::P_BottomBorder);
if (!oStyle.m_oBorder.GetLeftBorder().Empty())
{
const std::wstring sBorderColor = oStyle.m_oBorder.GetLeftBorder().GetColor().ToWString();
const std::wstring sBorderStyle = oStyle.m_oBorder.GetLeftBorder().GetStyle().ToWString();
const std::wstring sBorderWidth = oStyle.m_oBorder.GetLeftBorder().GetWidth().ToWString();
const std::wstring sBorder = L" w:color=\"" + sBorderColor + L"\" w:space=\"4\" w:sz=\"" +
sBorderWidth + L"\" w:val=\"" + sBorderStyle + L"\"";
oXmlElement.AddPropertiesInP(PProperties::P_LeftBorder, sBorder);
}
SetBorderStyle(oStyle, oXmlElement, PProperties::P_LeftBorder);
}
}
}
void CDocumentStyle::SetRStyle(const NSCSS::CCompiledStyle& oStyle, CXmlElement& oXmlElement)
void CDocumentStyle::SetBorderStyle(const CCompiledStyle &oStyle, CXmlElement &oXmlElement, const PProperties &enBorderProperty)
{
ConvertStyle(oStyle, oXmlElement, false);
const NSCSS::NSProperties::CBorderSide* pBorder = NULL;
const NSCSS::NSProperties::CDigit* pPadding = NULL;
switch(enBorderProperty)
{
case PProperties::P_BottomBorder:
{
pBorder = &oStyle.m_oBorder.GetBottomBorder();
pPadding = &oStyle.m_oPadding.GetBottom();
break;
}
case PProperties::P_LeftBorder:
{
pBorder = &oStyle.m_oBorder.GetLeftBorder();
pPadding = &oStyle.m_oPadding.GetLeft();
break;
}
case PProperties::P_RightBorder:
{
pBorder = &oStyle.m_oBorder.GetRightBorder();
pPadding = &oStyle.m_oPadding.GetRight();
break;
}
case PProperties::P_TopBorder:
{
pBorder = &oStyle.m_oBorder.GetTopBorder();
pPadding = &oStyle.m_oPadding.GetTop();
break;
}
default:
return;
}
oXmlElement.AddPropertiesInP(enBorderProperty, CalculateBorderStyle(*pBorder, pPadding));
}
std::wstring CDocumentStyle::CalculateBorderStyle(const NSProperties::CBorderSide &oBorder, const NSProperties::CDigit *pPadding)
{
if (oBorder.Empty())
return L"";
std::wstring wsColor = oBorder.GetColor().ToWString();
std::wstring wsStyle = oBorder.GetStyle().ToWString();
int nWidth = static_cast<int>(std::round(oBorder.GetWidth().ToDouble(Point) * 8.));
if (L"double" == wsStyle)
nWidth /= 3; // в ooxml double граница формируется из трёх линий
if (nWidth <= 3)
nWidth = 2;
else if (nWidth <= 5)
nWidth = 4;
else if (nWidth <= 7)
nWidth = 6;
else if (nWidth <= 9)
nWidth = 8;
else if (nWidth <= 15)
nWidth = 12;
else if (nWidth <= 21)
nWidth = 18;
else if (nWidth <= 29)
nWidth = 24;
else if (nWidth <= 41)
nWidth = 36;
else
nWidth = 48;
if (wsColor.empty())
wsColor = L"auto";
if (wsStyle.empty())
wsStyle = L"single";
int nSpace{0};
if (NULL != pPadding && !pPadding->Empty() && !pPadding->Zero())
nSpace = pPadding->ToInt(NSCSS::Point);
return L"w:val=\"" + wsStyle + L"\" w:sz=\"" + std::to_wstring(nWidth) + + L"\" w:space=\"" + std::to_wstring(nSpace) + L"\" w:color=\"" + wsColor + L"\"";
}
void CDocumentStyle::SetRStyle(const NSCSS::CCompiledStyle& oStyle, CXmlElement& oXmlElement, bool bIsLite)
{
if (!bIsLite)
ConvertStyle(oStyle, oXmlElement, false);
if (oStyle.Empty() && oXmlElement.Empty())
return;
if (!oStyle.m_oFont.GetSize().Empty())
oXmlElement.AddPropertiesInR(RProperties::R_Sz, DOUBLE_TO_INTW(oStyle.m_oFont.GetSize().ToDouble(NSCSS::Twips)));
oXmlElement.AddPropertiesInR(RProperties::R_Sz, std::to_wstring(static_cast<int>(oStyle.m_oFont.GetSize().ToDouble(NSCSS::Point) * 2. + 0.5))); // Значения шрифта увеличивает на 2
if (oStyle.m_oText.GetDecoration().m_oLine.Underline())
oXmlElement.AddPropertiesInR(RProperties::R_U, (!oStyle.m_oText.GetDecoration().m_oStyle.Empty()) ? oStyle.m_oText.GetDecoration().m_oStyle.ToWString() : L"single");
if (!oStyle.m_oBackground.GetColor().Empty() && !oStyle.m_oBackground.GetColor().None() && !oStyle.m_oBackground.GetColor().Url())
oXmlElement.AddPropertiesInR(RProperties::R_Shd, oStyle.m_oBackground.GetColor().ToWString());
const std::wstring wsHighlight{oStyle.m_oText.GetHighlight().EquateToColor({{{0, 0, 0}, L"black"}, {{0, 0, 255}, L"blue"}, {{0, 255, 255}, L"cyan"},
{{0, 255, 0}, L"green"}, {{255, 0, 255}, L"magenta"}, {{255, 0, 0}, L"red"},
{{255, 255, 0}, L"yellow"}, {{255, 255, 255}, L"white"}, {{0, 0, 139}, L"darkBlue"},
{{0, 139, 139}, L"darkCyan"}, {{0, 100, 0}, L"darkGreen"}, {{139, 0, 139}, L"darkMagenta"},
{{139, 0, 0}, L"darkRed"}, {{128, 128, 0}, L"darkYellow"},{{169, 169, 169}, L"darkGray"},
{{211, 211, 211}, L"lightGray"}})};
if (L"none" != wsHighlight)
oXmlElement.AddPropertiesInR(RProperties::R_Highlight, wsHighlight);
oXmlElement.AddPropertiesInR(RProperties::R_Highlight, oStyle.m_oBackground.GetColor().ToWString());
oXmlElement.AddPropertiesInR(RProperties::R_Color, oStyle.m_oText.GetColor().ToWString());
oXmlElement.AddPropertiesInR(RProperties::R_U, (oStyle.m_oText.GetDecoration().m_oLine.Underline()) ? L"underline" : L"");
std::wstring wsFontFamily{oStyle.m_oFont.GetFamily().ToWString()};
if (L"sans-serif" == wsFontFamily)
wsFontFamily = L"Arial";
else if (L"serif" == wsFontFamily)
wsFontFamily = L"Times New Roman";
oXmlElement.AddPropertiesInR(RProperties::R_RFonts, oStyle.m_oFont.GetFamily().ToWString());
oXmlElement.AddPropertiesInR(RProperties::R_I, oStyle.m_oFont.GetStyle().ToWString());
oXmlElement.AddPropertiesInR(RProperties::R_B, oStyle.m_oFont.GetWeight().ToWString());
oXmlElement.AddPropertiesInR(RProperties::R_SmallCaps, oStyle.m_oFont.GetVariant().ToWString());
}
void CDocumentStyle::WriteRStyle (const NSCSS::CCompiledStyle& oStyle)
bool CDocumentStyle::WriteRStyle(const NSCSS::CCompiledStyle& oStyle)
{
Clear();
if(oStyle.GetId().empty())
{
m_sId = L"normal";
return;
}
return false;
CStyleUsed structStyle(oStyle, false);
std::list<CStyleUsed>::iterator oItem = std::find(m_arStyleUsed.begin(), m_arStyleUsed.end(), structStyle);
std::vector<CStyleUsed>::iterator oItem = std::find(m_arStyleUsed.begin(), m_arStyleUsed.end(), structStyle);
if (oItem != m_arStyleUsed.end())
{
m_sId = (*oItem).getId();
return;
return true;
}
CXmlElement oXmlElement;
SetRStyle(oStyle, oXmlElement);
if (!oStyle.Empty() || !oXmlElement.Empty())
{
structStyle.setId(oXmlElement.GetStyleId());
m_arStyleUsed.push_back(structStyle);
m_sStyle += oXmlElement.GetRStyle();
}
}
void CDocumentStyle::WriteLitePStyle(const CCompiledStyle &oStyle)
{
if (oStyle.Empty())
return;
CXmlElement oXmlElement;
SetPStyle(oStyle, oXmlElement);
if (!oXmlElement.Empty())
m_sStyle += oXmlElement.GetPStyle(true);
}
void CDocumentStyle::WriteLiteRStyle(const CCompiledStyle &oStyle)
{
if (oStyle.Empty())
return;
CXmlElement oXmlElement;
SetRStyle(oStyle, oXmlElement);
if (!oXmlElement.Empty())
m_sStyle += oXmlElement.GetRStyle(true);
if (oXmlElement.Empty())
return false;
m_arStyleUsed.push_back(structStyle);
m_sStyle += oXmlElement.GetRStyle();
return true;
}
void CDocumentStyle::WritePStyle (const NSCSS::CCompiledStyle& oStyle)
bool CDocumentStyle::WriteLitePStyle(const CCompiledStyle &oStyle)
{
Clear();
if (oStyle.Empty())
return false;
CXmlElement oXmlElement;
SetPStyle(oStyle, oXmlElement, true);
if (oXmlElement.Empty())
return false;
m_sStyle += oXmlElement.GetPStyle(true);
return true;
}
bool CDocumentStyle::WriteLiteRStyle(const CCompiledStyle &oStyle)
{
Clear();
if (oStyle.Empty())
return false;
CXmlElement oXmlElement;
SetRStyle(oStyle, oXmlElement, true);
if (oXmlElement.Empty())
return false;
m_sStyle += oXmlElement.GetRStyle(true);
return true;
}
bool CDocumentStyle::WritePStyle(const NSCSS::CCompiledStyle& oStyle)
{
Clear();
if(oStyle.GetId().empty())
{
m_sId = L"normal";
return;
}
return false;
CStyleUsed structStyle(oStyle, true);
std::list<CStyleUsed>::iterator oItem = std::find(m_arStyleUsed.begin(), m_arStyleUsed.end(), structStyle);
std::vector<CStyleUsed>::iterator oItem = std::find(m_arStyleUsed.begin(), m_arStyleUsed.end(), structStyle);
if (oItem != m_arStyleUsed.end())
{
m_sId = (*oItem).getId();
return;
return true;
}
CXmlElement oXmlElement;
SetPStyle(oStyle, oXmlElement);
if (!oStyle.Empty() || !oXmlElement.Empty())
{
structStyle.setId(oXmlElement.GetStyleId());
m_arStyleUsed.push_back(structStyle);
m_sStyle += oXmlElement.GetPStyle();
}
if (oXmlElement.Empty())
return false;
m_arStyleUsed.push_back(structStyle);
m_sStyle += oXmlElement.GetPStyle();
return true;
}
}

View File

@ -12,7 +12,6 @@ namespace NSCSS
{
CCompiledStyle m_oStyle;
bool m_bIsPStyle;
std::wstring m_sId;
public:
CStyleUsed(const CCompiledStyle& oStyle, bool bIsPStyle);
@ -20,18 +19,19 @@ namespace NSCSS
bool operator==(const CStyleUsed& oUsedStyle) const;
std::wstring getId();
void setId(const std::wstring& sId);
};
static const std::vector<std::wstring> Names_Standard_Styles = {L"a", L"li", L"h1", L"h2", L"h3", L"h4", L"h5", L"h6",L"p", L"div"};
class CSSCALCULATOR_EXPORT CDocumentStyle
{
typedef NSConstValues::NSProperties::BasicProperties BProperties;
typedef NSConstValues::NSProperties::ParagraphProperties PProperties;
typedef NSConstValues::NSProperties::RunnerProperties RProperties;
std::list<std::wstring> m_arStandardStylesUsed;
std::list<std::wstring> m_arStandardStyles;
std::list<CStyleUsed> m_arStyleUsed;
std::vector<std::wstring> m_arStandardStylesUsed;
std::vector<std::wstring> m_arStandardStyles;
std::vector<CStyleUsed> m_arStyleUsed;
std::wstring m_sStyle;
std::wstring m_sId;
@ -40,17 +40,18 @@ namespace NSCSS
void CreateStandardStyle (const std::wstring& sNameStyle, CXmlElement& oElement);
void ConvertStyle (const NSCSS::CCompiledStyle& oStyle, CXmlElement& oElement, bool bIsPStyle);
void SetRStyle(const NSCSS::CCompiledStyle& oStyle, CXmlElement& oXmlElement);
void SetPStyle(const NSCSS::CCompiledStyle& oStyle, CXmlElement& oXmlElement);
void SetRStyle(const NSCSS::CCompiledStyle& oStyle, CXmlElement& oXmlElement, bool bIsLite = false);
void SetPStyle(const NSCSS::CCompiledStyle& oStyle, CXmlElement& oXmlElement, bool bIsLite = false);
void SetBorderStyle(const NSCSS::CCompiledStyle& oStyle, CXmlElement& oXmlElement, const PProperties& enBorderProperty);
public:
CDocumentStyle();
~CDocumentStyle();
void WritePStyle(const NSCSS::CCompiledStyle& oStyle);
void WriteRStyle(const NSCSS::CCompiledStyle& oStyle);
void WriteLitePStyle(const NSCSS::CCompiledStyle& oStyle);
void WriteLiteRStyle(const NSCSS::CCompiledStyle& oStyle);
bool WritePStyle(const NSCSS::CCompiledStyle& oStyle);
bool WriteRStyle(const NSCSS::CCompiledStyle& oStyle);
bool WriteLitePStyle(const NSCSS::CCompiledStyle& oStyle);
bool WriteLiteRStyle(const NSCSS::CCompiledStyle& oStyle);
void SetStyle(const std::wstring& sStyle);
void SetId (const std::wstring& sId);
@ -59,6 +60,8 @@ namespace NSCSS
std::wstring GetIdAndClear();
void Clear();
static std::wstring CalculateBorderStyle(const NSCSS::NSProperties::CBorderSide& oBorder, const NSCSS::NSProperties::CDigit* pPadding = NULL);
};
}
#endif // CDOCUMENTSTYLE_H

View File

@ -27,7 +27,7 @@ CXmlElement::CXmlElement(const std::wstring& sNameDefaultElement)
bool CXmlElement::Empty() const
{
return m_mBasicValues.empty() && m_mPStyleValues.empty() && m_mRStyleValues.empty();
return m_mPStyleValues.empty() && m_mRStyleValues.empty() && GetBasedOn().empty();
}
void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
@ -35,7 +35,19 @@ void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
if (!Empty())
Clear();
if (sNameDefaultElement == L"li")
/* if (sNameDefaultElement == L"p")
{
AddBasicProperties(CSSProperties::BasicProperties::B_Type, L"paragraph");
AddBasicProperties(CSSProperties::BasicProperties::B_StyleId, L"p");
AddBasicProperties(CSSProperties::BasicProperties::B_Name, L"Normal (Web)");
AddBasicProperties(CSSProperties::BasicProperties::B_BasedOn, L"normal");
AddBasicProperties(CSSProperties::BasicProperties::B_UiPriority, L"99");
AddBasicProperties(CSSProperties::BasicProperties::B_UnhideWhenUsed, L"true");
AddBasicProperties(CSSProperties::BasicProperties::B_SemiHidden, L"true");
// AddPropertiesInP(CSSProperties::ParagraphProperties::P_Spacing, L"w:before=\"100\" w:beforeAutospacing=\"1\" w:after=\"100\" w:afterAutospacing=\"1\"");
}
else */if (sNameDefaultElement == L"li")
{
AddBasicProperties(CSSProperties::BasicProperties::B_Type, L"paragraph");
AddBasicProperties(CSSProperties::BasicProperties::B_StyleId, L"li");
@ -55,7 +67,7 @@ void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"h1-c");
AddPropertiesInP(CSSProperties::ParagraphProperties::P_OutlineLvl, L"0");
AddPropertiesInP(CSSProperties::ParagraphProperties::P_Spacing, L"w:after=\"0\" w:before=\"480\"");
// AddPropertiesInP(CSSProperties::ParagraphProperties::P_Spacing, L"w:before=\"100\" w:beforeAutospacing=\"1\" w:after=\"100\" w:afterAutospacing=\"1\"");
}
else if (sNameDefaultElement == L"h2")
{
@ -66,7 +78,7 @@ void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"h2-c");
AddPropertiesInP(CSSProperties::ParagraphProperties::P_OutlineLvl, L"1");
AddPropertiesInP(CSSProperties::ParagraphProperties::P_Spacing, L"w:after=\"0\" w:before=\"400\"");
// AddPropertiesInP(CSSProperties::ParagraphProperties::P_Spacing, L"w:before=\"100\" w:beforeAutospacing=\"1\" w:after=\"100\" w:afterAutospacing=\"1\"");
}
else if (sNameDefaultElement == L"h3")
{
@ -77,7 +89,7 @@ void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"h3-c");
AddPropertiesInP(CSSProperties::ParagraphProperties::P_OutlineLvl, L"2");
AddPropertiesInP(CSSProperties::ParagraphProperties::P_Spacing, L"w:after=\"0\" w:before=\"360\"");
// AddPropertiesInP(CSSProperties::ParagraphProperties::P_Spacing, L"w:before=\"100\" w:beforeAutospacing=\"1\" w:after=\"100\" w:afterAutospacing=\"1\"");
}
else if (sNameDefaultElement == L"h4")
{
@ -88,7 +100,7 @@ void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"h4-c");
AddPropertiesInP(CSSProperties::ParagraphProperties::P_OutlineLvl, L"3");
AddPropertiesInP(CSSProperties::ParagraphProperties::P_Spacing, L"w:after=\"0\" w:before=\"320\"");
// AddPropertiesInP(CSSProperties::ParagraphProperties::P_Spacing, L"w:before=\"100\" w:beforeAutospacing=\"1\" w:after=\"100\" w:afterAutospacing=\"1\"");
}
else if (sNameDefaultElement == L"h5")
{
@ -99,7 +111,7 @@ void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"h5-c");
AddPropertiesInP(CSSProperties::ParagraphProperties::P_OutlineLvl, L"4");
AddPropertiesInP(CSSProperties::ParagraphProperties::P_Spacing, L"w:after=\"0\" w:before=\"280\"");
// AddPropertiesInP(CSSProperties::ParagraphProperties::P_Spacing, L"w:before=\"100\" w:beforeAutospacing=\"1\" w:after=\"100\" w:afterAutospacing=\"1\"");
}
else if (sNameDefaultElement == L"h6")
@ -111,7 +123,7 @@ void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"h6-c");
AddPropertiesInP(CSSProperties::ParagraphProperties::P_OutlineLvl, L"5");
AddPropertiesInP(CSSProperties::ParagraphProperties::P_Spacing, L"w:after=\"0\" w:before=\"280\"");
// AddPropertiesInP(CSSProperties::ParagraphProperties::P_Spacing, L"w:before=\"100\" w:beforeAutospacing=\"1\" w:after=\"100\" w:afterAutospacing=\"1\"");
}
else if (sNameDefaultElement == L"h1-c")
{
@ -122,9 +134,9 @@ void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
AddBasicProperties(CSSProperties::BasicProperties::B_UiPriority, L"9");
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"h1");
AddPropertiesInR(CSSProperties::RunnerProperties::R_RFonts, DEFAULTFONTNAME);
AddPropertiesInR(CSSProperties::RunnerProperties::R_B, L"bold");
AddPropertiesInR(CSSProperties::RunnerProperties::R_Sz, L"44");
AddPropertiesInR(CSSProperties::RunnerProperties::R_Sz, L"48");
AddPropertiesInR(CSSProperties::RunnerProperties::R_Kern, L"36");
}
else if (sNameDefaultElement == L"h2-c")
{
@ -136,9 +148,8 @@ void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
AddBasicProperties(CSSProperties::BasicProperties::B_UnhideWhenUsed, L"true");
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"h2");
AddPropertiesInR(CSSProperties::RunnerProperties::R_RFonts, DEFAULTFONTNAME);
AddPropertiesInR(CSSProperties::RunnerProperties::R_B, L"bold");
AddPropertiesInR(CSSProperties::RunnerProperties::R_Sz, L"33");
AddPropertiesInR(CSSProperties::RunnerProperties::R_Sz, L"36");
}
else if (sNameDefaultElement == L"h3-c")
{
@ -150,9 +161,8 @@ void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
AddBasicProperties(CSSProperties::BasicProperties::B_UnhideWhenUsed, L"true");
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"h3");
AddPropertiesInR(CSSProperties::RunnerProperties::R_RFonts, DEFAULTFONTNAME);
AddPropertiesInR(CSSProperties::RunnerProperties::R_B, L"bold");
AddPropertiesInR(CSSProperties::RunnerProperties::R_Sz, L"26");
AddPropertiesInR(CSSProperties::RunnerProperties::R_Sz, L"27");
}
else if (sNameDefaultElement == L"h4-c")
{
@ -164,9 +174,8 @@ void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
AddBasicProperties(CSSProperties::BasicProperties::B_UnhideWhenUsed, L"true");
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"h4");
AddPropertiesInR(CSSProperties::RunnerProperties::R_RFonts, DEFAULTFONTNAME);
AddPropertiesInR(CSSProperties::RunnerProperties::R_Sz, L"24");
AddPropertiesInR(CSSProperties::RunnerProperties::R_B, L"bold");
AddPropertiesInR(CSSProperties::RunnerProperties::R_Sz, L"22");
}
else if (sNameDefaultElement == L"h5-c")
{
@ -178,9 +187,8 @@ void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
AddBasicProperties(CSSProperties::BasicProperties::B_UnhideWhenUsed, L"true");
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"h5");
AddPropertiesInR(CSSProperties::RunnerProperties::R_RFonts, DEFAULTFONTNAME);
AddPropertiesInR(CSSProperties::RunnerProperties::R_Sz, L"20");
AddPropertiesInR(CSSProperties::RunnerProperties::R_B, L"bold");
AddPropertiesInR(CSSProperties::RunnerProperties::R_Sz, L"18");
}
else if (sNameDefaultElement == L"h6-c")
{
@ -192,38 +200,16 @@ void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
AddBasicProperties(CSSProperties::BasicProperties::B_UnhideWhenUsed, L"true");
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"h6");
AddPropertiesInR(CSSProperties::RunnerProperties::R_RFonts, DEFAULTFONTNAME);
AddPropertiesInR(CSSProperties::RunnerProperties::R_B, L"bold");
AddPropertiesInR(CSSProperties::RunnerProperties::R_Sz, L"15");
AddPropertiesInR(CSSProperties::RunnerProperties::R_B, L"bold");
}
else if (sNameDefaultElement == L"p-c")
{
AddBasicProperties(CSSProperties::BasicProperties::B_Type, L"character");
AddBasicProperties(CSSProperties::BasicProperties::B_StyleId, L"p-c");
AddBasicProperties(CSSProperties::BasicProperties::B_CustomStyle, L"1");
AddBasicProperties(CSSProperties::BasicProperties::B_Name, L"Paragraph character");
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"p");
AddPropertiesInR(CSSProperties::RunnerProperties::R_RFonts, DEFAULTFONTNAME);
}
else if (sNameDefaultElement == L"p")
{
AddBasicProperties(CSSProperties::BasicProperties::B_Type, L"paragraph");
AddBasicProperties(CSSProperties::BasicProperties::B_StyleId, L"p");
AddBasicProperties(CSSProperties::BasicProperties::B_CustomStyle, L"1");
AddBasicProperties(CSSProperties::BasicProperties::B_Name, L"Paragraph");
AddBasicProperties(CSSProperties::BasicProperties::B_BasedOn, L"normal");
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"p-c");
}
else if (sNameDefaultElement == L"div-c")
/*else if (sNameDefaultElement == L"div-c")
{
AddBasicProperties(CSSProperties::BasicProperties::B_Type, L"character");
AddBasicProperties(CSSProperties::BasicProperties::B_StyleId, L"div-c");
AddBasicProperties(CSSProperties::BasicProperties::B_CustomStyle, L"1");
AddBasicProperties(CSSProperties::BasicProperties::B_Name, L"Div character");
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"div");
AddPropertiesInR(CSSProperties::RunnerProperties::R_RFonts, DEFAULTFONTNAME);
}
else if (sNameDefaultElement == L"div")
{
@ -233,7 +219,7 @@ void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
AddBasicProperties(CSSProperties::BasicProperties::B_Name, L"Div paragraph");
AddBasicProperties(CSSProperties::BasicProperties::B_BasedOn, L"normal");
AddBasicProperties(CSSProperties::BasicProperties::B_Link, L"div-c");
}
}*/
else if (sNameDefaultElement == L"a-c")
{
AddBasicProperties(CSSProperties::BasicProperties::B_Type, L"character");
@ -242,9 +228,9 @@ void CXmlElement::CreateDefaultElement(const std::wstring& sNameDefaultElement)
AddBasicProperties(CSSProperties::BasicProperties::B_UiPriority, L"99");
AddBasicProperties(CSSProperties::BasicProperties::B_UnhideWhenUsed, L"true");
AddPropertiesInR(CSSProperties::RunnerProperties::R_Sz, L"24");
AddPropertiesInR(CSSProperties::RunnerProperties::R_Color, L"0000FF");
AddPropertiesInR(CSSProperties::RunnerProperties::R_U, L"single");
AddPropertiesInR(CSSProperties::RunnerProperties::R_RFonts, DEFAULTFONTNAME);
}
else if (sNameDefaultElement == L"a")
{
@ -312,7 +298,7 @@ CXmlElement& CXmlElement::operator=(const CXmlElement& oElement)
return *this;
}
bool CXmlElement::operator==(const CXmlElement &oElement)
bool CXmlElement::operator==(const CXmlElement &oElement) const
{
return m_mBasicValues == oElement.m_mBasicValues &&
m_mPStyleValues == oElement.m_mPStyleValues &&
@ -364,22 +350,22 @@ std::wstring CXmlElement::ConvertPStyle(bool bIsLite) const
case CSSProperties::ParagraphProperties::P_TopBorder:
{
sPBdr += L"<w:top" + oItem.second + L"/>";
sPBdr += L"<w:top " + oItem.second + L"/>";
break;
}
case CSSProperties::ParagraphProperties::P_LeftBorder:
{
sPBdr += L"<w:left" + oItem.second + L"/>";
sPBdr += L"<w:left " + oItem.second + L"/>";
break;
}
case CSSProperties::ParagraphProperties::P_BottomBorder:
{
sPBdr += L"<w:bottom" + oItem.second + L"/>";
sPBdr += L"<w:bottom " + oItem.second + L"/>";
break;
}
case CSSProperties::ParagraphProperties::P_RightBorder:
{
sPBdr += L"<w:right" + oItem.second + L"/>";
sPBdr += L"<w:right " + oItem.second + L"/>";
break;
}
case CSSProperties::ParagraphProperties::P_KeepLines:
@ -429,8 +415,8 @@ std::wstring CXmlElement::ConvertRStyle(bool bIsLite) const
}
case CSSProperties::RunnerProperties::R_Sz:
{
sRStyle += L"<w:sz w:val=\"" + oItem.second +
L"\"/>" + L"<w:szCs w:val=\"" + oItem.second + L"\"/>";
sRStyle += L"<w:sz w:val=\"" + oItem.second + L"\"/>" +
L"<w:szCs w:val=\"" + oItem.second + L"\"/>";
break;
}
case CSSProperties::RunnerProperties::R_B:
@ -462,11 +448,18 @@ std::wstring CXmlElement::ConvertRStyle(bool bIsLite) const
sRStyle += L"<w:u w:val=\"" + oItem.second + L"\"/>";
break;
}
// case CSSProperties::RunnerProperties::R_Highlight:
// {
// sRStyle += L"<w:highlight w:val=\"" + oItem.second + L"\"/>";
// break;
// }
case CSSProperties::RunnerProperties::R_Highlight:
{
if (!oItem.second.empty())
sRStyle += L"<w:highlight w:val=\"" + oItem.second + L"\"/>";
break;
}
case CSSProperties::RunnerProperties::R_Shd:
{
if (!oItem.second.empty())
sRStyle += L"<w:shd w:val=\"clear\" w:color=\"auto\" w:fill=\"" + oItem.second + L"\"/>";
break;
}
case CSSProperties::RunnerProperties::R_SmallCaps:
{
if (oItem.second == L"smallCaps")
@ -475,6 +468,11 @@ std::wstring CXmlElement::ConvertRStyle(bool bIsLite) const
sRStyle += L"<w:smallCaps w:val=\"false\"/>";
break;
}
case CSSProperties::RunnerProperties::R_Kern:
{
sRStyle += L"<w:kern w:val=\"" + oItem.second + L"\"/>";
break;
}
default:
break;
}
@ -519,7 +517,8 @@ std::wstring CXmlElement::ConvertBasicInfoStyle() const
}
case CSSProperties::BasicProperties::B_UnhideWhenUsed:
{
sBasicInfo += L"<w:unhideWhenUsed/>";
if (L"true" == oItem.second)
sBasicInfo += L"<w:unhideWhenUsed/>";
break;
}
case CSSProperties::BasicProperties::B_UiPriority:
@ -527,6 +526,12 @@ std::wstring CXmlElement::ConvertBasicInfoStyle() const
sBasicInfo += L"<w:uiPriority w:val=\"" + oItem.second + L"\"/>";
break;
}
case CSSProperties::BasicProperties::B_SemiHidden:
{
if (L"true" == oItem.second)
sBasicInfo += L"<w:semiHidden/>";
break;
}
default:
break;
}
@ -598,7 +603,7 @@ std::wstring CXmlElement::GetPStyle(bool bIsLite) const
{
if (bIsLite)
return ConvertPStyle(true);
return GetStyle(true, true, false);
}
@ -606,7 +611,7 @@ std::wstring CXmlElement::GetRStyle(bool bIsLite) const
{
if (bIsLite)
return ConvertRStyle(true);
return GetStyle(true, false, true);
}

View File

@ -47,7 +47,7 @@ public:
CXmlElement& operator+=(const CXmlElement& oElement);
CXmlElement& operator= (const CXmlElement& oelement);
bool operator== (const CXmlElement& oElement);
bool operator== (const CXmlElement& oElement) const;
};
#endif // CXMLELEMENT_H

View File

@ -5,7 +5,6 @@ sys.path.append('../../../../build_tools/scripts')
import config
import base
import os
import build
base_directory = os.getcwd()

View File

@ -11,7 +11,9 @@
#include "../../../DesktopEditor/common/File.h"
#include "../../../DesktopEditor/common/Directory.h"
#include "../../../DesktopEditor/common/StringBuilder.h"
#include "../../../DesktopEditor/xml/include/xmlutils.h"
#include "../../../UnicodeConverter/UnicodeConverter.h"
#include "../../../HtmlFile2/src/StringFinder.h"
static std::string nonbreaking_inline = "|a|abbr|acronym|b|bdo|big|cite|code|dfn|em|font|i|img|kbd|nobr|s|small|span|strike|strong|sub|sup|tt|";
static std::string empty_tags = "|area|base|basefont|bgsound|br|command|col|embed|event-source|frame|hr|image|img|input|keygen|link|menuitem|meta|param|source|spacer|track|wbr|";
@ -20,8 +22,27 @@ static std::string special_handling = "|html|body|";
static std::string no_entity_sub = ""; //"|style|";
static std::string treat_like_inline = "|p|";
static void prettyprint(GumboNode*, NSStringUtils::CStringBuilderA& oBuilder);
static std::string mhtTohtml(std::string& sFileContent);
static std::vector<std::string> html_tags = {"div","span","a","img","p","h1","h2","h3","h4","h5","h6",
"ul", "ol", "li","td","tr","table","thead","tbody","tfoot","th",
"br","form","input","button","section","nav","header","footer",
"main","figure","figcaption","strong","em","i", "b", "u","pre",
"code","blockquote","hr","script","link","meta","style","title",
"head","body","html","legend","optgroup","option","select","dl",
"dt","dd","time","data","abbr","address","area","base","bdi",
"bdo","cite","col","iframe","video","source","track","textarea",
"label","fieldset","colgroup","del","ins","details","summary",
"dialog","embed","kbd","map","mark","menu","meter","object",
"output","param","progress","q","samp","small","sub","sup","var",
"wbr","acronym","applet","article","aside","audio","basefont",
"bgsound","big","blink","canvas","caption","center","command",
"comment","datalist","dfn","dir","font","frame","frameset",
"hgroup","isindex","keygen","marquee","nobr","noembed","noframes",
"noscript","plaintext","rp","rt","ruby","s","strike","tt","xmp"};
static std::vector<std::string> unchecked_nodes_new = {"svg"};
static void prettyprint(GumboNode*, NSStringUtils::CStringBuilderA& oBuilder, bool bCheckValidNode = true);
static std::string mhtTohtml(const std::string &sFileContent);
// Заменяет в строке s все символы s1 на s2
static void replace_all(std::string& s, const std::string& s1, const std::string& s2)
@ -34,70 +55,40 @@ static void replace_all(std::string& s, const std::string& s1, const std::string
}
}
static bool IsUnckeckedNodes(const std::string& sValue)
{
return unchecked_nodes_new.end() != std::find(unchecked_nodes_new.begin(), unchecked_nodes_new.end(), sValue);
}
static std::wstring htmlToXhtml(std::string& sFileContent, bool bNeedConvert)
{
// Распознование кодировки
if (bNeedConvert)
{
size_t posEncoding = sFileContent.find("charset=");
if (posEncoding == std::string::npos)
posEncoding = sFileContent.find("encoding=");
if (posEncoding != std::string::npos)
{
posEncoding = sFileContent.find("=", posEncoding) + 1;
char quoteSymbol = '\"';
if(sFileContent[posEncoding] == '\"' || sFileContent[posEncoding] == '\'')
{
quoteSymbol = sFileContent[posEncoding];
posEncoding += 1;
}
{ // Определение кодировки
std::string sEncoding = NSStringFinder::FindPropety(sFileContent, "charset", {"="}, {";", "\\n", "\\r", " ", "\""}).m_sValue;
size_t posEnd = sFileContent.find(quoteSymbol, posEncoding);
if (std::string::npos != posEnd)
{
std::string sEncoding = sFileContent.substr(posEncoding, posEnd - posEncoding);
if (sEncoding != "utf-8" && sEncoding != "UTF-8")
{
NSUnicodeConverter::CUnicodeConverter oConverter;
sFileContent = U_TO_UTF8(oConverter.toUnicode(sFileContent, sEncoding.c_str()));
}
}
if (sEncoding.empty())
sEncoding = NSStringFinder::FindPropety(sFileContent, "encoding", {"="}, {";", "\\n", "\\r", " "}).m_sValue;
if (!sEncoding.empty() && !NSStringFinder::Equals("utf-8", sEncoding))
{
NSUnicodeConverter::CUnicodeConverter oConverter;
sFileContent = U_TO_UTF8(oConverter.toUnicode(sFileContent, sEncoding.c_str()));
}
}
// Избавление от <a/>
size_t posA = sFileContent.find("<a ");
while(posA != std::string::npos)
{
size_t nBegin = sFileContent.find('<', posA + 1);
size_t nEnd = sFileContent.find("/>", posA);
if(nEnd < nBegin)
sFileContent.replace(nEnd, 2, "></a>");
posA = sFileContent.find("<a ", nBegin);
}
// Избавление от <title/>
posA = sFileContent.find("<title/>");
while (posA != std::string::npos)
{
sFileContent.replace(posA, 8, "<title></title>");
posA = sFileContent.find("<title/>", posA);
}
// Избавление от <script/>
posA = sFileContent.find("<script");
while (posA != std::string::npos)
{
size_t nEnd = 0;
size_t nEnd1 = sFileContent.find("/>", posA);
size_t nEnd2 = sFileContent.find("</script>", posA);
if (nEnd1 != std::string::npos)
nEnd = nEnd1 + 2;
if (nEnd2 != std::string::npos && (nEnd == 0 || (nEnd > 0 && nEnd2 < nEnd)))
nEnd = nEnd2 + 9;
// Избавляемся от лишних символов до <...
boost::regex oRegex("<[a-zA-Z]");
boost::match_results<typename std::string::const_iterator> oResult;
sFileContent.erase(posA, nEnd - posA);
if (boost::regex_search(sFileContent, oResult, oRegex))
sFileContent.erase(0, oResult.position());
posA = sFileContent.find("<script", posA);
}
//Избавление от <a ... />
while (NSStringFinder::RemoveEmptyTag(sFileContent, "a"));
//Избавление от <title ... />
while (NSStringFinder::RemoveEmptyTag(sFileContent, "title"));
//Избавление от <script ... />
while (NSStringFinder::RemoveEmptyTag(sFileContent, "script"));
// Gumbo
GumboOptions options = kGumboDefaultOptions;
@ -120,7 +111,7 @@ static std::string Base64ToString(const std::string& sContent, const std::string
if (TRUE == NSBase64::Base64Decode(sContent.c_str(), nSrcLen, pData, &nDecodeLen))
{
std::wstring sConvert;
if(!sCharset.empty() && sCharset != "utf-8" && sCharset != "UTF-8")
if(!sCharset.empty() && NSStringFinder::Equals<std::string>("utf-8", sCharset))
{
NSUnicodeConverter::CUnicodeConverter oConverter;
sConvert = oConverter.toUnicode(reinterpret_cast<char *>(pData), (unsigned)nDecodeLen, sCharset.data());
@ -208,174 +199,125 @@ static std::string QuotedPrintableDecode(const std::string& sContent, std::strin
return sRes.GetData();
}
static void ReadMht(std::string& sFileContent, size_t& nFound, size_t& nNextFound, const std::string& sBoundary,
std::map<std::string, std::string>& sRes, NSStringUtils::CStringBuilderA& oRes)
static void ReadMht(const std::string& sMhtContent, std::map<std::string, std::string>& sRes, NSStringUtils::CStringBuilderA& oRes)
{
// Content
size_t nContentTag = sFileContent.find("\n\n", nFound);
if(nContentTag == std::string::npos || nContentTag > nNextFound)
{
nContentTag = sFileContent.find("\r\r", nFound);
if(nContentTag == std::string::npos || nContentTag > nNextFound)
{
nContentTag = sFileContent.find("\r\n\r\n", nFound);
if(nContentTag == std::string::npos || nContentTag > nNextFound)
{
nFound = nNextFound;
return;
}
else
nContentTag += 4;
}
else
nContentTag += 2;
}
else
nContentTag += 2;
size_t unContentPosition = 0, unCharsetBegin = 0, unCharsetEnd = std::string::npos;
NSStringFinder::TFoundedData<char> oData;
// Content-Type
size_t nTag = sFileContent.find("Content-Type: ", nFound);
if(nTag == std::string::npos || nTag > nContentTag)
oData = NSStringFinder::FindPropety(sMhtContent, "content-type", {":"}, {";", "\\n", "\\r"});
const std::string sContentType{oData.m_sValue};
if (sContentType.empty())
return;
if (NSStringFinder::Equals(sContentType, "multipart/alternative"))
{
nFound = nNextFound;
oRes.WriteString(mhtTohtml(sMhtContent.substr(oData.m_unEndPosition, sMhtContent.length() - oData.m_unEndPosition)));
return;
}
size_t nTagEnd = sFileContent.find_first_of(";\n\r", nTag);
nTag += 14;
if(nTagEnd == std::string::npos || nTagEnd > nContentTag)
{
nFound = nNextFound;
return;
}
std::string sContentType = sFileContent.substr(nTag, nTagEnd - nTag);
if(sContentType == "multipart/alternative")
nContentTag = nFound;
unContentPosition = std::max(unContentPosition, oData.m_unEndPosition);
unCharsetBegin = oData.m_unEndPosition;
// name
std::string sName;
nTag = sFileContent.find(" name=", nFound);
if(nTag != std::string::npos && nTag < nContentTag)
// std::string sName = NSStringFinder::FindPropety(sMhtContent, "name", {"="}, {";", "\\n", "\\r"}, 0, unLastPosition);
// unContentPosition = std::max(unContentPosition, unLastPosition);
// Content-Location
oData = NSStringFinder::FindPropety(sMhtContent, "content-location", {":"}, {";", "\\n", "\\r"});
std::string sContentLocation{oData.m_sValue};
if (!oData.Empty())
unContentPosition = std::max(unContentPosition, oData.m_unEndPosition);
// Content-ID
oData = NSStringFinder::FindPropety(sMhtContent, "content-id", {":"}, {";", "\\n", "\\r"});
std::string sContentID{oData.m_sValue};
if (!oData.Empty())
{
nTagEnd = sFileContent.find_first_of(";\n\r", nTag);
nTag += 6;
if(nTagEnd != std::string::npos && nTagEnd < nContentTag)
sName = sFileContent.substr(nTag, nTagEnd - nTag);
unContentPosition = std::max(unContentPosition, oData.m_unEndPosition);
unCharsetEnd = std::min(unCharsetEnd, oData.m_unBeginPosition);
NSStringFinder::CutInside<std::string>(sContentID, "<", ">");
}
if (sContentLocation.empty() && !sContentID.empty())
sContentLocation = "cid:" + sContentID;
// Content-Transfer-Encoding
oData = NSStringFinder::FindPropety(sMhtContent, "content-transfer-encoding", {":"}, {";", "\\n", "\\r"});
const std::string sContentEncoding{oData.m_sValue};
if (!oData.Empty())
{
unContentPosition = std::max(unContentPosition, oData.m_unEndPosition);
unCharsetEnd = std::min(unCharsetEnd, oData.m_unBeginPosition);
}
// charset
std::string sCharset;
nTag = sFileContent.find("charset=", nFound);
if(nTag != std::string::npos && nTag < nContentTag)
{
nTagEnd = sFileContent.find_first_of(";\n\r", nTag);
nTag += 8;
if(nTagEnd != std::string::npos && nTagEnd < nContentTag)
{
if(sFileContent[nTag] == '\"')
{
nTag++;
nTagEnd--;
}
sCharset = sFileContent.substr(nTag, nTagEnd - nTag);
}
}
std::string sCharset = "utf-8";
// Content-Location
std::string sContentLocation;
nTag = sFileContent.find("Content-Location: ", nFound);
if(nTag != std::string::npos && nTag < nContentTag)
if (std::string::npos != unCharsetEnd && unCharsetBegin < unCharsetEnd)
{
nTagEnd = sFileContent.find_first_of(";\n\r", nTag);
nTag += 18;
if(nTagEnd != std::string::npos && nTagEnd < nContentTag)
sContentLocation = sFileContent.substr(nTag, nTagEnd - nTag);
}
if (sContentLocation.empty())
{
// Content-ID
std::string sContentID;
nTag = sFileContent.find("Content-ID: <", nFound);
if(nTag != std::string::npos && nTag < nContentTag)
{
nTagEnd = sFileContent.find_first_of(">", nTag);
nTag += 13;
if(nTagEnd != std::string::npos && nTagEnd < nContentTag)
sContentID = sFileContent.substr(nTag, nTagEnd - nTag);
}
if (!sContentID.empty())
sContentLocation = "cid:" + sContentID;
}
// Content-Transfer-Encoding
std::string sContentEncoding;
nTag = sFileContent.find("Content-Transfer-Encoding: ", nFound);
if(nTag != std::string::npos && nTag < nContentTag)
{
nTagEnd = sFileContent.find_first_of(";\n\r", nTag);
nTag += 27;
if(nTagEnd != std::string::npos && nTagEnd < nContentTag)
sContentEncoding = sFileContent.substr(nTag, nTagEnd - nTag);
sCharset = NSStringFinder::FindPropety(sMhtContent.substr(unCharsetBegin, unCharsetEnd - unCharsetBegin), "charset", {"="}, {";", "\\n", "\\r"}).m_sValue;
NSStringFinder::CutInside<std::string>(sCharset, "\"");
}
// Content
nTagEnd = nNextFound - 2;
if(nTagEnd == std::string::npos || nTagEnd < nContentTag)
{
nFound = nNextFound;
return;
}
std::string sContent = sFileContent.substr(nContentTag, nTagEnd - nContentTag);
std::string sContent = sMhtContent.substr(unContentPosition, sMhtContent.length() - unContentPosition);
// Удаляем лишнее
sFileContent.erase(0, nNextFound);
nFound = sFileContent.find(sBoundary);
std::wstring sExtention = NSFile::GetFileExtention(UTF8_TO_U(sName));
std::transform(sExtention.begin(), sExtention.end(), sExtention.begin(), tolower);
// std::wstring sExtention = NSFile::GetFileExtention(UTF8_TO_U(sName));
// std::transform(sExtention.begin(), sExtention.end(), sExtention.begin(), tolower);
// Основной документ
if(sContentType == "multipart/alternative")
if (NSStringFinder::Equals(sContentType, "multipart/alternative"))
oRes.WriteString(mhtTohtml(sContent));
else if((sContentType.find("text") != std::string::npos && (sExtention.empty() || sExtention == L"htm" || sExtention == L"html" || sExtention
== L"xhtml" || sExtention == L"css")) || (sContentType == "application/octet-stream" && (sContentLocation.find("css") !=
std::string::npos)))
else if ((NSStringFinder::Find(sContentType, "text") /*&& (sExtention.empty() || NSStringFinder::EqualOf(sExtention, {L"htm", L"html", L"xhtml", L"css"}))*/)
|| (NSStringFinder::Equals(sContentType, "application/octet-stream") && NSStringFinder::Find(sContentLocation, "css")))
{
// Стили заключаются в тэг <style>
if(sContentType == "text/css" || sExtention == L"css" || sContentLocation.find("css") != std::string::npos)
const bool bAddTagStyle = NSStringFinder::Equals(sContentType, "text/css") /*|| NSStringFinder::Equals(sExtention, L"css")*/ || NSStringFinder::Find(sContentLocation, "css");
if (bAddTagStyle)
oRes.WriteString("<style>");
if(sContentEncoding == "Base64" || sContentEncoding == "base64")
oRes.WriteString(Base64ToString(sContent, sCharset));
else if(sContentEncoding == "8bit" || sContentEncoding == "7bit" || sContentEncoding.empty())
if (NSStringFinder::Equals(sContentEncoding, "base64"))
sContent = Base64ToString(sContent, sCharset);
else if (NSStringFinder::EqualOf(sContentEncoding, {"8bit", "7bit"}) || sContentEncoding.empty())
{
if (sCharset != "utf-8" && sCharset != "UTF-8" && !sCharset.empty())
if (!NSStringFinder::Equals(sCharset, "utf-8") && !sCharset.empty())
{
NSUnicodeConverter::CUnicodeConverter oConverter;
sContent = U_TO_UTF8(oConverter.toUnicode(sContent, sCharset.data()));
}
oRes.WriteString(sContent);
}
else if(sContentEncoding == "quoted-printable" || sContentEncoding == "Quoted-Printable")
else if (NSStringFinder::Equals(sContentEncoding, "quoted-printable"))
{
sContent = QuotedPrintableDecode(sContent, sCharset);
if (sCharset != "utf-8" && sCharset != "UTF-8" && !sCharset.empty())
if (!NSStringFinder::Equals(sCharset, "utf-8") && !sCharset.empty())
{
NSUnicodeConverter::CUnicodeConverter oConverter;
sContent = U_TO_UTF8(oConverter.toUnicode(sContent, sCharset.data()));
}
oRes.WriteString(sContent);
}
if(sContentType == "text/css" || sExtention == L"css" || sContentLocation.find("css") != std::string::npos)
if (NSStringFinder::Equals(sContentType, "text/html"))
sContent = U_TO_UTF8(htmlToXhtml(sContent, false));
oRes.WriteString(sContent);
if(bAddTagStyle)
oRes.WriteString("</style>");
}
// Картинки
else if((sContentType.find("image") != std::string::npos || sExtention == L"gif" || sContentType == "application/octet-stream") &&
(sContentEncoding == "Base64" || sContentEncoding == "base64"))
else if ((NSStringFinder::Find(sContentType, "image") /*|| NSStringFinder::Equals(sExtention, L"gif")*/ || NSStringFinder::Equals(sContentType, "application/octet-stream")) &&
NSStringFinder::Equals(sContentEncoding, "base64"))
{
if(sExtention == L"ico" || sContentType.find("ico") != std::string::npos)
sContentType = "image/jpg";
else if(sExtention == L"gif")
sContentType = "image/gif";
// if (NSStringFinder::Equals(sExtention, L"ico") || NSStringFinder::Find(sContentType, "ico"))
// sContentType = "image/jpg";
// else if(NSStringFinder::Equals(sExtention, L"gif"))
// sContentType = "image/gif";
int nSrcLen = (int)sContent.length();
int nDecodeLen = NSBase64::Base64DecodeGetRequiredLength(nSrcLen);
BYTE* pData = new BYTE[nDecodeLen];
@ -385,50 +327,46 @@ static void ReadMht(std::string& sFileContent, size_t& nFound, size_t& nNextFoun
}
}
static std::string mhtTohtml(std::string& sFileContent)
static std::string mhtTohtml(const std::string& sFileContent)
{
std::map<std::string, std::string> sRes;
NSStringUtils::CStringBuilderA oRes;
// Поиск boundary
size_t nFound = sFileContent.find("boundary=");
if(nFound == std::string::npos)
NSStringFinder::TFoundedData<char> oData{NSStringFinder::FindPropety(sFileContent, "boundary", {"="}, {"\\r", "\\n", "\""})};
size_t nFound{oData.m_unEndPosition};
std::string sBoundary{oData.m_sValue};
if (sBoundary.empty())
{
size_t nFoundEnd = sFileContent.length();
nFound = 0;
ReadMht(sFileContent, nFound, nFoundEnd, "no", sRes, oRes);
ReadMht(sFileContent.substr(nFound, nFoundEnd), sRes, oRes);
return oRes.GetData();
}
size_t nFoundEnd = sFileContent.find_first_of(";\n\r", nFound);
if(nFoundEnd == std::string::npos)
return "";
nFound += 9;
if(sFileContent[nFound] == '\"')
{
nFound++;
nFoundEnd--;
}
if(nFound > nFoundEnd)
return "";
std::string sBoundary = sFileContent.substr(nFound, nFoundEnd - nFound);
NSStringFinder::CutInside<std::string>(sBoundary, "\"");
size_t nFoundEnd{nFound};
sBoundary = "--" + sBoundary;
size_t nBoundaryLength = sBoundary.length();
// Удаляем лишнее
nFound = sFileContent.find(sBoundary, nFoundEnd);
sFileContent.erase(0, nFound);
nFound = sFileContent.find(sBoundary, nFound) + nBoundaryLength;
// Цикл по boundary
nFound = 0;
while(nFound != std::string::npos)
{
// Выход по --boundary--
if(sFileContent[nFound + nBoundaryLength + 1] == '-')
break;
nFoundEnd = sFileContent.find(sBoundary, nFound + nBoundaryLength);
if(nFoundEnd == std::string::npos)
break;
ReadMht(sFileContent, nFound, nFoundEnd, sBoundary, sRes, oRes);
ReadMht(sFileContent.substr(nFound, nFoundEnd - nFound), sRes, oRes);
nFound = sFileContent.find(sBoundary, nFoundEnd);
}
std::string sFile = oRes.GetData();
for(const std::pair<std::string, std::string>& item : sRes)
{
@ -440,10 +378,18 @@ static std::string mhtTohtml(std::string& sFileContent)
while(found != std::string::npos)
{
size_t fq = sFile.find_last_of("\"\'>=", found);
if (std::string::npos == fq)
break;
char ch = sFile[fq];
if(ch != '\"' && ch != '\'')
fq++;
size_t tq = sFile.find_first_of("\"\'<> ", found) + 1;
if (std::string::npos == tq)
break;
if(sFile[tq] != '\"' && sFile[tq] != '\'')
tq--;
if(ch != '>')
@ -456,6 +402,7 @@ static std::string mhtTohtml(std::string& sFileContent)
found = sFile.find(sName, tq);
}
}
return sFile;
}
@ -587,7 +534,7 @@ static void build_attributes(const GumboVector* attribs, bool no_entities, NSStr
}
}
static void prettyprint_contents(GumboNode* node, NSStringUtils::CStringBuilderA& contents)
static void prettyprint_contents(GumboNode* node, NSStringUtils::CStringBuilderA& contents, bool bCheckValidNode)
{
std::string key = "|" + get_tag_name(node) + "|";
bool no_entity_substitution = no_entity_sub.find(key) != std::string::npos;
@ -618,7 +565,7 @@ static void prettyprint_contents(GumboNode* node, NSStringUtils::CStringBuilderA
contents.WriteString(val);
}
else if ((child->type == GUMBO_NODE_ELEMENT) || (child->type == GUMBO_NODE_TEMPLATE))
prettyprint(child, contents);
prettyprint(child, contents, bCheckValidNode);
else if (child->type == GUMBO_NODE_WHITESPACE)
{
if (keep_whitespace || is_inline || is_like_inline)
@ -633,23 +580,33 @@ static void prettyprint_contents(GumboNode* node, NSStringUtils::CStringBuilderA
}
}
static void prettyprint(GumboNode* node, NSStringUtils::CStringBuilderA& oBuilder)
static void prettyprint(GumboNode* node, NSStringUtils::CStringBuilderA& oBuilder, bool bCheckValidNode)
{
// special case the document node
if (node->type == GUMBO_NODE_DOCUMENT)
{
build_doctype(node, oBuilder);
prettyprint_contents(node, oBuilder);
prettyprint_contents(node, oBuilder, bCheckValidNode);
return;
}
std::string tagname = get_tag_name(node);
if (bCheckValidNode)
bCheckValidNode = !IsUnckeckedNodes(tagname);
if (bCheckValidNode && html_tags.end() == std::find(html_tags.begin(), html_tags.end(), tagname))
{
prettyprint_contents(node, oBuilder, bCheckValidNode);
return;
}
std::string close = "";
std::string closeTag = "";
std::string tagname = get_tag_name(node);
std::string key = "|" + tagname + "|";
bool is_empty_tag = empty_tags.find(key) != std::string::npos;
bool no_entity_substitution = no_entity_sub.find(key) != std::string::npos;
// determine closing tag type
if (is_empty_tag)
close = "/";
@ -665,7 +622,7 @@ static void prettyprint(GumboNode* node, NSStringUtils::CStringBuilderA& oBuilde
oBuilder.WriteString(close + ">");
// prettyprint your contents
prettyprint_contents(node, oBuilder);
prettyprint_contents(node, oBuilder, bCheckValidNode);
oBuilder.WriteString(closeTag);
}

View File

@ -0,0 +1,213 @@
A [Ü, Ha, Ağ, Ac, Ad, Da, Fa, Ah, Ka, Al, An, Na, Qa]
qocalmaq [almayacaq, almamaq]
Alderaan'ın [Federasiyanın]
hamısı
həmçinin
cavab
dir
incəsənət
kimi
da
uzaq
körpə
zirzəmi [zəmində]
ol
olub
doğuldu [doğulduğu, doğurduğu]
bulvar [bunlar]
fasilə
nəsllər [nəsillər, nəsnələri, nəslə, nələrlə, səslər]
gəlin
lakin
al
ilə
Kaliforniya [Kanalizasiya]
Kalifornikasiya [Kommunikasiya]
bilər
kartlar
şans
Çin
çənə [dənə, çəkə, mənə, nənə, sənə, tənə, çənəyə]
klublar
Cobain []
bürc [borc, gürcü]
nəzarət
qiymət
edə bilməzdim [bilməzdim]
yaratmaq
lənət
rəqs
saziş
sövdələşmələr [məsləhətləşmələr]
dağıdıcı
almazlar [almanlar, almaz lar, almaz-lar, almaları, marallar, mallara]
etməz
etməyərik [etmərik, etmədikləri]
arzu
xülyalar [yalanlar]
Şərq
kənar
kənarları [kənar ları, kənar-ları, kənarına, kənarında, kəlamları, aparılarkən]
məmnunluq
hamının
uzaq
peri [şeri, geri, meri, yeri]
solğun [dolğun]
üz
son
tap
ilk
üçün
-dan [-dam, -da, -an, -dana, -adan, -nda, -daş, -dən, -dağ, -can, -dad, -din, -lan, -don, -qan, adan, andan]
sərhəd
qız
qızın
yaxşı
gitara [artaraq]
əl
hardcore [hardadır]
var
yoxdur
o [od, ol, on, ot, ov, ox, ü, ı]
eşitmək
ürək
O'nun [Onun, Oyununu]
ona
gizli
yüksək
ona
onun
Hollivud [Holland]
Mən
Mənəm
əgər
içində
məlumat
içində
dir
bu
jack [janra]
sadəcə
kral
qohum
bilmək
qoyulmuş
qanun
yerləşdirilmək [yerləşdirilməsi, yerləşdirilmiş, yerləşdirilib, yerləşdirildiyini]
qurğuşun [quruluşunun]
aparmaq
yerləşdirilmə [yerləşdirilməsi, yerləşdirilmiş, yerləşdirilib, yerləşdirildiyini]
məkan
sevmək
şans
edilmiş
adam
çox
Evlənmək
maska [masa, marka]
o bilər [bilərlər, bilər]
bəlkə də [bəlkə]
mənası
mən
meditasiya [dissertasiya]
xatirə
ılın
pul
mənim
heç vaxt [vaxtsa]
deyil
heç nə [heçə]
nömrələr [nömrələri, nömrə lər, nömrə-lər, nömrəli, nömrə]
of [od, əf, ol, on, ot, ov, ox, ofis]
of [od, əf, ol, on, ot, ov, ox, ofis]
üstündə
bir
yalnız
və ya [vəla]
nəticə
öz
Ödə [Də, Ədə, Adə, Edə, Idə, Öndə, Ölə, Önə]
Şəftəli [Həftəlik]
yerlər
oynayır
oynamaq
əhali
porno [sponsor]
tərifləmək [təriflər, təklifləri, təkliflərlə, təkliflərə]
ehtimal ki [ehtimal]
ehtimal
psixik [psixi, psixoloji]
kraliça [kralı]
qaldırmaq
qalan
hörmət
qalxmaq
yol
xam
müqəddəs
Xilas et [Xilası]
elmi
çığırmaq [çağırmaq, çıxarmaq]
satılır
şəkil
xəstələnmək [xəstələnməyi, dəstəklənməsi]
gümüşçü [gümüş]
dəri
əsgər
bir şey [şeydir]
Mahnı
mahnılar
qılınclar [qılınc lar, qılınc-lar, qılıncı]
büyü [böyüyü]
casuslar [ruslar]
ulduz
Stansiya
oğurlamaq [vurğulamaq]
daşlar
günəş
şübhəli
İsveç
qılınclar [qılınc lar, qılınc-lar, qılıncı]
yeniyetmə
test
dandan [andan, candan, qandan, yandan, danışanda, adından, yanından, canından]
bu ki [builki]
bu ki [builki]
bu
onların
bu
onlar
düşünmək
bu
onlar
gel-git [get-gedə]
üçün
deyilmişəm [deyilmiş əm, deyilmiş-əm, deyilmişdi, deyilmiş, deyilmi, deyiləm]
çox
cəhd et [cəhdlər]
başa düşdüm []
qilin [ilin, bilin, dilin]
titrəmək [itirməmək, itirmək]
mübarizə aparır? []
istəyirəm
müharibə
idi
dalğalar [qadağalar, dağlarda, adalar, dağlar]
geymək [getmək, getməmək]
silahlar
yaxşı
idarə olunan [olunanlardan]
Qərbi [Hərbi, Qəbri, Qərb, Qərbin, Qəbir, Qərbə, Qəlbi]
arasında
qalib gəlmək [qaliblərin]
qalib gəlir [qalibləri]
ilə
qadın
dünya
səhv
siz
sizə
sənsən [səndən, sən sən, sən-sən, nədənsə, mənsə, sənə, səslənən]
sənin

View File

@ -0,0 +1,212 @@
A [А, Е, О, И, В, С, Я, У]
остаряване
Алдераан [Дерайлиран]
всичко
също
и
отговор
са
изкуство
като
в
далеч
бебе
мазе
бъда
било
роден
булевард
почивка
породи
невеста
но
купувам
от
Калифорния
Калифорникация [Калифорнийския, Калифорнийка, Калифорния]
може
карти
шанс
Китай
брадичка
клубове
Кобейн [Кобен]
съзвездие
контрол
цена
не можех [можехме]
създаване
проклятие
танц
сделка
сделки
унищожение
диаманти
не прави [неправи, неуправии, неправдиви]
не правим [непоправим]
мечта
мечти
Изток
ръб
ръбове
екстаз
всеки
далеч
приказка
избледнява
лица
краен
намирам
първи
за
от
предел
момиче
момичето
добре
китара
ръка
хардкор [хардуер]
има
няма
той
чуя
сърце
той е [той]
нейни
скрит
висок
него
негов
Холивуд
аз
аз съм [разсъмна]
ако
в
информация
вътре
е
това е [товарен]
вале
просто
крал
родственик
знам
определен
закон
поставям
водя
води
местоположение
обичам
късмет
направен
човек
много
Ожени се [Брожение]
маска
май
може би [можещи]
означава
аз
медитация
спомен
ума
пари
моя
никога
не
нищо
числа
от
изключен
на
един
само
или
изход
свой
Плати
праскова
места
играе
играя
население
порно [бурно, орно, порено, опорно, спорно, упорно, порна, парно, порне, поено, порни, потно, торно, морно, горно]
похвала
вероятно
вероятен
психичен
кралица
въздигам
останал
почит
възход
път
груб
светия
Спасявам
наука
крясък
продава
форма
по-болен
златар
кожа
войник
някаква
Песен
песни
пикове
заклинание
шпиони
звезда
стация [станция, стария, статия, стадия, атестация, стагнация]
крада
камъни
слънце
подозрителен
Швеция
мечове
тийнейджър [тинейджър, пейджър]
тест
отколкото
това
това е [товарен]
на
техни
тези
те с [тесте]
мисли
този
той
прилив
до
каза
също
опитайте
разбрано
еднорог [едно рог, еднороден]
вибрация
водене? [водене, неводен, воден]
искам
война
беше
вълни
носете
оръжия
Ами
бяха
Западна
какво
докато
победа
победи
със
жена
свят
грешка
ти
ти би [табиети]
ти си [тифуси]
вашият

View File

@ -0,0 +1,112 @@
amor
llum
lluum [lluu, llum, lluus, lluïm, lluu m]
esperança
espirança [esperança, espirant, espinçadora, espinça, espira]
llibertat
força
forrça [forra, força, forçar]
pau
somni
llibre
mar
amistat
cançó
flor
cel
estrella
temps
camí
vent
muntanya
mumntanya [muntanya, muntanyà, muntant]
riu
soroll
silenci
viatge
foc
gel
paraula
vida
dia
nit
tarda
matí
lluna
sol
llac
marbre
ferro
sal
mel
sucre
peix
ocell
oceoll [ocell]
joc
ritme
melodia
pintura
pentura [puntera, entura, pintura, puntura, ventura, penetrant, apertura, parapent]
teatre
dansa
poema
història
llegenda
mitologia
festa
música
vi
cervesa
cervessa [cervesa, cer vessa, cer-vessa, cerves sa, cerves-sa, cervesera, cerveseria, cerveser, cessava]
formatge
pa
ciutat
poble
natura
camp
bosc
platja
sorra
sorrà
pedra
ànima
cos
ment
cor
somriure
somriàre [somriure, somrient]
abraçada
bes
parla
oida [oidà, oïda, ioda, odia, aido, oia, oda, oiada, oxida, aida, sida, onda, mida, dida, vida]
vista
tacte
gust
olfacte
color
forma
número
lletra
sistema
regla
escola
universitat
univversitat [universitat, universitari, universalitat, universalitzat, universalista]
mestre
estudiant
sabiduria [sabuderia]
lliçó
pregunta
resposta
risposta [resposta, disposta, ris posta, ris-posta, risp osta, risp-osta, trasposta, posteritat, riosta, polvorista]
dubte
certesa
veritat
mentida
promesa
secret
descoberta
descaberta [descoberta, desca berta, desca-berta, descabestrat, descartable, descabota, descarta]
aventura
destinació

View File

@ -0,0 +1,212 @@
A
envellir
Alderaan [Aldebaran, Aldebrand, Aldeana, Anedera]
tot
també
I
resposta
és
art
com
a
lluny
nadó
celler
ser
ha estat [hastat]
nat
bulevard
pausa
generacions
núvia
però
comprar
amb
Califòrnia
Californication [Californiana, Californita]
pot
cartes
oportunitat
Xina
mentó
clubs
Cobain [Cobai, Cobais, Cobrin, Cob ain, Cob-ain, Cobalamina]
signe del zodíac [signé del zodíac, signè del zodíac, sígne del zodíac, sïgne del zodíac, signE del zodíac, Signe del zodíac, sIgne del zodíac, sigNe del zodíac, siGne del zodíac]
control
preu
no podria [nodriria, podriria, nodria]
crear
maleït
ballar
acord
negocis
destructiu
diamants
no fer [noosfera]
no fem [nomenem]
desitjar
somnis
Est
vora
voreres
satisfacció
tots
llunyà
fada
pallid [pallis, palli, pallin, pali]
cara
final
trobar
primer
per
de
frontera
noia
la noia [la noïa, la Noia]
guitarra
hardcore [recordar]
hi ha [hifa]
no hi ha [nó hi ha, nò hi ha, nO hi ha, No hi ha]
ell
sentir
cor
ell és [estellés]
seva
secret
alt
ell
seu
Hollywood
jo
sóc
si
en
informació
interior
és
és
jack
només
rei
parent
saber
fixat
llei
col·locar
plom
portar
col·locació
lloc
estimar
oportunitat
fet
home
molts
casar-se
màscara
podria
potser
sentit
jo
meditació
memòria
ment
diners
meu
mai
no
res
números
de
fora
sobre
un
només
o
resultat
seu
pagar
préssec
llocs
jugar
joc
població
porno
elogiar
probablement
probable
psíquic
reina
elevar
restant
respecte
pujar
camí
cru
sant
salvar
ciència
crit
vendres [vendre's, vendre]
figura
malalt
joier
pell
soldat
alguna cosa [glucosamina]
cançó
cançons
cims
encanteri
espies
estrella
estació
robar
pedres
sol
sospitós
Suècia
espases
adolescent
prova
que
que
això
seu
aqueixos
ells
pensar
aqueix
ells
marees
per
no he estat [nó he estat, nò he estat, nO he estat, No he estat]
molt
intentar
entendre
fer
tremolar
lluitar
desitjar
guerra
va ser [vaser, serva]
ones
portar
armes
administrat
Oest
què
entre
guanyar
guanya
amb
dona
món
equivocat
tu
vostè
tu ets [tubets]
teu

View File

@ -0,0 +1,206 @@
pomaliý [pomalý, pomaličku]
šťstný [šťastný]
smuutný [smutný, smutnu]
horcký [horký, horácký, horecký, horský, hornický, horňácký]
studiený [studený, studie]
záludnast [záludnost, záludný]
náhodillost [nahodilost, náhodnost]
úpěnlevý [úpěnlivý, úpletový]
rozspačitý [rozpačitý, rozpačitěný]
svéhllavý [svéhlavý, svéhlavička]
jablko
slunce
voda
dům
pták
káva
chleba
květina
kniha
pes
kočka
město
zelený
modrý
červený
bílý
černý
velký
malý
rychlý
pomalý
šťastný
smutný
horký
studený
nový
starý
hezký
ošklivý
dobrý
špatný
zdravý
nemocný
silný
slabý
chytrý
hloupý
pracovat
jíst
pít
spát
číst
psát
mluvit
smát se [smát]
plakat
zpívat
hrát
tančit
učit se [učitele]
nakupovat
vařit
telefonovat
dívat se [sedívat]
poslouchat
chodit
běžet
létat
plavat
psát
učit se [učitele]
dělat
mít
být
jít
přijít
odejít
dát
vzít
říct
vidět
slyšet
cítit
myslet
chtít
moct
muset
rád
nerad
ano
ne
prosím
děkuji
na shledanou [shledanou, dohledanou, shledávanou, ohledanou]
omlouvám se [omlouvání]
sbohem
ahoj
čau
hej
jo
fakt
super
blbost
paráda
no jo [nojo]
jasně
takže
vlastně
třeba
snad
leštěnka
pochmurný
živelný
ponaučení
záhada
pochybnost
nádhera
soucit
záludnost
náhodilost [nahodilost, náhodnost]
úpěnlivý
rozpačitý
svéhlavý
marnivost
blahodar [blaho dar, blaho-dar, lahoda]
rozčarování
odchylka
přelud
vytrvalost
neústupnost
lehkost
souznění
rozmarnost
roztržitost
úskočnost
rozkoš
marasmus
rozpolcenost
neúprosnost
ztřeštěnost
chmurnost
okouzlení
zářivost
vyrovnanost
neochvějnost
neúcta
bizarnost
rozmařilost
nepochopení
nevýslovný
pomíjivost
beznaděj
úzkost
odtažitost
rozerv [rozerve, rozervi, rozervu, rezerv, rozervat]
rozervanost
vyčerpanost
bezcitnost
záludnost
nezdolnost
rozkošátnost [rozkošnost, rozkošatěnost, rozkošnickost, rozkoktanost]
nezdolatelnost
rozmarnost
živelnost
bezútěšnost
záhadnost
neposkvrnitelnost [nepotiskovatelnost, nepopisovatelnost, nepřemostitelnost, nezvratitelnost]
rozkošnělost [rozkošatělost, rozkošnost, rozkošnickost, rozkošatěnost]
bezradnost
neuchopitelnost
pošetilost
opojení
rozervanost
marnost
bezstarostnost
nevinnost
náladovost
vyrovnanost
ztracenost
bezbřehost
rozervanost
opojení
bezradnost
neuchopitelnost
pošetilost
opojení
rozervanost
marnost
bezstarostnost
nevinnost
náladovost
vyrovnanost
ztracenost
bezbřehost
opojení
bezradnost
neuchopitelnost
pošetilost
opojení
rozervanost
marnost
bezstarostnost
nevinnost
náladovost
vyrovnanost
bezbřehost

View File

@ -0,0 +1,129 @@
Hej
Goddag
Tak
Ja
Nej
Måske
Mad
Vand
Hus
Bil
Tog
Cykel
Skole
Børn
Far
Mor
Søster
Bror
Hund
Kat
Fisk
Fugl
Træ
Blomst
Græs
Sol
Måne
Himmel
Regn
Sne
Sommer
Vinter
Forår
Efterår
Aften
Nat
Dag
Uge
Måned
År
Læse
Skrive
Tale
Lære [Lære, Læres, Lærer, Læren, Læreø, Læreå, læreå]
Arbejde
Sove
Vågne
Løbe
Sidde
Stå
Lytte
Se
Høre [Høre, Høres, Hører, Høreø, Høreå, høreå]
Spise
Drikke
Kød
Frugt
Grøntsager
Ost
Brød
Vand
Juice
Kaffe
Te
Mælk
Smør [Smør, Smøre, Smørs, Smør']
Æg
Salt
Peber
Sukker
Bolle
Smørrebrød
Køkken
Stue
Soveværelse
Badeværelse
Toilet
Bord
Stol
Sofa
Lampe
Vindue
Dør
Gulv
Loft
Væg
Sofa
Pude
Tæppe
Badekar
Håndvask
Spejl
Håndklæde
Seng
Dyne
Dynee [Dynes, Dyner, Dyne, Dynen, Dynge, Dynees, Dynete, Dyneel, Dynele, Dyneed, Dyneeg, Dyneem, Dynefe, Dyneve]
Pude
Pudee [Pudene, Pudre, Puder, Pude, Pudes, Pudse, Puden, Pudet, Pudel]
Alarm
Alarmm [Alarm, Alarms]
Skrivebord
Stol
Hus
Hund
Kat
Katt [Kett, Katy, Katty, Kate, Kitt, Kata, Kato, Matt, Watt, Kat, Kast, Kats, Takt, Kart, Katte]
Bil
Skole
Skolee [Skolie, Skolede, Skoler, Skole, Skoles, Skolen, Skolet, Skolde]
Sol
Soll [Sol, Sole, Sols, Soli, Sola, Sall, Sold, Solo, Soul]
Vand
Vandd [Vanda, Vandy, Vandt, Vand, Vands, Vande, Vandr]
Mad
Madd [Mads, Maud, Mad, Made, Mand]
By
Barn
Barnn [Barni, Baran, Barny, Barn, Baren, Barns, Baron]
Tørklæde
Skæbne
Uafhængighed
Kærlighed
Kærligheed [Kærlighed, Ærlighed, Hæderlighed, Herlighed, Liderlighed]
overbelastning
Modstandsbevægelsen
Uafhængighedserklæringen
Forårssommertemperaturen
Stabiliseringsperioden

View File

@ -0,0 +1,131 @@
Ägyptologie
Ährenamt [Ährensamt, Ährenast, Ährenart, Ährenact, Ährenabt, Ährenakt, Ährenaxt, Ehrenamt, Ohrenamt, -ährenamt, Ährenartig]
Ängstlichkeit
Äquatoria
Abarbeiten
Abbild
Abbilden
Abbildungs [Abbildung, Abbildungs-, Bildungsnah, Unbildung]
Abbreviatur
Abbrüche
Abfassen
Abfertigen
Abfolge
Abfuhr
Ableugnen
Ablichten
Ablöse
Absätze
Abschnitts
Abwechseln
Abwehren
Aktiv
Britannia
Browserfenster
Budgetieren
Bugpartie
Bukarester
Burgundersoße
Butterkrem
Button
Cabriolet
Campanile
Canapé
Caprice
Celsius
Chamäleon
Charakteristik
Chronometer
Chronometrie
Cölln
Connectzustände
Cursorspur
Däne
Dachs
Dahindämmern
Darbringen
Daten
Datenbankserver
Desktopsystem
Detektivfilm
Dichtertum
Dinosaurier
Direktion
Diskantgambe
Diskothek
Druckereicode
Kapsel
Karausche
Katzen
Klinge
Klinke
Kohlrabi
Koinzidenz
Kolleg
Komplott
Meereis
Mehrphasigkeit
Memorieren
Messen
Methode
Metrowaggon
Meute
Migräne
Milieuforschung
Mindern
Mineralien
Mitternacht
Mobiliar
Mohrrübe
Mühelosigkeit
Normativität
Notifikation
Ökonomie
Orangeton
Osten
Subjekt
Subsidiarität
Subsumieren
Tagfalter
Speicher
Spielzeugsammlung
Zahler
Сложные слова []
Zurückgezogenheit
Äquipotentialfläche
Äußerungsbedeutung
Abfassungszeitraum
Abgeschlossenheits [Abgeschlossenheit, Abgeschlossenheits-, Unabgeschlossenheit, Aufgeschlossenheit, Abgeschlagenheit, Geschlossenheit]
Adjunktionsbeseitigung
Anknüpfungsgrundsätze
Chiffrierschlüssel
Knochenmarktransplantation
Bundeskaderathlet
Carbonsäurechlorid
Cardiazoltherapie
Chancenungleichheit
Charakterisierungsmöglichkeit
Chlorophyllkonzentration
Computerspielemarkt
Deindustrialisieren
Dekodierungsmöglichkeit
Kartoffelschälmesser
Kernspinresonanztomographie
Merkmalskombination
Nachbarschaftszentren
Opportunitätsprinzip
Tiefenstaffelung
Tourismusfachmann
Sequenzbetrachtung
Слова с ошибками []
Dechifrierprogramm [Dechiffrierprogramm, Liederprogramm]
Administratorkenwort [Administratorkennwort, Administratorkonto, Administratorrecht, Distriktadministrator, Distriktsadministrator]
Spigeln [Spiegeln]
Tätigkeite [Tätigkeit, Tätigkeiten, Untätigkeit, Nagetätigkeit, Mildtätigkeit, Regietätigkeit]
Draufgangertum [Draufgängertum, Draufgänger]
Abschnit [Abschnitt, Abschritt]
Komunikation [Kommunikation, Exkommunikation, Kommunikativ, Kommunikator, Komplikation]
Drackereicode [Druckereicode, Dreidecker]
Bumeln [Baumeln, Bummeln, Blumen, Brummeln, Bummel]

View File

@ -0,0 +1,116 @@
Alpinist
Alteration
Alternative
Alumne
Amateurfilmer
Ambulanz
Amtmänner
Analogie
Analytik
Ananas
Angabe
Ankünfte
Dynastie
Ebenbürtigkeit
Echtheitszertifikat
Editionspläne
Editor
Ehrenamtlichkeit
Eigentümerschaft
Einbau
Eindringling
Eingabequittungsbetrieb
Einhüllen
Einkommen
Einloggen
Einschließen [Einschliessen, Einschliefen]
Einsortier [Einsortier-, Einsorter, Eintortier, Einportier, Einvortier, Einsortiere, Einsortiert, Unsortierter, Unsortiert, Einzusortieren, Sortieren]
Elaboration
Elementar
Entertainer
Entkuppeln
Entschädigungs [Entschädigung, Entschädigungs-, Entschädigungslos, Entschädigens, Entschädigen]
Enumerator
Erbringen
Erdichten
Erfahrenheit
Erhalt
Erleichtern
Ersparnis
Erstatten
Erzählliteratur
Helikopter
Helpdesk
Herunterladen
Hindeuten
Hinterlassenschaft
Hiob
Landesprache [Landessprache, Landesrache, Landsprache, Ladesprache, -landesprache]
flexibilität [Flexibilität, -flexibilität, flexibilisiert]
floristisch
flugbillet [Flugbillet, -flugbillet, flugbereit]
heroben
herrichten
herstellen
herübereilen
herunterzubücken
hie
hieraus
hilfe [Hilfe, hilf, hilfe-, -hilfe, helfe, hilft, hälfe]
himbeere [Himbeere, -himbeere, himbeer-, himbeerrot]
justiz [Justiz, justiz-, -justiz, justiziell]
kältebeständig
kärtchen [Kärtchen, -kärtchen, Gärtchen, Bärtchen, kärglichen]
känguru [Känguru, -känguru]
kaktusgewächs [Kaktusgewächs, -kaktusgewächs, ausgewechselt]
kalligrafie [Kalligrafie, -kalligrafie, kalligrafiere, kalligrafische, kalligrafisch]
kamel [Kamel, kamel-, -kamel, kamen, rammel]
kampagnendirektor [Kampagnendirektor, -kampagnendirektor, kampagnenartig]
kapazitär
kapitalist [Kapitalist, -kapitalist, kapital ist, kapital-ist, kapitalistisch, kapitalisierst, kapitalisiert, kapitalstark]
karamell [Karamell, karamell-, -karamell, lamellar]
kardieren
karpfen [Karpfen, -karpfen, krampfen]
katalogdaten [Katalogdaten, -katalogdaten, katalogartigen]
lyzeum [Lyzeum, -lyzeum]
mahagonirot
makkaroni [Makkaroni, -makkaroni, marokkanisch]
malerausbildung [Malerausbildung, -malerausbildung, ausbildungsreif]
management [Management, -management, managen, gemanagt, angemahnt]
mangel
maniküre
manneskraft [Manneskraft, -manneskraft, maskenhaft]
mansarde [Mansarde, -mansarde, ansparende]
mark [Mark, -mark, merk, park, Sark, Park, Bark, markig]
marketingpraktiker [Marketingpraktiker, -marketingpraktiker, marketingorientiert, marketingwirksamer]
maschinell
massage [Massage, massage-, -massage, massige, Passage, Gassage, passagere]
massengutschifffahrt [Massengutschifffahrt, -massengutschifffahrt, maschinenschriftlich]
materie [Materie, -materie, materiell, materiefrei, maturiere, mattier]
medaille [Medaille, -medaille, medaillenlos]
medizinalshampoo [Medizinalshampoo, -medizinalshampoo, sozialmedizinisch]
meeresfrüchte [Meeresfrüchte, -meeresfrüchte, Heeresfrüchte, meeresfeuchte, meeresfeucht, früchtereiche, früchtereich]
quotient [Quotient, -quotient, quotiert, quotieren, quotiere, quotisieren]
salonwagen [Salonwagen, -salonwagen, lossagen]
satzeinleitend
trilateral
tristesse [Tristesse, -tristesse, tristeste, trist esse, trist-esse, triste, rissfeste, stresse, rissfest]
tropen [Tropen, tropfen, tropen-, -tropen, trogen, tropenfest]
vereisen
verfahren
verfügungs [verfügungs-, verfügen]
verhindern
verkäufer [Verkäufer, -verkäufer, verkämpfe, verkaufe, verkupfer]
Слова с ошибками []
Anbindungsystem [Anbindungssystem]
Anglistikdocent [Anglistikdozent, Anglistikstudent, Linguistikdozent]
Ecco [Echo, Codec]
Economclass [Economyclass, Economyklasse]
Einverstandnis [Einverständnis, Einverstandanis, Einverstandnils, Einverstandeis, Einverstandnil, Einverstanden, Seinsverständnis, Koranverständnis, Unverständnis]
Electrik [Elektrik, Electrabel]
Historique [Historisiere, Historie]
herüberzurucken [herüberzugucken, herüberzurücken, herüberzulocken, herüberzustrecken, herüberzublicken, herüberzuschicken]
kartofel [kartoniere]
salade [malade, lade]
sanddornbere [versandbereite]

View File

@ -0,0 +1,211 @@
Hallo
Guten Morgen [Morgenläuten, Morgenröten]
Danke
Bitte
Ja
Nein
Entschuldigung
Tschüss
Liebe
Freund
Familie
Glück
Gesundheit
Schule
Arbeit
Essen
Trinken
Wasser
Brot
Käse
Fleisch
Gemüse
Obst
Kaffee
Tee
Milch
Zucker
Salz
Pfeffer
Haus
Wohnung
Bett
Stuhl
Tisch
Sofa
Fernseher
Telefon
Computer
Buch
Zeitung
Schreiben
Lesen
Hören
Sehen
Fühlen
Laufen
Springen
Schwimmen
Tanzen
Singen
Lachen
Weinen
Freude
Trauer
Angst
Mut
Liebe
Hass
Freundschaft
Beziehung
Familie
Eltern
Kinder
Geschwister
Großeltern
Onkel
Tante
Cousin
Cousine
Ehemann
Ehefrau
Verlobung
Hochzeit
Scheidung
Geburt
Tod
Krankheit
Arzt
Krankenhaus
Medikament
Apotheke
Gesundheit
Wohlbefinden
Fitness
Diät
Schlaf
Ruhe
Entspannung
Sport
Fußball
Tennis
Schwimmen
Laufen
Radfahren
Wandern
Reisen
Urlaub
Strand
Sonne
Meer
Komplementär
Perspektive
Konsens
Integrität
Konsequenz
Authentizität
Korrelation
Charakteristik
Akzeptanz
Flexibilität
Assoziation
Dekomposition
Komplexität
Positivismus
Universalität
Stabilität
Individualität
Konsistenz
Konformität
Dezentralisierung
Kollaboration
Partizipation
Präzision
Transformation
Konkurrenz
Paradoxie
Redundanz
Regeneration
Integration
Isolation
Asymmetrie
Aggregation
Disziplin
Resilienz
Relevanz
Konfusion
Komplikation
Koordination
Harmonie
Ineffizienz
Konstruktion
Konversion
Kollusion
Gerontologie
Differenzierung
Dimensionalität
Inferenz
Fluktuation
Kontraktion
Rezession
Inflation
Dekontamination
Exzellenz
Innovation
Isomorphie
Konnotation
Insuffizienz
Konversion
Kompensation
Koalition
Inkongruenz
Inkontinenz
Kontrahent
Konfiskation
Konjunktur
Aggression
Konfrontation
Kompatibilität
Prognose
Akzeleration
Konstruktion
Diversifikation
Prävention
Sanktion
Indikation
Reduktion
Konkurrenz
Konfiguration
Konnotation
Rezession
Transformation
Interaktion
Kooperation
Innovation
Kollision
Proklamation
Konnotation
Konfrontation
Disposition
Konkordanz
Deklamation
Kollaboration
Isolation
Inflation
Diversifikation
Konnotation
Kompensation
Diffusion
Dekadenz
Konserve
Deklomotion [Deklamation, Deklination, Deletionsklon]
Kolaboration [Kollaboration, Kollaborativ, Elaboration, Korporation, Inkorporation]
Isollation [Isolation, Installation, Kollation, Solmisation, Spallation]
Infllation [Inflation, Inflationär, Inflammation, Inflationiere, Installation]
Divirsifikation [Diversifikation, Ossifikation, Kodifikation, Ratifikation]
Konotation [Konnotation, Korotation, Kinotation, Kontotation, Ökonotation, Konnotativ, Annotation, Notation, Konfrontation]
Kompenssation [Kompensation]
Difusion [Diffusion, Gasdiffusion, Infusion, Diskussion, Fusion]
Dekadens [Dekaden, Dekadenz, Dekadent, Dekade, Dekans, Dekagons, Dekkans]
Kanzerve [Verwanze]

View File

@ -0,0 +1,123 @@
Αβαντάζ
Αβασταγά
Αβγάτισες
αβέβαιο
αβέλτερο
αβέλτεροι
αβίαστους
άβλαβοι
αβοκάντο
αβράδιαστης
άβραστη
αβράχυντου
άβρεχτα
αβρή
αβρότης
άβυσσον
αγαθόν
αγαθούς
αγάλακτο
αγγούρι
αγελαδινού
αγέρα
αγεωμέτρητων
αγίνωτοι
άγκυρες
αγορεύσεις
αγόρευσή
αγορίνα
Αγοριού
Αγροληψία
Αρμόνια
βγαίνοντας
βεβαιώσεων
διάθεση
διαίρεση
Διαιρέσου
Διαιτολογίου
διαψεύσουν
διδασκάλισσας
ενασκήσεις
ενασχόληση
ενασχόλησή
ενδείξεις
ενδεχόμενον
ενδιαμέσου
Επιστήθιες
Επιστημο [Επιστημοσύνη]
Επιστολές
Επιστολή
εύπορους
ευρέα
ευρημάτων
ευρύτητά
ευσταθών
εύστροφα
ευσυνειδησία
εύτακτε
ευτελείς
ευτελίζουν
ιδρυτικό
ιεροψάλτες
Ιζόλα
Ιθαγένειάς
ικανότατος
ιλαρότης
κεφαλής
κεφαλιάτικες
κεφαλωτές
κήπε
κήπευση
Κήρυξής
Λεξικογραφιών
Λεξιλογικός
λεοντή
λεοντής
ολιγοχρόνιου
ολικέ
ολικές
ολική
πελαγώνω
πελατών
πελάων
προστατεύει
προστασίας
σούρουπου
σουρούπωμα
σούρτης
Σούρωνα
Σπαγέτα
Σφάλμα
Σφάλματά
σφικτά
σφικτέ
σφοδρότητας
σφοδρού
σφραγίσω
σχεδιάζουμε
σχεδιάζουν
σχηματίσου
σχηματίσουμε
σχολιάζεσαι
Σχολιάζεστε
Ενδιαφέροντα
Слова с ошибками []
Αβασiλευτου [Αβασίλευτου, Αβασίλευτο, Αβόλευτου]
αγαπούσαv [αγαπούσα, αγαπούσαν, αγαπούσε]
βeβαιωμένοι [βεβαιωμένοι, βεβαιωμένο]
εvασxόλησης [ενασχόλησης]
επιολικέ [επιστολικέ, επιστολικό]
ιδιωτικοποιήσειc [ιδιωτικοποιήσει, ιδιωτικοποιήσεις, ιδιωτικοποιήσετε, ιδιωτικοποιήσεως, ιδιωτικοποιήσεων, ιδιωτικοποιήστε]
λεπταίσθnτη [λεπταίσθητη, λεπταίσθητα, λεπταίσθητε, λεπταίσθητο]
πρoστιμάρισμα [προστιμάρισμα, στιμάρισμα]
σφάλμαtα [σφάλματα, σφάλμα]
προστάτεuε [προστάτευε, προστάτεψε, προστάτευσε, προστάτες, προστάτευα, προστάτευσα]
κεxριμπαριού [κεχριμπαριού, κεχριμπαρένιο]
διαισθnτικότητες [διαισθητικότητες, διαισθητικότητας, διαισθητικότητα, διαισθητικότης, αισθητικότητες]
αγκιστpώσουv [αγκιστρώσουν]
αγαθoεργiας [αγαθοεργίας]
αβεβαιoτητά [αβεβαιότητά, βεβαιότητά]
αγέρεc [αγέρες]
διδαούμε [διδαχθούμε, διδαχτούμε]
εuσταθειώv [ευσταθειών]

View File

@ -0,0 +1,116 @@
Acknowledge
acrophobia
adventurousness
aeronautics
algal
Alligator
allegation
alphabetise
Analogy
appropriable
assembly
attempt
Average
barbecue
bathtub
begun
belongingness
Better
binary
blackberry
boatswain
bow-tie
brambly
bright-eyed
bubble
Calender
cancellous
cantankerousness
carefree
categorized [categorised, categorise, categorisation, category, decorticated, cauterised, avant-grist]
cellular
chaos
cheerfulise
childlike
circumstance
close-mouthed
Cocoa
coherent
co-located
Colours
controversial
cottage
creditworthiness
cut-down
dedicated
deep-freeze
Definitive
Designs
digital
distensible
dollar
dyslexia
Egyptian
effectively
etiquette
excess
exotica
fairly
feedback
features
figure's
fjord
forty-seven
government
haematomata
helpless
homologous
implant
Indemnify
inexpert
interior
localises
loquaciousness
maelstrom
mechanizable
melodious
mezzo-soprano
mozzie
municipalisation
mystifier
Neoclassicism
newsletter
non-professional
officiation
orientalisation
palaeoanthropography
parrot
pickpocket
pioneer
cryptanalytic
simplifying
sommelier
spicy
steward
subcontinental
swimwear
Technical
trajectory
wholesomeness
Advantageously
interindustry
red-eye
sub-group
Слова с ошибками []
Acredited [Credited, A credited, Accredited, Accredit, Accreted, Creditable, Discredit, Acridity, Aegritude]
agressive [aggressive, regressive, digressive, progressive, transgressive, aggressor, expressive]
appreciativiness [appreciativeness, appreciatively, appreciative, appreciation, apprehensiveness, operativeness, provocativeness]
aritmetical [arithmetical, arithmetica, arithmetic, hermetical, antithetical, paramedical, grammatical]
biosyntesized [biosynthesized, nonsynthesised, synthesised, amniocenteses, amniocentesis]
lisense [license, senilise, linenise, sensualise, sensise, licence, licensable]
paranoa [paranoia, paranoid, paranormal, paragon, panorama, Paringa, parental]
fotoelectronic [photoelectronic]
semi transparent [semitransparent, transparentise, non-transparent, transparency, semi-permanent, transpiration, superintendence]
synonymus [synonyms, synonymous, synonym's, synonym us, synonym-us, synonym, anonymous, synchronous, synoecious, anonymise, unanimous]
wordprocessing [word-processing]

View File

@ -0,0 +1,125 @@
admire
admittance
aggrandizement
Airmen
Albatross
amateur
angling
apparatus
Architecture
assessment
attempt's
awakening
backgrounder
Balance's
barometric
bashfulness
beautiful
belletristic
blatancy
bonbon
border
Bottom
bountifulness
breakpoints
bulkiness
businesslike
can't
cash
castle
Casual
cauliflower
celebrity
childish
chokecherry
choreographically
chronological
classification
clearheaded
coalesce
Coexistence
collaborative
coloured's
concentration
draconian
drainpipe
demonstrativeness
dependence
dependency
dream
duplication
epidemiological
equitable
Essence
Exemption
exonerate
fainthearted
falsification
ferromagnetic
flammable
fraternization
French
frontier
gadget
galleria
Gallery
gateaux
geocache
ginger
glace
glacier
globalization
hockey
holiday
housemate
intensifier
joystick
Language
leaseholder
non-breakable
northerly
o'clock
oeuvre
openhandedness
oscillation
outface
outlaw
overladen
package
palazzo
panama
Paragraphs
Parliament
particular
pasteurization
pathogen
perception
phenomena
philanthropically
physical
populations
repugnance
request
resplendence
retroactive
rigidity
schedule's
School
scintillation
sensibility
settlement
taxiway
bereft
Слова с ошибками []
acomplishment [accomplishment, accomplish, compliment]
anihilate [annihilate, annihilator, annihilation]
caprise [caprice, cap rise, cap-rise, apprise]
chambre [chamber, chambray]
etnographically [ethnographically, pornographically, photographically, typographically, topographically]
horsmanship [horsemanship, sportsmanship, swordsmanship, marksmanship, showmanship]
innundation [inundation, foundation, annunciation, insinuation, intimidation]
lemongras [lemongrass, lemonades]
omelete [omelette, telemeter]
retorical [rhetorical, oratorical, categorical, theoretical, reportorial]
shepishness [sheepishness, snappishness, waspishness, impishness, foppishness]

View File

@ -0,0 +1,122 @@
Abbreviation
Acceptability
acquirable
Addressee
afterthought
airworthiness
all-powerful
amateurishness
amorphousness
anthology
Auspiciousness
Bibliographer
Bilberry
birthday
bodyguard
broadleaved
brontosaurus
bumptiousness
Cabaret
Californian
calumny
cancellation
cantonal
capitalize
careful
carry-on
casino
clown
co-ordinate
cockleshell
decennial
deckchair
decryption
deep-freeze
Democracy
financial
fish-plate
Flamenco
housing
Hybrid
hydroelectricity
iceboat
ichthyology
idiomatic
ill-humoured
imperatrix
individuality
interocular
intrasectoral
ironwoods
Jolliness
Jurisprudent
knowledgable
kopeks
labour-intensive
laboratory
lake
language
larynx
latching
leakiness
License
licensed
licensee
life-threatening
linguistics
long-lived
machinable
mainsheet
Major
malleability
man-hour
Mango
ninety-five
nobody
non-blocking
non-judicial
nonconforming
north-Western
nutritiousness
quasi-synchronous
question
racoon [raccoon, racoon's, contra]
radish
Railway
Rarity
saucer
Save
Saying
supplely
tallish
target
Taxi
teach-in
technician
ultramodern
umbrae
uncertainness
unconstitutionality
washing
wasn't
waxen
weather
well-formed
what's-his-name
whereupon
Wi-Fi
Wikipedia
Слова с ошибками []
Abstractnes [Abstractness, Abstractedness, Abstracter, Abstraction, Abstracted]
advantageusness [advantageousness, advantageous]
arhythmical [rhythmical, arrhythmical, a rhythmical, arrhythmic, arrhythmia]
autosuggestibility [auto-suggestibility]
kaptor [captor]
coldshouldering [cold-shouldering]
humaneneses [humaneness, humanenesses, humannesses, humanness, humanises, humblenesses]
imaginativness [imaginativeness, imaginative, imaginableness, imitativeness]
knight-erantry [knight-errantry, straight-eight]
magasine [magazine, magnesia, imagine]
night-wachman [night-watchman, nightmarish]
qualifidly [qualifiedly, qualified, squalidly]

View File

@ -0,0 +1,218 @@
apple
banana
cat
dog
egg
fish
gold
house
ice
juice
kite
lion
mouse
night
orange
pencil
queen
rabbit
sun
tea
umbrella
vase
watch
xylophone
yellow
zebra
arrow
book
cake
car
day
elephant
flower
hat
island
jelly
king
lamp
moon
nose
owl
pink
quilt
radio
sunflower
tree
unicorn
violin
water
xylophone
yellow
zoo
apple juice [applesauce]
blue
calculator
desk
elephant
fire
goat
hat
ice cream [creamer]
jacket
key
lemon
map
notebook
owl
pear
quilt
rose
soccer
table
umbrella
vegetable
whale
xylophone
yellow
zebra
apple pie [pineapple]
beach
computer
drum
elephant
goat cheese [headcheese]
hat
ice skate [cheapskate]
juice box [jukebox]
kite festival [quite festival]
lemonade
mountain
notebook paper []
orange juice [orangeade]
pizza
queen bee [quin bee, queen bi, keen bee, ween bee]
rainbow
snow
turtle
umbrella hat [umbrella]
valley
Aberration
Absolution
Acquiesce
Adumbrate
Aesthete
Altruistic
Ambivalent
Anomalous
Antediluvian
Antipathy
Aphorism
Apocryphal
Apostasy
Apparition
Arduous
Assiduous
Audacious
Austere
Autonomy
Avaricious
Axiomatic
Baleful
Bellicose
Belligerent
Bereft
Bilious
Bombastic
Cacophony
Capricious
Cartography
Castigate
Clandestine
Coalesce
Cogent
Cognizant
Colloquy
Concomitant
Confabulate
Congenial
Conundrum
Copious
Corpulent
Coven
Credulous
Culpable
Dearth
Debilitate
Deleterious
Denigrate
Despondent
Diatribe
Dilapidated
Disparage
Dissemble
Dissonance
Duplicity
Ebullient
Egregious
Ephemeral
Equanimity
Esoteric
Euphemism
Evanescent
Exacerbate
Exhort
Expatriate
Extol
Facetious
Fatuous
Feckless
Felicitous
Feral
Fervent
Fetter
Flummox
Fractious
Garrulous
Hegemony
Iconoclast
Idiosyncrasy
Ignominious
Impecunious
Ineffable
Inexorable
Inscrutable
Insidious
Intrepid
Intransigent
Invective
Irascible
Juxtapose
Kowtow
Languid
Lassitude
Lurid
Malinger
Maudlin
Mawkish
Mendacious
Metaphysical
Antransigent [Intransigent, Intransigence, Transient, Intransitive, Transcendent]
Inwective [Infective, Invective, Ineffective, Instinctive, Inactive]
Iracible [Irascible, Acquirable]
Juxtopose [Juxtapose, Juxtaposition]
Kovtow [Kowtow, Kowloon]
Langued [Languid, Languished]
Lasitude [Lassitude, Latitude]
Larid [Arid, L arid, La rid, La-rid, Laird, Lard, Laid, Lurid]
Mallinger [Malinger, Salinger, Lingering, Lingerer, Germinal]
Haudlin [Maudlin, Handling]
Mavkish [Mawkish, Mavis]
Mendocious [Mendacious, Mendocino]
Mitaphysical [Metaphysical, Physicality, Physical]
timeline [time line, time-line, timberline]
rollout [roll out, roll-out, rollover]
workshopped [work shopped, work-shopped, works hopped, works-hopped, workshop]
deliverables [deliverable, deliverable s, deliverers, deliberative, desirable]

View File

@ -0,0 +1,114 @@
Acceptably
Achievement
administrate
all-day
amount
average
bilayer
blasé
boutique
breezy
byers
cabdriver
carefree
categorised
Chameleon
cheerful
chronology
cliché
cooling-off
courage
crudités
decorates
dooryard
débâcle
electromotive
equalled
Exotica
fellow-traveller
forests
full-timer
graded
habitué
haven't
hide-and-seek
home-building
interaxial
kingdom
largeness
long-distance
Majority
manoeuvre
Matrix
metier
mightn't
multidisciplinary
night-time
officio
old-style
organize
overaggressive
packing
parenthesis
pince-nez
Plaint
play-act
policy-making
Preheat
prohibit
puzzle
queue
quite
re-enact
reason
ready-made
renewal
resize
rooihout
scampi
schoolteacher
sea-green
shop-boy
sidebar
skyscraper
soundless
spelling
stakeout
synchronizing
take-off
Thereof
Trademark
transportable
treatment
tweeness
under-age
unmake
Variate
Visitant
volume
webmaster
well-prepared
window
yesteryear
first-aid
Hydrant
inconstant
network
northernmost
nowhere
souvenir
telecommunicate
Слова с ошибками []
afordable [fordable, affordable, a fordable, formidable, recordable, foreseeable, adorable, avoidable, avoidably]
anthropologie [anthropology, anthropologies]
bagage [baggage, bag age, bag-age, Babbage, garbage, bagged, bagel, bakgat, ribcage]
comparatif [comparative, comparator, compatriot, comparable, comparability, comparably]
flammeble [flammable, flamelike, lamentable, blameless, flamed, flammability, flamboyance]
indivizible [indivisible, individualize, indiscernible, divisible, invincible, indefeasible, inadvisability]
jetlag [jet-lag]
lettrebox [letterbox, treble, storybook, legislature]
panoramma [panorama, Panorama, panoramic, paranormal, Panamanian, pentagram, paramagnet]
posessor [possessor, possess, assessor, processor, professor, poses, posses]
selfdoubt [self-doubt]
abandonner [abandoner, abandon, bandoleer, Ndondondwane, Bannerman, abundance, abundant]

View File

@ -0,0 +1,208 @@
nosotros
vosotros
ellos
ellas
aquí
allí
ahora
antes
después
siempre
nunca
también
solamente
verdad
mentira
bien
mal
grande
pequeño
rápido
lento
nuevo
viejo
bueno
malo
feliz
triste
bonito
feo
caliente
frío
dulce
amargo
fuerte
débil
cerca
lejos
fácil
difícil
cierto
falso
caro
barato
limpio
sucio
fuerte
débil
alto
bajo
claro
oscuro
abierto
cerrado
joven
viejo
corto
largo
alegre
tranquilo
nervioso
amable
grosero
conocido
desconocido
cortés
rudo
agradable
desagradable
sabroso
insípido
difícil
fácil
cansado
descansado
moderno
antiguo
último
primero
posible
imposible
rápido
lento
sencillo
complicado
propio
ajeno
abierto
cerrado
amable
desagradable
seguro
inseguro
correcto
incorrecto
dulce
amargo
Anacoreta
Sobrentender
Embriaguez
Inquebrantable
Empedernido
Derramamiento
Despotricar
Escafandra
Aletargamiento
Estancamiento
Descarado
Exégesis [Génesis]
Contrariedad
Espeluznante
Conspiración
Impedimenta
Deglutir
Engreído
Enmascarado
Exterminio
Embelesar
Permutación [Permutan]
Desesperanza
Impenetrable
Enarbolamiento [Enarbola miento, Enarbola-miento, Enrollamiento, Arrollamiento, Encarcelamiento, Eslabonamiento]
Errabundo
Deslinde
Inefable
Soliviantar
Embriaguez
Perdurable
Opulencia
Trémulo
Desembolso
Empedernido
Anquilosar
Enigmático
Inquebrantable
Contrincante
Desmesurado
Vanagloriar
Exasperar
Desvanecer
Perpetuidad
Desbaratar
Ineficaz
Zozobra
Elucubración
Ineludible
Desgarramiento
Atestiguar
Encascarar [Encascara, Encascaran, Encascaras, Enmascarar, Encascar, Encascar ar, Encascar-ar, Encascabelar, Encascotar, Enmascaran, Enmascara]
Desembozar
Irreverente
Soslayar
Despiadado
Embaucar
Moflete
Endilgar
Desfalco
Embelesamiento
Desestimar
Enajenación
Desavenencia
Inexorable
Atolladero
Egrégoro [Negror]
Desafiar
Afable
Enervar
Belicoso
Enervar
Descacharrante
Entramado
Inigualable
Perplejidad
Descabellado
Diligencia
Enaltecimiento
Desvergonzado
Arrebato
Empatía [Empata, Empate]
Endiosar
Peripecia
Desidia
Subversión
Desfachatado
Desfalco
Desvirtuar
Errático
Desahuciar
Envilecimiento
Empecinado
Estolidez
Despropósito
Engatusar
Culminante
Sobrentender
Enseñorear
Desacato
segguro [seguro, seg guro, seg-guro, seguiros, segur]
insseguro [inseguro, insegura]
correcto
incarrecto [incorrecto, insurrecto]
dalce [salce, dale, alce, dance, calce, dalle, dulce, d alce, cendal, cebadal, celda]
amergo [amero, mergo, amargo, amelgo, a mergo, amorgone]
Anasoreta [Anacoreta, Masoreta, Trasfretana, Asotanas, Asotanara]
Sobrententter [Sobrestante, Soberanamente, Sobriamente, Soberbiamente]
Embreagues [Embregues, Embragues, Embriagues, Embriaguemos, Embragares, Embrague, Embriague]
Inquebranttable [Inquebrantable, Quebrantable, Infranqueable, Intransitable]
Empidernedo [Empedernido, Empedernecer, Empedernir]

View File

@ -0,0 +1,132 @@
Abantza
ñabar
abasto
abegikortasun
aberaskeria
aberetzar
abezedario
abialdi
Abiatzaile
abizari
Aboli
abonatu
absenta
absolutibo
accelerando
adabegitsu
adberbio
adiaka
adierazle
adierazkizun
adikuntza
adin
adinaro
adineratu
adin-txikitasun
administratzaile
adoleszentzia
adopzio
adostu
aerolabangailu
Aeroplano
afalordu
agente
agertezin
agiantza
agoran
arradatze
arrakasta
Batata
baterakuntza
baterakor
Bateri
batuar
baud-abiadura
batzuenganako
batzuengandik
batzuengan
batzuengatik
batzuen
baxera
berezi
berezikeria
beritzete
beroa
Beroate
beroatza
berorri
berrabiatu
berra
berresgarri
berripaper
chap
dabilzkidake
dabilzkie
dagitza
dagokik
dagozkieke
erdiondu
galdera
galtzada
garaitiar
garantia
Garaztaketa
garbitasun
gastronomiko
Gaurgero
gaurgoitik
legizkie
legokizue
legozkidake
lehenbizi
nindoakio
publikotasun
publizitate
subsidiario
substantibo
sugestio
superbalorazio
taidun
taldeburu
Talent
Teknografia
xantxa
xerbitor
xerokopia
zabaldura
Zabalkor
Zabaltza
zabilzkieken
zabilzkio
zaharkote
zeneritzeketen
zenerra
zenezagu
zengozkigute
zeniharduke
zenioke
zenioketez
zeniraute
zenizkien
zenizkiguke
Zintut
Zintuzkedan
isiltasun
Слова с ошибками []
abriсot [abrikot, abrigo]
absenzia [absentzia]
addikzio [adikzio, dikzio, adukzio, adizio]
administraziozerbizu [administrazio-zerbitzu, administrazio-zuzenbide, administraziopean]
bat-bates [bat-batez]
bermagari [bermagarri, bermagailuari, bermagailuri, armagaberi, bermaguneari]
cataluniar [kataluniar, catalunyar, kataluniera]
dakarza [dakartza, dakarna, dakarzu]
erdemin [erremin, erdimin, iminerdi]
garatienetarikoa [garatuenetarikoa, ugarienetarikoa, gogoratuenetarikoa, argienetarikoa, aberatsenetarikoa]
ishil [isil, istil]
nindezaguane [nindezaguena, nindezaguan, nindezaguanez, nindezaguanek, nindezaguanen, nindezaguanei, nindezaguana, nindezagunan, nindezagutean, nindezagutenan, nindezaguzue]
nintzainaken [nintzainanek, nintzainake, nintzainakeen, nintzainanen, nintzaiakeenen, nintzaiakeen, nintzakenanen, nintzaiekenan]
summa [suma, susma, sumoa]
technologiko [teknologikoko, teknologiko, terminologiko, etnologikoko]
charmant [charmat, xarmant]

View File

@ -0,0 +1,211 @@
Bonjour
Merci
Oui
Non
S'il
Excusez-moi
Pardon
Bien
Mal
Grosse
Petit
Beau
Moche
Fort
Faible
Chaud
Froid
Vite
Lent
Haut
Bas
Loin
Près
Heureux
Triste
Facile
Difficile
Simple
Compliqué
Bon
Mauvais
Nouveau
Vieux
Jeune
Âgé
Bienvenue
Amitié
Amour
Famille
Travail
Maison
Voiture
Manger
Boire
Courir
Marcher
Nager
Chanter
Dormir
Jouer
Parler
Écouter
Regarder
Lire
Écrire
Acheter
Vendre
Aller
Venir
Faire
Dire
Voir
Savoir
Apprendre
Aimer
Détester
Partir
Rester
Arriver
Revenir
Partager
Aider
Aimer
Ouvrir
Fermer
Manger
Boire
Avoir
Être
Pouvoir
Vouloir
Devoir
Parler
Écouter
Rire
Pleurer
Danse
Étudier
Travailler
Voyager
Vivre
Connaître
Reconnaître
Voyager
Exister
Choisir
Donner
Recevoir
Aimer
Oser
Phénoménologie
Électroencéphalographie
Parallélépipède
Anticonstitutionnellement
Transsubstantiation
Éclectisme
Anachronisme
Catéchuménat
Démagogie
Fructueux
Ineffable
Hypothèque
Propriété
Procrastination
Complaisance
Réminiscence
Éthique
Équinoxe
Exponentiel
Hétérogénéité
Imbroglio
Incorrigible
Maelström
Métaphysique
Protagoniste
Subliminal
Verrouillage
Volumétrique
Énigmatique
Époustouflant
Immatériel
Infini
Polyglotte
Recrudescence
Prophylactique
Symbiotique
Vestibulaire
Épistémologie
Faramineux
Géopolitique
Hypnotique
Inamovible
Intemporel
Labyrinthe
Pacifiste
Quémandeur
Soporifique
Ubuesque
Volumineux
Effervescence
Électrophorèse
Paradoxe
Prorata
Quadrupède
Sarcophage
Trigonométrie
Vaccinologie [Carcinologie, Actinologie, Vaccinogène, Accidentologie]
Xenophobe [Xénophobe, Technophobe]
Zéphyr
Génétique
Labyrintique [Labyrinthique]
Mégalo
Nostalgie
Omniprésent
Pangramme
Périlleux
Quinquennat
Rémunération
Scolopendre
Tautologique
Utopiste
Vexatoire
Wolof
Xanthine
Yacht
Zanzibar
Axiomatique
Chronométrer
Dilettante
Énervement
Facétieux
Générique
Harmonique
Illusoire
Juridique
Kabbaliste
Longetivité [Longévité]
Médiane
Néologisme
Oxygène
Patronymique
Quotidien
Rétorique [Rétorque, Rhétorique, Rotorique, Ré torique, Ré-torique, Météorique, Torique, Théorétique, Théorique]
Sémantique
Tautologie
Utopique
Vaccinologie [Carcinologie, Actinologie, Vaccinogène, Accidentologie]
Xénophobie
Yachting
Zoroastrisme
Voager [Viager, Voyager, Ouvrager]
Exisster [Exister]
Chaiser [Chaires, Chaise, Chaisier, Chaises, Chasser, Chaise r, Chamoiser, Tchadiser]
Doner [Toner, Zoner, Donner, Drone, Doser, Doter, Dorer, Douer, Doler, Doper, Dîner]
Resevoir [Redevoir, Recevoir, Revoir, Reversoir, Ivoire, Voire]
Aimmer [Aimer]
Osero [Oser, Osera, Oser o, Rosser, Roeser, Rose]
Phénoménollogie [Phénoménologie]
Électraencéphallographie []
Parallélépepède [Parallélépipède]

View File

@ -0,0 +1,120 @@
ola
tipo
Si
non
nonnr [nono]
comida
comidaa [comídaa, comidas, comida, comidan]
auga
augaa [áugaa, augas, auga, augaba, augada, augala, augara, augar]
casa
coche
cochee [coches, coche, chochee, cachee, checo]
un tren [oin tren]
bicicleta
escola
escolaa [escóraa, escoala, escolas, escola, escálaa, escolla, escolma, escolar, escolta]
niños
pai
paii [paio, pai, pii, aii, pali, pais]
nai
naii [nai, nii, aii, naif, nais, nazi]
irmá
irmán
cachorro
gato
gatoo [gato, atoo, gateo, gatos]
peixe
peixee [peidee, peixes, peixe, peitee]
aves
avess [aveas, avesa, aves, avesas, avesos, vesas, aveso, aveces, escave]
árbore
flor
herba
o sol [ou sol]
lúa
o ceo [ou ceo, o ceou]
chuvia
neve
vexa
inverno
primavera
outono
noite
noite
día
unha semana [semanalmente]
mes
ano
para ler [parable]
escribir
fala
ensinar
traballo
durmir
durmir
correr
vai
senta
estado
para escoitar [parasitario]
vexa
escoita
hai
beber
carne
furtas
verduras
queixo
pan
auga
zume
café
leite
aceite
ovo
sal
impacienta
azucre
un bocadillo [oin bocadillo]
cociña
sala de estar [sala dei estar]
dormitorio
baño
batela
sofá
lámpada
fiestra
a porta [aporta, portara, portador, porta]
piso
teito
parede
sofá
alfombra
baño
afundir
espello
toalla
cama
manta
almofada
reloxo de alarma [riloxo de alarma, ríloxo de alarma, reiloxo de alarma, reloxo dei alarma, relouxo de alarma, reloxou de alarma, relollo de alarma]
escritorio
cadeira
marabilloso
adverbio
obviamente
Dominante
residenciais
convidado
perigo
cuestión
deporte
mina
cordeiro
cabeza
tratar
avogado
intelixente
guapo

View File

@ -0,0 +1,215 @@
boliestan [bolestan, obijestan]
jyak [jak]
slaby [slabu, slab, slaba, slabe, slabi, slabo]
pameetan [pametan, pametna, napamet]
gllup [glup]
bezuspješhno [bezuspješno, bezuspješnih, bezuspješan, bezuspješna]
besimeni [besi meni, besi-meni, bezimeni, besanim]
bezuzban [bezuman, bezuba]
blagastanje [blagostanje, blaga stanje, blaga-stanje, blagostanja, blistanje, oblaganje]
bljeskovica [bljeskovima, bljeskovi, bljeskova, bljeskalica, bljeskavi]
jabuka
sunce
voda
kuća
ptica
kava
kruh
cvijet
knjiga
pas
mačka
grad
zelen
plav
crven
bijel
crn
velik
malen
brz
spor
sretan
tužan
vruć
hladan
nov
star
lijep
ružan
dobar
loš
zdrav
bolestan
jak
slab
pametan
glup
raditi
jesti
piti
spavati
čitati
pisati
govoriti
smijati se [smijati]
plakati
pjevati
igrati
plesati
učiti se [učiti]
kupovati
kuhati
telefonirati
gledati
slušati
hodati
trčati
letjeti
plivati
čitati
pisati
raditi
imati
biti
ići
doći
otići
dati
uzeti
reći
vidjeti
čuti
osjetiti
misliti
htjeti
moći
morati
rado
nerado
da
ne
molim
hvala
doviđenja
oprosti
zbogom
zdravo
čau [ča, ču, čađu, čaju, čamu, času, čađ, čaj, čak, čar, čas, ča u]
ej
da
baš
super
glupost
fantastično
jasno
tako
zapravo
možda
lako
teško
prozračnost
usplahirenost
neoblomivost [neslomivom]
prezir
proigranost [prostranost, programiranosti, razigranosti, pristranost]
uznemirenost
besprijekornost
besprizornost [besprizornom, besprizornoj, besprijekornost, besprizorni]
nepredvidivost
beznadnost
promašenost [promašenosti, promašen, osiromašenom, raspršenost]
protivljenje
neizreciv
bezizlaznost
neuspjelost [neuspjeloj, neuspješnost, neuspjelog, neuspjelom]
zbunjenost
neodlučnost
protivština
nepovratnost [nepovratnoj, nepovratnom, nepovratna, nepovratnima]
bezduhovitost [bez duhovitost, bez-duhovitost, duhovitostu, duhovitosti, duhovitosta, duhovitost]
ravnodušnost
prolaznost
neobaveznost [neobaveznosti, neobaveznom, neobaveznoj, neobavezna, neobavezni]
bezbrižnost
nepovratnost [nepovratnoj, nepovratnom, nepovratna, nepovratnima]
promašenost [promašenosti, promašen, osiromašenom, raspršenost]
neprepoznatljivost [neprepoznatljivosti, ne prepoznatljivost, ne-prepoznatljivost, prepoznatljivosti, prepoznatljivost, neprepoznatljiva, neraspoznatljivosti]
neukrotivost [neukrotivog, neukrotiv, neučtivost, neotuđivosti]
bezobzirnost
nevinost
nestalnost
nepostojanost
bezizlaznost
nepovratnost [nepovratnoj, nepovratnom, nepovratna, nepovratnima]
prolaznost
neodgovornost
bezbrižnost
nevolja
nezadovoljstvo
prolaznost
bezuspješno
bezimeni
bezuzdan [bez uzdan, bez-uzdan, bezdan, bezdušan, beznadan]
blagostanje
bljeskavica [bljeskalica, bljeskavima, bljeska vica, bljeska-vica, bljeskavi, bljeskalici, bljeskava, bljeskalicu]
boren [borne, obrne, bore, oboren, borbena]
carovnija [otrovnija, darovnica]
crpeža [crteža]
dostojanstvo
duhovitost
egzaltacija
gorkoća [gorkoga, gorkošću]
histerija
idila
ironija
izdaja
janjetina
kajanje
kavana
krhotina
ljepljivost
lukavstvo
magnutizam [zategnutima, zamahnutima, izdignutima, vagnutima]
melankolija
misticizam
naivnost
nelagoda
neraspoloženje
obmana
okrutnost
opojenost [opojnost, obojenost, opojenoj, popunjenost, podvojenost, opčinjenost]
prezir
propast
ravnodušnost
sjenka
skitnica
spletka
stid
sudbina
susret
sudbina
šapat
tišina
trepet
utopija
uzaludnost
veličanstvo
zaborav
zanesenost
zanos
zavjera
zbunjenost
zluradost [zluradosti, zlu radost, zlu-radost, zlurad]
zloslutnost [zloslutnoj, zloslutnom, zloslutnu, zloslutna]
žargon
žártva [žrtva]
šaptanje
čarobnost
dileme
hodočasće [hodočaste, hodočašće]
lebdjeti
iznimka
preobilje [preobilne, preoblikuje]
probuditi se [probuditi]
surov

View File

@ -0,0 +1,114 @@
Szorzótábla
Réges-régen
normálméret
nemeslelkűség
mindegyik
milliós
Mikroflóra
Mezőgazdaságigép
meséskönyv
mennyiség
Memória
kártya
kuráre
Kurzor
jégkorong
jellemesség
Javak
irányzás
iromány
Inkluzíve
hűtőedény
hőmérséklet
hír
hétszázas
hátrány
háromszáz
Hintó
generátor
gavallérság
explozíva
eső
esdeklés
epilógus
Energia
Előélet
előterjesztés
előnézet
elvonás
elszigetelés
ellátmány
Elevátor
egynémelykor
egyenlőség
eddzenek
dzsungel
ananász
akvárium
Szépül
Sztorizik
szobroz
szimbolizál
szemlélődik
sugdolózik
majmol
Macskáz
Létesít
Lokalizálódik
litografál
levelesedik
lepet
közömbösít
kételkedik
kivirágoz
kerekez
kedvez
járkál
jegyzőkönyvez
iskolázik
individualizál
csendesít
borsoz
billentet
bajmolódik
anyagozik
alkonyodik
Aktualizál
színes
szemelt
lassú
hatékony
hasznos
gyúlékony
gyári
abszurd
örökjog
öregkor
ömlő
Zászlaj [Zászlajú, Zászlaja, Zászlai, Zászlóalj]
Zseblámpa
regényirodalom
realitás
raktárhelyiség
pötty
pótlék
pótdíj
pályafutás
Promóció
Processzus
poloska
pernye
pediáter
parancsnoklás
Слова с ошибками []
sponzorálás [szponzorálás, szponzorál, zongorálás]
mihamarábiak [mihamarábbiak, mihamarabbiak, mihamarábbi, hamarábbiak, mihamarább]
idohatár [időhatár]
hypnotizmus [hipnotizmus, nepotizmus]
departement [département]
légiesul [légiesül, légiósul]
kutagat [kutatgat, kutazgat, kutasat, kutakat, kutadat, kutamat, kútagát, kútágat, kútágát, kutat]
költségtakkarékos [költségtakarékos, költségtakarékkos, költséghatékony]
redukzió [redukció, redukáló]
pilanatfelvétel [pillanatfelvétel, pialantfelvétel, adatfelvétel]

View File

@ -0,0 +1,121 @@
acang-acang
Adiksi
Adventisius
Advokat
afirmatif
agroindustry [agroindustri, nonindustri]
agrisilvikultur
akhir-akhir
akomodatif
aksi
aljabar
anggul
anotasi
antusiasme
apoteker
bahagia
bakat
bangkang
Bankir
Barikade
bebaru
belar
beleid
bencana
bentangur
beritawan
besuk
bilingualisme
Cecak
Celempong
cencawan
cengkar
ceremai
cermin
cudang
Dampal
dampan
dansa
datung
debitur
defensi
defisit
demper
dendang
Derivasi
Desember
deskripsi
diskotek
diskusi
distansi
dragon
dramatisasi
Eksamen
Eksistensi
eksperimen
ekstensifikasi
ekuitas
elektron
gelut
Geofisikawan
Gerbang
gerempang
influenza
Informasi
Inisiator
insekta
institusional
instruksional
jelajah
Kamrad
Kapilaritas
kapster
kardiovaskular
karismatik
keranjingan
komunal
Limitatif
Linguistik
lintang
masabodoh [masa bodoh, masa-bodoh, mastodon]
matematikus
medisinal
Melankolia
Memorabilia
nasional
nasionisme
Panen
pangkek
peranti
perian
persekusi
perunjung
regenerasi
reglementer
robotika
runjang
Sabtu
Simbang
simpati
tebing
topi
Unggal
unsuri
urbanisasi
variabel
wahana
warganegara [warga negara, warga-negara, negarawan, antarnegara, mancanegara, waranggana]
Слова с ошибками []
Abonement [Abonemen, Bombardemen]
Abcente [Absente, Centet]
ambivalan [ambivalen, ambilan, ambalan]
bakteriostatic [bakteriostatik, bakteriolisis]
cekaw [cekat, cekak, cekau, cekam, cekal, cekah, kacek]
darmavisata [darmawisata, darmatirta, mandataris]
declarasi [deklarasi, deflagrasi]
duplex [dupleks]
ecozona [ekozona, eco zona, eco-zona]
gempur-mengempur [gempur-menggempur, gempul-gempul]
jejengok [jejengkok, jengkeng]
transitive [transitif, transvetisme, transit, transisi]

View File

@ -0,0 +1,200 @@
Ciao
Ciaoo [Ciao, Ciano, Ciao o, Ciocia]
Buongiorno
Buonasera
Buonassera [Buonasera, Buon assera, Buon-assera, Buonalbergo]
Grazie
Prego
Arrivederci
Buonanotte
Scusa
Per favore [Favorevole]
Amore
Amico
Famiglia
Casa
Città
Strada
Montagna
Montaga [Montagna, Montata, Montana, Montala, Montava, Montaggi, Montaguto, Montano, Montato]
Mare
Sole
Luna
Stelle
Giorno
Notte
Colazione
Clazione [Colazione, Coazione, Cl azione, Cl-azione, Clonazione, Collazione, Clorazione, Chelazione]
Pranzo
Cena
Acqua
Vino
Caffè
Pane
Formaggio
Pasta
Pizza
Gelato
Dolce
Salato
Frutta
Verdura
Carne
Pesce
Pollo
Uovo
Sale
Pepe
Olio
Burro
Zucchero
Latte
Yogurt
Insalata
Zuppa
Bistecca
Prosciutto
Parmigiano
Biscotti
Cioccolato
Spagggrhetti [Spaghetti, Spaghetteria]
Spaghetti
Lasagne
Risotto
Gnocchi
Penne
Ravioli
Cannelloni
Pesto
Caprese
Limoncello
Espresso
Cappuccino
Tiramisù
Panna cotta [Panbiscotto]
Cannoli
Panettone
Brioche
Focaccia
Foacdccia [Focaccia]
Crostini
Arancini
Antipasto
Primo piatto [Rimpiattato, Primariato, Rimpiatto, Rimpatriato]
Secondo piatto [Attosecondo]
Contorno
Pane tostato [Tostapane]
Marmellata
Accoglienza
Affascinante
Aggressività
Alleviare
Appassionato
Armonioso
Autonomia
Autovfnomia [Autonomia, Autotomia]
Barbarie
Beneficiare
Bizzarro
Burocrazia
Cambiamento
Capriccioso
Cautela
Commemorare
Comportamento
Conseguenza
Controverso
Coraggioso
Debolezza
Decisivo
Delizioso
Desiderare
Destrezza
Determinato
Determin [Determina, Determini, Determino, Determinò, Termine]
Difficoltà
Disponibilità
Divertimento
Eccentrico
Efficienza
Elettrizzante
Emergere
Empatia
Energia
Equilibrio
Esperienza
Fantastico
Fenomenale
Generosità
Gratitudine
Immaginazione
Impressionante
Impressiante [Impressi ante, Impressi-ante, Impressionante, Impressionate, Imprestante, Impressioniste]
Indipendenza
Ingenuità
Innovazione
Intelligenza
Intensità
Intrigante
Ispirazione
Instabilità
Irresistibile
Leggenda
Libertà
Luminoso
Magistrale
Malinconia
Meraviglioso
Metamorfosi
Miracolo
Misterioso
Nostalgia
Opportunità
Originalità
Passione
Pericoloso
Prestigioso
Prodigioso
Prospettiva
Raffinato
Rafinato [Raffinato, Rapinato, Affinato, Trainato, Raffrenato, Raffilato]
Ricchezza
Rispettoso
Sensibilità
Sorprendente
Spontaneità
Spontaneita [Spontaneità, Spontaneista]
Stravagante
Suggestivo
Surreale
Tenerezza
Trasformazione
Unicità
Vibrante
Vittoria
Volontà
Amicizia
Avventura
Bellezza
Calma
Danza
Eleganza
Felicità
Gioia
Incanto
Magia
Natura
Odore
Passatempo
Quotidiano
Relax
Serenità
Tesoro
Umorismo
Vacanza
Zelo
Avventuriero
Speranza
Risate
Armonia
Incanto

View File

@ -0,0 +1,209 @@
сөз
адам
қала
тау
ауа
су
аспан
жер
бала
ата
ана
тамақ
кітап
ұстаз
оқу
тұтыну
тыныш
тұз
ауру
денсаулық
топ
маусым
төс
көз
жүрек
сарғыш
көп
аз
ертең
түн
түс
жас
қара
ақ
көк
қызыл
шай
салт
ыстық
суық
қазақ
жеті
он
жүз
мың
бір
екі
үш
төрт
бес
алты
жеті
сегіз
тоғыз
он
бақша
бұлақ
қиыр
досым
ақша
патша
таң
кеш
тауар
күн
апат
риза
ауырсыну
орман
жаңбыр
бауыр
жел
тұман
үй
бұлақ
көше
айнала
шайыр
тағам
сусын
топ
бас
әрекет
тіл
кеме
сиыр
қой
ешкі
шөп
ит
тұқым
қарындаш
апа
ана
әке
дала
тарлау
дәуір
таңдай
жыл
басқарушылар
басқарушшылар [басқарушылар, басқарушы, басқармасылар, басқаруғалар, бақылаушыларлар]
жауапкер
ерекшеліктерімендерге
тұмылдырықтатқыздан
білімділігінге
білімдарды
алалықсыздар
айырмашылықтарын
тұрақтандырып
сылтауратқандарыңызды
қолдар
байланысқадан
жетілдірілген
зарарсыздандырады
ескеріп
ескеріпп [ескеріп, ескеріпі, ескеріле]
міндеттемелеріндерге
кезеңдердің
себепсіздік
біреудейлер
беделілерің
кездестіріңіз
шектердің
көңіл
көңл [көң, көл, көңіл, көңі]
мол
алайда
мәселе
мәселеу [мәселе, мәселең, мәселен, мәселес, мәпелеу, мәуелеу, мәселем, мә селеу, селеу]
сендің
келер
келерр [келер, керлер, келері, кереле, еркеле, кермеле, келекеле]
кәне
көпір
күндіз
сана
белгілер
дайын
ез
қайшы
саф
рең
шақ
үміткер
бақыт
бақытт [бақыт, бақытта, бақытты, бақырт, бақыты]
республика
консервациялау
мемлекеттік
тағатсыздан
адамда
бәрі
бең
беңр [бең, бер]
жасағанда
жасағоанда [жасағанда, жасалғанда, жасасқанда, жасаманда, жасақанда]
жабайылық
заманда
көшірдік
мерейі
Мерейій [Мерейі, Мерейің, Мерейім, Мерейлі, Мерей, Мейір]
мөлшерсіздікк [мөлшерсіздік, өлшемсіздік, мөлшерсіз, өлшеусіздік]
мөлшерсіздік
пенді
тылда
мәртебесімен
аппаратпен
тегінді
кездеме
ересектік
көңілсіздік
тәуекелсіздік
қанағатсыздық
ғаділетсіздік
сайдақы
басым
тәжікеден
тұрғын
қонақ
қауіпсіздік
қадірсіздік
білгішсінбейсіңдер
талқандас
кешікті
қоздырғышы
бас
емдейсіңдер
құқылы
тақылет
әдемі
көткеншектейсіңдер
әжет
қайтар
белсену
түсінбеймін
жағымсыздық
сыздар
мәртебесі
тұрғыны
мезгіл
әлбетте
барысын
оқылған
безге
жаса
аламаңдайсыңдар
кереметті
епетейсіздік

View File

@ -0,0 +1,157 @@
안녕하세요
감사합니다
사랑해요
미안합니다
음식
친구
가방
학교
컴퓨터
바다
날씨
노래
치킨
반찬
숙제
가족
아이
게임
영화
생일
시간
동물
여행
쇼핑
추천
대화
전화
사진
운동
병원
음료수
능력
주말
전자기기
고양이
강아지
바나나
가을
겨울
여름
신발
지하철
택시
버스
비행기
샴푸
브러시
삼계탕
국수
불고기
된장
김치
먹다
마시다
보다
듣다
놀다
하다
가다
오다
서다
늦다
일어나다
자다
빨갛다
파랗다
노랗다
녹색
보라색
맛있다
시원하다
덥다
추운
기분
슬프다
즐겁다
정신이
바쁘다
참새
나비
병아리
물고기
향신료
시장
기차
공원
해변
지갑
병원
대학
교통
공항
천재
연구
일본
중국
사업
지식
성격
자금
기술
정부
전략
협력
혁신
경제
철학
신체
영감
현상
역사
태양
설명
사회
환경
자연
현실
존경
정확
장애
낙관
발전
절망
일상
소멸
도전
반복
포기
파괴
혁혹 [현혹, 혈족]
소외 [쇠오, 소아, 시외, 소오, 소에, 소의, 소와, 소요, 소유, 소위, 소야, 소되, 소뇌, 소 외, 소외감]
식민지
혐오
출산
행복
불평
판매
위험
안녕하ㅎ요 [안녕하다]
감사합ㅅ다 [감사하다, 감사하여가다, 감사해가다]
사랑ㄱ해요 [사랑해요, 사랑해내요]
미안ㅎ합니다 [미안합니다, 미안한체합니다, 미안할만합니다, 미안해갑니다, 미안하여갑니다]
친ㅔ구 [친구]
가ㅎ방 [가방, 감방]

View File

@ -0,0 +1,118 @@
Aarbecht
Aarbechtszäitorganisatioun
Aartgenoss
Abenteuer
abrëll [Abrëll, brëll]
absence [Absence]
Abusives
Abzebillercher
Acquéreur
Adjointeë
Affischéiertes
Airbussen
Alldeegleches
Angschtzoustä
Basketballspiller
Baufirme
bauren [Bauren, bauen, brauen]
bekanntes
Beleg
Berodung
Bewältegung
Datentransfer
Dateschutz
Decisives
Donneschden
Drangsaléiertes
Dränk
Giischtgen
Grondlag
grondreegel [Grondreegel, grondleeënd]
Géies
Handelsdag
hausaufgab [Hausaufgab, ausbaufäheg]
hierschtdag [Hierschtdag, hierarchescht]
Häerzi
Industriell
Infrastrukturelles
Interessi
Internetfore
Intervall
Kamell
Kantoner
Karamell
Klenges
Nopeschhaus
Motors
Muer
Muerenter
Musek
Nettoverméige
niess [miess, Niess, iess, giess, Siess, Fiess]
Protektioun
Prouf
Provisioun
Prozessor
Präis
Präsens
Sanitäres
Schauspiller
Schema
Taxatioun
Telefonsgespréich
termingrë [Termingrë, verminnte]
terrass [Terrass, zerrass]
Textdatei
Textsprooch
Titulaire
Titel
erausféieren
erausjoe
gëeicht
onglécklecherweis
unzesammelen
unzespille
Approvisionnement
Сложные слова []
Aktiegesellschaft
Aktivitéitsdéclaratioun
Alarmstëmmung
Allgemengverständleches
Bankenoperatioun
Bensinsreserven
Besteierungsofkommes
Diskriminéierungsmoossnam
Dokumentatiounsaarbecht
Haaptrecommandatioun
Héchstgeschwindegkeet
Héichproblematesches
Hëllefsdéngscht
Integratiounsméisseges
Iwwersetzungsprogramm
Kapitaliséierungsdimensioun
Museksinstrument
Publicitéitsmarché
Transportproblem
Слова с ошибками []
Abonnnement [Abonnement, Joresabonnement, Abonnenti, Abonnent, Agebonnent]
Accomodéiertes [Accommodéiertes, Accommodéiert, Accordéiertes, Accommodéiers]
Agrarcenter [Agrarzenter, Agrozenter]
Begrennung [Begrënnung, Begrenzung, Benennung, Verbrennung, Begrenzen, Trennung]
Berodunszentren [Berodungszentren, Berodungszentre, Berodungszentr, Berodungszenter]
Deeluung [Deelung, Andeelung, Opdeelung, Verdeelung, Zelldeelung]
Dialogue [Dialoge, Dialog]
Dictaten [Diktaten, Dichten]
Inspektor
Iwereileges [Iwwereileges, Iwwereilegtes, Iwwereileg, Iwwerfälleges]
Pedagogik
Televisionschaîn [Televisiounschaîn, Televisiounsgeschäft]
Bechäftegungsméiglechkeet [Beschäftegungsméiglechkeet]
Gläicheetspolitik [Gläichheetspolitik, Sécherheetspolitik, Gesondheetspolitik, Geschäftspolitik, Dechetspolitik]
Musekheichschoul [Musekhéichschoul, Museksschoul]
Satelliten [Satellitten, Satellitte, Satellit]
Addressbichelchen [Adressbichelchen, Reklammbichelchen]
Aarbechtsfield [Aarbechtsfeld, Aarbechtsgefier, Aarbechtsblieder, Aarbechtsatelier, Aarbechtsalldag]

View File

@ -0,0 +1,127 @@
Abstraktus
šachmatai
žadintoja
agurkas
Aikštė
Akinukai
akmuo
šakoti
aktualinti
aktorius
šalinis
šaltinis
bernystė
beskuo
būgnelis
Bilietas
bilingvizmas
daržavietė
Darbadienis
Darbas
darbuotoja
dargi
daržinė
daugintoja
Daugiaveiksmis
delnė
įdelnis
detalizuoti
šerdelė
erdvėti
šeriškas
šeštadienis
etiketas
Evoliucija
fabrikantė
Fantastika
Fenomenas
fikusas
gaudinėti
gausėja
gūbrinti
geležis
geležtė
gelsvis
geranoris
Gertys
gerviukas
giesmininkė
Gikas
Goža
griaustinis
grįžinys
gėrioja
griozdas
grizijo
gryčia
grožėja
grįžti
grupė
gąstauti
Jaukas
jodinėjo
jodyti
keturnagis
Kiaušina
Kiaurymė
kiausta
kietakaktis
ūkiškas
kilimėlis
kilometrinis
ūkininkaitė
ūkinis
krykti
lapuotis
laukas
laupti
laužtė
Maudulys
Maumedis
mažutėlis
mazgotuvė
mechanikė
medeinė
medikamentinis
meduolinis
Nūdien
nebrendėlė
Negu
neiginys
parudenys
pasakotojas
pasausė
pasieninis
paskyriui
paslapčiom
Pasodas
Pat
Pataikūniškas
patarška
patentinis
proskyna
protekiniais
provizoriškas
rėkčioti
rūmas
rodyklinis
Romanistas
Skylmatis
Skyriklis
skolininkas
skraidžioja
skruzdėda
skėtrus
Слова с ошибками []
Abbreviatūra [Abreviatūra, Klaviatūra]
alpinismas [alpinsimas, alpinimas, alpinistas, alpinizmas, alpinistinis, alpinistini, alpinamas, alpinariumas]
amortizacia [amortizacija, amortizacini, amortizavo, amortizuoti]
daugiamžis [daugiaamžis, daugiaamži, daugiamatis, daugiametis, daugiažiedis]
deziderativinis [dezideratyvinis, dezideratyvini, prezidentinis, rezidentinis]
generazija [generacija, energija]
keturiasdešimtūkstantas [keturiasdešimttūkstantas, keturiasdešimttūkstanta, aštuoniasdešimttūkstantas, šešiasdešimttūkstantas, aštuoniasdešimttūkstanta]
krivuluoja [krivuliuoja, kreivuliuoja, kultivuoja]
Šnaukstai [Šnaukštai, Niaukstai, Šniauktai, Šniaukštai, Auksintai]
pazintinis [pažintinis, parazitinis, pantinis, patentinis, panteistinis]
progresa [progresai, progresas, progreso, progrese, progresu, progresą, progresų, progresavo, progresija]

View File

@ -0,0 +1,205 @@
Sveiks
Sveikks [Sveiks, Sveikas, Sveikās, Sveikts, Sveikus, Sveikos, Sveikt, Saveiks, Ieveiks, Veiks]
Labrīt
Lbrīt [Larīt, Lorīt, Labrīt]
Paldies
Paldiess [Paldies, Paliess, Palaidies]
Lūdzu
Luzu [Lizu, Ludzu, Auzu, Zuzu, Guzu, Lauzu, Lupu, Lubu, Lugu, Lūzu, Luču]
Atvainojiet
Atvainvfojiet [Atvaimanājiet]
Prieks
Perieks [Peries, Prieks, Persiks]
Draugs
Dravfugs [Draugs]
Ģimene
Gimene [Ķimene, Ģimene]
Māja
Maja [Maija, Paja, Raja, Laja, Maža, Maka, Mija, Mana, Masa, Māja, Mata, Maša, Maza, Mala]
Pilsēta
Pilseta [Pilsēta, Pil seta, Pil-seta, Piebilsta]
Ceļš
Ceļšs [Ceļš, Ceļošs, Ceļas, Ceļus, Ceļos]
Kalns
Jūra
Sauls [Auls, Kauls, Rauls, Pauls, Salus, Sauks, Sals, Saules, Sakuls, Saulēs, Saguls, Sulas, Salsu, Sauli, Sauss]
Mēness
Zvaigznes
Diena
Nakts
Brokastis
Pusdienas
Vakariņas
Vīns
Kafija
Maize
Siers
Makaroni
Pica
Saldējums
Deserts
Sāļš
Augļi
Dārzeņi
Gaļa
Zivis
Vistas
Ola
Sāls
Pipari
Eļļa
Sviests
Cukurs
Piens
Jogurts
Salāti
Zupa
Salds
Šokolāde
Spageti
Rīsi
Kakao
Biezpiens
Kūka
Tēja
Karalis
Zelts
Ezis
Tulpe
Lācis
Kaķis
Suns
Putns
Vārna
Zaķis
Pele
Ābols
Aita
Zirgs
Lauva
Pūķis
Lasis
Vilks
Vējš
Uguns
Ūdens
Zeme
Debesis
Saule
Rūpniecība
Aizkustinošs
Izdzīvošana
Nepieciešamība
Atbildība
Lieliski
Apmierināts
Neparasts
Izglītība
Sarežģīts
Atsevišķs
Pamatots
Organizācija
Sadarbība
Efektīvs
Daudzveidīgs
Novērtēt
Pārsteidzošs
Inovatīvs
Vērtība
Aizraujošs
Nopietns
Komunikācija
Māksla
Dzīvība
Ekskluzīvs
Tehnoloģijas
Rezultāts
Atbalsts
Nodrošinātība
Pārbaudīt
Radošs
Sociāls
Izteiksmīgs
Brīvība
Pieredze
Ietekme
Pārmaiņas
Drosmīgs
Racionāls
Empātija
Izpratne
Risinājums
Iespējas
Atklāts
Vadošais
Eksperimentāls
Neatkarība
Tīrība
Samierināšanās
Motivācija
Harmonija
Dinamisks
Iedvesma
Izglītojošs
Komplicēts
Pieejamība
Sadarbība
Tūlītējs
Saprotams
Neizsakāms
Lieliskums
Inovācijas
Aizrautība
Pārdomas
Sapratne
Rezultatīvs
Iespējams
Pārbaude
Sociālais
Izteiksme
Brīvība
Pieredzējis
Ietekmīgs
Pārmaiņu
Racionāla
Izpratni
Risinājumi
Iespējams
Atklāta
Vadošā
Eksperimentāla
Neatkarība
Tīra
Motivējošs
Harmonisks
Dinamika
Iedvesmojošs
Spēks
Mīlestība
Pasaule
Daba
Skaistums
Miers
Sapnis
Prieks
Rītausma
Brīnums
Izcils
Saikne
Dzirksts
Pārmaiņas
Atbalsts
Izcilība
Satriecošs
Dzīvīgums
Pārveidošana
Uzdrīkstēšanās
Uzticamība
Ieguldījums
Vērtība
Līdzsvars
Saskaņa
Izsmalcinātība
Pateicība
Atzinība
Pārsteigums

View File

@ -0,0 +1,103 @@
Баатар
Багаа
Базар
Барра
Бат-Очир
Баттуул
Батхэсэн
Баярмаа
Билгэх
Бор
Бөөнцагаан
Бүрэнхайрхан
Бямбагар
Бэх
Гарам
Гантиг
Гурвантэс
Гүр
Гэрэлтуяа
Давст
Дангаа
Дансран
Дарь-Эх
Дөргөн
Дундбүрд
Дэмүүл
Дэлгэрцэцэг
Жавзан
Жарантай
Заглул
Зүүнхөвөө
Кир
Корона
Лүн
Лха
Лхаваан
Майхан
Манлай
Мөндөөхөө
Мөнхөт
Мөрөн
Мөнххаан
Мөст
Мэгэд
Мухар
Найдалмаа
Найтингейл
Налайх
Нарантуул
Намтай
Насантогтох
Номин
Нямсамбуу
Нэүдэй
Орог
Очир
Өнөржаргал
Өөдөс
Өргөн
Паган
Пас
Пүрэвдорж
Пүрэвхүү
Сайнаа
Сайхандулаан
Сундуй
Сэлх
Сүүж
Сээр
Тайван
Тарав
Тогтуун
Төрболд
Төхөм
Төмөр
Түргэн
Түшиг
Түгтөмөр
Түшиг
Удвал
Улиастай
Улаандэл
гүедэцгээчих
дэвхэрлүүлсхийчих
дэвхэлцгээчих
дэвшигдүүлгэчих
дэвшилцчих
дэвээ
дэггүйчүүд
наламгардуулалц
налбаруулзна
Слова с ошибками []
Батарчулуун [Баатарчулуун, Батар чулуун, Батарч улуун]
Баруунхарааа [Баруунхарааг, Баруунхараа, Баруунхараагаа, Баруунхараад]
Даважаргал [Даваажаргал]
Дөрволжин [Дөрвөлжин]
Мягмараран [Мягмараар, Мягмарнаран]
Оюунтулхуур [Унтуурхуул]
оторчилсхилгэ [оторчилсхийлгэ, оторчилсхийчих, оторчилсхий, отогчилсхийлгэ, хорчилсхийлгэ]
Асрамжлулгацгаачих [Асрамжлуулгацгаачих]
гүентүүлгэцгэээ [гүентүүлгэцгээе, гүентүүлгэцгээ, гүентүүлгэцгээгээ, гүентүүлгэцгээж, гүентүүлгэцгээн, гүентүүлгэцгээнэ, гүентүүлгэцгээв, гүентүүлгэцгээг, гүентүүлгэцгээх, гүентүүлгэцгээм]
наладаадуулга [налдаадуулга, наадалдуулгаа, наадалдуулга, налдаадуулцгаа, наадамдуулгаа]

View File

@ -0,0 +1,113 @@
Bahamasøyene
Festarrangement
Festarrangemang [Festarrangement, Festarrangør, Fellesarrangement, Storarrangementa]
Festival
festligheta
festnummer
forhandlernett
forgylle
fotballstyre
Fotgå
fotoamatørene
Fotogalleri
fotokopiere
generalkostnadene
generaltabbe
generøs
Generell
genmodifisertst
handlingsresymeet
hardhet
Harmfull
hastighetsregulering
havbanke
havforskningsundersøkelsene
informasjonsutveksling
Infrarødest
kaffeautomat
kaldslig
kalenderåra
kjekk
kjendisstoffa
kjærlighetslyrikk
kjøkken
Kontantautomat
kontantlån
kontrahere
kontraheringsplikt
Låskasse
læregutt
læreprosess
Museums
museumssamling
musikkorps
myggstikka
myndighetsaldere
omløpstider
omregn
områdeplan
omriss
omsetningsgjeld
omsjaltning
omsetningsvolumer
omslutning
omslyngning
omsonst
omstendeligheta
Omstart
Omstreifende
Omsyn
omtåketheta
oppdagelse
oppbygning
oppebære
oppfølgingsapparat
oppgjørsbank
oppgjørsblankett
opphøringene
partisipere
randverdi
rapportskriver
rasjonalisering
Rate
selsak
selskapsinntekt
selskapsoverskudd
selvbetjeningene
snabbingene
Snadderene
Sytti
søkekriterium
søkemulighetene
søkeargumenter
søkingen
søkne
sølvlaga
sørlandsk
søtningene
tabellrad
Tabellkolonne
Takhalm
taksene
takseringssystema
tal
trolsk
trosinnholdene
utfoldelsesmuligheta
Utformingsmetode
Utgift
vekstfaktor
vekstforhold
Слова с ошибками []
Arbeidstagerorganisasion [Arbeidstagerorganisasjon, Arbeidstakerorganisasjon, Arbeidsgiverorganisasjon, Sosialarbeiderorganisasjon, Arbeiderorganisasjon]
festsprel [festsprell, festsprek, festsprelt, festspell, feltprest, fengselsprest]
forhandlingsdirektor [forhandlingsdirektør, forhandlingssekretær, forhandlingstekniskere, forhandlingstaktiskere, forhandlingskontor]
handlingforløpa [handlingsforløpa, handling forløpa, handling-forløpa, handlingsforløp, lønnsforhandlinga, lønnsforhandling, forhandlingspart]
kjempeflinktt [kjempeflinkt, kjempeflinkest, kjempeflink, kjempeflott, kjempefint]
lanetilbud [lånetilbud, langetilbud, landetilbud, linetilbud, laketilbud, langtilbud, lagetilbud, landtilbud, danetilbud, lunetilbud, vanetilbud, fanetilbud, banetilbud, hanetilbud, kantinetilbud]
omraming [omramming, omringing, omringning, ramming, omring]
omsvøpssfull [omsvøpsfull, omsvøpslaus]
raportmateriale [rapportmateriale, kartmaterialer, kartmateriale, programmateriale, skrapmateriale]
serstilt [særstilt, ser stilt, ser-stilt, seerstilt, tverrstilt, storstilt, lederstil, stiliser]
taksamst [takksamst, takksamt, takksam, samletakst, samstav]

View File

@ -0,0 +1,115 @@
Advertentie
Advocate
affirmatie
afgevaardigd
afneemster
allerbekendst
alternatieveling
annulering
anticycloon
Backtrackroute [Jacktrackroute, Backtrackrouten, Baktrackroute, Backtrackroute-, Backtrack-route, Back-trackroute, Backtrackroutes]
Bearbeiden
becijfer
bediening
bedrag
beduiden
beïnvloeding
benadeling
bepaaldelijk
Catalogiseer
Catering
cellulair
classificator
collaboreren
collectiviteit
comfortabel
complimenteus
contractant
correctionaliseren
daaraanvolgend
dagelijks
deelgenoot
degelijkheid
demarqueren
Denotative [Denotatie, Denominatieve]
deposant
dergelijken
detail
deugen
diakritisch
Directioneel
dusgenaamd
eendrachtigheid
Eenzaamheid
eersteklascoupé
Eigenschap
felicitatietelegram
centerkanaal [centerkabaal, enterkanaal, centerkanaal-, center-kanaal, callcenter]
Chargeer
filiaal
klare
Klassikaal
kleinhandel
evolutie
exemplaar
exequiën
familiaal
fauteuil
luister
magistratelijk
perelaar
Permitteren
Perseveratie
persoonlijk
pictogram
pixel
sloten
sluimer
sneltoets
Soldij
Solliciteren
zegepraal
zelfbeeld
zevendaags
aangeslotene
meermaals
expedieert
jaargetijden
kaderleden
Kapitelen
Сложные слова []
avontuurlijkheid
bedrijfsmaatschappelijk
begrotingstechnisch
belangstellingssfeer
concurrentievoordeel
conferentieganger
democratisch-liberaal
discontoverhoging
doctoraatsverhandeling
dubbeldeksbus
economisch-financieel
energiezuinig
erkentelijkheid
evenwichtigheid
klimaatsverandering
koffiezetmachine
koopmansgebruik
maatschapsovereenkomst
personeelsconsulent
sociaalwetenschappelijk
zelfverzekerdheid
fondsenwervende
Слова с ошибками []
afficher [affiche, afficheer, affiche-, affiches]
algorithme [algoritme, algoritmiek]
beeindiging [beëindiging]
client [cliënt]
consnteren [consenteren, contesteren, constateren, consulteren, confronteren]
deactivieren [deactiveren, deactiveerde, reactiveren, deactiveert, geactiveerden]
deblockering [deblokkering]
electrisch [elektrisch]
certificat [certificaat, certificatie, certificeert, certificeer, certificeren]
sovereiniteit [soevereiniteit, suzereiniteit, sereniteit, universiteit]

View File

@ -0,0 +1,116 @@
Ankeret
Anleggsbedrift
Annandag
annonseavis
annuell
ansats
ansvarsmedviten
Antibiotikai
apal
apoteki
apparattavlor
appetitt
Aprikos
arbeidsdokument
arbeidsmarknad
barndom
bastematte
bautingi
Bedriftsleiar
befolkningi
begynnarkurs
Beheld
belastningi
beredskapsnivå
beredskapsperiode
berglandskapi
berrfrost
beskjedi
beskrivingi
betalingsoppdrag
betalingsplikt
bevismateriale
bildeband
bildebruki
bildespråki
bildeteksti
bilingval
billettlukone
binær
bione
bjørkegreini
bjørnebæri
blenge
blokkeringi
blomsterbordi
blyerts
bogen
bokstavrekningi
bokstavteikni
Borddisk
effektevaluering
elgkalv
Elone
emballer
faktainformasjon
familiebedrifti
familieterapeut
fastbuande
Februar
feili
fisketom
hengelåsi
istandsetjingi
Item
jaguar
jamlig
janen
jarnbanestasjon
kjende
kjentfolki
kjæleri
kjøledisk
kjørety
midli
Mideftnar
midtstrek
multiplikasjonstabell
museumsdirektør
onsdag
operasjon
operasjonskode
opinionsskapingi
opningi
Personalkonsulent
Personligdom
persontryggleik
petroleumspris
redningsaksjon
reduksjon
refusnik
seinst
sekretær
seljande
sendeferd
Standpunkt
støyisolering
støytvis
terminoppgåve
tidløysone
tidsfølgjone
Tilbakebetalingstid
uprofesjonell
upåklageleg
Слова с ошибками []
Anlegsarbeid [Anleggsarbeid, Tvangsarbeid, Grunnlagsarbeid, Føregangsarbeid, Bergingsarbeid]
anonse [annonse, nonsens, anse]
ansversproblematikk [ansvarsproblematikk, vurderingsproblematikk, ventelisteproblematikk, valdsproblematikk, drivhusproblematikk]
barneforteling [barneforteljing, barnefordeling, barneforsking, barnefarforelegg, barnebefolkning, barnebortføring]
besoksliste [besøksliste, sortsliste]
bilophoggingi [bilopphoggingi, bilopphogging, opphogging]
effektivitetskontrol [effektivitetskontroll, effektivitetsforskjell, effektivitetsproblem, effektivitetsnøytral, effektivitetsforbetring]
fakturaerklering [fakturaerklæring, faktureringsliste, overfakturering]
miljøbyrad [miljøbyråd, miljøby rad, miljøby-rad, miljøbragd]
selskapskat [selskap skat, selskap-skat, selskaps kat, selskaps-kat, selskapsskatt, selskapskapital, selskapsrett, selskapstype]
cement [sement, dement, centime, cent]

View File

@ -0,0 +1,108 @@
Ajustaira
alaguiar
alausièr
alberguèri
alcaloïdic
alègrament
alenament
algorisme
Alimentacion
allergologia
alpèstra
amaisament
amorteirar
analista
analogic
atucament
Audicion
auquièr
auscultacion
auscultar
ausèri
autenticament
brilhant
brumós
Burgada
cabelièira
cadeçar
Caducèu
çaicontra
calcièrs
Calmar
camarilha
cambièra
canalhariá
casse
cedar
cendrós
cèrca
cèrtes
cestòdes
chantièr
chartrós
Chassís
dimensionar
diptèrs
dirèctament
discrecionària
discriminar
Distraire
dòler
Enòrme
enqueriái
espicifòrme
esquelèt
Esquèrra
estetic
innocéncia
innocentàs
Maniquèu
mantelejar
Nauchièr
natièr
oxigèn
pacanariá
pagés
pagesiá
Primièirament
requereguèri
requisitòria
saumelèri
S'autodeterminar
sautarèl
scientament
scientologia
secador
secretèri
sècta
sectorial
s'efarcimar
s'endeven
s'engarrar
sentimental
s'entrepausar
shampó
sextant
sòli
Solidament
soquèla [soquèla, roquèla]
subrejornada
suedés
utilitària
Utilizaire
vacàs
vaisselèri
valiái
validament
Слова с ошибками []
albatros [albatròs]
amistanza [amistança, amistat, animista]
brunonièr [brunhonièr, prunhonièr]
carpentier [carpentièr]
centrifugation [centrifugacion, centrifugadoira, centrifugador, centrifugar, centrifuga]
estelhad [estelhas, estelha, estelhada, estelhar, estelhan, estelhat, estelham, estrelhada, estervelhada, estenalhada, estendalha]
primaria [primariá, primària, primarai, primaris, primari, primariam, primacia, primarga]
s'embractar [s'embracetar, s'embraceta, s'embodracar, s'embarrassar, embracetar]
sosembrançament [sosembrancament, embraçament, asombrament]
vascularisacion [vascularizacion, secularizacion, cardiovascular]

View File

@ -0,0 +1,225 @@
dom
pies
kot
auto
drzewo
książka
szkoła
przyjaciel
mama
tata
dziecko
jabłko
czekolada
kawa
herbata
telefon
telewizor
komputer
muzyka
sport
zdrowie
piękno
praca
miłość
szczęście
czas
pieniądze
język
kraj
miasto
zima
lato
jesień
wiosna
morze
góry
jezioro
rzeka
park
zwierzę
ptak
ryba
drewno
złoto
srebro
metal
szkło
buty
sukienka
spodnie
koszula
czapka
płaszcz
ręka
noga
oko
ucho
nos
usta
ząb
głowa
serce
mózg
król
królowa
książę
księżniczka
chłopak
dziewczyna
mężczyzna
kobieta
staruszek
staruszka
lekarz
pielęgniarka
nauczyciel
uczennica
student
studentka
kucharz
kelner
wojna
pokój
mapa
flaga
śmiech
płacz
sen
marzenie
praca
nauka
sztuka
teatr
kino
muzeum
kaplica
kościół
zamek
most
droga
Сложные слова на польском языке []
1. konstantynopolitańczykowianeczka [nicejsko-konstantynopolitańskiego]
2. niezadogłębienieńskujący []
3. antykontraatakujący [finansująco-kontraktujący]
4. supersamoobsługiwalnymi [kancelaryjno-archiwalnymi]
5. rozpierduchlanoculka [nieporozpierdzielanie]
6. nieodezwawiałobyś [nieodprzedmiotawiany]
7. przystawieniowy [przedstawieniowy, nieprzystawienie, niepoprzystawianie, nieprzystawianie]
8. nieprzeżyciowakościami [nieprzewartościowywaniami, nieprzewartościowaniami]
9. nieprzekazywających [nieprzekrzywiających, nieprzejednywających, nieprzywdziewających, nieprzepoczwarzających]
10. przeciwzakwaszeniowych [zatokowo-przedsionkowych]
11. nieszczęściodrapańskiego [ogrodniczo-pszczelarskiego]
12. społeczno-wychowawczyniami [socjalizacyjno-wychowawczymi]
13. seledynowo-fioletowymi [mięśniowo-szkieletowymi]
14. przeciwdeszczową [przeciwdeszczową, przeciwdeszczowy]
15. mikroelektroniczno-kwalitacyjną [reumatologiczno-rehabilitacyjną]
16. nieokreślonościowo-losowo-obiektywnie []
17. zagubieniecioburakowatej []
18. antyneuroleptyzanckim []
19. nieupubliczniającymi [nieuwieloznaczniającymi]
20. splądrowałbyś [wyeksplorowałbyś]
21. konserwowano-spożywczymi [konserwiarsko-zamrażalniczymi]
22. ożelośćiowo-miłosnej []
23. nieprzyzwoitolicjią [nieprzypieczętowującą]
24. nieodporowościę [nieodpoliturowanie]
25. rzeszołkofiołkowatymi []
26. niezakapiactwuja [niezakatrupiająca]
27. nieoszczędniewczelnianków [oszczędnościowo-rozliczeniowa]
28. przekształconowaczkołępów []
29. rozwińczywianiu [nieporozwiązywaniu]
30. nieprzeskakiwalnościami [nieprzewartościowywaniami]
31. modernizująco-rewolucyjnego [reumatologiczno-rehabilitacyjnego]
32. nadzwyczajnieuzdolnionymi []
33. przemocno-wsparciański [warciańsko-odrzańskiemu]
34. przepyszno-peltzerowskiego [faszystowsko-hitlerowskiego]
35. kwestionowano-wzmocnieniami []
36. nieodczynieństwującą [nieodrzeczywistniającą]
37. niezasłużonowypasionego []
38. likwidującego/zarządzającego [odchudzająco-oczyszczającego]
39. szeszcześtoplutowanych [nieprzeinstrumentowanych]
40. niewpadkowościowi [wielonarodowościowi]
41. antynazizhownemu [niebizantynizowanemu]
42. nieuchronnieprzekroczeniowym [oszczędnościowo-rozliczeniowym]
43. niezatrawialnieprzyjemnego []
44. kardiopulmonologiczno-angiologów [endokrynologiczno-ginekologicznemu]
45. gorączkowointensywnościowego [wydolnościowo-sprawnościowego]
46. antykonstytucyjnorozpadowego [konstytucyjno-monarchicznego]
47. nieobawiamysię/źródleni []
48. prerewolucyjnolphillipsowi []
49. szóstkaniewygranych [niewykrystalizowywanych]
50. nieupadkokogeneracyjnymi [korekcyjno-kompensacyjnymi]
51. społeczno-humanitarnarządzaniami []
52. nieodziewowiędzy [nieumiędzynarodowienie]
53. przemocnochamować []
54. społecznosensacyjnosądowym [kompensacyjno-wyrównawczymi]
55. przerażającorzymskiego [kobylińsko-borzymskiego]
56. nieprzemontowanych/zamuzowych []
57. referendumkonstytucyjno-reformujące []
58. niezniesłowiałszymi [niezesłowiańszczonymi]
59. niebohaterystycznymi [charakterystyczniejszymi]
60. produktodenarodowomenopauzalem []
61. odrywającopierdolca [niedopierdzielająca]
62. niegotowożywione [żywieniowo-noclegowi]
63. niepostronnynarodzonemu [kilkudziesięciostronicowemu]
64. przedniaautochtonicznym [urbanistyczno-architektonicznym]
65. nadciągniono-wchodzących []
66. promocjostworczym [czteromocarstwowym]
67. niezapowiadającychkoalicji []
68. bezgłupinczłapie []
69. wyomjaził []
70. wagotonizacyjno-radiofonizowanego []
71. gospodarczo-zasadotwórczej [organizacyjno-gospodarczej]
72. skrupulatno-rzeźniczobardziej []
73. samokiedy-konstytucyjnej [konstytucyjno-monarchicznej]
74. niedomętnością [nieumiejętnością]
75. nieoszustamiwykorzystana []
76. przeprowadzonoświeckie [nieprzeprojektowywanie]
77. nieuniknionaobowiązkowo-plastycznej []
78. poduszkowo-nicościowych [porządkowo-czystościowych]
79. niepowodzeńbutmizeryjewego []
80. skojarzeniowocolorowymi [wypoczynkowo-szkoleniowymi]
81. przytułkamiwciągarkowych []
82. wchodziłoprzeciwniepowszechny []
83. karaublicznociągana [publiczno-prywatnego]
84. przedpolitycznilubelskim [hemolityczno-mocznicowemu]
85. niezapowiedziano-date-expanded []
86. licznościłodziennej [termiczno-wilgotnościowej]
87. niezawinieniomatołek []
88. pakujączwobilardowego []
89. rewersdopisek []
90. przeprosinoworadosną [nieprzeprojektowywaną]
91. nieakceptacyjnoprospekcyjnymi [adaptacyjno-rehabilitacyjnymi]
92. jedniżużytym [nienadużytymi]
93. ainikopciksemilitechnikowany []
94. motszynopiszącym [niewspółtowarzyszącym]
95. nieprzerejestrowanasezonowanie []
96. słupotartackimoblikiem []
97. nieodbieraniemniedostępności []
98. dorozwinięcówkobiet []
99. szybopojabytesłowickiego []
100. przystępnoracjmujacych []
Слова с ошибками []
jedniiżużytym [nienadużytymi]
wiomjaził [jaziowy]
niezzniesłoowiałszymi [niezesłowiańszczonymi, niezesłowiańszczanymi, niezesłowiańszczającymi, najniesłowniejszymi]
superrsammoobsługiwalnymi [muzealno-archiwalnymi]
przemoocnochamować [przeprogramować]
staruszzka [staruszka, staruszeczka, staruszek, staroruska, starszaka]
tiatr [tiar, titr, tatr, teatr, wiatr, otiatra, otiatria, tristia]
woina [wpina, wona, wina, wozina, dwoina, wolina, wonna, wcina, toina, wodna, doina, wolna, wojna, wgina, woźna]
teleffon [telefon, telef fon, telef-fon, telefoto]
zołoto [złoto, gołoto, hołoto, Gołoto, Hołoto, zołotnik]

View File

@ -0,0 +1,108 @@
que
eu
não
de
você
para
ele
se
é
um
sim
por
isso
em
uma
uuma [u uma, uma, usma, suma, numa, ruma, duma, puma, fuma, juma]
está
como
com
bem
na
me
mas
do
era
quando
então
tudo
tydo [tudo, tido, todo]
aqui
disse
estava
esâtava [estava, tavares]
fazer
vai
sobre
vamos
homem
hollmem [homem-gol]
bom
ok [o k, o, k, oó, os, oi, oc, ou, om, oh]
agora
coisa
coissa [coisca, coiça, coisas, coisa, cossa, comissa, cisosa, cissoa, cossai]
quero
foi
meu
seu
eles
as
posso
pocso [posso, poco, poso, psoco, poiso, pouso, pocho]
estou
mais
mim
certo
dizer
dizdizerr [dizer]
os
no
sei
ela
vocês
sua
todos
sabe
minha
alguma
algyyma [amalgama]
casa
muito
oh
quallquer [qualquer, alquerque, malquerer, alqueria, alquermes]
qualquer
da
estamos
até
onde
onede [enode, onde, monede, neode, onere, olede, nedendo]
ao
tenho
nós
tem
tinha
tiinha [tinão ha, tiazinha, toinha, tinha, tirinha, tidinha, tipinha, tianha, tainha]
quê
ir
ou
pode
quer
vou
seus
dia
estão
nos
cabeça
quem
anos
depois
sou
vez
fez
irmão
câmera
câmeara [cameara, cameará, câmera, câmara, acâmera, comeara]

View File

@ -0,0 +1,135 @@
pan [pana, pane, pano, pen, par, pai, pau, paz, San, Van, Dan, pança]
manteiga
menteiga [manteiga, antigamente]
queijo
salchichón [salsicha]
saуlchichón []
óleo
pimenta
pimmenta [pimenta, pigmenta, pimenteira, pavimenta, implementa, impiamente]
sal
baga
mel
geléia [geleia]
cogumelo
cebola
cóbola [cebola]
banana
cenoura
pêra [pera, para, pira, pura]
beterraba
frutas
melão
melancia
bolo
chocolate
carne
batatas
salada
salóda [salda, salada, salsada]
tomate
pepino
pipino [pepino, pi pino, pi-pino, pipi no, pipi-no, filipino, pino]
col [cola, cole, colo, coa, cal, coe, cor, rol, sol, coo, com]
mingau [mingua, mingai, minga, mingar, mingas, mingou, mingam]
sopa
sanduíche
refrigerante
refrigarante [refrigerante, refrigerar, intrigante]
água
café
chá
leite
suco
scuco [suco, cuco, cucos]
maçã
uvas
laranja
abacaxi
adacaxi [abacaxi, cacada]
damasco
demasco [damasco, demarco, remasco, de masco, de-masco, descasco]
açucar [açúcar, açucara, açucare, açucaro, açudar]
arroz
macarrão
res [rés, ser, ares, reis, ires, ores, dres, rei, ris, ses, rãs, rês]
porco
frango
costeleta
cãsteleta [costeleta, chapeleta]
limão
ervilha
pão
peixe
caramelo
sorvete
nogueira
ovo
pêssego
xícara
xíícara [xícara, caraíba]
vidro
prato
colher
garfo
faca
pires
garrafa
guardanapo
café da manhã [ssafé da manhã]
almoço
jantar
avião
carro
bonde
ônibus [ónibus]
trem
bicicleta
janeiro
fevereiro
fevíreiro [fevereiro, ferreiro]
março
abril
maio
junho
julho
agosto
setembro
setembra [setembro, seteara]
outubro
novembro
dezembro
desembro [desmembro, dezembro, deslumbro, setembro, desdobro]
caneta
livro
xadrez
telefone
relógio
pente
televisão
ferro
sabão
rádio
bolsa
cartão
mala
presente
câmera [câmara, comera]
computador
camputador [computador, captador]
filme
flor
vaso
quadro
lenço
bola
balão
brinquedo
brinqueedo [brinquedo, branqueado]
conta
sobre
papel
pepel [papel, repele, pele]
jornal
letra
bilhete

View File

@ -0,0 +1,210 @@
casă
copil
carte
masă
școală
lumină
apă
munte
soare
lună
pâine
fruct
floare
stradă
mașină
aer
timp
zi
noapte
nor
vânt
ochi
gură
nas
mână
picior
inimă
sânge
cap
ureche
voce
melodie
culoare
formă
linie
cerc
dreptunghi
cercetare
știință
limbă
frază
literă
cifră
număr
sunet
zgomot
telefon
internet
computer
program
ecran
tastatură
mouse
joc
sport
muzică
artă
film
televizor
radio
planetă
stea
univers
galaxie
atom
moleculă
substanță
energie
lumină
căldură
frig
aparat
instrument
mașinărie
unelte
hrană
băutură
haine
pantofi
păr
piele
ochelari
ceas
bijuterie
pământ
apă
aer
foc
metal
lemn
piatră
hârtie
cerneală
pix
carte
cadru
tablou
sculptură
model
formă
anticonstituționalitate [anti constituționalitate, anti-constituționalitate, anticonstituționali tate, anticonstituționali-tate, anticonstituționale, neconstituționalitate, anticonstituțională, constituționalitate]
dezvoltare
inexpugnabil
nefast
concomitent
antiseptic
recalcitrant
perseverență
extravagant
inexorabil
colosal
plauzibil
efervescent
perspicacitate
superfluu [superfluă, superfulger]
subversiv
incoruptibil
inefabil
hiperbolic
indefectibil [indestructibil, indefinibil]
peremptoriu
ambivalent
paradoxal
heterogen [eterogen, heterogonie]
indiferent
periferic
subliminal
ultraviolet
indeferent [indiferent, interferent, deferent, inaderent, independent]
conglomerație
circumstanțial
contraproducător [contra producător, contra-producător, contraproductivă, contraproductiv, neproducător]
conglomerat
insurmontabil
intransigent
insidios
inerent
consternant
ambiguitate
inerție
inconsolabil
oniric
remarcabil
repudiat
subiectiv
periculos
infatigabil
abnegare
exuberant
facet [face, falet, facem]
represiune
implacabil
indiferent
infatigabil
insolit
intempestiv
incandescent
letargic
magistral
magnanim [magnaliu]
nefast
oblivial [bolivian]
oportun
periculos
plutitor
propice
reprobabil
risipitor
robust
salutar
simetric
solicitant
stringent
sufocant
superficial
tranzitoriu
tributar
trivial
umilitor
unic
vehement
vernal
vicios
victorios
vindicativ
virtuos
vizibil
volatil
vorace
vulnerabil
xenofob
xerofil
yonder [pondere]
yang
yodel [model]
zonal
zodiac
zoon [ozon, zono, zoom, zoo, zon, zobon, zovon, zvon, zoo n]
zoomorf
zurbagiu
Caaă [Casă, Cară, Cată, Cală, Cană, Cauă, Camă, Capă, Cadă, Cață, Cază, Cavă, Cașă]
Soaare [Soare, Sotare, Solare, Sonare, Somare, Soțioare]
Cartr [Carte, Cart, Carter, Carta, Carto, Cartu, Cartă]
Appă [Papă, Apă, Arpă, Aptă]
Coopil [Copil, Copilo, Copiilor]
Frumoss [Frumos, Frumos s, Frumoasă]
Feriсire [Fericire, Rereferire, Ferire]
Prietenn [Prieten, Prieteni, Prietena, Prietene, Prieteno, Prietenu, Prietenă, Prieten n, Prietinie, Prietin, Pretenție]
Muziică [Muzică, Muzic, Muică]
Exeplu [Exemplu]

View File

@ -0,0 +1,197 @@
должен
доллжен [должен, доложен]
наш
думаю
думмаю [думаю]
свою
сам
всем
ни
нас
пока
этом
этой
ваша
всеми
возьми
моей
сама
вся
день
само
всей
бывает
себе
пойду
куда
ими
твоей
всю
своего
твой
пусть
ним
про
точно
иметь
которые
тогда
сюда
наше
самой
взять
наверное
домой
совсем
те
тобой
наверно
что-то
будто
твои
пути
дома
такие
тех
такое
его
самой
вашей
наверное
мои
например
типа
значит
люблю
минут
пор
случае
искусство
лучше
того
такому
ждать
видеть
мною
ждал
имя
важно
чего-то
самому
обычно
представляет
мечтать
стало
помните
взять
моих
самим
своим
вообще
самими
здесь
обратно
сразу
таким
ежели
наоборот
куда
таков
мечтает
значит
покажи
такими
кстати
почти
всякий
научит
вдоль
тогдашний
толком
занимает
Аквапланирование
Барокамера
Библиографирование
Биосинтез
Взаимодействующий
Вибраторный
Виртуальность
Вооруженность
Господствующий
Десантно-штурмовой
Диагностировать
Дипломатический
Дисгармония
Дискриминационный
Достопримечательный
Жизнеустройство
Интернациональный
Инфицированный
Кальцинировать
Ключичный
Коннотация
Лиловатый
Люминесцентный
Метрополитен
Многоплановый
Модернизировать
Наивысший
Наименее
Неопределенный
Нераскрытый
Неоднократный
Неохотно
Непостижимый
Неусыпный
Обезьяноподобный
Обзавестись
Оптический
Оптимизировать
Осуществиться
Очистительный
Парафинировать
Переключатель
Пограничный
Подготовительный
Подрядчик
Полиморфный
Почитать
Преисполниться
Преподаватель
Преследователь
Прирожденный
Проектирование
Профанация
Разграничительный
Распоряжающийся
Реконструктивный
Революционный
Рентгенологический
Рискованный
Роскошествовать
Самоунижение
Сверхъестественный
Светочувствительный
Семантика
Сингулярность
Совершенствовать
Соединительный
Сосуществование
Спорообразующий
Стационарный
Столовая
Сторицей
Сцепной
Трансформирующий
Триумвират
Укротитель
Универсальный
Федеративный
Хронометраж
Целостность
Криумвират [Триумвират]
Укратитель [Укротитель]
Универссальный [Универсальный]
Фидиративный []
Хранометраж [Хронометраж]
Целосность [Целостность]

View File

@ -0,0 +1,205 @@
hiša [šiša, Riša, Miša, hi ša, hi-ša]
pes
mačka
avto [atto, asto, auto, zavito]
drevo
knjiga [kvadriga]
šola [šila, šoka, šla, švola, škola, šosa, vola, šora, rola, kola, mola, dola, šopa, pola, hola]
prijatelj [prijatej, prijate, prijatie]
mama
oče [očne, otče, toče, očke, koče, moče, očeš, oči, one, ose, oke, oje, obe, očí, očú]
otrok
jabolko [jablko]
čokolada [čokoláda]
kava
čaj
telefon [telefón, telefot]
televizija [televízia]
računalnik [račianski]
glasba [glasnosť]
šport
zdravje [zdravej, zdravie, zdravte, zdravme, zdrav je, zdrav-je]
lepota [pelota, slepota, lopota, lehota, klepotať, epoleta, poleptať]
delo
ljubezen [lezeniu]
sreča [srnča, skeča, smeča]
čas
denar [denár, nedar]
jezik [veziko]
država [držiava, držala, dŕžava, dĺžava]
mesto
zima
poletje [polejte, poleje, poletuje, polje]
jesen [jeseň, jesne, nesej, jeden, jesene, jeseni, jesení]
pomlad [omlad, poklad, p omlad, pomlka]
morje [morke, more, moje, morte, morme, mor je, mor-je, morčej]
gore [hore, gofre, nore, kore, more, zore, bore, šore, Nore, Tore, Lore, Zore, gágore]
jezero [jazero, je zero, je-zero, zero]
reka [areka, rieka, rekta, repka, rezka, raka, roka, rekt, seka, reva, veka, deka, repa, reku, ruka]
park
žival [žuval, živa, živel, živil, rival, ži val, ži-val, živ al, živ-al, živa l, žičieval]
ptica [pica, pätica, psica, štica]
riba [rabi, roba, ria, iba, raba, ribi, ryba, rúba, róba, Tiba, r iba, babri]
les
zlato
srebro [rebro, s rebro, striebro]
kovina [okovina, krovina, ovinka, konina, novina, korina, rovina, kozina, košina, kofina, rakovina, kávovina]
steklo [šteklo, seklo, stekalo, stieklo, stenklo, streklo, stoklo, steblo, stĺklo]
čevlji [nevlhči]
obleka
hlače [hláče, tlače, hlase, hlave, hlade, plače]
srajca [rajca, krajca, s rajca]
kapa
plašč [plaš, plač, plaší, plaš č]
roka
noga [noha, nota, nosa, nova, nora, loga, koga, doga, joga, noža, noša, noxa, Toga, neogab]
oko
uho [ujo, ho, tuho, uhor, uhol, uhlo, ucho, uhoľ, uňho, hou, oho, uto, uhm, cho, uhú]
nos
ustnice [ustrice, kapustnice]
zob
glava [hlava, Ilava, Slava]
srce [drce, srnce, srdce, srne, srde, síce, súce]
možgani [moganie]
kralj [kraj, kraal]
kraljica [kraslica]
princ
princesa
fant
dekle [deke, dele, pekle, de kle, de-kle, debakle]
moški [košmi, kamoši]
ženska [ženská, ženiska, žensky, ženskí, ženský, ženskú, ženské]
starec
starka [starká, straka, statka, starla, stara, ostarka, staríka, starca, starkí, starký, starkú, starké]
zdravnik [zdrav nik, zdrav-nik, zdravenia]
medicinska sestra [medicínska sestra]
učitelj [učitelík]
učenka [učeníka, učenia, učenca, utečenka]
študent
študentka
kuhar [kurare]
natakar [katakana, katarakta, katarakt]
vojna
mir [mri, mor, mi, mira, mire, mier, emir, miri, miru, mar, air, mer, min, sir, mil]
zemljevid [zemediel]
zastava [zástava, zastáva, zastav, zastavia, zastaval, zastavaj, zastavať, zostava, zastala, zastaví]
smeh [sneh, smej, sme, steh, smer, smel, smeč, smeť, sme h]
jok [koj, kok, joj, jol, ojok, jak, jot, tok, sok, vok, rok, lok, mok, dok, job]
spanje [spanie]
sanje [sane, saje, sanuje, banje]
delo
učenje [učenej, učene, učenie]
umetnost [etnosti]
gledališče [nepojedali]
kino
muzej [mušej, muzeálnej]
kapela
cerkev
grad [grád, gard, hrad, graf, rad, grand, gram, gray, úrad, Arad]
most
cesta
Сложные слова []
1. Neparlamentarna [parlamentarizmus]
2. Samozadosten [rozradostene]
3. Nepristranski [protistranícki]
4. Pretirano [pretrénovanosti]
5. Nepredušno [nepriedušnosť]
6. Nesreča []
7. Razpršeno [zhoršenou]
8. Nesprejemljiv [nesprejazdňujeme]
9. Prekomeren [rekompenzovať]
10. Prostovoljstvo [sprostredkovateľstvo]
11. Izolirati []
12. Trmast []
13. Brezpogojno []
14. Neodvisnost [neodôvodnenosti]
15. Skupnost [ústupnosti]
16. Neizvedljiv []
17. Nelegitimen [nelegitimizuje]
18. Nevzdržen []
19. Preobremenjenost []
20. Ogrevalni sistem []
21. Preoblikovati [aplikovateľnosti]
22. Nezaslišano [nezasluhujúci]
23. Neugoden []
24. Prezasedenost [prezamestnanosť]
25. Nesreča []
26. Neupravičeno [nenapraviteľnosť]
27. Mednaroden [mŕtvonarodeným]
28. Kompatibilnost [najkompatibilnejšom]
29. Neuspeh [neusporte]
30. Neobvladljiv []
31. Neskončen [neskončenej]
32. Neprimeren [neprimeranie]
33. Amortizacija [amortizovaných]
34. Koncentracija [dekoncentrácia]
35. Cirkulacija [recirkulácia]
36. Obremenitev [odbremenenie]
37. Gromozanski []
38. Simbol []
39. Vinjeta []
40. Digitalizacija [digitalizovaný]
41. Funkcionalnost [funkcionalistické]
42. Rentabilnost [nerentabilnosti]
43. Ekshibicionizem [exhibicionizmus]
44. Frustracija [frustrujúci]
45. Neprilagodljiv []
46. Severnoameriški []
47. Ekskluzivnost []
48. Preverjanje [preverovanej]
49. Celoživljenjsko []
50. Privlačnost [neprivlastňovala]
51. Periferija [periferický]
52. Sokrivda [dokrivkať]
53. Kompromis [kompromisník]
54. Strpnost [ostrovtipnosť]
55. Racionalizacija [zracionalizovania]
56. Birokracija [gerontokracia]
57. Odraslost [odrastenými]
58. Stabilnost [nestabilnosti]
59. Nepredvidljivost [najnepredstaviteľnejšou]
60. Razkošje []
61. Smrtnost [úmrtnostným]
62. Obveščenost [presvedčenosti]
63. Produktivnost [neproduktívnosti]
64. Neugodje []
65. Zapletenost [zakrpatenosti]
66. Hegemonija []
67. Umetnost [menostatikum]
68. Tranzicija [tranzitivita]
69. Individualnost [individualisticky]
70. Kontaminacija [kontaminantmi]
71. Inkubacija []
72. Prikrito [prikrátko]
73. Etnični [Letničie]
74. Sovražnost [samovražednosť]
75. Atraktivnost [abstraktnosti]
76. Nestrpnost [nepriestupnosti]
77. Divergenca [divergencia]
78. Digitalna pismenost []
79. Stabilizacija [autostabilizácia]
80. Raznolikost []
Слова с ошибками []
Kontamenacija [Kontaminácia]
Grommozanski [Grobianski]
Neobvladlliv [Neobkradli]
Neparlametarna [Neparlamentný, Parlamentárnej, Parlamentne]
Nevrzdržen [Združene, Zdražene]
voina [vonia, vina, vojna, voľna, voština]
muzei [muzeálni]
ryba
serebro [se rebro, se-rebro, rebro]
televiziia [televízia]

View File

@ -0,0 +1,210 @@
Hiša
Sonce
Miza
Stol
Ptica
Trava
Drevo
Noč
Luna
Morje
Gora
Cvet
Riba
Rdeča
Modra
Zelena
Rumena
Bela
Črna
Kamen
Pes
Mačka
Roka
Noga
Glava
Oči
Uho
Nos
Usta
Jabolko
Hruška
Sliva
Jagoda
Malina
Lubenica
Kruh
Mleko
Sir
Mesnica
Sadje
Zelenjava
Voda
Zrak
Ogenj
Sneg
Dež
Oblak
Veter
Zima
Poletje
Jesen
Pomlad
Zajec
Lisica
Volk
Medved
Lev
Tigrica
Slon
Konj
Krava
Ovca
Piščanec
Jajce
Mleko
Kava
Čaj
Sok
Vino
Pivo
Hrana
Pecivo
Testo
Marmelada
Kruh
Sir
Olje
Sol
Poper
Sladkor
Kava
Čaj
Vino
Pivo
Šola
Učitelj
Učenec
Knjiga
Pisarna
Računalnik
Telefon
Glasba
Slika
Film
Gledališče
Mesto
Vas
Trg
Cesta
Reka
Avtomatizacija
Razvoj
Komunikacija
Kompjuter [Juterškov]
Programiranje
Elektronski
Inženiring
Elektrifikacija
Kombinacija
Sistem
Informacija
Univerza
Biblioteka
Univerzitetni
Laboratorij
Raziskava
Razvojna
Inovacija
Intelektualni
Integriteta
Izobraževanje
Izvajanje
Preverjanje
Tehnologija
Implementacija
Program
Sodelovanje
Proizvodnja
Industrija
Organizacija
Administracija
Proaktivnost [Retroaktivnost, Produktivnosti, Produktivnost, Provokativnost]
Kreativnost
Projektni
Razumevanje
Kvaliteta
Upravljanje
Ocenjevanje
Statistika
Kompetentnost
Konsolidacija
Realizacija
Kapaciteta
Distribucija
Kompatibilnost
Konceptualizacija [Konceptualizem]
Povezava
Posodobitev
Fleksibilnost
Ekonomija
Organiziranje
Konkurenca
Stabilnost
Ekologija
Osebnost
Zavzetost
Entuziazem [Entuziast]
Motivacija
Avtorizacija
Kreacija
Akumulacija
Monotonija
Diferenciacija
Transformacija
Koncentracija
Inovativnost
Aktivnost
Vzpostavljanje
Reorganizacija
Kategorizacija
Partikularnost
Homogenost
Izjemenost [Izjemnost, Izjemen ost, Izjemen-ost, Zmenjenosti, Izrojenost, Izmišljenost, Izrinjenost]
Generalizacija
Hierarhija
Koordinacija
Inspiracija
Evaluacija
Ustvarjalnost
Oblikovanje
Kompatibilnost
Konkretizacija
Proaktivnost [Retroaktivnost, Produktivnosti, Produktivnost, Provokativnost]
Identifikacija
Kapaciteta
Intervencija
Konsolidacija
Realizacija
Eksplozivnost
Abstrakcija
Individualnost
Integracija
Segmentacija [Sedimentacija, Sedimentacij, Argumentacija, Alimentacija]
Asimilacija
Artikulacija [Artikuliranja, Artikulirala, Cirkulacija, Kalkulacija]
Kolaboracija
Asociacija
Stabilizacija
Kooperacija
Transformacija
Hšza [Hrza]
Kmojnikacija [Komunikacija]
Progrramiranjee [Programiranje, Reprogramiranj, Programiranega, Programiranj]
Elektornkski [Elektorski, Elektorkin, Elektronski, Elektorki]
Inženeirrng [Inženiring]
Izzobraževanjee [Izobraževanje, Izobraževanj, Izobraževanega, Izobraževane]
Infomracija [Informacija, Informacij, Rafinacijam]
Razvoojnaa [Razvojen]
Proizvdonja [Proizvodnja, Proizvajanja, Proizvajanj, Proizvaja]
Akitvnostt [Aktivnost]

View File

@ -0,0 +1,227 @@
кућа
пас
мачка
аутомобил
дрво
књига
школа
пријатељ
мама
тата
дете
јабука
чоколада
кафа
чај
телефон
телевизија
рачунар
музика
спорт
здравље
лепота
посао
љубав
срећа
време
новац
језик
земља
град
зима
лето
јесен
пролеће
море
планине
језеро
река
парк
животиња
птица
риба
дрво
злато
сребро
метал
стакло
ципеле
одећа
панталоне
кошуља
капа
капут
рука
нога
око
уво
нос
усне
зуб
глава
срце
мозак
краљ
краљица
принц
принцеза
дечак
девојчица
мушкарац
жена
старац
старица
доктор
медицинска сестра [војномедицинска]
наставник
ученик
студент
студенткиња
кувар
конобар
рат
мир
мапа
застава
смех
плач
сан
сањарење
посао
учење
уметност
позориште
биоскоп
музеј
црква
дворац
мост
улица
пут
Сложные слова [Словенства]
Конечно! Вот сто сложных слов на сербском языке на кириллице: []
1. Контраст [контрастира, контраста, контрастно, контрастна]
2. Компликација [компликацијама, компликација, компликације]
3. Конструкција [реконструкција, конструкцијама, конструкција, конструкцију]
4. Диспропорција [пропорцијалном]
5. Корелација [корелацијама, корелација]
6. Колаборација [колаборација]
7. Консервативан [конзервативан]
8. Диференцијација [диференцијације, диференцијацијом, диференцијална, диференцијални]
9. Експерименталан [експерименталним, експериментална, експериментални, експерименталне]
10. Инвалидитет [инвалидитет]
11. Легитиман [нелегитиман]
12. Оптимизација [аклиматизација]
13. Компетентан [некомпетентан, компетентан]
14. Документација [документација, документацијом, документацију, документације]
15. Персистентан [асистенткиња]
16. Апроксимација [апроксимације]
17. Екстраваганција [екстравагантност]
18. Катастрафалан [катастрофалан]
19. Резервација [резервација]
20. Прогресиван [прогресиван]
21. Идентификација [идентификација, идентификације]
22. Генерација [регенерација, генерација]
23. Криминалистички [криминалистички, криминалистичка, криминалистичке]
24. Дестабилизација [индустријализација]
25. Корумпиран [корумпирана, корумпиран]
26. Конфронтација [контаминација]
27. Експлозиван [експлозиван]
28. Функционалан [функционалности]
29. Релевантан [релевантан]
30. Квалификација [квалификацијама, дисквалификација, квалификација]
31. Акредитација [рехабилитација]
32. Петиција [петицијама]
33. Каустичан [аутистичан]
34. Периодичан [периодичан]
35. Контроверзан [контроверзна]
36. Гигантски [гигантских]
37. Принципијалан [беспринципијелан]
38. Управоливост [расположивости]
39. Имунизација [имунизација]
40. Магнетичан [магнетично]
41. Оперативан [оперативан]
42. Десант [десантне]
43. Хиерархија [хијерархија]
44. Феминистички [феминистичког]
45. Сегментација [сегментацијом]
46. Колоритан [колорисан]
47. Деградација [деградација]
48. Диверзификација [диверсификацију]
49. Казуистички [карикатуристички]
50. Реципрочан [реципрочан]
51. Манипулативан [манипулативна]
52. Екстензиван [екстензивна]
53. Колективни [колективни]
54. Каузалитет [локалитету]
55. Синхронизација [синхронизација]
56. Кампања [кампањама]
57. Товарни [товарника]
58. Хируршки [хируршких]
59. Шампионат [шампионати]
60. Геостационаран [револуционарност]
61. Опустошан [опустошености]
62. Клема []
63. Стационарни [стационарна]
64. Секуларни [секуларних]
65. Исегментација [сегментацијом]
66. Дебелина [дебелића]
67. Прецизан [непрецизан]
68. Рафиниран [рафинирани]
69. Психолошки [психолошких, психолошки]
70. Турбулентан [корпулентан]
71. Интегритет [интегритет]
72. Идеолошки [идеолошких]
73. Манифестација [манифестација]
74. Имплицитан [имплицитан]
75. Хомогеност [хомогеност]
76. Изолација [хидроизолација]
77. Хетерогеност []
78. Спекулативан [спекулативна]
79. Вагу [превагу]
80. Математички [математичким, математички]
81. Гематолошки [стоматолошки]
82. Психијатријски [психијатријске]
83. Блокада [блокадама]
84. Заплена [заплетена]
85. Монопол [монополом]
86. Дисидент [дисидентски]
87. Екстрадиција [екстрадиција]
88. Ревизија [ревизијама]
89. Ваидан []
90. Колонизација [колонизација]
91. Мотивација [мотивација]
92. Просек [просектор]
93. Ресурс [ресурсу]
94. Хуманизам [хуманизам]
95. Дравски [Подравских]
96. Коалиција [коалиција]
97. Картеля [картелима]
98. Резолуција [резолуција]
99. Менталитет [менталитет]
100. Епидемиологија [дијалектологија]
С ошибками []
Колонизакаија [Колонизација, Колонизацији, Колонијализам, Колонијализма]
Епидемиогија [Епидемија, Епидемијом, Демагогија]
Казуистикаки [Казуистика, Казуистике, Статистика]
Хуманкзам [Хуманизам, Хуманизма]
Манитулативан [Манипулативна, Ултимативан, Ултимативни]
сањваење [сањање]
утење [хтење, утање, стење, умење, утеше, утече, учење, утехе, утеже, уђење, утезање]
автомобил [аутомобил, обилатом]
мекицинска сестра [војномедицинска]
стукло [стукли, тукло, стукла, стакло, стекло, свукло]

View File

@ -0,0 +1,173 @@
ananas
anarhistički
antidepresiv [depresivan, depresivna, represivan, depresivne]
Anđeo
avion
banana
banka
belina
bespomoćnost
bibliotekar
bibliaoteikar [bibliotekarka, bibliotekar, biblioteka]
brod
citat
crkva
cvet
cveće
demokratija
demackratija [demokratija, demokratizacija, demokratiji, demokratije]
demokratizacija
Dobrota
dom
Dragi
ekran
eksperimentalni
eksplozija
epidemiologija [epistemologija, ideologija]
farmakologija
filantropija
flaša
frizura
fudbal [fudbal, fudbala, fudbalu]
garaža
generalitet
geografski
globalizam
gnezdo
grad
građanstvo
grlo
hamburger
Harmonija
himalaji [Himalaji, malajski]
hiperbola
hipotermija [hidroterapija]
hleb
Hrabrost
hrana [hrana]
Hvala
igra
igračka
individualnost
infrastruktura
internet
inmternet [internet, interne]
jabuka
jahač
jastuk
jednakost
jubilej
jurisprudencija
kafa
krevet
kriminalisticki [kriminalistički, kriminalistika, kriminalistička, kriminalistiku, kriminalističke]
kriminalistika
kuća
kvantitativni
lampa
latiaratura [mlatarati, rasturati, maturirala, landarati]
Lepota
lingvistika
literatura
ljubav
Ljubavi
ljubavnica
Ljubazan
Ljubim
lubenica
majica
majka
mašina
mikroorganizama
mikroskopija [mikroskop ija, mikroskop-ija, mikroskopi ja, mikroskopi-ja, mikroskopi, mikroskopska, mikroskopa, mikroskopski]
Milost
Mir
Mirno
nacionalizam
nedopustiv
neurologija
novčanik
noć
nož
oktobar
okultizam
optimističan [optimistička, optimistički, optimističke, optimističku]
optimističnost [optimistički, optimističke, optimistička, optimističku]
ormar
Osoba
oči
pas
peškir
planina [planina, planinar, planinac, planinčina, planini, planinčini, planin]
poniženje
Porodica
Prijatelj
psihologija
psihoterapija
Radost
računar
reka
rekonvalescencija
reumatologija [dermatologija, hematologija, stomatologija]
revolucija
sendvič
Slatko
Sloboda
Slobodan
Snaga
socijalizacija [socijalizam, specijalizacija, specijalizacijom, socijalizma]
socijalizam
Spreman
Sreća
Srećan
Srećno
sunce
superiornost
Svetlost
tata
tehnologija
telefon
telekomunikacije
top
tradicionalni
ulica
univerzalnost
univerzitet
univirzdalnost [univerzalnost]
Usmena
Znanje
usta
Vedar
vegetarijanstvo
velikodušnost
voda
voz
Zabava
zavisnost
Zdravlje
zemlja
Zima
zjmlja [zemlja]
zločinački
zoološki
Zvezda
ćilim
čarapa
čarobnjak
časopis
čizme
đak
đevrek
đumbir
šešir
šišmiš
škola
šljiva
šuma
žaba
ženskara
žirafa
život
životinjski
žurka

View File

@ -0,0 +1,210 @@
Hus
Sol
Mjölk
Vatten
Fisk
Stol
Grön
Blomma
Träd
Katt
Hund
Bok
Cykel
Kaffe
Frukt
Kött
Fönster
Dörr
Säng
Lampa
Bord
Hår
Ögon
Hand
Fötter
Näsa
Mun
Öra
Huvud
Arm
Ben
Kläder
Hatt
Skor
Väska
Papper
Penna
Skrivbord
Telefon
Radio
Musik
Film
Teater
Konst
Sport
Spel
Resa
Bil
Tåg
Buss
Flygplan
Båt
Stad
Land
Hav
Sjö
Flod
Berg
Dal
Park
Skog
Sjukhus
Apotek
Skola
Universitet
Affär
Restaurang
Café
Hotell
Turist
Vän
Familj
Mamma
Pappa
Bror
Syster
Barn
Morfar
Mormor
Vänster
Höger
Framåt
Bakåt
Upp
Ner
Snäll
Osnäll [Snäll, Osäll]
Glad
Ledsen
Trött
Stark
Svag
Tyst
Bullrig
Ren
Smutsig
Vacker
Ful
Liten
Stor
Komplexitet
Oproportionerlig
Ovillkorlig
Efterklokhet
Komplicerad
Desorientering
Konstellation
Otillgänglighet
Irreversibel
Förlåtelse
Overksamhet
Indifferent
Hierarki
Kombinatorik [Kombinatorisk, Kombination]
Inkompatibilitet
Absorption
Konsekvens
Verklighetsfrånvänd
Retrospektiv
Förändringsbarhet [Förändringsbarnet, Förhandlingsbart, Förhandlingsbar]
Ambivalens
Besvikenhet [Besviken, Besviket]
Ineffektivitet
Intrikat
Dilemma
Hesitation
Absurditet
Kompromisslös
Konsolidering
Föresats
Tillfredsställelse
Delegering
Rekommendation
Detaljrikedom
Oanvändbar
Stagnation
Nostalgi
Hemlighetsfull
Avsaknad
Perseverans [Perseverera, Reverseras, Reversera]
Existentialism
Repetitivitet [Repetitivt, Receptivitet, Repetitiv, Representativitet]
Intolerans
Anonymitet
Obetydlig
Paradox
Förvirring
Juxtaposition
Reflektion
Självständighet
Kollision
Kreativitet
Djupgående
Abstraktion
Eufori
Autentisk
Insinuation
Omöjlig
Pessimism
Inkonsekvens
Revisionism
Sensationell
Obeveklig
Subjektivitet
Universalitet
Entropi
Omvälvande
Infiltration
Konservativ
Atypisk
Provokation
Konfrontation
Anarki
Konkurrenskraft
Defensivitet [Defensivt, Sensitivitet, Defensiv, Densitet]
Nihilism
Konklusion
Apori [Apor, Apors, Porig]
Korrespondens
Prioritering
Exponentiell
Fragmentering
Aversion
Harmoni
Vanmakt
Signifikans
Katalysator
Förlust
Enhällighet
Ambition
Tendens
Alienation
Artificiell
Uppfyllelse
Psykosomatisk
Virtuos
Egensinnig
Anpassning
Hållbarhet
Konstitution
Kompleksitet [Komplexitet, Komplementet]
Oproporsjonerlig [Oproportionerlig, Proportionerlig]
Uvilkorlig [Villkorlig]
Etterklokhed [Efterklok]
Komplisert [Komplicerat]
Desorientering
Konstelasjon [Konstellation]
Utilgjengelighet [Tillgänglighet]
Irreversibel
Forlatelse [Förlåtelse]

View File

@ -0,0 +1,205 @@
Akşam
Almak
Altın
Anahtar
Anlamak
Araba
Atmak
Ayakkabı
Açmak
Ağaç
Bahçe
Bakır
Bakkal
Bakmak
Balık
Beyaz
Bilgisayar
Bilmek
Binmek
Bulmak
Ceket
Cevaplamak
Deniz
Dinlemek
Doktor
Duyurulmamış
Düzenleştirme
Düşmek
Düşünmek
Ekmek
Elbise
Eldiven
Elma
Erkek
Etek
Etmek
Ev
Eşarp
Gelgit
Geliştiricilikle
Geliştirilebilir
Geliştirme
Gerçekleştirme
Gezmek
Geçmek
Gitar
Gitmek
Giymek
Gri
Gömlek
Görülebilirlik
Görünümlü
Görünüşlü
Gözlük
Gümüş
Günaydın
Hareketlendi
Hareketlilik
Hava
Hayalperest
Hüzün
Kahve
Kahverengi
Kalabalıklar
Kalem
Kalkmak
Kalmak
Kapatmak
Kararlılık
Kararlılıkla
Kararsızlık
Kararsızlıkla
Karpuz
Kedi
Kemer
Kemdkcer [Kemerler]
Kırmızı
Kitap
Kız
Kızgınmak [Kızgın]
Koklamak
Koalye [Kolye, Kavalye]
Kolye
Konservatuvar
Konuşmak
Korkmak
Koymak
Koşmak
Kravat
Kullanılabilir
Kullanılmış
Kullanılmışlık
Kullanışlılık
Kurumsallaşma
Köpek
Küpe
Kütüphane
Mavi
Mazbut
Melankoli
Merdiven
Merhaba
Merhabalar
Meurhaba [Merhaba, Murabaha]
Meydan
Meyhane
Meyve
Mor
Muhafazakar
Muhteşem
Mukadderatlarınızdanmışçasına []
Muvaffak
Muzaffer
Muzafferiyet
Muzip
Mükemmeldik
Münasebet
Münzevi
Müsrif
Mütevazi
Müteessir
Mütercim
Mütereddit
Mütevazı
Müzmin
Okul
Okumak
Otobüs
Otoriterlik
Oynamak
Pantolon
Pasta
Pembe
Pembei [Pembe, Pembeyi, Pembeli, Pembeci, Pembe i, Pembesi, Pemben]
Plaj
Platin
Saat
Sandalye
Sarı
Satmak
Sevinmek
Sevmek
Sıcak
Sıradaymışız
Siyah
Sormak
Soymak
Soğuk
Su
Sükûnet [Sükunet, Sünnet]
Sürrealist
Süt
Tabak
Tadına bakmak [Alınamamaktadır]
Tatlı
Tavuk
Telefoncu
Televizyon
Temizlemek
Teşekkürler
Türkuaz
Tuirkuazu [Türkuaz]
Turuncu
Tutmak
Ulaştırılabilir
Uygulanabilir
Uyumak
Uçak
Yapmak
Yatak
Yazmak
Yemek
Yeşil
Yıkanmak
Yıldız
Yol
Yöneltilmezken
Yüzme
Yüzük
Zenginleştirmek
Çalışamamıştı
Çalışmak
Çalışmamıştır
Çanta
Çay
Çıkarmak
Çiçek
Çorap
Özelleştirilmiş
Özelleştirme
Özgürleştirme
Üzülmek
İnmek
İsteksizlik
İsteksizlikle
İstikrarlı
İstikrarlılık
İstisnai
İslamiyetle
İzlemek
İçmek
İşbirliği
İşitmek
Şapka
Şemsiye

View File

@ -0,0 +1,210 @@
абдукція
абіогенез
амбівалентнасть [амбівалентність, амбівалентний, бівалентність, біоеквівалентність, внівалентність]
амбівалентність
анахранізм [анахронізм, брахманізм, анархізм, нанізм]
анахронізм
антропогенез
антропологія
антропоморфізм
апатія
археологія
архетип
аскетизм
астрономія
афект
бачити
бігти
білий
біллий [білий, збілілий]
біологія
бувай
будинок
будь ласка [будь ласку]
бути
важко
велиикий [великий, великоокий]
великий
веселка
взяти
вибачте
відчувати
вода
волюнтаризм
втаємниченість
вчитися
гарний
гарячий
гегемонія
географія
герменевтика
герменевтика
гештальт [штатгальтер]
говорити
гойдалка
готувати
грати
дати
дедукція
деконструктивізм [де конструктивізм, де-конструктивізм, конструктивізм, неконструктивно]
деконструкція
демаркація
детермінізм
дзвіночок
дивитися
дисгарммонія [дисгармонія, дисгармоніям, дисгармонійний, фісгармонія]
дисгармонія
дисфункція
дисфункця [дисфункція, дистинкція]
дихотомія
до побачення [побачення]
добрий
доктрина
думати
дурний
дурня
дякую
евфемізм
езотерика
ей
екзистенціалізм
екзистенціалізм
екзистенцілізм [екзистенціалізм, екзистенціаліст, екзистенція]
екзистенція
економіка
емерджентність
ентелехія
епістемологія
ефемерність
ефемерність
занепадництво
звісно
здоровий
зелений
йти
ілюзорність
ілюзорність
імплікація
інвектива
індукція
інтроспекціїя [інтроспекції, інтроспекція, інтроспекції я, ретроспекція]
їсти
історія
каблучка
кава
казус
калюжа
катарсис
каченя
каштани
квітка
кішка
класно
книга
когнітивістика [когнітивність, когнітивна]
комаха
консенсус
космогенез [номогенез, екогенез]
купувати
легко
лінгвістика
літати
маленький
марнослів'я
математика
мати
метаморфоза
метелик
метелиця
містифікація
місто
могти
можливо
мусити
насправді
не радий [нерадий, незрадний]
незворушність
ні
нігілізм
новий
нонсенс
ностальгія
павучок
парадокс
пес
писати
пити
піти
плавати
плакати
повільний
поганий
політологія
постмодернізм
потворний
працювати
привіт
прийти
психоаналіз
птах
радий
ремінісценція
рефлексія
робити
розбурхання [розбухання, розбурханий, розпухання, бурхання]
розумний
сильний
сингулярність
синестезія [кінестезія, анестезія]
синій
синішй [синій, синішай, синішати]
синкретизм
сказати
скатертина
слабкий
слухати
сміятися
сніг
соліпсизм
соломинка
сонечко
сонце
соціологія
спати
співати
справді
старий
структуралізм
сумний
так
так
танцювати
телефонувати
тож
трансцендентність
фантастично
фаталізм
фемінізм
феномен
феноменологія
фізика
філософія
фрактал
хворий
хімія
хліб
хліб
ходити
холодний
хотіти
чао [чадо, чан, чат, чар, час, чад, дао, чаш, чай, чаї, чаю]
червонй [червоний, червоній, червоно, червона, червоні, червону, червоне, червоню, червонявий]
червоний
черевики
читати
чорнй [чорний, чорній, чорно, чорна, чорни, чорні, чорну, чорне, чорню]
чорний
чути
швидкий
щасливий
яблуко

View File

@ -0,0 +1,262 @@
Mарт [Арт, Ғарт, Қарт, Карт, Шарт, Фарт, Варт, Парт, Сарт, Март]
Ёз
Ём
Ёхуд
Август
Адвакат [Адвокат, Адэкват]
Адреси
айтган-лирангиз
айқин
амалга
анча
Апрел
арзонроқ
аҳамият [аҳамият, аҳамияти, ҳамият, ҳамжамият]
аҳднома
бажарилади
бажарилди
баланд
ихтисослан
банкрот
баҳона
Баҳор
бераман
берасизми
беринг
бериш
бешинчи
биз
Бизга
Бизнинг
билан [билан, биланг, билани]
Бирор
Бозорнинг
бор
бошқа
Бу
Бугун
будингиз
бунга
бундай
Бухгалтерлик
бўлади
бўладими
бўлиши
бўлмаган
бўлса
бўш
бўшайди
бўшатасиз
вазифасига
вазият
вариант
вақт
газетадаги
газетадан
даромад
Декабрь
Душанба
Эрталаб
Етказиб
Жисмоний
Жуда
Жума
зарур
зиёфат
Ижара
ижарага
икки
Илтимос
Индинга
информатизациялари
Иситгич
иши
ишлатсак
Ишхона
Июль
Июнь
Йўқ
йил
йилдан
кам
Шинамгина
кампанияси
келдим
келишимдан
келмоқчи
келсам
келтириш
керак
керакдир
керакми
кета-ди [кетади, кетарди, кета-чи, кета-кета, дискета]
кеч
Кеча
кечага
Кечаси
Кечир
Кечирдинг
кирла
кирадими
кондиционер
коррупциядир
кран
Куз
Кун
куни
кўрмоқчи
кўчиб
лойиҳа
Май
маълумоти
маълумотларни
Маъмурият
маъруза
Мен
музлатгич
мумкин
муфмкин [мумкин]
мутахассис
мушовир
муҳим
нарса
нархи
Нархини
нақд
ўшанақасини
неча
Номардлик
Ноябри
интернетдаги
ойнаси
ойнинг
Октябри
олдин
олдиндан
олмаймиз
олмоқчи
орқали
шоти
шорти [шоти, орти, ортиш, шотир, корти, форти, шарти, порти, сорти, ширти, торти, борти, шомурти]
Оқшом
пайдо
Панжшанба
пулини
Раҳмат
резюме
реклама
Салом
Сармоядор
Сентябрь
Сешанба
Сиз
сизга
сизда
Сизнинг
синган
сифатида
совуқ
софвуқ [совуқ]
Солиқларни
Статистик
сўм
тажрибали
тайёргарлик
тайёрладик
тайёрладингизми
таклиф
талафот
талафоти
таъминловчилардан
танишинг
таржимон
тарржимон [таржимон, тарраксимон]
тахминан
ташкил
Телефонни
технология
Безантирани
тозалан
тозалигига [тозалигига, газтозалагич]
Тонгда
топширишимиз
топшириқ
турли
турмоқчи
тутсак
Тушлик
ўладиганингиз
тўлай
тўлаймиз
тилдиришинг
тўлиқ
уйингиз
уйни
уч
учун
ўқидим
фақат
Феврал
хабар
Хайрли кун [Хайрли кўн]
Мотамхонаси
хонлик
Чек
Чоршанба
Шанба
шарт-номани
шартини
шартлар
шартлари
шартни
шартнома
шахс
шовқин
Шом
Шу
эди
Эртага
Эртадан сўнг [Эртасиганг]
Эшитишимга
эълон
эълонингиз
эълонингизни
эътироф
Юклаш
Якшанба
Январи
Ярим кеча [Яримкеча, Яримчиликча]
яхши
қабул
қаерда
Қанақа
қаноатманда
қанча
қачон
қизиқарлидир
қиламиз
қилганим [қилганим, қилганими, қилгандайин]
қилдим
қилинг
қилинди
қилишди
қиммат
қиммати
Қимматидан
қирқ
Қиш
қувонарлими
қўнғироқ
Қўшимча
ҳайвонини
ҳам
ҳамза
Ҳар
ҳафтага
ҳақиқатан
ҳисоблаб
Ҳозир
ҳужжатни
Ўтган кун [Ўтган кўн]

View File

@ -0,0 +1,200 @@
Salom
Sallom [Slalom, Salom, Musallo, Alloma, Salo]
Rahmat
Rhmat [Rahmat, Marhamat]
Iltimos
Iltimo [Iltimos, Tilsimot, Timol]
Kattalar
Kattalarvf [Kattalashtir]
Yaxshi
Yashi [Ayshi, Tashi, Yash, Yasashi, Yarashish, Yalashish, Yaxshi]
Kelajak
Keljajak [Kelajak]
Oilaviy
Oilaaviy [Oilaviy, Hosilaviy]
Qarindosh
Qarinndosh [Qarindosh, Qayindoshlar, Oqarinish]
Shahar
Shaha [Shah, Shalha]
Dengiz
Dengizzz [Dengiz]
Quyosh
Quyyosh [Quyosh, Quysh]
Yulduz
Oyim
Kechqurun
Tushun
Suvchi
Sharob
Choyxona
Nonushta
Tushlik
Muzqaymoq
Desert
Tuzluq
Mevalar
Sabzavot
Baliq
Tuxumli
Sabza
Sariq
Salatlar
Shirinlik
Shokolad
Rishta
Kakao
Pishloq
Tort
Qaymoq
Sutli
Qatiq
Salomatlik
Temir
Zahar
Oqimli
Shamol
Olov
Yer
Osmon
Shanba
Dushanba
Seshanba
Chorshanba
Payshanba
Juma
Yakshanba
Oltin
Tong
Bomdod
Asr
Shom
Kun
Oqsoqol
Shoshqaloq
Kulgili
Muxlislilar
Tavsiflash
Tuzilishga
Mustaqillik
Tushuntirish
Boshqarish
Mashhurlik
Tarkibiy
Tahlil
Ishchi
Xalqaro
Tarjima
Mustahkamlik
Chaqaloq
Istiqbol
Tasvir
Taklif
Tasavvur
Jiddiy
Majburiyat
Asosiy
Tahdid
Tushunmovchilik
Ishonch
Maqomi
Ijodkor
Tadbirkor
Hayotiy
Mashhur
Bemorlik
Tadbir
Jismoniy
Madaniyat
Xavfsizlik
Sifatli
Suvli
Sotuvchi
Chetel
Tashqi
Sotuv
Tarbiyalanish
Murabbo
Sariqcha
Qovun
Shaharlik
Muhimlik
Tarbiyachilik
Xatolik
Balandlik
Yuzaki
Kuyov
Qiziquvchan
Orzular
Mashq
Qalampir
Muammo
Sadoqatli
Yovuzlik
Fikr-mulohaza
Boylik
Tushuncha
Zanjir
Eslatma
Tabassum
Ishonuvchi
Chidamlilik
Ilova
Birodarlik
Oqilona
Ijodiyot
Tayanch
Hurmat
Baxtli
Tajriba
Samimiylik
Shifokor
Ishrat
Baho
Namoyish
Qiyinchilik
Bolalar
Ishonchli
Taqdir
Shovqinli
Xalqaro
Baxt
Fursat
Hurmatli
Qulaylik
Zamonaviy
Sadoqat
Sabr
Nikoh
Jasorat
Barkamollik
Dunyoqarash
Omadli
Foydali
Yorqin
Mehribonlik
Fazilatli
Kutubxona
Istiqomatli
Fido
Bahor
Shafqatsizlik
Tafakkur
Fazilat
Qochish
Laziz
Uzoq
Ilhom
Omad
Hurmatli
Tandir
Sherzod
Bahoriy
Dilshod
Baxtli
Shonli
Nurli
Shafqatsizlik
Oqqush
Boylik
Toza
Sabrli

View File

@ -0,0 +1,128 @@
Bánh
Bang
bênh
bướng
bậy
Chanh
chum
chuyện
chép
Chùng
chắp
chệnh
chới
chữ
công
cạc
cột
cứu
Doanh
duyên
dùng
dể
dọng
gia
giày
giêng
Giảng
giềng
hon
Hoẳn
Hài
hôm
hước
hấu
hớt
hữu
Khiển
Khoào
khuya
khuyến
khách
khén
khẩn
khắp
khựng
kẻo
lang
liền
Loàng
Luỗng
lình
lương
lấp
lệnh
lịnh
lốn
lời
lựng
Muộn
Mãnh
mại
mạn
mổ
mởn
nghiễm
nghều
Ngoáy
Nguyên
ngóp
người
ngỏ
ngớp
ngụa
ngửng
nhiếp
nhu
nhà
nhân
Nhóm
nhưỡng
nhắm
nhổn
nhứt
ninh
noi
nãy
nạn
nốt
ong
pao
phiên
phiêu
Phên
Phương tiện []
phẩm chất []
phố đi bộ [phố đì bộ, phố đĩ bộ]
quan trọng [quàn trọng, quản trọng, quán trọng, quăn trọng, quằn trọng, quắn trọng, quặn trọng, quân trọng, quần trọng, quẩn trọng, quẫn trọng, quấn trọng, quận trọng]
quyền lợi [quyền]
quán cà phê [qùán cà phê, qủán cà phê, qũán cà phê, qúán cà phê, qụán cà phê, qưán cà phê, qừán cà phê, qửán cà phê, qữán cà phê, qứán cà phê, qựán cà phê]
quảng cáo [quảng]
Quốc
Quốc tế [Quốc]
riêng biệt [triêng]
rưỡi
Rải
Rẻng
rộng rãi [rộng]
siễn
sum
Sõng
Sưu
sưu tập []
sử dụng [sử đụng]
Thiệt thòi []
Thuộc về [Thuộc]
thuộc tính []
Слова с ошибками []
thiệte [thiệt, thiệt e, thiện]
quốq tế []
nguên [nguyên, nguồn]
khoao [khoào, khoai, khoa, khao, khoeo, khoèo, khoan]
chenh [chênh, chềnh, chểnh, chễnh, chếnh, chệnh, cheng, chen, chanh, chành, chảnh, chánh, chạnh, chinh, chình]
chhùng [chùng, chùn, hùng]
man
doah [doa, doanh, doan, doa h]
khien [khiên, khiền, khiển, khiến, khin, khen]
ngoay

View File

@ -0,0 +1,159 @@
/*
* (c) Copyright Ascensio System SIA 2010-2023
*
* 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-6 Ernesta Birznieka-Upish
* 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 "../../../../Common/3dParty/hunspell/hunspell/src/hunspell/hunspell.h"
#include "../../../../DesktopEditor/common/StringExt.h"
#include "../../../../DesktopEditor/common/Directory.h"
#include <iostream>
bool CheckCaret(std::vector<std::wstring>& words)
{
bool bIsCaret = false;
for (int i = 0, len = (int)words.size(); i < len; ++i)
{
if (words[i].find('\r') == (words[i].length() - 1))
{
words[i] = words[i].substr(0, words[i].length() - 1);
bIsCaret = true;
}
}
return bIsCaret;
}
std::wstring CheckWord(Hunhandle* pDic, const std::wstring& sWord, const bool& bIsCaret)
{
std::wstring sResult = sWord;
std::string sWordA = U_TO_UTF8(sWord);
int nSpellResult = Hunspell_spell(pDic, sWordA.c_str());
if (0 == nSpellResult)
{
char** pSuggest;
int nSuggestCount = Hunspell_suggest(pDic, &pSuggest, sWordA.c_str());
sResult += L" [";
for (int i = 0; i < nSuggestCount; ++i)
{
std::string sSuggestA(pSuggest[i], strlen(pSuggest[i]));
std::wstring sSuggest = UTF8_TO_U(sSuggestA);
sResult += sSuggest;
if (i != (nSuggestCount - 1))
sResult += (L", ");
}
if (0 < nSuggestCount)
Hunspell_free_list(pDic, &pSuggest, nSuggestCount);
sResult += L"]";
}
if (bIsCaret)
sResult += L"\r";
sResult += L"\n";
return sResult;
}
#if defined(_WIN32) || defined(_WIN64)
#define USE_WCHAR_ARGC
#endif
#ifdef USE_WCHAR_ARGC
std::wstring GetParam(wchar_t* arg)
{
return std::wstring(arg);
}
#else
std::wstring GetParam(char* arg)
{
return NSFile::CUtf8Converter::GetUnicodeStringFromUTF8((BYTE *)arg, (LONG)strlen(arg));
}
#endif
#ifdef USE_WCHAR_ARGC
int wmain(int argc, wchar_t *argv[])
#else
int main(int argc, char *argv[])
#endif
{
std::wstring sSrcDir = NSFile::GetProcessDirectory() + L"/../src";
std::wstring sDstDir = NSFile::GetProcessDirectory() + L"/../dst";
std::wstring sDictionariesDir = NSFile::GetProcessDirectory() + L"/../../../../../../dictionaries";
if (argc > 1) sSrcDir = GetParam(argv[1]);
if (argc > 2) sDstDir = GetParam(argv[2]);
if (argc > 3) sDictionariesDir = GetParam(argv[3]);
std::vector<std::wstring> arSrcFiles = NSDirectory::GetFiles(sSrcDir);
for (int i = 0, len = (int)arSrcFiles.size(); i < len; ++i)
{
std::wstring sFileWords = arSrcFiles[i];
std::wstring sName = NSFile::GetFileName(sFileWords);
std::wstring::size_type sNamePos = sName.find(L".");
if (std::wstring::npos != sNamePos)
sName = sName.substr(0, sNamePos);
std::wstring sFileWordsContent = L"";
NSFile::CFileBinary::ReadAllTextUtf8(sFileWords, sFileWordsContent);
std::vector<std::wstring> arWords = NSStringExt::Split(sFileWordsContent, '\n');
bool bIsCaret = CheckCaret(arWords);
std::wstring sAff = sDictionariesDir + L"/" + sName + L"/" + sName + L".aff";
std::wstring sDic = sDictionariesDir + L"/" + sName + L"/" + sName + L".dic";
std::string sAffA = U_TO_UTF8(sAff);
std::string sDicA = U_TO_UTF8(sDic);
Hunhandle* pDictionary = Hunspell_create(sAffA.c_str(), sDicA.c_str());
std::wstring sFileDst = sDstDir + L"/" + sName + L".txt";
std::wstring sResult = L"";
for (const std::wstring& word : arWords)
{
sResult += CheckWord(pDictionary, word, bIsCaret);
}
Hunspell_destroy(pDictionary);
NSFile::CFileBinary::SaveToFile(sFileDst, sResult, true);
std::cout << "[" << (i + 1) << " of " << (int)arSrcFiles.size() << "] " << U_TO_UTF8(sName) << std::endl;
}
return 0;
}

View File

@ -0,0 +1,213 @@
A
qocalmaq
Alderaan'ın
hamısı
həmçinin
cavab
dir
incəsənət
kimi
da
uzaq
körpə
zirzəmi
ol
olub
doğuldu
bulvar
fasilə
nəsllər
gəlin
lakin
al
ilə
Kaliforniya
Kalifornikasiya
bilər
kartlar
şans
Çin
çənə
klublar
Cobain
bürc
nəzarət
qiymət
edə bilməzdim
yaratmaq
lənət
rəqs
saziş
sövdələşmələr
dağıdıcı
almazlar
etməz
etməyərik
arzu
xülyalar
Şərq
kənar
kənarları
məmnunluq
hamının
uzaq
peri
solğun
üz
son
tap
ilk
üçün
-dan
sərhəd
qız
qızın
yaxşı
gitara
əl
hardcore
var
yoxdur
o
eşitmək
ürək
O'nun
ona
gizli
yüksək
ona
onun
Hollivud
Mən
Mənəm
əgər
içində
məlumat
içində
dir
bu
jack
sadəcə
kral
qohum
bilmək
qoyulmuş
qanun
yerləşdirilmək
qurğuşun
aparmaq
yerləşdirilmə
məkan
sevmək
şans
edilmiş
adam
çox
Evlənmək
maska
o bilər
bəlkə də
mənası
mən
meditasiya
xatirə
ılın
pul
mənim
heç vaxt
deyil
heç nə
nömrələr
of
of
üstündə
bir
yalnız
və ya
nəticə
öz
Ödə
Şəftəli
yerlər
oynayır
oynamaq
əhali
porno
tərifləmək
ehtimal ki
ehtimal
psixik
kraliça
qaldırmaq
qalan
hörmət
qalxmaq
yol
xam
müqəddəs
Xilas et
elmi
çığırmaq
satılır
şəkil
xəstələnmək
gümüşçü
dəri
əsgər
bir şey
Mahnı
mahnılar
qılınclar
büyü
casuslar
ulduz
Stansiya
oğurlamaq
daşlar
günəş
şübhəli
İsveç
qılınclar
yeniyetmə
test
dandan
bu ki
bu ki
bu
onların
bu
onlar
düşünmək
bu
onlar
gel-git
üçün
deyilmişəm
çox
cəhd et
başa düşdüm
qilin
titrəmək
mübarizə aparır?
istəyirəm
müharibə
idi
dalğalar
geymək
silahlar
yaxşı
idarə olunan
Qərbi
arasında
qalib gəlmək
qalib gəlir
ilə
qadın
dünya
səhv
siz
sizə
sənsən
sənin

View File

@ -0,0 +1,212 @@
A
остаряване
Алдераан
всичко
също
и
отговор
са
изкуство
като
в
далеч
бебе
мазе
бъда
било
роден
булевард
почивка
породи
невеста
но
купувам
от
Калифорния
Калифорникация
може
карти
шанс
Китай
брадичка
клубове
Кобейн
съзвездие
контрол
цена
не можех
създаване
проклятие
танц
сделка
сделки
унищожение
диаманти
не прави
не правим
мечта
мечти
Изток
ръб
ръбове
екстаз
всеки
далеч
приказка
избледнява
лица
краен
намирам
първи
за
от
предел
момиче
момичето
добре
китара
ръка
хардкор
има
няма
той
чуя
сърце
той е
нейни
скрит
висок
него
негов
Холивуд
аз
аз съм
ако
в
информация
вътре
е
това е
вале
просто
крал
родственик
знам
определен
закон
поставям
водя
води
местоположение
обичам
късмет
направен
човек
много
Ожени се
маска
май
може би
означава
аз
медитация
спомен
ума
пари
моя
никога
не
нищо
числа
от
изключен
на
един
само
или
изход
свой
Плати
праскова
места
играе
играя
население
порно
похвала
вероятно
вероятен
психичен
кралица
въздигам
останал
почит
възход
път
груб
светия
Спасявам
наука
крясък
продава
форма
по-болен
златар
кожа
войник
някаква
Песен
песни
пикове
заклинание
шпиони
звезда
стация
крада
камъни
слънце
подозрителен
Швеция
мечове
тийнейджър
тест
отколкото
това
това е
на
техни
тези
те с
мисли
този
той
прилив
до
каза
също
опитайте
разбрано
еднорог
вибрация
водене?
искам
война
беше
вълни
носете
оръжия
Ами
бяха
Западна
какво
докато
победа
победи
със
жена
свят
грешка
ти
ти би
ти си
вашият

View File

@ -0,0 +1,112 @@
amor
llum
lluum
esperança
espirança
llibertat
força
forrça
pau
somni
llibre
mar
amistat
cançó
flor
cel
estrella
temps
camí
vent
muntanya
mumntanya
riu
soroll
silenci
viatge
foc
gel
paraula
vida
dia
nit
tarda
matí
lluna
sol
llac
marbre
ferro
sal
mel
sucre
peix
ocell
oceoll
joc
ritme
melodia
pintura
pentura
teatre
dansa
poema
història
llegenda
mitologia
festa
música
vi
cervesa
cervessa
formatge
pa
ciutat
poble
natura
camp
bosc
platja
sorra
sorrà
pedra
ànima
cos
ment
cor
somriure
somriàre
abraçada
bes
parla
oida
vista
tacte
gust
olfacte
color
forma
número
lletra
sistema
regla
escola
universitat
univversitat
mestre
estudiant
sabiduria
lliçó
pregunta
resposta
risposta
dubte
certesa
veritat
mentida
promesa
secret
descoberta
descaberta
aventura
destinació

View File

@ -0,0 +1,212 @@
A
envellir
Alderaan
tot
també
I
resposta
és
art
com
a
lluny
nadó
celler
ser
ha estat
nat
bulevard
pausa
generacions
núvia
però
comprar
amb
Califòrnia
Californication
pot
cartes
oportunitat
Xina
mentó
clubs
Cobain
signe del zodíac
control
preu
no podria
crear
maleït
ballar
acord
negocis
destructiu
diamants
no fer
no fem
desitjar
somnis
Est
vora
voreres
satisfacció
tots
llunyà
fada
pallid
cara
final
trobar
primer
per
de
frontera
noia
la noia
guitarra
hardcore
hi ha
no hi ha
ell
sentir
cor
ell és
seva
secret
alt
ell
seu
Hollywood
jo
sóc
si
en
informació
interior
és
és
jack
només
rei
parent
saber
fixat
llei
col·locar
plom
portar
col·locació
lloc
estimar
oportunitat
fet
home
molts
casar-se
màscara
podria
potser
sentit
jo
meditació
memòria
ment
diners
meu
mai
no
res
números
de
fora
sobre
un
només
o
resultat
seu
pagar
préssec
llocs
jugar
joc
població
porno
elogiar
probablement
probable
psíquic
reina
elevar
restant
respecte
pujar
camí
cru
sant
salvar
ciència
crit
vendres
figura
malalt
joier
pell
soldat
alguna cosa
cançó
cançons
cims
encanteri
espies
estrella
estació
robar
pedres
sol
sospitós
Suècia
espases
adolescent
prova
que
que
això
seu
aqueixos
ells
pensar
aqueix
ells
marees
per
no he estat
molt
intentar
entendre
fer
tremolar
lluitar
desitjar
guerra
va ser
ones
portar
armes
administrat
Oest
què
entre
guanyar
guanya
amb
dona
món
equivocat
tu
vostè
tu ets
teu

View File

@ -0,0 +1,206 @@
pomaliý
šťstný
smuutný
horcký
studiený
záludnast
náhodillost
úpěnlevý
rozspačitý
svéhllavý
jablko
slunce
voda
dům
pták
káva
chleba
květina
kniha
pes
kočka
město
zelený
modrý
červený
bílý
černý
velký
malý
rychlý
pomalý
šťastný
smutný
horký
studený
nový
starý
hezký
ošklivý
dobrý
špatný
zdravý
nemocný
silný
slabý
chytrý
hloupý
pracovat
jíst
pít
spát
číst
psát
mluvit
smát se
plakat
zpívat
hrát
tančit
učit se
nakupovat
vařit
telefonovat
dívat se
poslouchat
chodit
běžet
létat
plavat
psát
učit se
dělat
mít
být
jít
přijít
odejít
dát
vzít
říct
vidět
slyšet
cítit
myslet
chtít
moct
muset
rád
nerad
ano
ne
prosím
děkuji
na shledanou
omlouvám se
sbohem
ahoj
čau
hej
jo
fakt
super
blbost
paráda
no jo
jasně
takže
vlastně
třeba
snad
leštěnka
pochmurný
živelný
ponaučení
záhada
pochybnost
nádhera
soucit
záludnost
náhodilost
úpěnlivý
rozpačitý
svéhlavý
marnivost
blahodar
rozčarování
odchylka
přelud
vytrvalost
neústupnost
lehkost
souznění
rozmarnost
roztržitost
úskočnost
rozkoš
marasmus
rozpolcenost
neúprosnost
ztřeštěnost
chmurnost
okouzlení
zářivost
vyrovnanost
neochvějnost
neúcta
bizarnost
rozmařilost
nepochopení
nevýslovný
pomíjivost
beznaděj
úzkost
odtažitost
rozerv
rozervanost
vyčerpanost
bezcitnost
záludnost
nezdolnost
rozkošátnost
nezdolatelnost
rozmarnost
živelnost
bezútěšnost
záhadnost
neposkvrnitelnost
rozkošnělost
bezradnost
neuchopitelnost
pošetilost
opojení
rozervanost
marnost
bezstarostnost
nevinnost
náladovost
vyrovnanost
ztracenost
bezbřehost
rozervanost
opojení
bezradnost
neuchopitelnost
pošetilost
opojení
rozervanost
marnost
bezstarostnost
nevinnost
náladovost
vyrovnanost
ztracenost
bezbřehost
opojení
bezradnost
neuchopitelnost
pošetilost
opojení
rozervanost
marnost
bezstarostnost
nevinnost
náladovost
vyrovnanost
bezbřehost

View File

@ -0,0 +1,129 @@
Hej
Goddag
Tak
Ja
Nej
Måske
Mad
Vand
Hus
Bil
Tog
Cykel
Skole
Børn
Far
Mor
Søster
Bror
Hund
Kat
Fisk
Fugl
Træ
Blomst
Græs
Sol
Måne
Himmel
Regn
Sne
Sommer
Vinter
Forår
Efterår
Aften
Nat
Dag
Uge
Måned
År
Læse
Skrive
Tale
Lære
Arbejde
Sove
Vågne
Løbe
Sidde
Stå
Lytte
Se
Høre
Spise
Drikke
Kød
Frugt
Grøntsager
Ost
Brød
Vand
Juice
Kaffe
Te
Mælk
Smør
Æg
Salt
Peber
Sukker
Bolle
Smørrebrød
Køkken
Stue
Soveværelse
Badeværelse
Toilet
Bord
Stol
Sofa
Lampe
Vindue
Dør
Gulv
Loft
Væg
Sofa
Pude
Tæppe
Badekar
Håndvask
Spejl
Håndklæde
Seng
Dyne
Dynee
Pude
Pudee
Alarm
Alarmm
Skrivebord
Stol
Hus
Hund
Kat
Katt
Bil
Skole
Skolee
Sol
Soll
Vand
Vandd
Mad
Madd
By
Barn
Barnn
Tørklæde
Skæbne
Uafhængighed
Kærlighed
Kærligheed
overbelastning
Modstandsbevægelsen
Uafhængighedserklæringen
Forårssommertemperaturen
Stabiliseringsperioden

View File

@ -0,0 +1,131 @@
Ägyptologie
Ährenamt
Ängstlichkeit
Äquatoria
Abarbeiten
Abbild
Abbilden
Abbildungs
Abbreviatur
Abbrüche
Abfassen
Abfertigen
Abfolge
Abfuhr
Ableugnen
Ablichten
Ablöse
Absätze
Abschnitts
Abwechseln
Abwehren
Aktiv
Britannia
Browserfenster
Budgetieren
Bugpartie
Bukarester
Burgundersoße
Butterkrem
Button
Cabriolet
Campanile
Canapé
Caprice
Celsius
Chamäleon
Charakteristik
Chronometer
Chronometrie
Cölln
Connectzustände
Cursorspur
Däne
Dachs
Dahindämmern
Darbringen
Daten
Datenbankserver
Desktopsystem
Detektivfilm
Dichtertum
Dinosaurier
Direktion
Diskantgambe
Diskothek
Druckereicode
Kapsel
Karausche
Katzen
Klinge
Klinke
Kohlrabi
Koinzidenz
Kolleg
Komplott
Meereis
Mehrphasigkeit
Memorieren
Messen
Methode
Metrowaggon
Meute
Migräne
Milieuforschung
Mindern
Mineralien
Mitternacht
Mobiliar
Mohrrübe
Mühelosigkeit
Normativität
Notifikation
Ökonomie
Orangeton
Osten
Subjekt
Subsidiarität
Subsumieren
Tagfalter
Speicher
Spielzeugsammlung
Zahler
Сложные слова
Zurückgezogenheit
Äquipotentialfläche
Äußerungsbedeutung
Abfassungszeitraum
Abgeschlossenheits
Adjunktionsbeseitigung
Anknüpfungsgrundsätze
Chiffrierschlüssel
Knochenmarktransplantation
Bundeskaderathlet
Carbonsäurechlorid
Cardiazoltherapie
Chancenungleichheit
Charakterisierungsmöglichkeit
Chlorophyllkonzentration
Computerspielemarkt
Deindustrialisieren
Dekodierungsmöglichkeit
Kartoffelschälmesser
Kernspinresonanztomographie
Merkmalskombination
Nachbarschaftszentren
Opportunitätsprinzip
Tiefenstaffelung
Tourismusfachmann
Sequenzbetrachtung
Слова с ошибками
Dechifrierprogramm
Administratorkenwort
Spigeln
Tätigkeite
Draufgangertum
Abschnit
Komunikation
Drackereicode
Bumeln

View File

@ -0,0 +1,116 @@
Alpinist
Alteration
Alternative
Alumne
Amateurfilmer
Ambulanz
Amtmänner
Analogie
Analytik
Ananas
Angabe
Ankünfte
Dynastie
Ebenbürtigkeit
Echtheitszertifikat
Editionspläne
Editor
Ehrenamtlichkeit
Eigentümerschaft
Einbau
Eindringling
Eingabequittungsbetrieb
Einhüllen
Einkommen
Einloggen
Einschließen
Einsortier
Elaboration
Elementar
Entertainer
Entkuppeln
Entschädigungs
Enumerator
Erbringen
Erdichten
Erfahrenheit
Erhalt
Erleichtern
Ersparnis
Erstatten
Erzählliteratur
Helikopter
Helpdesk
Herunterladen
Hindeuten
Hinterlassenschaft
Hiob
Landesprache
flexibilität
floristisch
flugbillet
heroben
herrichten
herstellen
herübereilen
herunterzubücken
hie
hieraus
hilfe
himbeere
justiz
kältebeständig
kärtchen
känguru
kaktusgewächs
kalligrafie
kamel
kampagnendirektor
kapazitär
kapitalist
karamell
kardieren
karpfen
katalogdaten
lyzeum
mahagonirot
makkaroni
malerausbildung
management
mangel
maniküre
manneskraft
mansarde
mark
marketingpraktiker
maschinell
massage
massengutschifffahrt
materie
medaille
medizinalshampoo
meeresfrüchte
quotient
salonwagen
satzeinleitend
trilateral
tristesse
tropen
vereisen
verfahren
verfügungs
verhindern
verkäufer
Слова с ошибками
Anbindungsystem
Anglistikdocent
Ecco
Economclass
Einverstandnis
Electrik
Historique
herüberzurucken
kartofel
salade
sanddornbere

View File

@ -0,0 +1,211 @@
Hallo
Guten Morgen
Danke
Bitte
Ja
Nein
Entschuldigung
Tschüss
Liebe
Freund
Familie
Glück
Gesundheit
Schule
Arbeit
Essen
Trinken
Wasser
Brot
Käse
Fleisch
Gemüse
Obst
Kaffee
Tee
Milch
Zucker
Salz
Pfeffer
Haus
Wohnung
Bett
Stuhl
Tisch
Sofa
Fernseher
Telefon
Computer
Buch
Zeitung
Schreiben
Lesen
Hören
Sehen
Fühlen
Laufen
Springen
Schwimmen
Tanzen
Singen
Lachen
Weinen
Freude
Trauer
Angst
Mut
Liebe
Hass
Freundschaft
Beziehung
Familie
Eltern
Kinder
Geschwister
Großeltern
Onkel
Tante
Cousin
Cousine
Ehemann
Ehefrau
Verlobung
Hochzeit
Scheidung
Geburt
Tod
Krankheit
Arzt
Krankenhaus
Medikament
Apotheke
Gesundheit
Wohlbefinden
Fitness
Diät
Schlaf
Ruhe
Entspannung
Sport
Fußball
Tennis
Schwimmen
Laufen
Radfahren
Wandern
Reisen
Urlaub
Strand
Sonne
Meer
Komplementär
Perspektive
Konsens
Integrität
Konsequenz
Authentizität
Korrelation
Charakteristik
Akzeptanz
Flexibilität
Assoziation
Dekomposition
Komplexität
Positivismus
Universalität
Stabilität
Individualität
Konsistenz
Konformität
Dezentralisierung
Kollaboration
Partizipation
Präzision
Transformation
Konkurrenz
Paradoxie
Redundanz
Regeneration
Integration
Isolation
Asymmetrie
Aggregation
Disziplin
Resilienz
Relevanz
Konfusion
Komplikation
Koordination
Harmonie
Ineffizienz
Konstruktion
Konversion
Kollusion
Gerontologie
Differenzierung
Dimensionalität
Inferenz
Fluktuation
Kontraktion
Rezession
Inflation
Dekontamination
Exzellenz
Innovation
Isomorphie
Konnotation
Insuffizienz
Konversion
Kompensation
Koalition
Inkongruenz
Inkontinenz
Kontrahent
Konfiskation
Konjunktur
Aggression
Konfrontation
Kompatibilität
Prognose
Akzeleration
Konstruktion
Diversifikation
Prävention
Sanktion
Indikation
Reduktion
Konkurrenz
Konfiguration
Konnotation
Rezession
Transformation
Interaktion
Kooperation
Innovation
Kollision
Proklamation
Konnotation
Konfrontation
Disposition
Konkordanz
Deklamation
Kollaboration
Isolation
Inflation
Diversifikation
Konnotation
Kompensation
Diffusion
Dekadenz
Konserve
Deklomotion
Kolaboration
Isollation
Infllation
Divirsifikation
Konotation
Kompenssation
Difusion
Dekadens
Kanzerve

View File

@ -0,0 +1,123 @@
Αβαντάζ
Αβασταγά
Αβγάτισες
αβέβαιο
αβέλτερο
αβέλτεροι
αβίαστους
άβλαβοι
αβοκάντο
αβράδιαστης
άβραστη
αβράχυντου
άβρεχτα
αβρή
αβρότης
άβυσσον
αγαθόν
αγαθούς
αγάλακτο
αγγούρι
αγελαδινού
αγέρα
αγεωμέτρητων
αγίνωτοι
άγκυρες
αγορεύσεις
αγόρευσή
αγορίνα
Αγοριού
Αγροληψία
Αρμόνια
βγαίνοντας
βεβαιώσεων
διάθεση
διαίρεση
Διαιρέσου
Διαιτολογίου
διαψεύσουν
διδασκάλισσας
ενασκήσεις
ενασχόληση
ενασχόλησή
ενδείξεις
ενδεχόμενον
ενδιαμέσου
Επιστήθιες
Επιστημο
Επιστολές
Επιστολή
εύπορους
ευρέα
ευρημάτων
ευρύτητά
ευσταθών
εύστροφα
ευσυνειδησία
εύτακτε
ευτελείς
ευτελίζουν
ιδρυτικό
ιεροψάλτες
Ιζόλα
Ιθαγένειάς
ικανότατος
ιλαρότης
κεφαλής
κεφαλιάτικες
κεφαλωτές
κήπε
κήπευση
Κήρυξής
Λεξικογραφιών
Λεξιλογικός
λεοντή
λεοντής
ολιγοχρόνιου
ολικέ
ολικές
ολική
πελαγώνω
πελατών
πελάων
προστατεύει
προστασίας
σούρουπου
σουρούπωμα
σούρτης
Σούρωνα
Σπαγέτα
Σφάλμα
Σφάλματά
σφικτά
σφικτέ
σφοδρότητας
σφοδρού
σφραγίσω
σχεδιάζουμε
σχεδιάζουν
σχηματίσου
σχηματίσουμε
σχολιάζεσαι
Σχολιάζεστε
Ενδιαφέροντα
Слова с ошибками
Αβασiλευτου
αγαπούσαv
βeβαιωμένοι
εvασxόλησης
επιολικέ
ιδιωτικοποιήσειc
λεπταίσθnτη
πρoστιμάρισμα
σφάλμαtα
προστάτεuε
κεxριμπαριού
διαισθnτικότητες
αγκιστpώσουv
αγαθoεργiας
αβεβαιoτητά
αγέρεc
διδαούμε
εuσταθειώv

View File

@ -0,0 +1,116 @@
Acknowledge
acrophobia
adventurousness
aeronautics
algal
Alligator
allegation
alphabetise
Analogy
appropriable
assembly
attempt
Average
barbecue
bathtub
begun
belongingness
Better
binary
blackberry
boatswain
bow-tie
brambly
bright-eyed
bubble
Calender
cancellous
cantankerousness
carefree
categorized
cellular
chaos
cheerfulise
childlike
circumstance
close-mouthed
Cocoa
coherent
co-located
Colours
controversial
cottage
creditworthiness
cut-down
dedicated
deep-freeze
Definitive
Designs
digital
distensible
dollar
dyslexia
Egyptian
effectively
etiquette
excess
exotica
fairly
feedback
features
figure's
fjord
forty-seven
government
haematomata
helpless
homologous
implant
Indemnify
inexpert
interior
localises
loquaciousness
maelstrom
mechanizable
melodious
mezzo-soprano
mozzie
municipalisation
mystifier
Neoclassicism
newsletter
non-professional
officiation
orientalisation
palaeoanthropography
parrot
pickpocket
pioneer
cryptanalytic
simplifying
sommelier
spicy
steward
subcontinental
swimwear
Technical
trajectory
wholesomeness
Advantageously
interindustry
red-eye
sub-group
Слова с ошибками
Acredited
agressive
appreciativiness
aritmetical
biosyntesized
lisense
paranoa
fotoelectronic
semi transparent
synonymus
wordprocessing

View File

@ -0,0 +1,125 @@
admire
admittance
aggrandizement
Airmen
Albatross
amateur
angling
apparatus
Architecture
assessment
attempt's
awakening
backgrounder
Balance's
barometric
bashfulness
beautiful
belletristic
blatancy
bonbon
border
Bottom
bountifulness
breakpoints
bulkiness
businesslike
can't
cash
castle
Casual
cauliflower
celebrity
childish
chokecherry
choreographically
chronological
classification
clearheaded
coalesce
Coexistence
collaborative
coloured's
concentration
draconian
drainpipe
demonstrativeness
dependence
dependency
dream
duplication
epidemiological
equitable
Essence
Exemption
exonerate
fainthearted
falsification
ferromagnetic
flammable
fraternization
French
frontier
gadget
galleria
Gallery
gateaux
geocache
ginger
glace
glacier
globalization
hockey
holiday
housemate
intensifier
joystick
Language
leaseholder
non-breakable
northerly
o'clock
oeuvre
openhandedness
oscillation
outface
outlaw
overladen
package
palazzo
panama
Paragraphs
Parliament
particular
pasteurization
pathogen
perception
phenomena
philanthropically
physical
populations
repugnance
request
resplendence
retroactive
rigidity
schedule's
School
scintillation
sensibility
settlement
taxiway
bereft
Слова с ошибками
acomplishment
anihilate
caprise
chambre
etnographically
horsmanship
innundation
lemongras
omelete
retorical
shepishness

View File

@ -0,0 +1,122 @@
Abbreviation
Acceptability
acquirable
Addressee
afterthought
airworthiness
all-powerful
amateurishness
amorphousness
anthology
Auspiciousness
Bibliographer
Bilberry
birthday
bodyguard
broadleaved
brontosaurus
bumptiousness
Cabaret
Californian
calumny
cancellation
cantonal
capitalize
careful
carry-on
casino
clown
co-ordinate
cockleshell
decennial
deckchair
decryption
deep-freeze
Democracy
financial
fish-plate
Flamenco
housing
Hybrid
hydroelectricity
iceboat
ichthyology
idiomatic
ill-humoured
imperatrix
individuality
interocular
intrasectoral
ironwoods
Jolliness
Jurisprudent
knowledgable
kopeks
labour-intensive
laboratory
lake
language
larynx
latching
leakiness
License
licensed
licensee
life-threatening
linguistics
long-lived
machinable
mainsheet
Major
malleability
man-hour
Mango
ninety-five
nobody
non-blocking
non-judicial
nonconforming
north-Western
nutritiousness
quasi-synchronous
question
racoon
radish
Railway
Rarity
saucer
Save
Saying
supplely
tallish
target
Taxi
teach-in
technician
ultramodern
umbrae
uncertainness
unconstitutionality
washing
wasn't
waxen
weather
well-formed
what's-his-name
whereupon
Wi-Fi
Wikipedia
Слова с ошибками
Abstractnes
advantageusness
arhythmical
autosuggestibility
kaptor
coldshouldering
humaneneses
imaginativness
knight-erantry
magasine
night-wachman
qualifidly

View File

@ -0,0 +1,216 @@
apple
banana
cat
dog
egg
fish
gold
house
ice
juice
kite
lion
mouse
night
orange
pencil
queen
rabbit
sun
tea
umbrella
vase
watch
xylophone
yellow
zebra
arrow
book
cake
car
day
elephant
flower
hat
island
jelly
king
lamp
moon
nose
owl
pink
quilt
radio
sunflower
tree
unicorn
violin
water
xylophone
yellow
zoo
apple juice
blue
calculator
desk
elephant
fire
goat
hat
ice cream
jacket
key
lemon
map
notebook
owl
pear
quilt
rose
soccer
table
umbrella
vegetable
whale
xylophone
yellow
zebra
apple pie
beach
computer
drum
elephant
goat cheese
hat
ice skate
juice box
kite festival
lemonade
mountain
notebook paper
orange juice
pizza
queen bee
rainbow
snow
turtle
umbrella hat
valley
Aberration
Absolution
Acquiesce
Adumbrate
Aesthete
Altruistic
Ambivalent
Anomalous
Antediluvian
Antipathy
Aphorism
Apocryphal
Apostasy
Apparition
Arduous
Assiduous
Audacious
Austere
Autonomy
Avaricious
Axiomatic
Baleful
Bellicose
Belligerent
Bereft
Bilious
Bombastic
Cacophony
Capricious
Cartography
Castigate
Clandestine
Coalesce
Cogent
Cognizant
Colloquy
Concomitant
Confabulate
Congenial
Conundrum
Copious
Corpulent
Coven
Credulous
Culpable
Dearth
Debilitate
Deleterious
Denigrate
Despondent
Diatribe
Dilapidated
Disparage
Dissemble
Dissonance
Duplicity
Ebullient
Egregious
Ephemeral
Equanimity
Esoteric
Euphemism
Evanescent
Exacerbate
Exhort
Expatriate
Extol
Facetious
Fatuous
Feckless
Felicitous
Feral
Fervent
Fetter
Flummox
Fractious
Garrulous
Hegemony
Iconoclast
Idiosyncrasy
Ignominious
Impecunious
Ineffable
Inexorable
Inscrutable
Insidious
Intrepid
Intransigent
Invective
Irascible
Juxtapose
Kowtow
Languid
Lassitude
Lurid
Malinger
Maudlin
Mawkish
Mendacious
Metaphysical
Antransigent
Inwective
Iracible
Juxtopose
Kovtow
Langued
Lasitude
Larid
Mallinger
Haudlin
Mavkish
Mendocious
Mitaphysical
timeline
rollout
workshopped
deliverables

View File

@ -0,0 +1,114 @@
Acceptably
Achievement
administrate
all-day
amount
average
bilayer
blasé
boutique
breezy
byers
cabdriver
carefree
categorised
Chameleon
cheerful
chronology
cliché
cooling-off
courage
crudités
decorates
dooryard
débâcle
electromotive
equalled
Exotica
fellow-traveller
forests
full-timer
graded
habitué
haven't
hide-and-seek
home-building
interaxial
kingdom
largeness
long-distance
Majority
manoeuvre
Matrix
metier
mightn't
multidisciplinary
night-time
officio
old-style
organize
overaggressive
packing
parenthesis
pince-nez
Plaint
play-act
policy-making
Preheat
prohibit
puzzle
queue
quite
re-enact
reason
ready-made
renewal
resize
rooihout
scampi
schoolteacher
sea-green
shop-boy
sidebar
skyscraper
soundless
spelling
stakeout
synchronizing
take-off
Thereof
Trademark
transportable
treatment
tweeness
under-age
unmake
Variate
Visitant
volume
webmaster
well-prepared
window
yesteryear
first-aid
Hydrant
inconstant
network
northernmost
nowhere
souvenir
telecommunicate
Слова с ошибками
afordable
anthropologie
bagage
comparatif
flammeble
indivizible
jetlag
lettrebox
panoramma
posessor
selfdoubt
abandonner

View File

@ -0,0 +1,208 @@
nosotros
vosotros
ellos
ellas
aquí
allí
ahora
antes
después
siempre
nunca
también
solamente
verdad
mentira
bien
mal
grande
pequeño
rápido
lento
nuevo
viejo
bueno
malo
feliz
triste
bonito
feo
caliente
frío
dulce
amargo
fuerte
débil
cerca
lejos
fácil
difícil
cierto
falso
caro
barato
limpio
sucio
fuerte
débil
alto
bajo
claro
oscuro
abierto
cerrado
joven
viejo
corto
largo
alegre
tranquilo
nervioso
amable
grosero
conocido
desconocido
cortés
rudo
agradable
desagradable
sabroso
insípido
difícil
fácil
cansado
descansado
moderno
antiguo
último
primero
posible
imposible
rápido
lento
sencillo
complicado
propio
ajeno
abierto
cerrado
amable
desagradable
seguro
inseguro
correcto
incorrecto
dulce
amargo
Anacoreta
Sobrentender
Embriaguez
Inquebrantable
Empedernido
Derramamiento
Despotricar
Escafandra
Aletargamiento
Estancamiento
Descarado
Exégesis
Contrariedad
Espeluznante
Conspiración
Impedimenta
Deglutir
Engreído
Enmascarado
Exterminio
Embelesar
Permutación
Desesperanza
Impenetrable
Enarbolamiento
Errabundo
Deslinde
Inefable
Soliviantar
Embriaguez
Perdurable
Opulencia
Trémulo
Desembolso
Empedernido
Anquilosar
Enigmático
Inquebrantable
Contrincante
Desmesurado
Vanagloriar
Exasperar
Desvanecer
Perpetuidad
Desbaratar
Ineficaz
Zozobra
Elucubración
Ineludible
Desgarramiento
Atestiguar
Encascarar
Desembozar
Irreverente
Soslayar
Despiadado
Embaucar
Moflete
Endilgar
Desfalco
Embelesamiento
Desestimar
Enajenación
Desavenencia
Inexorable
Atolladero
Egrégoro
Desafiar
Afable
Enervar
Belicoso
Enervar
Descacharrante
Entramado
Inigualable
Perplejidad
Descabellado
Diligencia
Enaltecimiento
Desvergonzado
Arrebato
Empatía
Endiosar
Peripecia
Desidia
Subversión
Desfachatado
Desfalco
Desvirtuar
Errático
Desahuciar
Envilecimiento
Empecinado
Estolidez
Despropósito
Engatusar
Culminante
Sobrentender
Enseñorear
Desacato
segguro
insseguro
correcto
incarrecto
dalce
amergo
Anasoreta
Sobrententter
Embreagues
Inquebranttable
Empidernedo

View File

@ -0,0 +1,132 @@
Abantza
ñabar
abasto
abegikortasun
aberaskeria
aberetzar
abezedario
abialdi
Abiatzaile
abizari
Aboli
abonatu
absenta
absolutibo
accelerando
adabegitsu
adberbio
adiaka
adierazle
adierazkizun
adikuntza
adin
adinaro
adineratu
adin-txikitasun
administratzaile
adoleszentzia
adopzio
adostu
aerolabangailu
Aeroplano
afalordu
agente
agertezin
agiantza
agoran
arradatze
arrakasta
Batata
baterakuntza
baterakor
Bateri
batuar
baud-abiadura
batzuenganako
batzuengandik
batzuengan
batzuengatik
batzuen
baxera
berezi
berezikeria
beritzete
beroa
Beroate
beroatza
berorri
berrabiatu
berra
berresgarri
berripaper
chap
dabilzkidake
dabilzkie
dagitza
dagokik
dagozkieke
erdiondu
galdera
galtzada
garaitiar
garantia
Garaztaketa
garbitasun
gastronomiko
Gaurgero
gaurgoitik
legizkie
legokizue
legozkidake
lehenbizi
nindoakio
publikotasun
publizitate
subsidiario
substantibo
sugestio
superbalorazio
taidun
taldeburu
Talent
Teknografia
xantxa
xerbitor
xerokopia
zabaldura
Zabalkor
Zabaltza
zabilzkieken
zabilzkio
zaharkote
zeneritzeketen
zenerra
zenezagu
zengozkigute
zeniharduke
zenioke
zenioketez
zeniraute
zenizkien
zenizkiguke
Zintut
Zintuzkedan
isiltasun
Слова с ошибками
abriсot
absenzia
addikzio
administraziozerbizu
bat-bates
bermagari
cataluniar
dakarza
erdemin
garatienetarikoa
ishil
nindezaguane
nintzainaken
summa
technologiko
charmant

View File

@ -0,0 +1,211 @@
Bonjour
Merci
Oui
Non
S'il
Excusez-moi
Pardon
Bien
Mal
Grosse
Petit
Beau
Moche
Fort
Faible
Chaud
Froid
Vite
Lent
Haut
Bas
Loin
Près
Heureux
Triste
Facile
Difficile
Simple
Compliqué
Bon
Mauvais
Nouveau
Vieux
Jeune
Âgé
Bienvenue
Amitié
Amour
Famille
Travail
Maison
Voiture
Manger
Boire
Courir
Marcher
Nager
Chanter
Dormir
Jouer
Parler
Écouter
Regarder
Lire
Écrire
Acheter
Vendre
Aller
Venir
Faire
Dire
Voir
Savoir
Apprendre
Aimer
Détester
Partir
Rester
Arriver
Revenir
Partager
Aider
Aimer
Ouvrir
Fermer
Manger
Boire
Avoir
Être
Pouvoir
Vouloir
Devoir
Parler
Écouter
Rire
Pleurer
Danse
Étudier
Travailler
Voyager
Vivre
Connaître
Reconnaître
Voyager
Exister
Choisir
Donner
Recevoir
Aimer
Oser
Phénoménologie
Électroencéphalographie
Parallélépipède
Anticonstitutionnellement
Transsubstantiation
Éclectisme
Anachronisme
Catéchuménat
Démagogie
Fructueux
Ineffable
Hypothèque
Propriété
Procrastination
Complaisance
Réminiscence
Éthique
Équinoxe
Exponentiel
Hétérogénéité
Imbroglio
Incorrigible
Maelström
Métaphysique
Protagoniste
Subliminal
Verrouillage
Volumétrique
Énigmatique
Époustouflant
Immatériel
Infini
Polyglotte
Recrudescence
Prophylactique
Symbiotique
Vestibulaire
Épistémologie
Faramineux
Géopolitique
Hypnotique
Inamovible
Intemporel
Labyrinthe
Pacifiste
Quémandeur
Soporifique
Ubuesque
Volumineux
Effervescence
Électrophorèse
Paradoxe
Prorata
Quadrupède
Sarcophage
Trigonométrie
Vaccinologie
Xenophobe
Zéphyr
Génétique
Labyrintique
Mégalo
Nostalgie
Omniprésent
Pangramme
Périlleux
Quinquennat
Rémunération
Scolopendre
Tautologique
Utopiste
Vexatoire
Wolof
Xanthine
Yacht
Zanzibar
Axiomatique
Chronométrer
Dilettante
Énervement
Facétieux
Générique
Harmonique
Illusoire
Juridique
Kabbaliste
Longetivité
Médiane
Néologisme
Oxygène
Patronymique
Quotidien
Rétorique
Sémantique
Tautologie
Utopique
Vaccinologie
Xénophobie
Yachting
Zoroastrisme
Voager
Exisster
Chaiser
Doner
Resevoir
Aimmer
Osero
Phénoménollogie
Électraencéphallographie
Parallélépepède

View File

@ -0,0 +1,120 @@
ola
tipo
Si
non
nonnr
comida
comidaa
auga
augaa
casa
coche
cochee
un tren
bicicleta
escola
escolaa
niños
pai
paii
nai
naii
irmá
irmán
cachorro
gato
gatoo
peixe
peixee
aves
avess
árbore
flor
herba
o sol
lúa
o ceo
chuvia
neve
vexa
inverno
primavera
outono
noite
noite
día
unha semana
mes
ano
para ler
escribir
fala
ensinar
traballo
durmir
durmir
correr
vai
senta
estado
para escoitar
vexa
escoita
hai
beber
carne
furtas
verduras
queixo
pan
auga
zume
café
leite
aceite
ovo
sal
impacienta
azucre
un bocadillo
cociña
sala de estar
dormitorio
baño
batela
sofá
lámpada
fiestra
a porta
piso
teito
parede
sofá
alfombra
baño
afundir
espello
toalla
cama
manta
almofada
reloxo de alarma
escritorio
cadeira
marabilloso
adverbio
obviamente
Dominante
residenciais
convidado
perigo
cuestión
deporte
mina
cordeiro
cabeza
tratar
avogado
intelixente
guapo

View File

@ -0,0 +1,215 @@
boliestan
jyak
slaby
pameetan
gllup
bezuspješhno
besimeni
bezuzban
blagastanje
bljeskovica
jabuka
sunce
voda
kuća
ptica
kava
kruh
cvijet
knjiga
pas
mačka
grad
zelen
plav
crven
bijel
crn
velik
malen
brz
spor
sretan
tužan
vruć
hladan
nov
star
lijep
ružan
dobar
loš
zdrav
bolestan
jak
slab
pametan
glup
raditi
jesti
piti
spavati
čitati
pisati
govoriti
smijati se
plakati
pjevati
igrati
plesati
učiti se
kupovati
kuhati
telefonirati
gledati
slušati
hodati
trčati
letjeti
plivati
čitati
pisati
raditi
imati
biti
ići
doći
otići
dati
uzeti
reći
vidjeti
čuti
osjetiti
misliti
htjeti
moći
morati
rado
nerado
da
ne
molim
hvala
doviđenja
oprosti
zbogom
zdravo
čau
ej
da
baš
super
glupost
fantastično
jasno
tako
zapravo
možda
lako
teško
prozračnost
usplahirenost
neoblomivost
prezir
proigranost
uznemirenost
besprijekornost
besprizornost
nepredvidivost
beznadnost
promašenost
protivljenje
neizreciv
bezizlaznost
neuspjelost
zbunjenost
neodlučnost
protivština
nepovratnost
bezduhovitost
ravnodušnost
prolaznost
neobaveznost
bezbrižnost
nepovratnost
promašenost
neprepoznatljivost
neukrotivost
bezobzirnost
nevinost
nestalnost
nepostojanost
bezizlaznost
nepovratnost
prolaznost
neodgovornost
bezbrižnost
nevolja
nezadovoljstvo
prolaznost
bezuspješno
bezimeni
bezuzdan
blagostanje
bljeskavica
boren
carovnija
crpeža
dostojanstvo
duhovitost
egzaltacija
gorkoća
histerija
idila
ironija
izdaja
janjetina
kajanje
kavana
krhotina
ljepljivost
lukavstvo
magnutizam
melankolija
misticizam
naivnost
nelagoda
neraspoloženje
obmana
okrutnost
opojenost
prezir
propast
ravnodušnost
sjenka
skitnica
spletka
stid
sudbina
susret
sudbina
šapat
tišina
trepet
utopija
uzaludnost
veličanstvo
zaborav
zanesenost
zanos
zavjera
zbunjenost
zluradost
zloslutnost
žargon
žártva
šaptanje
čarobnost
dileme
hodočasće
lebdjeti
iznimka
preobilje
probuditi se
surov

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