Compare commits

...

83 Commits

Author SHA1 Message Date
Simon Rozman
dbf3354a1a Set version to 2.5.1
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-04-02 16:12:50 +02:00
Simon Rozman
0891f44f33 Updater: bump 2021-04-02 16:12:49 +02:00
Simon Rozman
771dd9f1f7 MSICA: bump
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-04-02 16:12:49 +02:00
Simon Rozman
c4f2726256 Build Unicode Combining Characters evaluation CSV with ZRColaCompile
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-04-02 15:40:17 +02:00
Simon Rozman
bc4b6b30d1 Cleanup 2021-04-02 15:40:17 +02:00
Simon Rozman
34e409ef2f UI: Introduce PUA warning
Private-Use-Area characters are not correctly rendered unless ZRCola
font is used. The PUA characters are now displayed in blue.

This commit also required to upgrade (de)composition text box to use
RichEdit control.

Signed-off-by: Simon Rozman <simon@rozman.si>
2021-04-02 15:40:17 +02:00
Simon Rozman
e43a5a0ef0 Add support for ZRCola Composed to Unicode transliteration
The initial support compares characters in ZRCola font Private-Use-Area
to the characters obtained using Unicode combining characters. Those
which match sufficiently are arranged into a new transliteration.

As the ZRCola Composed to Unicode transliteration requires to be applied
_after_ ZRCola composition but UI applies additional transliterations
_before_ ZRCola composition, the ZRCola composition was reintroduced as
one of the transliterations. This allows configuring a custom
transliteration sequence.

Signed-off-by: Simon Rozman <simon@rozman.si>
2021-04-02 15:39:24 +02:00
Simon Rozman
ddc8b00416 UI: Swap translation drop-down and ZRCola (de)composition button
The order of controls now reflect the order transformations are applied
to the text.

Signed-off-by: Simon Rozman <simon@rozman.si>
2021-04-02 12:58:25 +02:00
Simon Rozman
9f128a96d1 UI: Update ZRCola.fbp
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-04-02 12:58:13 +02:00
Simon Rozman
74e95b95b5 Cleanup 2021-04-02 12:58:12 +02:00
Simon Rozman
f3bb513545 Cleanup
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-03-30 12:03:29 +02:00
Simon Rozman
72f8b179d7 Introduce Unicode Combining Characters evaluation script
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-03-25 14:43:46 +01:00
Simon Rozman
fa2fb03cf8 MSIBuild: Bump
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-03-25 08:39:37 +01:00
Simon Rozman
12c2889ea3 Copyright: Bump year
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-03-25 08:36:00 +01:00
Simon Rozman
2fce6f06bc Set version to 2.5
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-19 12:43:09 +01:00
Simon Rozman
89a33bc0ea Publish MSIs to <version> and _latest folders on the download server
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-19 12:30:25 +01:00
Simon Rozman
445e0663e1 Add copyright colophon to .h files
Resource Compiler has an issue with the first line of an UTF-8 .h file.
The workaround is not to begin UTF-8 .h files with anything important.
A blank line would do or a comment.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-19 11:21:39 +01:00
Simon Rozman
b837c5204c Add copyright colophon to .rc files
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-19 11:10:33 +01:00
Simon Rozman
4dd9461c48 Add UTF-8 BOM markers to documentation
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-19 11:00:17 +01:00
Simon Rozman
c7e29b1862 Add UTF-8 BOM markers
MSVC needs them to use correct charset when Language for non-Unicode
programs is set to Windows-1252 or anything different than UTF-8.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-19 10:59:54 +01:00
Simon Rozman
42daea5b5e Bump WinStd
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-19 10:00:46 +01:00
Simon Rozman
41ad9cd134 Specify .wsf files encoding
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-19 09:58:04 +01:00
Simon Rozman
435316eb79 Bump sub-modules
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-08-20 12:18:29 +02:00
Simon Rozman
aa7a8fa484 Re-add UTF-8 BOM markers where required
C files containing non-ASCII characters in strings require UTF-8 BOM for
the MSVC to encode them correctly to the UTF-16 string. (Or switch the
computer we are building on to use UTF-8 for non-Unicode programs.)

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-03-15 00:13:28 +01:00
Simon Rozman
59493b998e Enable Windows 10 ARM64 support
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-03-14 23:57:41 +01:00
Simon Rozman
0b586aa141 Upgrade to current MSIBuild
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-03-03 14:44:32 +01:00
Simon Rozman
04ffd649ec Clean-up
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-03-03 13:49:51 +01:00
Simon Rozman
0970997ab7 Publish updates to the new catalog file and switch to SHA-256 (phase 2)
Version 2.4 switched to the catalog-0001.xml file. The new catalog file
is using SHA-256 hashes and signatures.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-25 13:48:10 +01:00
Simon Rozman
1434c9a2d3 Change UpgradeCode and mark to perform major update from 2.4
Changing the component GUIDs and keeping the same file paths rendered
minor updating broken.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-25 13:32:48 +01:00
Simon Rozman
9ebdafa272 Reapply "Unify component GUIDs across platforms"
This reverts commit f0f3ce75d0.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-25 13:32:48 +01:00
Simon Rozman
ea76dc27b4 Reapply "Unify component GUIDs across languages"
This reverts commit 41c8cc01ed.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-25 13:32:48 +01:00
Simon Rozman
7d39d4756c Preset version to 2.4.1
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-25 13:32:48 +01:00
Simon Rozman
a6e337a2a1 Switch to new catalog update file and switch to SHA-256 (phase 1)
Versions 2.2 and 2.3 require to update to 2.4 first (to fix Active Setup
issue which works for minor updates only), before updating to 2.5
(requires major update).

The 2.5 and beyond updates will have to be visible to 2.4 version only.
Therefore, we switch the Updater in 2.4 to a new catalog file. While the
2.4 update itself needs to be published to the existing catalog file to
instruct pre-2.4 versions to update to 2.4.

In other words:
- include\UpdaterCfg.h is about checking for future releases
- Makefile publish is about upgrading the past releases

This is also an excellent opportunity to phase out SHA-1.

Updater will treat all hashes as SHA-256 when checking for updates in
the new catalog - the future releases.

While we keep hashing and signing the old catalog file using SHA-1 - for
past releases.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-25 13:32:48 +01:00
Simon Rozman
0e1a347b5f Preset version to 2.4
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-25 09:54:48 +01:00
Simon Rozman
e28a146a39 Sub-module update
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-25 08:53:45 +01:00
Simon Rozman
dfedfc419e Strip excessive custom action identifier prefixes
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-25 08:53:45 +01:00
Simon Rozman
9f9e5addcc Fix the Active Setup StubPath issue affected products
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-25 08:53:45 +01:00
Simon Rozman
f0f3ce75d0 Revert "Unify component GUIDs across platforms"
This reverts commit 2363016a76.

Due to Active Setup StubPath bug in already deployed MSI packages we can
fix automatically using minor update only, we cannot change the
component GUIDs just yet.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-25 08:53:44 +01:00
Simon Rozman
41c8cc01ed Revert "Unify component GUIDs across languages"
This reverts commit f8f20f3667.

Due to Active Setup StubPath bug in already deployed MSI packages we can
fix automatically using minor update only, we cannot change the
component GUIDs just yet.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-25 08:53:44 +01:00
Simon Rozman
64ef4f5921 Preset version to 2.3.2
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-25 08:53:44 +01:00
Simon Rozman
d6be99ed59 Stop hiding catalog-0000.xml file
The hidden files cannot be downloaded (404) even when addressed
directly.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-24 09:44:31 +01:00
Simon Rozman
c00e9cbe1f Update legacy publish path
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-15 19:16:38 +01:00
Simon Rozman
867ab0f149 Fix upgrading from previous version
As the language and platform-dependent component GUIDs changed and we
wish to retain the original destination folders and filenames the
RemoveExistingProducts custom action is now invoked differently
according to the version of the product we are upgrading.

When we are upgrading an old package with legacy component GUIDs, we're
uninstalling it before installing the new one.

When we will be upgrading a modern package with platform/language
dependent component GUIDs, we will remove the leftover components after
installing the new one.

This should deliver compatible upgrades of existing versions while
providing optimal upgrading in the future.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-15 19:08:00 +01:00
Simon Rozman
ebdbb84a29 Enable recommended code analysis and address warnings
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-13 13:18:11 +01:00
Simon Rozman
62702a0194 Remove excessive UTF-8 BOM
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-11 15:42:11 +01:00
Simon Rozman
b3702ed237 Extend copyright year
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-11 15:38:57 +01:00
Simon Rozman
d3af51adf8 Remove building of unused executables
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-11 14:54:09 +01:00
Simon Rozman
2363016a76 Unify component GUIDs across platforms
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-11 14:54:09 +01:00
Simon Rozman
f8f20f3667 Unify component GUIDs across languages
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-11 14:54:09 +01:00
Simon Rozman
c2b96dbcc1 Automate language-dependent folder property names
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-11 14:54:09 +01:00
Simon Rozman
90a53fb139 Unify upgrade GUID across platforms
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-11 11:46:26 +01:00
Simon Rozman
ac2c225540 Add missing MSIBUILD_LANG_GUID and MSIBUILD_PLAT_GUID properties
Updated version of wxExtend sub-module requires them.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-11 11:46:05 +01:00
Simon Rozman
4a0bf118bf Bump stdex
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-10 15:17:22 +01:00
Simon Rozman
2e04726dd7 Update font and database
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-10 15:05:07 +01:00
Simon Rozman
9c8ca4d7b1 Make enum wxHexDecodeMode scoped
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-10 14:59:24 +01:00
Simon Rozman
0800f813ff Rename stdafx.h to pch.h
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-10 14:10:29 +01:00
Simon Rozman
dffc4bf9af Unify platform designations
.sln uses the same as .vcxproj files

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-10 14:03:44 +01:00
Simon Rozman
91d5c77e02 Clean Makefile
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-12-04 10:20:08 +01:00
Simon Rozman
94cbed643d Move distribution to CDN server
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-12-04 10:18:01 +01:00
Simon Rozman
be687497e8 Bump MSICA, WinStd and wxExtend
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-12-04 10:07:00 +01:00
Simon Rozman
495b490dc2 Remove UTF-8 BOM
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-12-04 10:07:00 +01:00
Simon Rozman
f54c048b74 Preset version to 2.3.1
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-12-04 10:07:00 +01:00
Simon Rozman
81741eec8f Update font and database
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-09-23 11:07:42 +02:00
Simon Rozman
ab065edda4 Update sub-modules
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-09-23 09:58:59 +02:00
Simon Rozman
6799a1f8a6 Preset version to 2.3
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-09-23 09:58:58 +02:00
Simon Rozman
84973a57d6 Set version to 2.2
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-08-09 15:01:06 +02:00
Simon Rozman
3b64c576fa Update database
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-06-20 15:04:58 +02:00
Simon Rozman
0b777b89c2 Report error if database file don't open successfully
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-06-20 14:27:45 +02:00
Simon Rozman
b6567582e5 Enable function-level linking to allow LTCG
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-06-19 12:05:05 +02:00
Simon Rozman
8f1b412c1f Switch to Visual Studio 2019
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-06-19 11:51:33 +02:00
Simon Rozman
79ec7c51ba Fix UninstallFonts Makefile target
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-06-19 11:44:20 +02:00
Simon Rozman
33aa840e50 Update translations
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-06-19 10:22:58 +02:00
Simon Rozman
63ff924b76 Update font and database
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-15 11:43:43 +02:00
Simon Rozman
c790fff673 Remove auto-added translations from POT file
POT files should not contain any translations at all. Transifex is
picky.

Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-01 19:40:54 +02:00
Simon Rozman
99283e806a Preset version to 2.1.4.
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-01 19:35:49 +02:00
Simon Rozman
893dbf5783 Update year to 2019
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-01 14:50:04 +02:00
Simon Rozman
64e3735b12 Make character selection dialog non-modal
This allows direct focusing in (de)compose text control even when the
character selection dialog is open.

Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-01 14:49:56 +02:00
Simon Rozman
c598fe4fe0 Invert order of translations and (de)composition
Example: This allows a to be translated into ά, as a is first
translated to α and finally ZRCola composed into ά. Otherwise we'd need
to include all accented character translations in transliteration
tables.

Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-01 14:49:49 +02:00
Simon Rozman
4393b02323 Fix decomposition
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-01 14:49:41 +02:00
Simon Rozman
0dba3d4652 Update sub-module
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-01 14:49:33 +02:00
Simon Rozman
c9231078a6 Preset version to 2.1.3
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-01 14:49:24 +02:00
Simon Rozman
d98987ec5f Upgrade to latest WinStd library
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-04-01 14:48:40 +02:00
Simon Rozman
4900202d7e Trigger per-user setup on logon 2019-04-01 14:48:31 +02:00
140 changed files with 5194 additions and 6562 deletions

View File

@@ -1,4 +1,4 @@
# Localization of ZRCola
# Localization of ZRCola
In order to get ZRCola experience in your language the following resources should be translated:

Binary file not shown.

View File

@@ -1,5 +1,5 @@
#
# Copyright 1991-2018 Amebis
# Copyright © 1991-2021 Amebis
#
# This file is part of ZRCola.
#

View File

@@ -1,3 +1,5 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2018
#
#, fuzzy
msgid ""
@@ -5,7 +7,7 @@ msgstr ""
"Project-Id-Version: ZRCola MSI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-19 08:59+0200\n"
"PO-Revision-Date: \n"
"PO-Revision-Date: 2018-09-19 07:19+0000\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
"Language-Team: German (Germany) (https://www.transifex.com/amebis/teams/91592/de_DE/)\n"
"MIME-Version: 1.0\n"

View File

@@ -1,3 +1,5 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2018
#
#, fuzzy
msgid ""
@@ -5,7 +7,7 @@ msgstr ""
"Project-Id-Version: ZRCola MSI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-19 08:59+0200\n"
"PO-Revision-Date: \n"
"PO-Revision-Date: 2018-09-19 07:19+0000\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
"Language-Team: Russian (Russia) (https://www.transifex.com/amebis/teams/91592/ru_RU/)\n"
"MIME-Version: 1.0\n"

View File

@@ -1,3 +1,5 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2018
#
#, fuzzy
msgid ""
@@ -5,7 +7,7 @@ msgstr ""
"Project-Id-Version: ZRCola MSI\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-09-19 08:59+0200\n"
"PO-Revision-Date: \n"
"PO-Revision-Date: 2018-09-19 07:19+0000\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
"Language-Team: Slovenian (Slovenia) (https://www.transifex.com/amebis/teams/91592/sl_SI/)\n"
"MIME-Version: 1.0\n"

124
Makefile
View File

@@ -1,5 +1,5 @@
#
# Copyright 1991-2018 Amebis
# Copyright © 1991-2021 Amebis
#
# This file is part of ZRCola.
#
@@ -18,7 +18,7 @@
#
OUTPUT_DIR=output
PUBLISH_DIR=\\amebis.doma\Splet\WWW\Apache\www.amebis.si-prenos\ZRCola
PUBLISH_DIR=\\amebis.doma\Splet\WWW\IIS-ext\prenos.amebis.si\ZRCola
!IF "$(PROCESSOR_ARCHITECTURE)" == "AMD64"
PLAT=x64
@@ -40,8 +40,13 @@ MSBUILDFLAGS=/v:m /m
All ::
Clean ::
cd "MSI\MSIBuild\Version"
Clean :: \
CleanSetup
CleanSetup ::
cd "MSI\ZRCola"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean
cd "$(MAKEDIR)\MSI\MSIBuild\Version"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Clean
cd "$(MAKEDIR)"
-if exist "$(OUTPUT_DIR)\catalog.xml" del /f /q "$(OUTPUT_DIR)\catalog.xml"
@@ -60,13 +65,11 @@ Register \
Unregister \
Localization \
PublishPre \
Publish :: "MSI\MSIBuild\Version\Version.mak"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) HAS_VERSION=1 $@
"MSI\MSIBuild\Version\Version.mak" ::
Publish ::
cd "MSI\MSIBuild\Version"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) Version
cd "$(MAKEDIR)"
$(MAKE) /f "Makefile" /$(MAKEFLAGS) HAS_VERSION=1 $@
!ELSE
@@ -78,8 +81,7 @@ Publish :: "MSI\MSIBuild\Version\Version.mak"
!INCLUDE "MSI\MSIBuild\Version\Version.mak"
!INCLUDE "include\MSIBuildCfg.mak"
PUBLISH_PACKAGE_DIR=$(PUBLISH_DIR)\$(MSIBUILD_VERSION_STR)
PUBLISH_PACKAGE_URL=http://www.amebis.si/prenos/ZRCola/$(MSIBUILD_VERSION_STR)
PUBLISH_PACKAGE_URL=http://prenos.amebis.si/ZRCola/$(MSIBUILD_VERSION_STR)
######################################################################
# Main targets
@@ -89,17 +91,29 @@ All :: \
Setup
######################################################################
# Setup
######################################################################
Setup :: \
Localization \
SetupCompile \
SetupPackage \
SetupDebug :: \
Localization \
SetupDebugCompile \
SetupDebugPackage \
######################################################################
# Publishing
######################################################################
PublishPre :: \
"$(PUBLISH_PACKAGE_DIR)" \
"$(PUBLISH_DIR)"
Publish :: \
PublishPre \
"$(PUBLISH_DIR)\catalog-0000.xml"
"$(PUBLISH_DIR)" \
"$(PUBLISH_DIR)\catalog-0001.xml"
######################################################################
@@ -107,6 +121,8 @@ Publish :: \
######################################################################
Register :: \
Localization \
RegisterCompile \
RegisterSettings \
InstallFonts \
RegisterShortcuts
@@ -116,6 +132,9 @@ Unregister :: \
UninstallFonts \
UnregisterSettings
RegisterCompile ::
msbuild.exe $(MSBUILDFLAGS) "ZRCola.sln" /t:Build /p:Platform=$(PLAT) /p:Configuration=Debug
RegisterSettings ::
reg.exe add "HKLM\Software\Amebis\ZRCola" /v "Language" /t REG_SZ /d "en_US" $(REG_FLAGS) > NUL
reg.exe add "HKLM\Software\Amebis\ZRCola" /v "LocalizationRepositoryPath" /t REG_SZ /d "$(MAKEDIR)\$(OUTPUT_DIR)\locale" $(REG_FLAGS) > NUL
@@ -147,16 +166,16 @@ InstallFonts :: \
reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "ZRCola Bold Italic (TrueType)" /t REG_SZ /d "ZRCola_BI.otf" $(REG_FLAGS) > NUL
reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes" /v "00 ZRCola" /t REG_SZ /d "ZRCola" $(REG_FLAGS) > NUL
UninstallFonts::
UninstallFonts ::
-reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "ZRCola (TrueType)" $(REG_FLAGS) > NUL
-reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "ZRCola Italic (TrueType)" $(REG_FLAGS) > NUL
-reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "ZRCola Bold (TrueType)" $(REG_FLAGS) > NUL
-reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /v "ZRCola Bold Italic (TrueType)" $(REG_FLAGS) > NUL
-reg.exe delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes" /v "00 ZRCola" $(REG_FLAGS) > NUL
-if exist "$(WINDIR)\Fonts\ZRCola_Re.otf" rd /s /q "$(WINDIR)\Fonts\ZRCola_Re.otf"
-if exist "$(WINDIR)\Fonts\ZRCola_It.otf" rd /s /q "$(WINDIR)\Fonts\ZRCola_It.otf"
-if exist "$(WINDIR)\Fonts\ZRCola_Bd.otf" rd /s /q "$(WINDIR)\Fonts\ZRCola_Bd.otf"
-if exist "$(WINDIR)\Fonts\ZRCola_BI.otf" rd /s /q "$(WINDIR)\Fonts\ZRCola_BI.otf"
-if exist "$(WINDIR)\Fonts\ZRCola_Re.otf" del /f /q "$(WINDIR)\Fonts\ZRCola_Re.otf"
-if exist "$(WINDIR)\Fonts\ZRCola_It.otf" del /f /q "$(WINDIR)\Fonts\ZRCola_It.otf"
-if exist "$(WINDIR)\Fonts\ZRCola_Bd.otf" del /f /q "$(WINDIR)\Fonts\ZRCola_Bd.otf"
-if exist "$(WINDIR)\Fonts\ZRCola_BI.otf" del /f /q "$(WINDIR)\Fonts\ZRCola_BI.otf"
RegisterShortcuts :: \
"$(PROGRAMDATA)\Microsoft\Windows\Start Menu\Programs\ZRCola" \
@@ -174,14 +193,16 @@ UnregisterShortcuts ::
"$(OUTPUT_DIR)\Keys" \
"$(OUTPUT_DIR)\locale" \
"$(PUBLISH_DIR)" \
"$(PUBLISH_PACKAGE_DIR)" \
"$(PUBLISH_DIR)\_latest" \
"$(PUBLISH_DIR)\$(MSIBUILD_VERSION_STR)" \
"$(PROGRAMDATA)\Microsoft\Windows\Start Menu\Programs\ZRCola" :
if not exist $@ md $@
"$(OUTPUT_DIR)\Keys" \
"$(OUTPUT_DIR)\locale" : "$(OUTPUT_DIR)"
"$(PUBLISH_PACKAGE_DIR)" : "$(PUBLISH_DIR)"
"$(PUBLISH_DIR)\_latest" \
"$(PUBLISH_DIR)\$(MSIBUILD_VERSION_STR)" : "$(PUBLISH_DIR)"
######################################################################
@@ -213,31 +234,31 @@ UnregisterShortcuts ::
# Building
######################################################################
"$(PUBLISH_DIR)\catalog-0000.xml" : "$(OUTPUT_DIR)\catalog.xml"
if exist $@ del /f /q $@
"$(OUTPUT_DIR)\$(PLAT).Release\UpdSignXML.exe" $** $@
"$(PUBLISH_DIR)\catalog-0001.xml" : "$(OUTPUT_DIR)\catalog.xml"
copy /y $** $@ > NUL
"$(OUTPUT_DIR)\catalog.xml" : \
# "$(OUTPUT_DIR)\ZRColaDe32.msi" \
# "$(OUTPUT_DIR)\ZRColaDe64.msi" \
"$(OUTPUT_DIR)\ZRColaEn32.msi" \
"$(OUTPUT_DIR)\ZRColaEn64.msi" \
"$(OUTPUT_DIR)\ZRColaRu32.msi" \
"$(OUTPUT_DIR)\ZRColaRu64.msi" \
"$(OUTPUT_DIR)\ZRColaSl32.msi" \
"$(OUTPUT_DIR)\ZRColaSl64.msi"
-if exist $@ del /f /q $@
"$(OUTPUT_DIR)\ZRColaEn-x86.msi" \
"$(OUTPUT_DIR)\ZRColaEn-amd64.msi" \
"$(OUTPUT_DIR)\ZRColaEn-arm64.msi" \
"$(OUTPUT_DIR)\ZRColaRu-x86.msi" \
"$(OUTPUT_DIR)\ZRColaRu-amd64.msi" \
"$(OUTPUT_DIR)\ZRColaRu-arm64.msi" \
"$(OUTPUT_DIR)\ZRColaSl-x86.msi" \
"$(OUTPUT_DIR)\ZRColaSl-amd64.msi" \
"$(OUTPUT_DIR)\ZRColaSl-arm64.msi"
copy /y "$(PUBLISH_DIR)\catalog-0001.xml" "$(@:"=).tmp" > NUL
"$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-x86 en_US "$(PUBLISH_PACKAGE_URL)/ZRColaEn-x86.msi" -f "$(OUTPUT_DIR)\ZRColaEn-x86.msi"
"$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 en_US "$(PUBLISH_PACKAGE_URL)/ZRColaEn-amd64.msi" -f "$(OUTPUT_DIR)\ZRColaEn-amd64.msi"
"$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-arm64 en_US "$(PUBLISH_PACKAGE_URL)/ZRColaEn-arm64.msi" -f "$(OUTPUT_DIR)\ZRColaEn-arm64.msi"
"$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-x86 ru_RU "$(PUBLISH_PACKAGE_URL)/ZRColaRu-x86.msi" -f "$(OUTPUT_DIR)\ZRColaRu-x86.msi"
"$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 ru_RU "$(PUBLISH_PACKAGE_URL)/ZRColaRu-amd64.msi" -f "$(OUTPUT_DIR)\ZRColaRu-amd64.msi"
"$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-arm64 ru_RU "$(PUBLISH_PACKAGE_URL)/ZRColaRu-arm64.msi" -f "$(OUTPUT_DIR)\ZRColaRu-arm64.msi"
"$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-x86 sl_SI "$(PUBLISH_PACKAGE_URL)/ZRColaSl-x86.msi" -f "$(OUTPUT_DIR)\ZRColaSl-x86.msi"
"$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 sl_SI "$(PUBLISH_PACKAGE_URL)/ZRColaSl-amd64.msi" -f "$(OUTPUT_DIR)\ZRColaSl-amd64.msi"
"$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-arm64 sl_SI "$(PUBLISH_PACKAGE_URL)/ZRColaSl-arm64.msi" -f "$(OUTPUT_DIR)\ZRColaSl-arm64.msi"
"$(OUTPUT_DIR)\$(PLAT).Release\UpdSignXML.exe" "$(@:"=).tmp" $@
-if exist "$(@:"=).tmp" del /f /q "$(@:"=).tmp"
copy /y "$(PUBLISH_DIR)\catalog-0000.xml" "$(@:"=).tmp" > NUL
# "$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-x86 de_DE "$(PUBLISH_PACKAGE_URL)/ZRColaDe32.msi" -f "$(OUTPUT_DIR)\ZRColaDe32.msi"
# "$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 de_DE "$(PUBLISH_PACKAGE_URL)/ZRColaDe64.msi" -f "$(OUTPUT_DIR)\ZRColaDe64.msi"
"$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-x86 en_US "$(PUBLISH_PACKAGE_URL)/ZRColaEn32.msi" -f "$(OUTPUT_DIR)\ZRColaEn32.msi"
"$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 en_US "$(PUBLISH_PACKAGE_URL)/ZRColaEn64.msi" -f "$(OUTPUT_DIR)\ZRColaEn64.msi"
"$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-x86 ru_RU "$(PUBLISH_PACKAGE_URL)/ZRColaRu32.msi" -f "$(OUTPUT_DIR)\ZRColaRu32.msi"
"$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 ru_RU "$(PUBLISH_PACKAGE_URL)/ZRColaRu64.msi" -f "$(OUTPUT_DIR)\ZRColaRu64.msi"
"$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-x86 sl_SI "$(PUBLISH_PACKAGE_URL)/ZRColaSl32.msi" -f "$(OUTPUT_DIR)\ZRColaSl32.msi"
"$(OUTPUT_DIR)\$(PLAT).Release\UpdPublish.exe" "$(@:"=).tmp" "$(@:"=).tmp" win-amd64 sl_SI "$(PUBLISH_PACKAGE_URL)/ZRColaSl64.msi" -f "$(OUTPUT_DIR)\ZRColaSl64.msi"
move /y "$(@:"=).tmp" $@ > NUL
!ENDIF
@@ -246,13 +267,15 @@ UnregisterShortcuts ::
######################################################################
PLAT=Win32
PLAT_SUFFIX=32
PLAT_SLN=x86
PLAT_SUFFIX=-x86
!INCLUDE "MakefilePlat.mak"
PLAT=x64
PLAT_SUFFIX=64
PLAT_SLN=x64
PLAT_SUFFIX=-amd64
!INCLUDE "MakefilePlat.mak"
PLAT=ARM64
PLAT_SUFFIX=-arm64
!INCLUDE "MakefilePlat.mak"
@@ -260,11 +283,6 @@ PLAT_SLN=x64
# Language Specific
######################################################################
#LANG=de_DE
#LANG_BASE=de
#LANG_SUFFIX=De
#!INCLUDE "MakefileLang.mak"
LANG=en_US
LANG_BASE=en
LANG_SUFFIX=En

Binary file not shown.

BIN
MakefileLangPlat.mak Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,5 +1,5 @@
#
# Copyright 1991-2018 Amebis
# Copyright © 1991-2021 Amebis
#
# This file is part of ZRCola.
#
@@ -17,19 +17,17 @@
# along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
#
All ::
Clean ::
msbuild.exe $(MSBUILDFLAGS) "ZRCola.sln" /t:Clean /p:Configuration=$(CFG) /p:Platform=$(PLAT_SLN)
msbuild.exe $(MSBUILDFLAGS) "ZRCola.sln" /t:Clean /p:Configuration=$(CFG) /p:Platform=$(PLAT)
!IF "$(PLAT)" == "Win32"
msbuild.exe $(MSBUILDFLAGS) "ZRColaUtils.sln" /t:Clean /p:Configuration=$(CFG) /p:Platform=$(PLAT_SLN)
msbuild.exe $(MSBUILDFLAGS) "ZRColaUtils.sln" /t:Clean /p:Configuration=$(CFG) /p:Platform=$(PLAT)
!ENDIF
msbuild.exe $(MSBUILDFLAGS) "MSI\MSICA\MSICA.sln" /t:Clean /p:Configuration=$(CFG) /p:Platform=$(PLAT_SLN)
msbuild.exe $(MSBUILDFLAGS) "Updater\Updater.sln" /t:Clean /p:Configuration=$(CFG) /p:Platform=$(PLAT_SLN)
-if exist "$(OUTPUT_DIR)\ZRCola$(PLAT_SUFFIX)$(CFG_SUFFIX).ddf" del /f /q "$(OUTPUT_DIR)\ZRCola$(PLAT_SUFFIX)$(CFG_SUFFIX).ddf"
-if exist "$(OUTPUT_DIR)\ZRCola$(PLAT_SUFFIX)$(CFG_SUFFIX).cab" del /f /q "$(OUTPUT_DIR)\ZRCola$(PLAT_SUFFIX)$(CFG_SUFFIX).cab"
-if exist "$(OUTPUT_DIR)\ZRCola$(PLAT_SUFFIX)$(CFG_SUFFIX).inf" del /f /q "$(OUTPUT_DIR)\ZRCola$(PLAT_SUFFIX)$(CFG_SUFFIX).inf"
-if exist "$(OUTPUT_DIR)\ZRCola$(PLAT_SUFFIX)$(CFG_SUFFIX).rpt" del /f /q "$(OUTPUT_DIR)\ZRCola$(PLAT_SUFFIX)$(CFG_SUFFIX).rpt"
msbuild.exe $(MSBUILDFLAGS) "MSI\MSICA\MSICA.sln" /t:Clean /p:Configuration=$(CFG) /p:Platform=$(PLAT)
msbuild.exe $(MSBUILDFLAGS) "Updater\Updater.sln" /t:Clean /p:Configuration=$(CFG) /p:Platform=$(PLAT)
-if exist "$(OUTPUT_DIR)\$(PLAT).$(CFG).ddf" del /f /q "$(OUTPUT_DIR)\$(PLAT).$(CFG).ddf"
-if exist "$(OUTPUT_DIR)\$(PLAT).$(CFG).cab" del /f /q "$(OUTPUT_DIR)\$(PLAT).$(CFG).cab"
-if exist "$(OUTPUT_DIR)\$(PLAT).$(CFG).inf" del /f /q "$(OUTPUT_DIR)\$(PLAT).$(CFG).inf"
-if exist "$(OUTPUT_DIR)\$(PLAT).$(CFG).rpt" del /f /q "$(OUTPUT_DIR)\$(PLAT).$(CFG).rpt"
!IFDEF HAS_VERSION
@@ -43,24 +41,18 @@ Clean ::
# Building
######################################################################
"$(OUTPUT_DIR)\$(PLAT).$(CFG)\ZRCola.exe" :: Localization
"$(OUTPUT_DIR)\$(PLAT).$(CFG)\ZRCola.exe" ::
msbuild.exe $(MSBUILDFLAGS) "ZRCola.sln" /t:Build /p:Configuration=$(CFG) /p:Platform=$(PLAT_SLN)
"$(OUTPUT_DIR)\ZRCola$(PLAT_SUFFIX)$(CFG_SUFFIX).ddf" : \
# "$(OUTPUT_DIR)\ZRCola.de_DE.$(PLAT_SUFFIX)$(CFG_SUFFIX).2.msi" \
"$(OUTPUT_DIR)\ZRCola.en_US.$(PLAT_SUFFIX)$(CFG_SUFFIX).2.msi" \
"$(OUTPUT_DIR)\ZRCola.ru_RU.$(PLAT_SUFFIX)$(CFG_SUFFIX).2.msi" \
"$(OUTPUT_DIR)\ZRCola.sl_SI.$(PLAT_SUFFIX)$(CFG_SUFFIX).2.msi"
-if exist $@ del /f /q $@
"$(OUTPUT_DIR)\$(PLAT).$(CFG).ddf" : \
# "$(OUTPUT_DIR)\de_DE.$(PLAT).$(CFG).2.msi" \
"$(OUTPUT_DIR)\en_US.$(PLAT).$(CFG).2.msi" \
"$(OUTPUT_DIR)\ru_RU.$(PLAT).$(CFG).2.msi" \
"$(OUTPUT_DIR)\sl_SI.$(PLAT).$(CFG).2.msi"
-if exist "$(@:"=).tmp" del /f /q "$(@:"=).tmp"
cscript.exe "MSI\MSIBuild\MSI.wsf" //Job:MakeDDF //Nologo "$(@:"=).tmp" $** /O:"$(OUTPUT_DIR)\ZRCola$(PLAT_SUFFIX)$(CFG_SUFFIX)" /C:LZX
cscript.exe "MSI\MSIBuild\MSI.wsf" //Job:MakeDDF //Nologo "$(@:"=).tmp" $** /O:"$(OUTPUT_DIR)\$(PLAT).$(CFG)" /C:LZX
move /y "$(@:"=).tmp" $@ > NUL
"$(OUTPUT_DIR)\ZRCola$(PLAT_SUFFIX)$(CFG_SUFFIX).cab" \
"$(OUTPUT_DIR)\ZRCola$(PLAT_SUFFIX)$(CFG_SUFFIX).inf" \
"$(OUTPUT_DIR)\ZRCola$(PLAT_SUFFIX)$(CFG_SUFFIX).rpt" : "$(OUTPUT_DIR)\ZRCola$(PLAT_SUFFIX)$(CFG_SUFFIX).ddf"
"$(OUTPUT_DIR)\$(PLAT).$(CFG).cab" \
"$(OUTPUT_DIR)\$(PLAT).$(CFG).inf" \
"$(OUTPUT_DIR)\$(PLAT).$(CFG).rpt" : "$(OUTPUT_DIR)\$(PLAT).$(CFG).ddf"
makecab.exe /F $**
!ENDIF

View File

@@ -1,4 +1,4 @@
# ZRCola
# ZRCola
A Microsoft Windows application for composing texts using a wide range of Slavic (and general) letters from or beyond Unicode.
@@ -6,7 +6,7 @@ A Microsoft Windows application for composing texts using a wide range of Slavic
http://zrcola.zrc-sazu.si/en/
## Binaries for Download
https://www.amebis.si/prenos/ZRCola/
https://prenos.amebis.si/ZRCola/
## Building
@@ -20,7 +20,7 @@ https://www.amebis.si/prenos/ZRCola/
### wxWidgets
ZRCola is using wxWidgets static libraries. You have to compile static libraries yourself.
#### Compiling wxWidgets x86 static libraries
#### Compiling wxWidgets Win32 static libraries
1. Start _x86 Native Tools Command Prompt for VS 2017_
2. Change working folder to `build\msw`
3. Run: `nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0 COMPILER_VERSION=141`

Submodule Updater updated: 6fbcede83b...625549838e

View File

@@ -1,13 +1,13 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28010.2016
# Visual Studio Version 16
VisualStudioVersion = 16.0.29728.190
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZRCola", "ZRCola\ZRCola.vcxproj", "{CD9E4170-92DD-440E-980C-D15F62032249}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{6D85AD6A-69D6-40EB-BF0C-7495479DDCE5}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "lib\wxExtend\build\wxExtendLib-15.0.vcxproj", "{D3E29951-D9F5-486D-A167-20AE8E90B1FA}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "lib\wxExtend\build\wxExtendLib-16.0.vcxproj", "{D3E29951-D9F5-486D-A167-20AE8E90B1FA}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{CFEBC17E-C840-4507-BDE6-1EF5B52DDCC5}"
ProjectSection(SolutionItems) = preProject
@@ -18,106 +18,106 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libZRCola", "lib\libZRCola\
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libZRColaUI", "lib\libZRColaUI\build\libZRColaUI.vcxproj", "{C0A84BD2-3870-4CD6-B281-0AB322E3C579}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stdex", "lib\stdex\build\stdex-15.0.vcxproj", "{518777CC-0A59-4415-A12A-82751ED75343}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stdex", "lib\stdex\build\stdex-16.0.vcxproj", "{518777CC-0A59-4415-A12A-82751ED75343}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Updater", "Updater\Updater\build\Updater.vcxproj", "{990D8CF9-4457-4DC0-AA18-4968EF434741}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinStd", "lib\WinStd\build\WinStd-15.0.vcxproj", "{47399D91-7EB9-41DE-B521-514BA5DB0C43}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinStd", "lib\WinStd\build\WinStd-16.0.vcxproj", "{47399D91-7EB9-41DE-B521-514BA5DB0C43}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM64 = Debug|ARM64
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|ARM64 = Release|ARM64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CD9E4170-92DD-440E-980C-D15F62032249}.Debug|ARM64.ActiveCfg = Debug|ARM64
{CD9E4170-92DD-440E-980C-D15F62032249}.Debug|ARM64.Build.0 = Debug|ARM64
{CD9E4170-92DD-440E-980C-D15F62032249}.Debug|Win32.ActiveCfg = Debug|Win32
{CD9E4170-92DD-440E-980C-D15F62032249}.Debug|Win32.Build.0 = Debug|Win32
{CD9E4170-92DD-440E-980C-D15F62032249}.Debug|x64.ActiveCfg = Debug|x64
{CD9E4170-92DD-440E-980C-D15F62032249}.Debug|x64.Build.0 = Debug|x64
{CD9E4170-92DD-440E-980C-D15F62032249}.Debug|x86.ActiveCfg = Debug|Win32
{CD9E4170-92DD-440E-980C-D15F62032249}.Debug|x86.Build.0 = Debug|Win32
{CD9E4170-92DD-440E-980C-D15F62032249}.Release|ARM64.ActiveCfg = Release|ARM64
{CD9E4170-92DD-440E-980C-D15F62032249}.Release|ARM64.Build.0 = Release|ARM64
{CD9E4170-92DD-440E-980C-D15F62032249}.Release|Win32.ActiveCfg = Release|Win32
{CD9E4170-92DD-440E-980C-D15F62032249}.Release|Win32.Build.0 = Release|Win32
{CD9E4170-92DD-440E-980C-D15F62032249}.Release|x64.ActiveCfg = Release|x64
{CD9E4170-92DD-440E-980C-D15F62032249}.Release|x64.Build.0 = Release|x64
{CD9E4170-92DD-440E-980C-D15F62032249}.Release|x86.ActiveCfg = Release|Win32
{CD9E4170-92DD-440E-980C-D15F62032249}.Release|x86.Build.0 = Release|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|ARM64.ActiveCfg = Debug|ARM64
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|ARM64.Build.0 = Debug|ARM64
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|Win32.ActiveCfg = Debug|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|Win32.Build.0 = Debug|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x64.ActiveCfg = Debug|x64
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x64.Build.0 = Debug|x64
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x86.ActiveCfg = Debug|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x86.Build.0 = Debug|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|ARM64.ActiveCfg = Release|ARM64
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|ARM64.Build.0 = Release|ARM64
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|Win32.ActiveCfg = Release|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|Win32.Build.0 = Release|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x64.ActiveCfg = Release|x64
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x64.Build.0 = Release|x64
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x86.ActiveCfg = Release|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x86.Build.0 = Release|Win32
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Debug|ARM64.ActiveCfg = Debug|ARM64
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Debug|ARM64.Build.0 = Debug|ARM64
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Debug|Win32.ActiveCfg = Debug|Win32
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Debug|Win32.Build.0 = Debug|Win32
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Debug|x64.ActiveCfg = Debug|x64
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Debug|x64.Build.0 = Debug|x64
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Debug|x86.ActiveCfg = Debug|Win32
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Debug|x86.Build.0 = Debug|Win32
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Release|ARM64.ActiveCfg = Release|ARM64
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Release|ARM64.Build.0 = Release|ARM64
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Release|Win32.ActiveCfg = Release|Win32
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Release|Win32.Build.0 = Release|Win32
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Release|x64.ActiveCfg = Release|x64
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Release|x64.Build.0 = Release|x64
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Release|x86.ActiveCfg = Release|Win32
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Release|x86.Build.0 = Release|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Debug|ARM64.ActiveCfg = Debug|ARM64
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Debug|ARM64.Build.0 = Debug|ARM64
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Debug|Win32.ActiveCfg = Debug|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Debug|Win32.Build.0 = Debug|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Debug|x64.ActiveCfg = Debug|x64
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Debug|x64.Build.0 = Debug|x64
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Debug|x86.ActiveCfg = Debug|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Debug|x86.Build.0 = Debug|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Release|ARM64.ActiveCfg = Release|ARM64
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Release|ARM64.Build.0 = Release|ARM64
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Release|Win32.ActiveCfg = Release|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Release|Win32.Build.0 = Release|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Release|x64.ActiveCfg = Release|x64
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Release|x64.Build.0 = Release|x64
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Release|x86.ActiveCfg = Release|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Release|x86.Build.0 = Release|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Debug|ARM64.ActiveCfg = Debug|ARM64
{518777CC-0A59-4415-A12A-82751ED75343}.Debug|ARM64.Build.0 = Debug|ARM64
{518777CC-0A59-4415-A12A-82751ED75343}.Debug|Win32.ActiveCfg = Debug|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Debug|Win32.Build.0 = Debug|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Debug|x64.ActiveCfg = Debug|x64
{518777CC-0A59-4415-A12A-82751ED75343}.Debug|x64.Build.0 = Debug|x64
{518777CC-0A59-4415-A12A-82751ED75343}.Debug|x86.ActiveCfg = Debug|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Debug|x86.Build.0 = Debug|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Release|ARM64.ActiveCfg = Release|ARM64
{518777CC-0A59-4415-A12A-82751ED75343}.Release|ARM64.Build.0 = Release|ARM64
{518777CC-0A59-4415-A12A-82751ED75343}.Release|Win32.ActiveCfg = Release|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Release|Win32.Build.0 = Release|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Release|x64.ActiveCfg = Release|x64
{518777CC-0A59-4415-A12A-82751ED75343}.Release|x64.Build.0 = Release|x64
{518777CC-0A59-4415-A12A-82751ED75343}.Release|x86.ActiveCfg = Release|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Release|x86.Build.0 = Release|Win32
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Debug|ARM64.ActiveCfg = Debug|ARM64
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Debug|ARM64.Build.0 = Debug|ARM64
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Debug|Win32.ActiveCfg = Debug|Win32
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Debug|Win32.Build.0 = Debug|Win32
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Debug|x64.ActiveCfg = Debug|x64
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Debug|x64.Build.0 = Debug|x64
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Debug|x86.ActiveCfg = Debug|Win32
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Debug|x86.Build.0 = Debug|Win32
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Release|ARM64.ActiveCfg = Release|ARM64
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Release|ARM64.Build.0 = Release|ARM64
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Release|Win32.ActiveCfg = Release|Win32
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Release|Win32.Build.0 = Release|Win32
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Release|x64.ActiveCfg = Release|x64
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Release|x64.Build.0 = Release|x64
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Release|x86.ActiveCfg = Release|Win32
{990D8CF9-4457-4DC0-AA18-4968EF434741}.Release|x86.Build.0 = Release|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|ARM64.ActiveCfg = Debug|ARM64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|ARM64.Build.0 = Debug|ARM64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|Win32.ActiveCfg = Debug|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|Win32.Build.0 = Debug|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|x64.ActiveCfg = Debug|x64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|x64.Build.0 = Debug|x64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|x86.ActiveCfg = Debug|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|x86.Build.0 = Debug|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|ARM64.ActiveCfg = Release|ARM64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|ARM64.Build.0 = Release|ARM64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|Win32.ActiveCfg = Release|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|Win32.Build.0 = Release|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|x64.ActiveCfg = Release|x64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|x64.Build.0 = Release|x64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|x86.ActiveCfg = Release|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -1,5 +1,5 @@
#
# Copyright 1991-2018 Amebis
# Copyright © 1991-2021 Amebis
#
# This file is part of ZRCola.
#
@@ -19,10 +19,18 @@
!INCLUDE "..\..\include\MSIBuildCfg.mak"
!IFNDEF MSIBUILD_PLAT_GUID
!ERROR Parameter MSIBUILD_PLAT_GUID is undefined.
!ENDIF
!IFNDEF MSIBUILD_LANGID
!ERROR Parameter MSIBUILD_LANGID is undefined.
!ENDIF
!IFNDEF MSIBUILD_LANG_GUID
!ERROR Parameter MSIBUILD_LANG_GUID is undefined.
!ENDIF
MSIBUILD_IS_LOCALIZEABLE=1
@@ -32,7 +40,6 @@ MSIBUILD_IS_LOCALIZEABLE=1
All :: "$(LANG).$(PLAT).$(CFG).AppSearch-1.idt"
"$(LANG).$(PLAT).$(CFG).AppSearch-1.idt" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Property Signature_
s$(MSIBUILD_LENGTH_ID) s$(MSIBUILD_LENGTH_ID)
@@ -51,7 +58,6 @@ All :: \
"$(LANG).$(PLAT).$(CFG).Binary-1\tutorial3.bmp"
"$(LANG).$(PLAT).$(CFG).Binary-1.idt" : "Makefile" "..\..\include\MSIBuildCfg.mak" "$(LANG).$(PLAT).$(CFG).Binary-1"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Name Data
s$(MSIBUILD_LENGTH_ID) v0
@@ -77,17 +83,11 @@ bintutorial3.bmp tutorial3.bmp
All :: "$(LANG).$(PLAT).$(CFG).CompLocator-1.idt"
"$(LANG).$(PLAT).$(CFG).CompLocator-1.idt" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Signature_ ComponentId Type
s$(MSIBUILD_LENGTH_ID) s38 I2
CompLocator Signature_
!IF "$(PLAT)" == "Win32"
clZRCola.exe.Win32 {F30B6545-6203-4B7D-8575-85245A0F90E5} 1
!ENDIF
!IF "$(PLAT)" == "x64"
clZRCola.exe.x64 {D45B105D-2303-459A-AF4B-52AC3AAD5510} 1
!ENDIF
clZRCola.exe.$(PLAT) {6DB513F9-BC90-4CE7-821$(MSIBUILD_PLAT_GUID)-AA50BF31F34E} 1
<<NOKEEP
@@ -97,22 +97,13 @@ clZRCola.exe.x64 {D45B105D-2303-459A-AF4B-52AC3AAD5510} 1
All :: "$(LANG).$(PLAT).$(CFG).Component-1.idt"
"$(LANG).$(PLAT).$(CFG).Component-1.idt" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Component ComponentId Directory_ Attributes Condition KeyPath
s$(MSIBUILD_LENGTH_ID) S38 s$(MSIBUILD_LENGTH_ID) i2 S255 S$(MSIBUILD_LENGTH_ID)
Component Component
!IF "$(PLAT)" == "Win32"
compZRCola.exe.Win32 {F30B6545-6203-4B7D-8575-85245A0F90E5} ZRCOLABINDIR 0 fileZRCola.exe.Win32
!ENDIF
!IF "$(PLAT)" == "x64"
compZRCola.exe.x64 {D45B105D-2303-459A-AF4B-52AC3AAD5510} ZRCOLABINDIR 256 fileZRCola.exe.x64
!ENDIF
!IF "$(LANG)" == "ru_RU"
compZRCola.mo.ru_RU {DEA5D11C-2B0E-4B85-ACE3-D76334866F50} ZRCOLALOCRURUDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) fileZRCola.mo.ru_RU
!ENDIF
!IF "$(LANG)" == "sl_SI"
compZRCola.mo.sl_SI {7FF95C71-D8DE-4D2B-A26D-FEB5A1F54D63} ZRCOLALOCSLSIDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) fileZRCola.mo.sl_SI
compZRCola.exe.$(PLAT) {6DB513F9-BC90-4CE7-821$(MSIBUILD_PLAT_GUID)-AA50BF31F34E} ZRCOLABINDIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) fileZRCola.exe.$(PLAT)
!IF "$(LANG)" != "en_US"
compZRCola.mo.$(LANG) {4F59C403-D6DE-4B3F-$(MSIBUILD_LANG_GUID)-1190DB941EB3} ZRCOLALOC$(MSIBUILD_LANG_GUID)DIR $(MSIBUILD_COMPONENT_ATTRIB_FILE) fileZRCola.mo.$(LANG)
!ENDIF
<<NOKEEP
@@ -123,7 +114,6 @@ compZRCola.mo.sl_SI {7FF95C71-D8DE-4D2B-A26D-FEB5A1F54D63} ZRCOLALOCSLSIDIR $(MS
All :: "$(LANG).$(PLAT).$(CFG).Control-2.idt"
"en_US.$(PLAT).$(CFG).Control-2.idtx" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Dialog_ Control Type X Y Width Height Attributes Property Text Control_Next Help
s$(MSIBUILD_LENGTH_ID) s50 s20 i2 i2 i2 i2 I4 S50 L0 S50 L$(MSIBUILD_LENGTH_HELP)
@@ -161,7 +151,6 @@ dlgTutorial3 ctlContinue PushButton 325 265 60 20 3 &Continue ctlBannerBitmap
All :: "$(LANG).$(PLAT).$(CFG).ControlEvent-1.idt"
"$(LANG).$(PLAT).$(CFG).ControlEvent-1.idt" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Dialog_ Control_ Event Argument Condition Ordering
s$(MSIBUILD_LENGTH_ID) s50 s50 s255 S255 I2
@@ -178,7 +167,6 @@ dlgTutorial3 ctlContinue EndDialog Return 1 1000
All :: "$(LANG).$(PLAT).$(CFG).Dialog-1.idt"
"$(LANG).$(PLAT).$(CFG).Dialog-1.idt" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Dialog HCentering VCentering Width Height Attributes Title Control_First Control_Default Control_Cancel
s$(MSIBUILD_LENGTH_ID) i2 i2 i2 i2 I4 L128 s50 S50 S50
@@ -195,7 +183,6 @@ dlgTutorial3 50 50 400 300 3 [Setup] [SimpleProductName] [DisplayVersion] ctlTit
All :: "$(LANG).$(PLAT).$(CFG).InstallUISequence-1.idt"
"$(LANG).$(PLAT).$(CFG).InstallUISequence-1.idt" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Action Condition Sequence
s$(MSIBUILD_LENGTH_ID) S255 I2
@@ -212,7 +199,6 @@ dlgTutorial3 NOT Installed AND &featZRCola>=3 1402
All :: "$(LANG).$(PLAT).$(CFG).Feature-2.idt"
"en_US.$(PLAT).$(CFG).Feature-2.idtx" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Feature Feature_Parent Title Description Display Level Directory_ Attributes
s$(MSIBUILD_LENGTH_ID) S$(MSIBUILD_LENGTH_ID) L64 L255 I2 i2 S$(MSIBUILD_LENGTH_ID) i2
@@ -235,7 +221,6 @@ featZRCola ZRCola Input system for linguistic use 1 1 ZRCOLADIR 8
All :: "$(LANG).$(PLAT).$(CFG).FeatureComponents-1.idt"
"$(LANG).$(PLAT).$(CFG).FeatureComponents-1.idt" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Feature_ Component_
s$(MSIBUILD_LENGTH_ID) s$(MSIBUILD_LENGTH_ID)
@@ -263,7 +248,6 @@ featZRCola compwxstd.mo.$(LANG)
All :: "$(LANG).$(PLAT).$(CFG).File-1.idt"
"$(LANG).$(PLAT).$(CFG).File-1.idt" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
File Component_ FileName FileSize Version Language Attributes Sequence
s$(MSIBUILD_LENGTH_ID) s$(MSIBUILD_LENGTH_ID) l255 i4 S$(MSIBUILD_LENGTH_ID) S20 I2 i2
@@ -283,7 +267,6 @@ All :: \
"$(LANG).$(PLAT).$(CFG).Icon-1\ZRCola.ico"
"$(LANG).$(PLAT).$(CFG).Icon-1.idt" : "Makefile" "..\..\include\MSIBuildCfg.mak" "$(LANG).$(PLAT).$(CFG).Icon-1"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Name Data
s$(MSIBUILD_LENGTH_ID) v0
@@ -301,7 +284,6 @@ iconZRCola.ico ZRCola.ico
All :: "$(LANG).$(PLAT).$(CFG).RemoveFile-1.idt"
"$(LANG).$(PLAT).$(CFG).RemoveFile-1.idt" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
FileKey Component_ FileName DirProperty InstallMode
s$(MSIBUILD_LENGTH_ID) s$(MSIBUILD_LENGTH_ID) L255 s$(MSIBUILD_LENGTH_ID) i2
@@ -316,7 +298,6 @@ rmfiZRCola compZRCola.exe.$(PLAT) ZRColaShortcutDir 2
All :: "$(LANG).$(PLAT).$(CFG).Shortcut-2.idt"
"en_US.$(PLAT).$(CFG).Shortcut-2.idtx" : "Makefile" "..\..\include\MSIBuildCfg.mak"
-if exist $@ del /f /q $@
move /y << $@ > NUL
Shortcut Directory_ Name Component_ Target Arguments Description Hotkey Icon_ IconIndex ShowCmd WkDir
s$(MSIBUILD_LENGTH_ID) s$(MSIBUILD_LENGTH_ID) l128 s$(MSIBUILD_LENGTH_ID) s$(MSIBUILD_LENGTH_ID) S255 L255 I2 S$(MSIBUILD_LENGTH_ID) I2 I2 S$(MSIBUILD_LENGTH_ID)

Binary file not shown.

View File

@@ -29,26 +29,26 @@
<PropertyGroup Label="Globals">
<ProjectGuid>{CD9E4170-92DD-440E-980C-D15F62032249}</ProjectGuid>
<RootNamespace>ZRCola</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
@@ -56,21 +56,21 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
@@ -114,7 +114,7 @@
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ItemGroup>
<ClCompile Include="stdafx.cpp">
<ClCompile Include="pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
@@ -137,7 +137,7 @@
<ClCompile Include="zrcolaupdater.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h" />
<ClInclude Include="pch.h" />
<ClInclude Include="zrcolaabout.h" />
<ClInclude Include="zrcolaapp.h" />
<ClInclude Include="zrcolachrcatpnl.h" />
@@ -159,10 +159,10 @@
<ProjectReference Include="..\lib\libZRCola\build\libZRCola.vcxproj">
<Project>{3c61929e-7289-4101-8d0a-da22d6e1aea8}</Project>
</ProjectReference>
<ProjectReference Include="..\lib\WinStd\build\WinStd-15.0.vcxproj">
<ProjectReference Include="..\lib\WinStd\build\WinStd-16.0.vcxproj">
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
</ProjectReference>
<ProjectReference Include="..\lib\wxExtend\build\wxExtendLib-15.0.vcxproj">
<ProjectReference Include="..\lib\wxExtend\build\wxExtendLib-16.0.vcxproj">
<Project>{D3E29951-D9F5-486D-A167-20AE8E90B1FA}</Project>
</ProjectReference>
<ProjectReference Include="..\Updater\Updater\build\Updater.vcxproj">

View File

@@ -19,7 +19,7 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">
<ClCompile Include="pch.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="zrcolaapp.cpp">
@@ -63,7 +63,7 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h">
<ClInclude Include="pch.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="zrcolaapp.h">

View File

@@ -1,15 +1,15 @@
msgid ""
msgstr ""
"Project-Id-Version: ZRCola\n"
"POT-Creation-Date: 2018-09-19 09:00+0200\n"
"PO-Revision-Date: 2018-09-19 09:09+0200\n"
"POT-Creation-Date: 2019-04-01 11:13+0200\n"
"PO-Revision-Date: 2019-04-01 19:38+0200\n"
"Last-Translator: Simon Rozman <simon.rozman@amebis.si>\n"
"Language-Team: Amebis, d. o. o., Kamnik <info@amebis.si>\n"
"Language: sl_SI\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.1.1\n"
"X-Generator: Poedit 2.2.1\n"
"X-Poedit-Basepath: ..\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
"X-Poedit-SourceCharset: UTF-8\n"
@@ -40,376 +40,384 @@ msgstr ""
msgid "Find C&haracter..."
msgstr ""
#: res/zrcolagui.cpp:84 res/zrcolagui.cpp:213 zrcolagui.cpp:84
#: zrcolagui.cpp:213
msgid "Display character search to select character to insert into text"
#: res/zrcolagui.cpp:84 res/zrcolagui.cpp:208 zrcolagui.cpp:84
#: zrcolagui.cpp:208
msgid "Toggle character search to select character to insert into text"
msgstr ""
#: res/zrcolagui.cpp:95 zrcolagui.cpp:95
#: res/zrcolagui.cpp:90 zrcolagui.cpp:90
msgid "&Send Composed"
msgstr ""
#: res/zrcolagui.cpp:95 res/zrcolagui.cpp:215 zrcolagui.cpp:95
#: zrcolagui.cpp:215
#: res/zrcolagui.cpp:90 res/zrcolagui.cpp:210 zrcolagui.cpp:90
#: zrcolagui.cpp:210
msgid "Send composed text to source window"
msgstr ""
#: res/zrcolagui.cpp:104 zrcolagui.cpp:104
#: res/zrcolagui.cpp:99 zrcolagui.cpp:99
msgid "Copy Composed and &Return"
msgstr ""
#: res/zrcolagui.cpp:104 zrcolagui.cpp:104
#: res/zrcolagui.cpp:99 zrcolagui.cpp:99
msgid "Copy composed text to clipboard and return focus to source window"
msgstr ""
#: res/zrcolagui.cpp:113 zrcolagui.cpp:113
#: res/zrcolagui.cpp:108 zrcolagui.cpp:108
msgid "Send &Decomposed"
msgstr ""
#: res/zrcolagui.cpp:113 res/zrcolagui.cpp:217 zrcolagui.cpp:113
#: zrcolagui.cpp:217
#: res/zrcolagui.cpp:108 res/zrcolagui.cpp:212 zrcolagui.cpp:108
#: zrcolagui.cpp:212
msgid "Send decomposed text to source window"
msgstr ""
#: res/zrcolagui.cpp:122 zrcolagui.cpp:122
#: res/zrcolagui.cpp:117 zrcolagui.cpp:117
msgid "Copy Decomposed and Re&turn"
msgstr ""
#: res/zrcolagui.cpp:122 zrcolagui.cpp:122
#: res/zrcolagui.cpp:117 zrcolagui.cpp:117
msgid "Copy decomposed text to clipboard and return focus to source window"
msgstr ""
#: res/zrcolagui.cpp:131 zrcolagui.cpp:131
#: res/zrcolagui.cpp:126 zrcolagui.cpp:126
msgid "Abort (De)composition"
msgstr ""
#: res/zrcolagui.cpp:131 zrcolagui.cpp:131
#: res/zrcolagui.cpp:126 zrcolagui.cpp:126
msgid "Abort composition and return focus to source window"
msgstr ""
#: res/zrcolagui.cpp:141 zrcolagui.cpp:141
#: res/zrcolagui.cpp:136 zrcolagui.cpp:136
msgid "&ZRCola (De)composition"
msgstr ""
#: res/zrcolagui.cpp:141 res/zrcolagui.cpp:219 zrcolagui.cpp:141
#: zrcolagui.cpp:221
#: res/zrcolagui.cpp:136 res/zrcolagui.cpp:214 zrcolagui.cpp:136
#: zrcolagui.cpp:216
msgid "Toggle ZRCola character (De)composition"
msgstr ""
#: res/zrcolagui.cpp:145 zrcolagui.cpp:145
#: res/zrcolagui.cpp:140 zrcolagui.cpp:140
msgid "Tra&nslation"
msgstr ""
#: res/zrcolagui.cpp:151 zrcolagui.cpp:151
#: res/zrcolagui.cpp:146 zrcolagui.cpp:146
msgid "&Settings..."
msgstr ""
#: res/zrcolagui.cpp:151 zrcolagui.cpp:151
#: res/zrcolagui.cpp:146 zrcolagui.cpp:146
msgid "Open program configuration dialog"
msgstr ""
#: res/zrcolagui.cpp:154 zrcolagui.cpp:154
#: res/zrcolagui.cpp:149 zrcolagui.cpp:149
msgid "&Edit"
msgstr ""
#: res/zrcolagui.cpp:158 zrcolagui.cpp:158
#: res/zrcolagui.cpp:153 zrcolagui.cpp:153
msgid "&Edit Toolbar"
msgstr ""
#: res/zrcolagui.cpp:158 zrcolagui.cpp:158
#: res/zrcolagui.cpp:153 zrcolagui.cpp:153
msgid "Toggle edit toolbar"
msgstr ""
#: res/zrcolagui.cpp:162 zrcolagui.cpp:162
#: res/zrcolagui.cpp:157 zrcolagui.cpp:157
msgid "&Compose Toolbar"
msgstr ""
#: res/zrcolagui.cpp:162 zrcolagui.cpp:162
#: res/zrcolagui.cpp:157 zrcolagui.cpp:157
msgid "Toggle compose toolbar"
msgstr ""
#: res/zrcolagui.cpp:168 zrcolagui.cpp:168
#: res/zrcolagui.cpp:163 zrcolagui.cpp:163
msgid "Character Catalo&g"
msgstr ""
#: res/zrcolagui.cpp:168 zrcolagui.cpp:168
#: res/zrcolagui.cpp:163 zrcolagui.cpp:163
msgid "Toggle character catalog panel"
msgstr ""
#: res/zrcolagui.cpp:171 zrcolagui.cpp:171
#: res/zrcolagui.cpp:166 zrcolagui.cpp:166
msgid "&View"
msgstr ""
#: res/zrcolagui.cpp:175 zrcolagui.cpp:175
#: res/zrcolagui.cpp:170 zrcolagui.cpp:170
msgid "&Instructions..."
msgstr ""
#: res/zrcolagui.cpp:175 zrcolagui.cpp:175
#: res/zrcolagui.cpp:170 zrcolagui.cpp:170
msgid "Open a web site with product instructions"
msgstr ""
#: res/zrcolagui.cpp:179 zrcolagui.cpp:179
#: res/zrcolagui.cpp:174 zrcolagui.cpp:174
msgid "Keyboard &Shortcuts..."
msgstr ""
#: res/zrcolagui.cpp:179 zrcolagui.cpp:179
#: res/zrcolagui.cpp:174 zrcolagui.cpp:174
msgid "Open a list of keyboard shortcuts"
msgstr ""
#: res/zrcolagui.cpp:185 zrcolagui.cpp:185
#: res/zrcolagui.cpp:180 zrcolagui.cpp:180
msgid "&Request a new character..."
msgstr ""
#: res/zrcolagui.cpp:185 zrcolagui.cpp:185
#: res/zrcolagui.cpp:180 zrcolagui.cpp:180
msgid "Submit a request to ZRC to add a new character"
msgstr ""
#: res/zrcolagui.cpp:189 zrcolagui.cpp:189
#: res/zrcolagui.cpp:184 zrcolagui.cpp:184
msgid "Check for &Updates..."
msgstr ""
#: res/zrcolagui.cpp:189 zrcolagui.cpp:189
#: res/zrcolagui.cpp:184 zrcolagui.cpp:184
msgid "Check online for product update"
msgstr ""
#: res/zrcolagui.cpp:195 zrcolagui.cpp:195
#: res/zrcolagui.cpp:190 zrcolagui.cpp:190
msgid "&About..."
msgstr ""
#: res/zrcolagui.cpp:198 zrcolagui.cpp:198
#: res/zrcolagui.cpp:193 zrcolagui.cpp:193
msgid "&Help"
msgstr ""
#: res/zrcolagui.cpp:203 zrcolagui.cpp:203
#: res/zrcolagui.cpp:198 zrcolagui.cpp:198
msgid "Cut"
msgstr ""
#: res/zrcolagui.cpp:203 zrcolagui.cpp:203
#: res/zrcolagui.cpp:198 zrcolagui.cpp:198
msgid "Cut selection"
msgstr ""
#: res/zrcolagui.cpp:205 zrcolagui.cpp:205
#: res/zrcolagui.cpp:200 zrcolagui.cpp:200
msgid "Copy"
msgstr ""
#: res/zrcolagui.cpp:205 zrcolagui.cpp:205
#: res/zrcolagui.cpp:200 zrcolagui.cpp:200
msgid "Copy selection"
msgstr ""
#: res/zrcolagui.cpp:207 zrcolagui.cpp:207
#: res/zrcolagui.cpp:202 zrcolagui.cpp:202
msgid "Paste"
msgstr ""
#: res/zrcolagui.cpp:207 zrcolagui.cpp:207
#: res/zrcolagui.cpp:202 zrcolagui.cpp:202
msgid "Paste selection"
msgstr ""
#: res/zrcolagui.cpp:210 zrcolagui.cpp:210
#: res/zrcolagui.cpp:205 zrcolagui.cpp:205
msgid "Edit"
msgstr ""
#: res/zrcolagui.cpp:213 zrcolagui.cpp:213
#: res/zrcolagui.cpp:208 zrcolagui.cpp:208
msgid "Find Character"
msgstr ""
#: res/zrcolagui.cpp:215 zrcolagui.cpp:215
#: res/zrcolagui.cpp:210 zrcolagui.cpp:210
msgid "Send Composed"
msgstr ""
#: res/zrcolagui.cpp:217 zrcolagui.cpp:217
#: res/zrcolagui.cpp:212 zrcolagui.cpp:212
msgid "Send Decomposed"
msgstr ""
#: res/zrcolagui.cpp:219 zrcolagui.cpp:221
#: res/zrcolagui.cpp:214 zrcolagui.cpp:216
msgid "ZRCola (De)composition"
msgstr ""
#: res/zrcolagui.cpp:226 zrcolagui.cpp:228
#: res/zrcolagui.cpp:221 zrcolagui.cpp:223
msgid "Compose"
msgstr ""
#: res/zrcolagui.cpp:230 zrcolagui.cpp:232
#: res/zrcolagui.cpp:225 zrcolagui.cpp:227
msgid "Character Catalog"
msgstr ""
#: res/zrcolagui.cpp:234 zrcolagui.cpp:236
#: res/zrcolagui.cpp:229 zrcolagui.cpp:231
msgid "(De)Composer"
msgstr ""
#: res/zrcolagui.cpp:275 zrcolagui.cpp:277
#: res/zrcolagui.cpp:270 zrcolagui.cpp:272
msgid "Decomposed Text"
msgstr ""
#: res/zrcolagui.cpp:295 zrcolagui.cpp:297
#: res/zrcolagui.cpp:290 zrcolagui.cpp:292
msgid "Decomposed Unicode Dump"
msgstr ""
#: res/zrcolagui.cpp:322 zrcolagui.cpp:324
#: res/zrcolagui.cpp:317 zrcolagui.cpp:319
msgid "Composed Text"
msgstr ""
#: res/zrcolagui.cpp:342 zrcolagui.cpp:344
#: res/zrcolagui.cpp:337 zrcolagui.cpp:339
msgid "Composed Unicode Dump"
msgstr ""
#: res/zrcolagui.cpp:396 zrcolagui.cpp:398
#: res/zrcolagui.cpp:391 zrcolagui.cpp:393
msgid "Select category to display"
msgstr ""
#: res/zrcolagui.cpp:430 zrcolagui.cpp:432
#: res/zrcolagui.cpp:425 zrcolagui.cpp:427
msgid "Show &All"
msgstr ""
#: res/zrcolagui.cpp:431 zrcolagui.cpp:433
#: res/zrcolagui.cpp:426 zrcolagui.cpp:428
msgid "Toggle display of less frequent characters"
msgstr ""
#: res/zrcolagui.cpp:471 zrcolagui.cpp:473
#: res/zrcolagui.cpp:466 zrcolagui.cpp:468
msgid "&Browse"
msgstr ""
#: res/zrcolagui.cpp:478 zrcolagui.cpp:480
#: res/zrcolagui.cpp:473 zrcolagui.cpp:475
msgid "Full or partial terms from Unicode character description (in English) to search for"
msgstr ""
#: res/zrcolagui.cpp:482 zrcolagui.cpp:484
#: res/zrcolagui.cpp:477 zrcolagui.cpp:479
msgid "Search Options"
msgstr ""
#: res/zrcolagui.cpp:483 zrcolagui.cpp:485
#: res/zrcolagui.cpp:478 zrcolagui.cpp:480
msgid "Shows/hides additional search options"
msgstr ""
#: res/zrcolagui.cpp:495 zrcolagui.cpp:497
#: res/zrcolagui.cpp:490 zrcolagui.cpp:492
msgid "List of Unicode character categories to search in"
msgstr ""
#: res/zrcolagui.cpp:502 zrcolagui.cpp:504
#: res/zrcolagui.cpp:497 zrcolagui.cpp:499
msgid "All"
msgstr ""
#: res/zrcolagui.cpp:503 zrcolagui.cpp:505
#: res/zrcolagui.cpp:498 zrcolagui.cpp:500
msgid "Select all categories"
msgstr ""
#: res/zrcolagui.cpp:507 zrcolagui.cpp:509
#: res/zrcolagui.cpp:502 zrcolagui.cpp:504
msgid "None"
msgstr ""
#: res/zrcolagui.cpp:508 zrcolagui.cpp:510
#: res/zrcolagui.cpp:503 zrcolagui.cpp:505
msgid "Clear category selection"
msgstr ""
#: res/zrcolagui.cpp:512 zrcolagui.cpp:514
#: res/zrcolagui.cpp:507 zrcolagui.cpp:509
msgid "Invert"
msgstr ""
#: res/zrcolagui.cpp:513 zrcolagui.cpp:515
#: res/zrcolagui.cpp:508 zrcolagui.cpp:510
msgid "Invert category selection"
msgstr ""
#: res/zrcolagui.cpp:552 zrcolagui.cpp:554
#: res/zrcolagui.cpp:547 zrcolagui.cpp:549
msgid "Character search results"
msgstr ""
#: res/zrcolagui.cpp:562 zrcolagui.cpp:564
#: res/zrcolagui.cpp:557 zrcolagui.cpp:559
msgid "Re&cently Used"
msgstr ""
#: res/zrcolagui.cpp:590 zrcolagui.cpp:592
#: res/zrcolagui.cpp:585 zrcolagui.cpp:587
msgid "List of recently inserted characters"
msgstr ""
#: res/zrcolagui.cpp:604 zrcolagui.cpp:606
#: res/zrcolagui.cpp:599 zrcolagui.cpp:601
msgid "Preview"
msgstr ""
#: res/zrcolagui.cpp:609 zrcolagui.cpp:611
#: res/zrcolagui.cpp:604 zrcolagui.cpp:606
msgid "U+"
msgstr ""
#: res/zrcolagui.cpp:614 zrcolagui.cpp:616
#: res/zrcolagui.cpp:609 zrcolagui.cpp:611
msgid "Unicode hexadecimal code"
msgstr ""
#: res/zrcolagui.cpp:619 zrcolagui.cpp:621
#: res/zrcolagui.cpp:614 zrcolagui.cpp:616
msgid "Keyboard shortcut in Composer window"
msgstr ""
#: res/zrcolagui.cpp:654 zrcolagui.cpp:656
#: res/zrcolagui.cpp:649 zrcolagui.cpp:651
msgid "Character preview"
msgstr ""
#: res/zrcolagui.cpp:659 zrcolagui.cpp:661
#: res/zrcolagui.cpp:654 zrcolagui.cpp:656
msgid "Unicode character description"
msgstr ""
#: res/zrcolagui.cpp:664 zrcolagui.cpp:666
#: res/zrcolagui.cpp:659 zrcolagui.cpp:661
msgid "Character tags"
msgstr ""
#: res/zrcolagui.cpp:669 zrcolagui.cpp:671
#: res/zrcolagui.cpp:664 zrcolagui.cpp:666
msgid "Unicode character category"
msgstr ""
#: res/zrcolagui.cpp:676 zrcolagui.cpp:678
#: res/zrcolagui.cpp:671 zrcolagui.cpp:673
msgid "« Back"
msgstr ""
#: res/zrcolagui.cpp:678 zrcolagui.cpp:680
#: res/zrcolagui.cpp:673 zrcolagui.cpp:675
msgid "To previously viewed character"
msgstr ""
#: res/zrcolagui.cpp:682 zrcolagui.cpp:684
#: res/zrcolagui.cpp:677 zrcolagui.cpp:679
msgid "Forward »"
msgstr ""
#: res/zrcolagui.cpp:684 zrcolagui.cpp:686
#: res/zrcolagui.cpp:679 zrcolagui.cpp:681
msgid "To following viewed character"
msgstr ""
#: res/zrcolagui.cpp:695 zrcolagui.cpp:697
#: res/zrcolagui.cpp:690 zrcolagui.cpp:692
msgid "Re&lated"
msgstr ""
#: res/zrcolagui.cpp:722 zrcolagui.cpp:724
#: res/zrcolagui.cpp:717 zrcolagui.cpp:719
msgid "List of related characters"
msgstr ""
#: res/zrcolagui.cpp:811 zrcolagui.cpp:816
#: res/zrcolagui.cpp:736 zrcolagui.cpp:738
msgid "&Insert"
msgstr ""
#: res/zrcolagui.cpp:740 zrcolagui.cpp:742
msgid "Insert character into decomposed text"
msgstr ""
#: res/zrcolagui.cpp:813 zrcolagui.cpp:818
msgid ""
"Some character native to specific language you are working with should not decompose to primitives.\n"
"For optimal decomposition you should set the language correctly."
msgstr ""
#: res/zrcolagui.cpp:815 zrcolagui.cpp:820
#: res/zrcolagui.cpp:817 zrcolagui.cpp:822
msgid "Select language &automatically according to selected keyboard"
msgstr ""
#: res/zrcolagui.cpp:818 zrcolagui.cpp:823
#: res/zrcolagui.cpp:820 zrcolagui.cpp:825
msgid "&Manually select the language from the list below:"
msgstr ""
#: res/zrcolagui.cpp:829 zrcolagui.cpp:834
#: res/zrcolagui.cpp:831 zrcolagui.cpp:836
msgid "Text Language"
msgstr ""
#: res/zrcolagui.cpp:834 zrcolagui.cpp:839
#: res/zrcolagui.cpp:836 zrcolagui.cpp:841
msgid ""
"ZRCola can be launched every time you log in to your computer.\n"
"It will be available on the system tray and via registered shortcuts Win+F5 and Win+F6."
msgstr ""
#: res/zrcolagui.cpp:838 zrcolagui.cpp:843
#: res/zrcolagui.cpp:840 zrcolagui.cpp:845
msgid "Start ZRCola &automatically on logon"
msgstr ""
#: res/zrcolagui.cpp:844 zrcolagui.cpp:849
#: res/zrcolagui.cpp:846 zrcolagui.cpp:851
msgid "Startup"
msgstr ""
#: res/zrcolagui.cpp:911 res/zrcolagui.h:113 zrcolaapp.cpp:72 zrcolafrm.cpp:123
#: zrcolagui.cpp:916 zrcolagui.h:113
#: res/zrcolagui.cpp:913 res/zrcolagui.h:113 zrcolaapp.cpp:72 zrcolafrm.cpp:128
#: zrcolagui.cpp:918 zrcolagui.h:113
#: MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
#: MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
@@ -421,7 +429,7 @@ msgstr ""
msgid "ZRCola"
msgstr ""
#: res/zrcolagui.cpp:922 zrcolagui.cpp:927
#: res/zrcolagui.cpp:924 zrcolagui.cpp:929
msgid ""
"Program and Website Editor: Janoš Ježovnik\n"
"Development: Amebis, d. o. o., Kamnik\n"
@@ -430,129 +438,129 @@ msgid ""
"Development and maintenance of the original program (20042015): Peter Weiss"
msgstr ""
#: res/zrcolagui.cpp:930 zrcolagui.cpp:935
#: res/zrcolagui.cpp:932 zrcolagui.cpp:937
msgid "zrcola.zrc-sazu.si"
msgstr ""
#: res/zrcolagui.cpp:936 zrcolagui.cpp:941
#: res/zrcolagui.cpp:938 zrcolagui.cpp:943
msgid "Texts made using ZRCola have to include in a footnote or some other appropriate part of the publication the note below:"
msgstr ""
#: res/zrcolagui.cpp:940 zrcolagui.cpp:945
#: res/zrcolagui.cpp:942 zrcolagui.cpp:947
msgid "This text was written using the ZRCola input system (http://zrcola.zrc-sazu.si), developed at the Science and Research Centre of SAZU in Ljubljana (http://www.zrc-sazu.si) by Peter Weiss."
msgstr ""
#: res/zrcolagui.cpp:981 zrcolagui.cpp:986
#: res/zrcolagui.cpp:983 zrcolagui.cpp:988
msgid "Log"
msgstr ""
#: res/zrcolagui.cpp:997 zrcolagui.cpp:1002
#: res/zrcolagui.cpp:999 zrcolagui.cpp:1004
msgid "Quit and &Update..."
msgstr ""
#: res/zrcolagui.cpp:999 zrcolagui.cpp:1004
#: res/zrcolagui.cpp:1001 zrcolagui.cpp:1006
msgid "Exit this program and launch product update"
msgstr ""
#: res/zrcolagui.cpp:1003 zrcolagui.cpp:1008
#: res/zrcolagui.cpp:1005 zrcolagui.cpp:1010
msgid "&Close"
msgstr ""
#: res/zrcolagui.cpp:1004 zrcolagui.cpp:1009
#: res/zrcolagui.cpp:1006 zrcolagui.cpp:1011
msgid "Close this window"
msgstr ""
#: res/zrcolagui.cpp:1041 zrcolachrreq.cpp:49 zrcolagui.cpp:1046
#: res/zrcolagui.cpp:1043 zrcolachrreq.cpp:49 zrcolagui.cpp:1048
msgid "Character"
msgstr ""
#: res/zrcolagui.cpp:1043 zrcolagui.cpp:1048
#: res/zrcolagui.cpp:1045 zrcolagui.cpp:1050
msgid "Enter the &character you would like to request:"
msgstr ""
#: res/zrcolagui.cpp:1057 zrcolagui.cpp:1062
#: res/zrcolagui.cpp:1059 zrcolagui.cpp:1064
msgid "Decomposed character to request"
msgstr ""
#: res/zrcolagui.cpp:1061 zrcolagui.cpp:1066
#: res/zrcolagui.cpp:1063 zrcolagui.cpp:1068
msgid ""
"Please, use the decomposed form.\n"
"You can use ZRCola keyboard shortcuts to enter the character or Copy&&Paste it from the Decomposed window."
msgstr ""
#: res/zrcolagui.cpp:1069 zrcolachrreq.cpp:58 zrcolagui.cpp:1074
#: res/zrcolagui.cpp:1071 zrcolachrreq.cpp:58 zrcolagui.cpp:1076
msgid "Context"
msgstr ""
#: res/zrcolagui.cpp:1071 zrcolagui.cpp:1076
#: res/zrcolagui.cpp:1073 zrcolagui.cpp:1078
msgid "The &context, examples or description why and where the character is required:"
msgstr ""
#: res/zrcolagui.cpp:1077 zrcolagui.cpp:1082
#: res/zrcolagui.cpp:1079 zrcolagui.cpp:1084
msgid "Additional notes for character request"
msgstr ""
#: res/zrcolagui.cpp:1084 zrcolagui.cpp:1089
#: res/zrcolagui.cpp:1086 zrcolagui.cpp:1091
msgid ""
"After clicking OK button, your e-mail application should open allowing you to submit the new character request to ZRCola Editor.\n"
"Your e-mail application might not display all the characters correctly, but the Editor will be able to read them correctly anyway."
msgstr ""
#: res/zrcolagui.cpp:1126 zrcolagui.cpp:1131
#: res/zrcolagui.cpp:1128 zrcolagui.cpp:1133
msgid "Translation"
msgstr ""
#: res/zrcolagui.cpp:1128 zrcolagui.cpp:1133
#: res/zrcolagui.cpp:1130 zrcolagui.cpp:1135
msgid ""
"ZRCola offers multiple text translations that can be arranged in a sequence.\n"
"Please select desired translations and the order they are applied."
msgstr ""
#: res/zrcolagui.cpp:1138 zrcolagui.cpp:1143
#: res/zrcolagui.cpp:1140 zrcolagui.cpp:1145
msgid "A&vailable:"
msgstr ""
#: res/zrcolagui.cpp:1153 zrcolagui.cpp:1158
#: res/zrcolagui.cpp:1155 zrcolagui.cpp:1160
msgid ">"
msgstr ""
#: res/zrcolagui.cpp:1156 zrcolagui.cpp:1161
#: res/zrcolagui.cpp:1158 zrcolagui.cpp:1163
msgid "<"
msgstr ""
#: res/zrcolagui.cpp:1165 zrcolagui.cpp:1170
#: res/zrcolagui.cpp:1167 zrcolagui.cpp:1172
msgid "&Selected:"
msgstr ""
#: res/zrcolagui.cpp:1183 zrcolagui.cpp:1188
#: res/zrcolagui.cpp:1185 zrcolagui.cpp:1190
msgid "Up"
msgstr ""
#: res/zrcolagui.cpp:1186 zrcolagui.cpp:1191
#: res/zrcolagui.cpp:1188 zrcolagui.cpp:1193
msgid "Down"
msgstr ""
#: res/zrcolagui.h:255 zrcolagui.h:255
#: res/zrcolagui.h:254 zrcolagui.h:254
msgid "Character Search"
msgstr ""
#: res/zrcolagui.h:291 zrcolagui.h:291
#: res/zrcolagui.h:290 zrcolagui.h:290
msgid "Settings"
msgstr ""
#: res/zrcolagui.h:317 zrcolagui.h:317
#: res/zrcolagui.h:316 zrcolagui.h:316
msgid "About ZRCola"
msgstr ""
#: res/zrcolagui.h:342 zrcolagui.h:342 zrcolaupdater.cpp:94
#: res/zrcolagui.h:341 zrcolagui.h:341 zrcolaupdater.cpp:94
msgid "Product Update"
msgstr ""
#: res/zrcolagui.h:371 zrcolachrreq.cpp:64 zrcolagui.h:371
#: res/zrcolagui.h:370 zrcolachrreq.cpp:64 zrcolagui.h:370
msgid "Request a New Character"
msgstr ""
#: res/zrcolagui.h:413 zrcolagui.h:413
#: res/zrcolagui.h:412 zrcolagui.h:412
msgid "Custom Translation Sequence"
msgstr ""
@@ -574,7 +582,7 @@ msgstr ""
msgid "Invalid character in Unicode found: %c"
msgstr ""
#: zrcolachrslct.cpp:214 zrcolachrslct.cpp:388 zrcolachrslct.cpp:867
#: zrcolachrslct.cpp:214 zrcolachrslct.cpp:388 zrcolachrslct.cpp:885
msgid "▸ Search Options"
msgstr ""
@@ -582,35 +590,35 @@ msgstr ""
msgid ", "
msgstr ""
#: zrcolachrslct.cpp:391 zrcolachrslct.cpp:864
#: zrcolachrslct.cpp:391 zrcolachrslct.cpp:882
msgid "▾ Search Options"
msgstr ""
#: zrcolafrm.cpp:89
#: zrcolafrm.cpp:94
msgid "No Translation"
msgstr ""
#: zrcolafrm.cpp:102
#: zrcolafrm.cpp:107
msgid "Custom Translation..."
msgstr ""
#: zrcolafrm.cpp:206
#: zrcolafrm.cpp:215
msgid "ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality will not be available."
msgstr ""
#: zrcolafrm.cpp:206 zrcolafrm.cpp:208
#: zrcolafrm.cpp:215 zrcolafrm.cpp:217
msgid "Warning"
msgstr ""
#: zrcolafrm.cpp:208
#: zrcolafrm.cpp:217
msgid "ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality will not be available."
msgstr ""
#: zrcolafrm.cpp:472
#: zrcolafrm.cpp:486
msgid "http://zrcola.zrc-sazu.si/en/info/instructions/"
msgstr ""
#: zrcolafrm.cpp:496
#: zrcolafrm.cpp:510
msgid "http://zrcola.zrc-sazu.si/wp-content/uploads/2016/06/ZRCola_tipkovnica_Jun2016.pdf"
msgstr ""

View File

@@ -1,10 +1,11 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2018
#
msgid ""
msgstr ""
"Project-Id-Version: ZRCola\n"
"POT-Creation-Date: 2018-09-19 09:00+0200\n"
"PO-Revision-Date: 2018-09-19 09:09+0200\n"
"POT-Creation-Date: 2019-04-01 11:13+0200\n"
"PO-Revision-Date: 2018-09-19 07:18+0000\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
"Language-Team: German (Germany) (https://www.transifex.com/amebis/teams/91592/de_DE/)\n"
"MIME-Version: 1.0\n"
@@ -12,7 +13,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Language: de_DE\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.1.1\n"
"X-Generator: Poedit 2.2.1\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: .\n"
@@ -42,378 +43,386 @@ msgstr ""
msgid "Find C&haracter..."
msgstr ""
#: res/zrcolagui.cpp:84 res/zrcolagui.cpp:213 zrcolagui.cpp:84
#: zrcolagui.cpp:213
msgid "Display character search to select character to insert into text"
#: res/zrcolagui.cpp:84 res/zrcolagui.cpp:208 zrcolagui.cpp:84
#: zrcolagui.cpp:208
msgid "Toggle character search to select character to insert into text"
msgstr ""
#: res/zrcolagui.cpp:95 zrcolagui.cpp:95
#: res/zrcolagui.cpp:90 zrcolagui.cpp:90
msgid "&Send Composed"
msgstr ""
#: res/zrcolagui.cpp:95 res/zrcolagui.cpp:215 zrcolagui.cpp:95
#: zrcolagui.cpp:215
#: res/zrcolagui.cpp:90 res/zrcolagui.cpp:210 zrcolagui.cpp:90
#: zrcolagui.cpp:210
msgid "Send composed text to source window"
msgstr ""
#: res/zrcolagui.cpp:104 zrcolagui.cpp:104
#: res/zrcolagui.cpp:99 zrcolagui.cpp:99
msgid "Copy Composed and &Return"
msgstr ""
#: res/zrcolagui.cpp:104 zrcolagui.cpp:104
#: res/zrcolagui.cpp:99 zrcolagui.cpp:99
msgid "Copy composed text to clipboard and return focus to source window"
msgstr ""
#: res/zrcolagui.cpp:113 zrcolagui.cpp:113
#: res/zrcolagui.cpp:108 zrcolagui.cpp:108
msgid "Send &Decomposed"
msgstr ""
#: res/zrcolagui.cpp:113 res/zrcolagui.cpp:217 zrcolagui.cpp:113
#: zrcolagui.cpp:217
#: res/zrcolagui.cpp:108 res/zrcolagui.cpp:212 zrcolagui.cpp:108
#: zrcolagui.cpp:212
msgid "Send decomposed text to source window"
msgstr ""
#: res/zrcolagui.cpp:122 zrcolagui.cpp:122
#: res/zrcolagui.cpp:117 zrcolagui.cpp:117
msgid "Copy Decomposed and Re&turn"
msgstr ""
#: res/zrcolagui.cpp:122 zrcolagui.cpp:122
#: res/zrcolagui.cpp:117 zrcolagui.cpp:117
msgid "Copy decomposed text to clipboard and return focus to source window"
msgstr ""
#: res/zrcolagui.cpp:131 zrcolagui.cpp:131
#: res/zrcolagui.cpp:126 zrcolagui.cpp:126
msgid "Abort (De)composition"
msgstr ""
#: res/zrcolagui.cpp:131 zrcolagui.cpp:131
#: res/zrcolagui.cpp:126 zrcolagui.cpp:126
msgid "Abort composition and return focus to source window"
msgstr ""
#: res/zrcolagui.cpp:141 zrcolagui.cpp:141
#: res/zrcolagui.cpp:136 zrcolagui.cpp:136
msgid "&ZRCola (De)composition"
msgstr ""
#: res/zrcolagui.cpp:141 res/zrcolagui.cpp:219 zrcolagui.cpp:141
#: zrcolagui.cpp:221
#: res/zrcolagui.cpp:136 res/zrcolagui.cpp:214 zrcolagui.cpp:136
#: zrcolagui.cpp:216
msgid "Toggle ZRCola character (De)composition"
msgstr ""
#: res/zrcolagui.cpp:145 zrcolagui.cpp:145
#: res/zrcolagui.cpp:140 zrcolagui.cpp:140
msgid "Tra&nslation"
msgstr ""
#: res/zrcolagui.cpp:151 zrcolagui.cpp:151
#: res/zrcolagui.cpp:146 zrcolagui.cpp:146
msgid "&Settings..."
msgstr ""
#: res/zrcolagui.cpp:151 zrcolagui.cpp:151
#: res/zrcolagui.cpp:146 zrcolagui.cpp:146
msgid "Open program configuration dialog"
msgstr ""
#: res/zrcolagui.cpp:154 zrcolagui.cpp:154
#: res/zrcolagui.cpp:149 zrcolagui.cpp:149
msgid "&Edit"
msgstr ""
#: res/zrcolagui.cpp:158 zrcolagui.cpp:158
#: res/zrcolagui.cpp:153 zrcolagui.cpp:153
msgid "&Edit Toolbar"
msgstr ""
#: res/zrcolagui.cpp:158 zrcolagui.cpp:158
#: res/zrcolagui.cpp:153 zrcolagui.cpp:153
msgid "Toggle edit toolbar"
msgstr ""
#: res/zrcolagui.cpp:162 zrcolagui.cpp:162
#: res/zrcolagui.cpp:157 zrcolagui.cpp:157
msgid "&Compose Toolbar"
msgstr ""
#: res/zrcolagui.cpp:162 zrcolagui.cpp:162
#: res/zrcolagui.cpp:157 zrcolagui.cpp:157
msgid "Toggle compose toolbar"
msgstr ""
#: res/zrcolagui.cpp:168 zrcolagui.cpp:168
#: res/zrcolagui.cpp:163 zrcolagui.cpp:163
msgid "Character Catalo&g"
msgstr ""
#: res/zrcolagui.cpp:168 zrcolagui.cpp:168
#: res/zrcolagui.cpp:163 zrcolagui.cpp:163
msgid "Toggle character catalog panel"
msgstr ""
#: res/zrcolagui.cpp:171 zrcolagui.cpp:171
#: res/zrcolagui.cpp:166 zrcolagui.cpp:166
msgid "&View"
msgstr ""
#: res/zrcolagui.cpp:175 zrcolagui.cpp:175
#: res/zrcolagui.cpp:170 zrcolagui.cpp:170
msgid "&Instructions..."
msgstr ""
#: res/zrcolagui.cpp:175 zrcolagui.cpp:175
#: res/zrcolagui.cpp:170 zrcolagui.cpp:170
msgid "Open a web site with product instructions"
msgstr ""
#: res/zrcolagui.cpp:179 zrcolagui.cpp:179
#: res/zrcolagui.cpp:174 zrcolagui.cpp:174
msgid "Keyboard &Shortcuts..."
msgstr ""
#: res/zrcolagui.cpp:179 zrcolagui.cpp:179
#: res/zrcolagui.cpp:174 zrcolagui.cpp:174
msgid "Open a list of keyboard shortcuts"
msgstr ""
#: res/zrcolagui.cpp:185 zrcolagui.cpp:185
#: res/zrcolagui.cpp:180 zrcolagui.cpp:180
msgid "&Request a new character..."
msgstr ""
#: res/zrcolagui.cpp:185 zrcolagui.cpp:185
#: res/zrcolagui.cpp:180 zrcolagui.cpp:180
msgid "Submit a request to ZRC to add a new character"
msgstr ""
#: res/zrcolagui.cpp:189 zrcolagui.cpp:189
#: res/zrcolagui.cpp:184 zrcolagui.cpp:184
msgid "Check for &Updates..."
msgstr ""
#: res/zrcolagui.cpp:189 zrcolagui.cpp:189
#: res/zrcolagui.cpp:184 zrcolagui.cpp:184
msgid "Check online for product update"
msgstr ""
#: res/zrcolagui.cpp:195 zrcolagui.cpp:195
#: res/zrcolagui.cpp:190 zrcolagui.cpp:190
msgid "&About..."
msgstr ""
#: res/zrcolagui.cpp:198 zrcolagui.cpp:198
#: res/zrcolagui.cpp:193 zrcolagui.cpp:193
msgid "&Help"
msgstr ""
#: res/zrcolagui.cpp:203 zrcolagui.cpp:203
#: res/zrcolagui.cpp:198 zrcolagui.cpp:198
msgid "Cut"
msgstr ""
#: res/zrcolagui.cpp:203 zrcolagui.cpp:203
#: res/zrcolagui.cpp:198 zrcolagui.cpp:198
msgid "Cut selection"
msgstr ""
#: res/zrcolagui.cpp:205 zrcolagui.cpp:205
#: res/zrcolagui.cpp:200 zrcolagui.cpp:200
msgid "Copy"
msgstr ""
#: res/zrcolagui.cpp:205 zrcolagui.cpp:205
#: res/zrcolagui.cpp:200 zrcolagui.cpp:200
msgid "Copy selection"
msgstr ""
#: res/zrcolagui.cpp:207 zrcolagui.cpp:207
#: res/zrcolagui.cpp:202 zrcolagui.cpp:202
msgid "Paste"
msgstr ""
#: res/zrcolagui.cpp:207 zrcolagui.cpp:207
#: res/zrcolagui.cpp:202 zrcolagui.cpp:202
msgid "Paste selection"
msgstr ""
#: res/zrcolagui.cpp:210 zrcolagui.cpp:210
#: res/zrcolagui.cpp:205 zrcolagui.cpp:205
msgid "Edit"
msgstr ""
#: res/zrcolagui.cpp:213 zrcolagui.cpp:213
#: res/zrcolagui.cpp:208 zrcolagui.cpp:208
msgid "Find Character"
msgstr ""
#: res/zrcolagui.cpp:215 zrcolagui.cpp:215
#: res/zrcolagui.cpp:210 zrcolagui.cpp:210
msgid "Send Composed"
msgstr ""
#: res/zrcolagui.cpp:217 zrcolagui.cpp:217
#: res/zrcolagui.cpp:212 zrcolagui.cpp:212
msgid "Send Decomposed"
msgstr ""
#: res/zrcolagui.cpp:219 zrcolagui.cpp:221
#: res/zrcolagui.cpp:214 zrcolagui.cpp:216
msgid "ZRCola (De)composition"
msgstr ""
#: res/zrcolagui.cpp:226 zrcolagui.cpp:228
#: res/zrcolagui.cpp:221 zrcolagui.cpp:223
msgid "Compose"
msgstr ""
#: res/zrcolagui.cpp:230 zrcolagui.cpp:232
#: res/zrcolagui.cpp:225 zrcolagui.cpp:227
msgid "Character Catalog"
msgstr ""
#: res/zrcolagui.cpp:234 zrcolagui.cpp:236
#: res/zrcolagui.cpp:229 zrcolagui.cpp:231
msgid "(De)Composer"
msgstr ""
#: res/zrcolagui.cpp:275 zrcolagui.cpp:277
#: res/zrcolagui.cpp:270 zrcolagui.cpp:272
msgid "Decomposed Text"
msgstr ""
#: res/zrcolagui.cpp:295 zrcolagui.cpp:297
#: res/zrcolagui.cpp:290 zrcolagui.cpp:292
msgid "Decomposed Unicode Dump"
msgstr ""
#: res/zrcolagui.cpp:322 zrcolagui.cpp:324
#: res/zrcolagui.cpp:317 zrcolagui.cpp:319
msgid "Composed Text"
msgstr ""
#: res/zrcolagui.cpp:342 zrcolagui.cpp:344
#: res/zrcolagui.cpp:337 zrcolagui.cpp:339
msgid "Composed Unicode Dump"
msgstr ""
#: res/zrcolagui.cpp:396 zrcolagui.cpp:398
#: res/zrcolagui.cpp:391 zrcolagui.cpp:393
msgid "Select category to display"
msgstr ""
#: res/zrcolagui.cpp:430 zrcolagui.cpp:432
#: res/zrcolagui.cpp:425 zrcolagui.cpp:427
msgid "Show &All"
msgstr ""
#: res/zrcolagui.cpp:431 zrcolagui.cpp:433
#: res/zrcolagui.cpp:426 zrcolagui.cpp:428
msgid "Toggle display of less frequent characters"
msgstr ""
#: res/zrcolagui.cpp:471 zrcolagui.cpp:473
#: res/zrcolagui.cpp:466 zrcolagui.cpp:468
msgid "&Browse"
msgstr ""
#: res/zrcolagui.cpp:478 zrcolagui.cpp:480
#: res/zrcolagui.cpp:473 zrcolagui.cpp:475
msgid ""
"Full or partial terms from Unicode character description (in English) to "
"search for"
msgstr ""
#: res/zrcolagui.cpp:482 zrcolagui.cpp:484
#: res/zrcolagui.cpp:477 zrcolagui.cpp:479
msgid "Search Options"
msgstr ""
#: res/zrcolagui.cpp:483 zrcolagui.cpp:485
#: res/zrcolagui.cpp:478 zrcolagui.cpp:480
msgid "Shows/hides additional search options"
msgstr ""
#: res/zrcolagui.cpp:495 zrcolagui.cpp:497
#: res/zrcolagui.cpp:490 zrcolagui.cpp:492
msgid "List of Unicode character categories to search in"
msgstr ""
#: res/zrcolagui.cpp:502 zrcolagui.cpp:504
#: res/zrcolagui.cpp:497 zrcolagui.cpp:499
msgid "All"
msgstr ""
#: res/zrcolagui.cpp:503 zrcolagui.cpp:505
#: res/zrcolagui.cpp:498 zrcolagui.cpp:500
msgid "Select all categories"
msgstr ""
#: res/zrcolagui.cpp:507 zrcolagui.cpp:509
#: res/zrcolagui.cpp:502 zrcolagui.cpp:504
msgid "None"
msgstr ""
#: res/zrcolagui.cpp:508 zrcolagui.cpp:510
#: res/zrcolagui.cpp:503 zrcolagui.cpp:505
msgid "Clear category selection"
msgstr ""
#: res/zrcolagui.cpp:512 zrcolagui.cpp:514
#: res/zrcolagui.cpp:507 zrcolagui.cpp:509
msgid "Invert"
msgstr ""
#: res/zrcolagui.cpp:513 zrcolagui.cpp:515
#: res/zrcolagui.cpp:508 zrcolagui.cpp:510
msgid "Invert category selection"
msgstr ""
#: res/zrcolagui.cpp:552 zrcolagui.cpp:554
#: res/zrcolagui.cpp:547 zrcolagui.cpp:549
msgid "Character search results"
msgstr ""
#: res/zrcolagui.cpp:562 zrcolagui.cpp:564
#: res/zrcolagui.cpp:557 zrcolagui.cpp:559
msgid "Re&cently Used"
msgstr ""
#: res/zrcolagui.cpp:590 zrcolagui.cpp:592
#: res/zrcolagui.cpp:585 zrcolagui.cpp:587
msgid "List of recently inserted characters"
msgstr ""
#: res/zrcolagui.cpp:604 zrcolagui.cpp:606
#: res/zrcolagui.cpp:599 zrcolagui.cpp:601
msgid "Preview"
msgstr ""
#: res/zrcolagui.cpp:609 zrcolagui.cpp:611
#: res/zrcolagui.cpp:604 zrcolagui.cpp:606
msgid "U+"
msgstr "U+"
#: res/zrcolagui.cpp:614 zrcolagui.cpp:616
#: res/zrcolagui.cpp:609 zrcolagui.cpp:611
msgid "Unicode hexadecimal code"
msgstr ""
#: res/zrcolagui.cpp:619 zrcolagui.cpp:621
#: res/zrcolagui.cpp:614 zrcolagui.cpp:616
msgid "Keyboard shortcut in Composer window"
msgstr ""
#: res/zrcolagui.cpp:654 zrcolagui.cpp:656
#: res/zrcolagui.cpp:649 zrcolagui.cpp:651
msgid "Character preview"
msgstr ""
#: res/zrcolagui.cpp:659 zrcolagui.cpp:661
#: res/zrcolagui.cpp:654 zrcolagui.cpp:656
msgid "Unicode character description"
msgstr ""
#: res/zrcolagui.cpp:664 zrcolagui.cpp:666
#: res/zrcolagui.cpp:659 zrcolagui.cpp:661
msgid "Character tags"
msgstr ""
#: res/zrcolagui.cpp:669 zrcolagui.cpp:671
#: res/zrcolagui.cpp:664 zrcolagui.cpp:666
msgid "Unicode character category"
msgstr ""
#: res/zrcolagui.cpp:676 zrcolagui.cpp:678
#: res/zrcolagui.cpp:671 zrcolagui.cpp:673
msgid "« Back"
msgstr ""
#: res/zrcolagui.cpp:678 zrcolagui.cpp:680
#: res/zrcolagui.cpp:673 zrcolagui.cpp:675
msgid "To previously viewed character"
msgstr ""
#: res/zrcolagui.cpp:682 zrcolagui.cpp:684
#: res/zrcolagui.cpp:677 zrcolagui.cpp:679
msgid "Forward »"
msgstr ""
#: res/zrcolagui.cpp:684 zrcolagui.cpp:686
#: res/zrcolagui.cpp:679 zrcolagui.cpp:681
msgid "To following viewed character"
msgstr ""
#: res/zrcolagui.cpp:695 zrcolagui.cpp:697
#: res/zrcolagui.cpp:690 zrcolagui.cpp:692
msgid "Re&lated"
msgstr ""
#: res/zrcolagui.cpp:722 zrcolagui.cpp:724
#: res/zrcolagui.cpp:717 zrcolagui.cpp:719
msgid "List of related characters"
msgstr ""
#: res/zrcolagui.cpp:811 zrcolagui.cpp:816
#: res/zrcolagui.cpp:736 zrcolagui.cpp:738
msgid "&Insert"
msgstr ""
#: res/zrcolagui.cpp:740 zrcolagui.cpp:742
msgid "Insert character into decomposed text"
msgstr ""
#: res/zrcolagui.cpp:813 zrcolagui.cpp:818
msgid ""
"Some character native to specific language you are working with should not decompose to primitives.\n"
"For optimal decomposition you should set the language correctly."
msgstr ""
#: res/zrcolagui.cpp:815 zrcolagui.cpp:820
#: res/zrcolagui.cpp:817 zrcolagui.cpp:822
msgid "Select language &automatically according to selected keyboard"
msgstr ""
#: res/zrcolagui.cpp:818 zrcolagui.cpp:823
#: res/zrcolagui.cpp:820 zrcolagui.cpp:825
msgid "&Manually select the language from the list below:"
msgstr ""
#: res/zrcolagui.cpp:829 zrcolagui.cpp:834
#: res/zrcolagui.cpp:831 zrcolagui.cpp:836
msgid "Text Language"
msgstr ""
#: res/zrcolagui.cpp:834 zrcolagui.cpp:839
#: res/zrcolagui.cpp:836 zrcolagui.cpp:841
msgid ""
"ZRCola can be launched every time you log in to your computer.\n"
"It will be available on the system tray and via registered shortcuts Win+F5 and Win+F6."
msgstr ""
#: res/zrcolagui.cpp:838 zrcolagui.cpp:843
#: res/zrcolagui.cpp:840 zrcolagui.cpp:845
msgid "Start ZRCola &automatically on logon"
msgstr ""
#: res/zrcolagui.cpp:844 zrcolagui.cpp:849
#: res/zrcolagui.cpp:846 zrcolagui.cpp:851
msgid "Startup"
msgstr ""
#: res/zrcolagui.cpp:911 res/zrcolagui.h:113 zrcolaapp.cpp:72
#: zrcolafrm.cpp:123 zrcolagui.cpp:916 zrcolagui.h:113
#: res/zrcolagui.cpp:913 res/zrcolagui.h:113 zrcolaapp.cpp:72
#: zrcolafrm.cpp:128 zrcolagui.cpp:918 zrcolagui.h:113
#: MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
#: MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
@@ -425,7 +434,7 @@ msgstr ""
msgid "ZRCola"
msgstr "ZRCola"
#: res/zrcolagui.cpp:922 zrcolagui.cpp:927
#: res/zrcolagui.cpp:924 zrcolagui.cpp:929
msgid ""
"Program and Website Editor: Janoš Ježovnik\n"
"Development: Amebis, d. o. o., Kamnik\n"
@@ -434,136 +443,136 @@ msgid ""
"Development and maintenance of the original program (20042015): Peter Weiss"
msgstr ""
#: res/zrcolagui.cpp:930 zrcolagui.cpp:935
#: res/zrcolagui.cpp:932 zrcolagui.cpp:937
msgid "zrcola.zrc-sazu.si"
msgstr ""
#: res/zrcolagui.cpp:936 zrcolagui.cpp:941
#: res/zrcolagui.cpp:938 zrcolagui.cpp:943
msgid ""
"Texts made using ZRCola have to include in a footnote or some other "
"appropriate part of the publication the note below:"
msgstr ""
#: res/zrcolagui.cpp:940 zrcolagui.cpp:945
#: res/zrcolagui.cpp:942 zrcolagui.cpp:947
msgid ""
"This text was written using the ZRCola input system (http://zrcola.zrc-"
"sazu.si), developed at the Science and Research Centre of SAZU in Ljubljana "
"(http://www.zrc-sazu.si) by Peter Weiss."
msgstr ""
#: res/zrcolagui.cpp:981 zrcolagui.cpp:986
#: res/zrcolagui.cpp:983 zrcolagui.cpp:988
msgid "Log"
msgstr ""
#: res/zrcolagui.cpp:997 zrcolagui.cpp:1002
#: res/zrcolagui.cpp:999 zrcolagui.cpp:1004
msgid "Quit and &Update..."
msgstr ""
#: res/zrcolagui.cpp:999 zrcolagui.cpp:1004
#: res/zrcolagui.cpp:1001 zrcolagui.cpp:1006
msgid "Exit this program and launch product update"
msgstr ""
#: res/zrcolagui.cpp:1003 zrcolagui.cpp:1008
#: res/zrcolagui.cpp:1005 zrcolagui.cpp:1010
msgid "&Close"
msgstr ""
#: res/zrcolagui.cpp:1004 zrcolagui.cpp:1009
#: res/zrcolagui.cpp:1006 zrcolagui.cpp:1011
msgid "Close this window"
msgstr ""
#: res/zrcolagui.cpp:1041 zrcolachrreq.cpp:49 zrcolagui.cpp:1046
#: res/zrcolagui.cpp:1043 zrcolachrreq.cpp:49 zrcolagui.cpp:1048
msgid "Character"
msgstr ""
#: res/zrcolagui.cpp:1043 zrcolagui.cpp:1048
#: res/zrcolagui.cpp:1045 zrcolagui.cpp:1050
msgid "Enter the &character you would like to request:"
msgstr ""
#: res/zrcolagui.cpp:1057 zrcolagui.cpp:1062
#: res/zrcolagui.cpp:1059 zrcolagui.cpp:1064
msgid "Decomposed character to request"
msgstr ""
#: res/zrcolagui.cpp:1061 zrcolagui.cpp:1066
#: res/zrcolagui.cpp:1063 zrcolagui.cpp:1068
msgid ""
"Please, use the decomposed form.\n"
"You can use ZRCola keyboard shortcuts to enter the character or Copy&&Paste it from the Decomposed window."
msgstr ""
#: res/zrcolagui.cpp:1069 zrcolachrreq.cpp:58 zrcolagui.cpp:1074
#: res/zrcolagui.cpp:1071 zrcolachrreq.cpp:58 zrcolagui.cpp:1076
msgid "Context"
msgstr ""
#: res/zrcolagui.cpp:1071 zrcolagui.cpp:1076
#: res/zrcolagui.cpp:1073 zrcolagui.cpp:1078
msgid ""
"The &context, examples or description why and where the character is "
"required:"
msgstr ""
#: res/zrcolagui.cpp:1077 zrcolagui.cpp:1082
#: res/zrcolagui.cpp:1079 zrcolagui.cpp:1084
msgid "Additional notes for character request"
msgstr ""
#: res/zrcolagui.cpp:1084 zrcolagui.cpp:1089
#: res/zrcolagui.cpp:1086 zrcolagui.cpp:1091
msgid ""
"After clicking OK button, your e-mail application should open allowing you to submit the new character request to ZRCola Editor.\n"
"Your e-mail application might not display all the characters correctly, but the Editor will be able to read them correctly anyway."
msgstr ""
#: res/zrcolagui.cpp:1126 zrcolagui.cpp:1131
#: res/zrcolagui.cpp:1128 zrcolagui.cpp:1133
msgid "Translation"
msgstr ""
#: res/zrcolagui.cpp:1128 zrcolagui.cpp:1133
#: res/zrcolagui.cpp:1130 zrcolagui.cpp:1135
msgid ""
"ZRCola offers multiple text translations that can be arranged in a sequence.\n"
"Please select desired translations and the order they are applied."
msgstr ""
#: res/zrcolagui.cpp:1138 zrcolagui.cpp:1143
#: res/zrcolagui.cpp:1140 zrcolagui.cpp:1145
msgid "A&vailable:"
msgstr ""
#: res/zrcolagui.cpp:1153 zrcolagui.cpp:1158
#: res/zrcolagui.cpp:1155 zrcolagui.cpp:1160
msgid ">"
msgstr ">"
#: res/zrcolagui.cpp:1156 zrcolagui.cpp:1161
#: res/zrcolagui.cpp:1158 zrcolagui.cpp:1163
msgid "<"
msgstr "<"
#: res/zrcolagui.cpp:1165 zrcolagui.cpp:1170
#: res/zrcolagui.cpp:1167 zrcolagui.cpp:1172
msgid "&Selected:"
msgstr ""
#: res/zrcolagui.cpp:1183 zrcolagui.cpp:1188
#: res/zrcolagui.cpp:1185 zrcolagui.cpp:1190
msgid "Up"
msgstr ""
#: res/zrcolagui.cpp:1186 zrcolagui.cpp:1191
#: res/zrcolagui.cpp:1188 zrcolagui.cpp:1193
msgid "Down"
msgstr ""
#: res/zrcolagui.h:255 zrcolagui.h:255
#: res/zrcolagui.h:254 zrcolagui.h:254
msgid "Character Search"
msgstr ""
#: res/zrcolagui.h:291 zrcolagui.h:291
#: res/zrcolagui.h:290 zrcolagui.h:290
msgid "Settings"
msgstr ""
#: res/zrcolagui.h:317 zrcolagui.h:317
#: res/zrcolagui.h:316 zrcolagui.h:316
msgid "About ZRCola"
msgstr ""
#: res/zrcolagui.h:342 zrcolagui.h:342 zrcolaupdater.cpp:94
#: res/zrcolagui.h:341 zrcolagui.h:341 zrcolaupdater.cpp:94
msgid "Product Update"
msgstr ""
#: res/zrcolagui.h:371 zrcolachrreq.cpp:64 zrcolagui.h:371
#: res/zrcolagui.h:370 zrcolachrreq.cpp:64 zrcolagui.h:370
msgid "Request a New Character"
msgstr ""
#: res/zrcolagui.h:413 zrcolagui.h:413
#: res/zrcolagui.h:412 zrcolagui.h:412
msgid "Custom Translation Sequence"
msgstr ""
@@ -585,7 +594,7 @@ msgstr "Fehler bei der Validierung"
msgid "Invalid character in Unicode found: %c"
msgstr ""
#: zrcolachrslct.cpp:214 zrcolachrslct.cpp:388 zrcolachrslct.cpp:867
#: zrcolachrslct.cpp:214 zrcolachrslct.cpp:388 zrcolachrslct.cpp:885
msgid "▸ Search Options"
msgstr ""
@@ -593,39 +602,39 @@ msgstr ""
msgid ", "
msgstr ""
#: zrcolachrslct.cpp:391 zrcolachrslct.cpp:864
#: zrcolachrslct.cpp:391 zrcolachrslct.cpp:882
msgid "▾ Search Options"
msgstr ""
#: zrcolafrm.cpp:89
#: zrcolafrm.cpp:94
msgid "No Translation"
msgstr ""
#: zrcolafrm.cpp:102
#: zrcolafrm.cpp:107
msgid "Custom Translation..."
msgstr ""
#: zrcolafrm.cpp:206
#: zrcolafrm.cpp:215
msgid ""
"ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality "
"will not be available."
msgstr ""
#: zrcolafrm.cpp:206 zrcolafrm.cpp:208
#: zrcolafrm.cpp:215 zrcolafrm.cpp:217
msgid "Warning"
msgstr ""
#: zrcolafrm.cpp:208
#: zrcolafrm.cpp:217
msgid ""
"ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality "
"will not be available."
msgstr ""
#: zrcolafrm.cpp:472
#: zrcolafrm.cpp:486
msgid "http://zrcola.zrc-sazu.si/en/info/instructions/"
msgstr "http://zrcola.zrc-sazu.si/de/info/instructions/"
#: zrcolafrm.cpp:496
#: zrcolafrm.cpp:510
msgid ""
"http://zrcola.zrc-sazu.si/wp-"
"content/uploads/2016/06/ZRCola_tipkovnica_Jun2016.pdf"

View File

@@ -1,19 +1,20 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2018
# Janoš Ježovnik, 2018
# Janoš Ježovnik, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: ZRCola\n"
"POT-Creation-Date: 2018-09-19 09:00+0200\n"
"PO-Revision-Date: 2018-09-19 09:09+0200\n"
"Last-Translator: Janoš Ježovnik, 2018\n"
"POT-Creation-Date: 2019-04-01 11:13+0200\n"
"PO-Revision-Date: 2018-09-19 07:18+0000\n"
"Last-Translator: Janoš Ježovnik, 2019\n"
"Language-Team: Russian (Russia) (https://www.transifex.com/amebis/teams/91592/ru_RU/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ru_RU\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
"X-Generator: Poedit 2.1.1\n"
"X-Generator: Poedit 2.2.1\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: .\n"
@@ -43,350 +44,358 @@ msgstr "Выделить весь текст"
msgid "Find C&haracter..."
msgstr "Поиск &знака ..."
#: res/zrcolagui.cpp:84 res/zrcolagui.cpp:213 zrcolagui.cpp:84
#: zrcolagui.cpp:213
msgid "Display character search to select character to insert into text"
msgstr "Показать браузер знаков для вставления выбранного знака"
#: res/zrcolagui.cpp:84 res/zrcolagui.cpp:208 zrcolagui.cpp:84
#: zrcolagui.cpp:208
msgid "Toggle character search to select character to insert into text"
msgstr "Переключить поиск знаков для вставки выбранного знака в текст"
#: res/zrcolagui.cpp:95 zrcolagui.cpp:95
#: res/zrcolagui.cpp:90 zrcolagui.cpp:90
msgid "&Send Composed"
msgstr "&Послать составленное"
#: res/zrcolagui.cpp:95 res/zrcolagui.cpp:215 zrcolagui.cpp:95
#: zrcolagui.cpp:215
#: res/zrcolagui.cpp:90 res/zrcolagui.cpp:210 zrcolagui.cpp:90
#: zrcolagui.cpp:210
msgid "Send composed text to source window"
msgstr "Послать составленный текст в исходное окно"
#: res/zrcolagui.cpp:104 zrcolagui.cpp:104
#: res/zrcolagui.cpp:99 zrcolagui.cpp:99
msgid "Copy Composed and &Return"
msgstr "Копировать составленное и &возвратиться"
#: res/zrcolagui.cpp:104 zrcolagui.cpp:104
#: res/zrcolagui.cpp:99 zrcolagui.cpp:99
msgid "Copy composed text to clipboard and return focus to source window"
msgstr ""
"Копировать составленный текст в буфер обмена и возвратить фокус в исходное "
"окно"
#: res/zrcolagui.cpp:113 zrcolagui.cpp:113
#: res/zrcolagui.cpp:108 zrcolagui.cpp:108
msgid "Send &Decomposed"
msgstr "Послать &разобранное"
#: res/zrcolagui.cpp:113 res/zrcolagui.cpp:217 zrcolagui.cpp:113
#: zrcolagui.cpp:217
#: res/zrcolagui.cpp:108 res/zrcolagui.cpp:212 zrcolagui.cpp:108
#: zrcolagui.cpp:212
msgid "Send decomposed text to source window"
msgstr "Послать разобранный текст в исходное окно"
#: res/zrcolagui.cpp:122 zrcolagui.cpp:122
#: res/zrcolagui.cpp:117 zrcolagui.cpp:117
msgid "Copy Decomposed and Re&turn"
msgstr "Копировать разобранное и возв&ратиться"
#: res/zrcolagui.cpp:122 zrcolagui.cpp:122
#: res/zrcolagui.cpp:117 zrcolagui.cpp:117
msgid "Copy decomposed text to clipboard and return focus to source window"
msgstr ""
"Копировать разобранный текст в буфер обмена и возвратить фокус в исходное "
"окно"
#: res/zrcolagui.cpp:131 zrcolagui.cpp:131
#: res/zrcolagui.cpp:126 zrcolagui.cpp:126
msgid "Abort (De)composition"
msgstr "Прервать составление/разборку"
#: res/zrcolagui.cpp:131 zrcolagui.cpp:131
#: res/zrcolagui.cpp:126 zrcolagui.cpp:126
msgid "Abort composition and return focus to source window"
msgstr "Прервать составление и возвратить фокус в исходное окно"
#: res/zrcolagui.cpp:141 zrcolagui.cpp:141
#: res/zrcolagui.cpp:136 zrcolagui.cpp:136
msgid "&ZRCola (De)composition"
msgstr "Составление/разборка &ZRCola "
#: res/zrcolagui.cpp:141 res/zrcolagui.cpp:219 zrcolagui.cpp:141
#: zrcolagui.cpp:221
#: res/zrcolagui.cpp:136 res/zrcolagui.cpp:214 zrcolagui.cpp:136
#: zrcolagui.cpp:216
msgid "Toggle ZRCola character (De)composition"
msgstr "Переключить составление/разборку ZRCola"
#: res/zrcolagui.cpp:145 zrcolagui.cpp:145
#: res/zrcolagui.cpp:140 zrcolagui.cpp:140
msgid "Tra&nslation"
msgstr "Тра&нслитерация"
#: res/zrcolagui.cpp:151 zrcolagui.cpp:151
#: res/zrcolagui.cpp:146 zrcolagui.cpp:146
msgid "&Settings..."
msgstr "&Настройки ..."
#: res/zrcolagui.cpp:151 zrcolagui.cpp:151
#: res/zrcolagui.cpp:146 zrcolagui.cpp:146
msgid "Open program configuration dialog"
msgstr "Открыть диалог конфигурации программы"
#: res/zrcolagui.cpp:154 zrcolagui.cpp:154
#: res/zrcolagui.cpp:149 zrcolagui.cpp:149
msgid "&Edit"
msgstr "&Правка"
#: res/zrcolagui.cpp:158 zrcolagui.cpp:158
#: res/zrcolagui.cpp:153 zrcolagui.cpp:153
msgid "&Edit Toolbar"
msgstr "Панель инструментов для &правки"
#: res/zrcolagui.cpp:158 zrcolagui.cpp:158
#: res/zrcolagui.cpp:153 zrcolagui.cpp:153
msgid "Toggle edit toolbar"
msgstr "Переключить панель инструментов для правки"
#: res/zrcolagui.cpp:162 zrcolagui.cpp:162
#: res/zrcolagui.cpp:157 zrcolagui.cpp:157
msgid "&Compose Toolbar"
msgstr "Панель инструментов для &составления"
#: res/zrcolagui.cpp:162 zrcolagui.cpp:162
#: res/zrcolagui.cpp:157 zrcolagui.cpp:157
msgid "Toggle compose toolbar"
msgstr "Переключить панель инструментов для составления"
#: res/zrcolagui.cpp:168 zrcolagui.cpp:168
#: res/zrcolagui.cpp:163 zrcolagui.cpp:163
msgid "Character Catalo&g"
msgstr "Список &знаков"
#: res/zrcolagui.cpp:168 zrcolagui.cpp:168
#: res/zrcolagui.cpp:163 zrcolagui.cpp:163
msgid "Toggle character catalog panel"
msgstr "Переключить список знаков"
#: res/zrcolagui.cpp:171 zrcolagui.cpp:171
#: res/zrcolagui.cpp:166 zrcolagui.cpp:166
msgid "&View"
msgstr "&Вид"
#: res/zrcolagui.cpp:175 zrcolagui.cpp:175
#: res/zrcolagui.cpp:170 zrcolagui.cpp:170
msgid "&Instructions..."
msgstr "&Инструкции ..."
#: res/zrcolagui.cpp:175 zrcolagui.cpp:175
#: res/zrcolagui.cpp:170 zrcolagui.cpp:170
msgid "Open a web site with product instructions"
msgstr "Открыть сайт с инструкциями по продукту"
#: res/zrcolagui.cpp:179 zrcolagui.cpp:179
#: res/zrcolagui.cpp:174 zrcolagui.cpp:174
msgid "Keyboard &Shortcuts..."
msgstr "Сочетания &клавиш ..."
#: res/zrcolagui.cpp:179 zrcolagui.cpp:179
#: res/zrcolagui.cpp:174 zrcolagui.cpp:174
msgid "Open a list of keyboard shortcuts"
msgstr "Открыть список сочетаний клавиш"
#: res/zrcolagui.cpp:185 zrcolagui.cpp:185
#: res/zrcolagui.cpp:180 zrcolagui.cpp:180
msgid "&Request a new character..."
msgstr "&Запрос нового знака ..."
#: res/zrcolagui.cpp:185 zrcolagui.cpp:185
#: res/zrcolagui.cpp:180 zrcolagui.cpp:180
msgid "Submit a request to ZRC to add a new character"
msgstr "Отправить запрос нового знака"
#: res/zrcolagui.cpp:189 zrcolagui.cpp:189
#: res/zrcolagui.cpp:184 zrcolagui.cpp:184
msgid "Check for &Updates..."
msgstr "Проверить наличие &обновлений ..."
#: res/zrcolagui.cpp:189 zrcolagui.cpp:189
#: res/zrcolagui.cpp:184 zrcolagui.cpp:184
msgid "Check online for product update"
msgstr "Проверить наличие обновлений онлайн"
#: res/zrcolagui.cpp:195 zrcolagui.cpp:195
#: res/zrcolagui.cpp:190 zrcolagui.cpp:190
msgid "&About..."
msgstr "О прогр&амме ..."
#: res/zrcolagui.cpp:198 zrcolagui.cpp:198
#: res/zrcolagui.cpp:193 zrcolagui.cpp:193
msgid "&Help"
msgstr "&Справка"
#: res/zrcolagui.cpp:203 zrcolagui.cpp:203
#: res/zrcolagui.cpp:198 zrcolagui.cpp:198
msgid "Cut"
msgstr "Вырезать"
#: res/zrcolagui.cpp:203 zrcolagui.cpp:203
#: res/zrcolagui.cpp:198 zrcolagui.cpp:198
msgid "Cut selection"
msgstr "Вырезать выбор"
#: res/zrcolagui.cpp:205 zrcolagui.cpp:205
#: res/zrcolagui.cpp:200 zrcolagui.cpp:200
msgid "Copy"
msgstr "Копировать"
#: res/zrcolagui.cpp:205 zrcolagui.cpp:205
#: res/zrcolagui.cpp:200 zrcolagui.cpp:200
msgid "Copy selection"
msgstr "Копировать выбор"
#: res/zrcolagui.cpp:207 zrcolagui.cpp:207
#: res/zrcolagui.cpp:202 zrcolagui.cpp:202
msgid "Paste"
msgstr "Вставить"
#: res/zrcolagui.cpp:207 zrcolagui.cpp:207
#: res/zrcolagui.cpp:202 zrcolagui.cpp:202
msgid "Paste selection"
msgstr "Вставить выбор"
#: res/zrcolagui.cpp:210 zrcolagui.cpp:210
#: res/zrcolagui.cpp:205 zrcolagui.cpp:205
msgid "Edit"
msgstr "Правка"
#: res/zrcolagui.cpp:213 zrcolagui.cpp:213
#: res/zrcolagui.cpp:208 zrcolagui.cpp:208
msgid "Find Character"
msgstr "Поиск знака"
#: res/zrcolagui.cpp:215 zrcolagui.cpp:215
#: res/zrcolagui.cpp:210 zrcolagui.cpp:210
msgid "Send Composed"
msgstr "Послать составленное (F5)"
#: res/zrcolagui.cpp:217 zrcolagui.cpp:217
#: res/zrcolagui.cpp:212 zrcolagui.cpp:212
msgid "Send Decomposed"
msgstr "Послать разобранное (F6)"
#: res/zrcolagui.cpp:219 zrcolagui.cpp:221
#: res/zrcolagui.cpp:214 zrcolagui.cpp:216
msgid "ZRCola (De)composition"
msgstr "ZRCola составление/разборка"
#: res/zrcolagui.cpp:226 zrcolagui.cpp:228
#: res/zrcolagui.cpp:221 zrcolagui.cpp:223
msgid "Compose"
msgstr "Составить"
#: res/zrcolagui.cpp:230 zrcolagui.cpp:232
#: res/zrcolagui.cpp:225 zrcolagui.cpp:227
msgid "Character Catalog"
msgstr "Список знаков"
#: res/zrcolagui.cpp:234 zrcolagui.cpp:236
#: res/zrcolagui.cpp:229 zrcolagui.cpp:231
msgid "(De)Composer"
msgstr "(Де)Композитор"
#: res/zrcolagui.cpp:275 zrcolagui.cpp:277
#: res/zrcolagui.cpp:270 zrcolagui.cpp:272
msgid "Decomposed Text"
msgstr "Разобранний текст"
#: res/zrcolagui.cpp:295 zrcolagui.cpp:297
#: res/zrcolagui.cpp:290 zrcolagui.cpp:292
msgid "Decomposed Unicode Dump"
msgstr "Дамп разобранного Юнукода"
#: res/zrcolagui.cpp:322 zrcolagui.cpp:324
#: res/zrcolagui.cpp:317 zrcolagui.cpp:319
msgid "Composed Text"
msgstr "Составленный текст"
#: res/zrcolagui.cpp:342 zrcolagui.cpp:344
#: res/zrcolagui.cpp:337 zrcolagui.cpp:339
msgid "Composed Unicode Dump"
msgstr "Дамп составленного Юникода"
#: res/zrcolagui.cpp:396 zrcolagui.cpp:398
#: res/zrcolagui.cpp:391 zrcolagui.cpp:393
msgid "Select category to display"
msgstr "Выделить категории для отображения"
#: res/zrcolagui.cpp:430 zrcolagui.cpp:432
#: res/zrcolagui.cpp:425 zrcolagui.cpp:427
msgid "Show &All"
msgstr "Показать &все"
#: res/zrcolagui.cpp:431 zrcolagui.cpp:433
#: res/zrcolagui.cpp:426 zrcolagui.cpp:428
msgid "Toggle display of less frequent characters"
msgstr "Переключить отображение редко использованных знаков"
#: res/zrcolagui.cpp:471 zrcolagui.cpp:473
#: res/zrcolagui.cpp:466 zrcolagui.cpp:468
msgid "&Browse"
msgstr "&Обзор"
#: res/zrcolagui.cpp:478 zrcolagui.cpp:480
#: res/zrcolagui.cpp:473 zrcolagui.cpp:475
msgid ""
"Full or partial terms from Unicode character description (in English) to "
"search for"
msgstr ""
"Полное либо частичное описание знака Юникод (на английском) для поиска"
#: res/zrcolagui.cpp:482 zrcolagui.cpp:484
#: res/zrcolagui.cpp:477 zrcolagui.cpp:479
msgid "Search Options"
msgstr "Опции поиска"
#: res/zrcolagui.cpp:483 zrcolagui.cpp:485
#: res/zrcolagui.cpp:478 zrcolagui.cpp:480
msgid "Shows/hides additional search options"
msgstr "Показать/скрыть дополнительные опции поиска"
#: res/zrcolagui.cpp:495 zrcolagui.cpp:497
#: res/zrcolagui.cpp:490 zrcolagui.cpp:492
msgid "List of Unicode character categories to search in"
msgstr "Список категории Юникод для проведения поиска"
#: res/zrcolagui.cpp:502 zrcolagui.cpp:504
#: res/zrcolagui.cpp:497 zrcolagui.cpp:499
msgid "All"
msgstr "Все"
#: res/zrcolagui.cpp:503 zrcolagui.cpp:505
#: res/zrcolagui.cpp:498 zrcolagui.cpp:500
msgid "Select all categories"
msgstr "Выбрать все категории"
#: res/zrcolagui.cpp:507 zrcolagui.cpp:509
#: res/zrcolagui.cpp:502 zrcolagui.cpp:504
msgid "None"
msgstr "Ничего"
#: res/zrcolagui.cpp:508 zrcolagui.cpp:510
#: res/zrcolagui.cpp:503 zrcolagui.cpp:505
msgid "Clear category selection"
msgstr "Очистить выбор категории"
#: res/zrcolagui.cpp:512 zrcolagui.cpp:514
#: res/zrcolagui.cpp:507 zrcolagui.cpp:509
msgid "Invert"
msgstr "Обратить"
#: res/zrcolagui.cpp:513 zrcolagui.cpp:515
#: res/zrcolagui.cpp:508 zrcolagui.cpp:510
msgid "Invert category selection"
msgstr "Обратить выбор категории"
#: res/zrcolagui.cpp:552 zrcolagui.cpp:554
#: res/zrcolagui.cpp:547 zrcolagui.cpp:549
msgid "Character search results"
msgstr "Результаты поиска знаков"
#: res/zrcolagui.cpp:562 zrcolagui.cpp:564
#: res/zrcolagui.cpp:557 zrcolagui.cpp:559
msgid "Re&cently Used"
msgstr "&Недавно использованное"
#: res/zrcolagui.cpp:590 zrcolagui.cpp:592
#: res/zrcolagui.cpp:585 zrcolagui.cpp:587
msgid "List of recently inserted characters"
msgstr "Список недавно вставленных знаков"
#: res/zrcolagui.cpp:604 zrcolagui.cpp:606
#: res/zrcolagui.cpp:599 zrcolagui.cpp:601
msgid "Preview"
msgstr "Просмотр"
#: res/zrcolagui.cpp:609 zrcolagui.cpp:611
#: res/zrcolagui.cpp:604 zrcolagui.cpp:606
msgid "U+"
msgstr "U+"
#: res/zrcolagui.cpp:614 zrcolagui.cpp:616
#: res/zrcolagui.cpp:609 zrcolagui.cpp:611
msgid "Unicode hexadecimal code"
msgstr "Шестнадцатеричный код Юникод"
#: res/zrcolagui.cpp:619 zrcolagui.cpp:621
#: res/zrcolagui.cpp:614 zrcolagui.cpp:616
msgid "Keyboard shortcut in Composer window"
msgstr "Сочетание клавиш в окне композитора"
#: res/zrcolagui.cpp:654 zrcolagui.cpp:656
#: res/zrcolagui.cpp:649 zrcolagui.cpp:651
msgid "Character preview"
msgstr "Просмотр знака"
#: res/zrcolagui.cpp:659 zrcolagui.cpp:661
#: res/zrcolagui.cpp:654 zrcolagui.cpp:656
msgid "Unicode character description"
msgstr "Описание знака Юникод"
#: res/zrcolagui.cpp:664 zrcolagui.cpp:666
#: res/zrcolagui.cpp:659 zrcolagui.cpp:661
msgid "Character tags"
msgstr "Ключевые слова"
#: res/zrcolagui.cpp:669 zrcolagui.cpp:671
#: res/zrcolagui.cpp:664 zrcolagui.cpp:666
msgid "Unicode character category"
msgstr "Категория знака Юникод"
#: res/zrcolagui.cpp:676 zrcolagui.cpp:678
#: res/zrcolagui.cpp:671 zrcolagui.cpp:673
msgid "« Back"
msgstr "« Назад"
#: res/zrcolagui.cpp:678 zrcolagui.cpp:680
#: res/zrcolagui.cpp:673 zrcolagui.cpp:675
msgid "To previously viewed character"
msgstr "К предыдущему знаку"
#: res/zrcolagui.cpp:682 zrcolagui.cpp:684
#: res/zrcolagui.cpp:677 zrcolagui.cpp:679
msgid "Forward »"
msgstr "Далее »"
#: res/zrcolagui.cpp:684 zrcolagui.cpp:686
#: res/zrcolagui.cpp:679 zrcolagui.cpp:681
msgid "To following viewed character"
msgstr "К следующему знаку"
#: res/zrcolagui.cpp:695 zrcolagui.cpp:697
#: res/zrcolagui.cpp:690 zrcolagui.cpp:692
msgid "Re&lated"
msgstr "&Связанное"
#: res/zrcolagui.cpp:722 zrcolagui.cpp:724
#: res/zrcolagui.cpp:717 zrcolagui.cpp:719
msgid "List of related characters"
msgstr "Список связанных знаков"
#: res/zrcolagui.cpp:811 zrcolagui.cpp:816
#: res/zrcolagui.cpp:736 zrcolagui.cpp:738
msgid "&Insert"
msgstr "&Вставить"
#: res/zrcolagui.cpp:740 zrcolagui.cpp:742
msgid "Insert character into decomposed text"
msgstr "Вставка знака в разобранный текст"
#: res/zrcolagui.cpp:813 zrcolagui.cpp:818
msgid ""
"Some character native to specific language you are working with should not decompose to primitives.\n"
"For optimal decomposition you should set the language correctly."
@@ -394,19 +403,19 @@ msgstr ""
"Некоторые знаки использованного языка нельзя разбирать.\n"
"Для оптимальной разборки вы должны настроить правильный язык."
#: res/zrcolagui.cpp:815 zrcolagui.cpp:820
#: res/zrcolagui.cpp:817 zrcolagui.cpp:822
msgid "Select language &automatically according to selected keyboard"
msgstr "&Автоматически установить язык на основе выбранной клавиатуры"
#: res/zrcolagui.cpp:818 zrcolagui.cpp:823
#: res/zrcolagui.cpp:820 zrcolagui.cpp:825
msgid "&Manually select the language from the list below:"
msgstr "&Вручную выбрать язык со списка:"
#: res/zrcolagui.cpp:829 zrcolagui.cpp:834
#: res/zrcolagui.cpp:831 zrcolagui.cpp:836
msgid "Text Language"
msgstr "Язык текста"
#: res/zrcolagui.cpp:834 zrcolagui.cpp:839
#: res/zrcolagui.cpp:836 zrcolagui.cpp:841
msgid ""
"ZRCola can be launched every time you log in to your computer.\n"
"It will be available on the system tray and via registered shortcuts Win+F5 and Win+F6."
@@ -414,16 +423,16 @@ msgstr ""
"Запуск системы ZRCola возможен при каждом запуске компьютера.\n"
"После запуска система ZRCola доступна на панели задач либо через нажатие сочетания клавиш Win+F5 и Win+F6."
#: res/zrcolagui.cpp:838 zrcolagui.cpp:843
#: res/zrcolagui.cpp:840 zrcolagui.cpp:845
msgid "Start ZRCola &automatically on logon"
msgstr "&Автоматически запустить систему ZRCola при запуске компьютера"
#: res/zrcolagui.cpp:844 zrcolagui.cpp:849
#: res/zrcolagui.cpp:846 zrcolagui.cpp:851
msgid "Startup"
msgstr "Запуск"
#: res/zrcolagui.cpp:911 res/zrcolagui.h:113 zrcolaapp.cpp:72
#: zrcolafrm.cpp:123 zrcolagui.cpp:916 zrcolagui.h:113
#: res/zrcolagui.cpp:913 res/zrcolagui.h:113 zrcolaapp.cpp:72
#: zrcolafrm.cpp:128 zrcolagui.cpp:918 zrcolagui.h:113
#: MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
#: MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
@@ -435,7 +444,7 @@ msgstr "Запуск"
msgid "ZRCola"
msgstr "ZRCola"
#: res/zrcolagui.cpp:922 zrcolagui.cpp:927
#: res/zrcolagui.cpp:924 zrcolagui.cpp:929
msgid ""
"Program and Website Editor: Janoš Ježovnik\n"
"Development: Amebis, d. o. o., Kamnik\n"
@@ -449,11 +458,11 @@ msgstr ""
"Перевод на русский язык: Домен Крвина (Domen Krvina), Силво Торкар (Silvo Torkar), Анастасия Плотникова\n"
"Разработка in техническая поддержка первоначальной программы (20042015): Петер Вейсс (Peter Weiss)"
#: res/zrcolagui.cpp:930 zrcolagui.cpp:935
#: res/zrcolagui.cpp:932 zrcolagui.cpp:937
msgid "zrcola.zrc-sazu.si"
msgstr "zrcola.zrc-sazu.si"
#: res/zrcolagui.cpp:936 zrcolagui.cpp:941
#: res/zrcolagui.cpp:938 zrcolagui.cpp:943
msgid ""
"Texts made using ZRCola have to include in a footnote or some other "
"appropriate part of the publication the note below:"
@@ -461,7 +470,7 @@ msgstr ""
"Текст, созданный с помощью системы ZRCola, должен в примечании или другом "
"соответствующем месте в публикации сопровождаться следующей записью:"
#: res/zrcolagui.cpp:940 zrcolagui.cpp:945
#: res/zrcolagui.cpp:942 zrcolagui.cpp:947
msgid ""
"This text was written using the ZRCola input system (http://zrcola.zrc-"
"sazu.si), developed at the Science and Research Centre of SAZU in Ljubljana "
@@ -471,39 +480,39 @@ msgstr ""
"sazu.si), разработанной в Научно-исследовательском центре Словенской "
"академии наук и искусств в Любляне (http://www.zrc-sazu.si) Петром Вейссoм."
#: res/zrcolagui.cpp:981 zrcolagui.cpp:986
#: res/zrcolagui.cpp:983 zrcolagui.cpp:988
msgid "Log"
msgstr "Журнал"
#: res/zrcolagui.cpp:997 zrcolagui.cpp:1002
#: res/zrcolagui.cpp:999 zrcolagui.cpp:1004
msgid "Quit and &Update..."
msgstr "Выйти и &обновить ..."
#: res/zrcolagui.cpp:999 zrcolagui.cpp:1004
#: res/zrcolagui.cpp:1001 zrcolagui.cpp:1006
msgid "Exit this program and launch product update"
msgstr "Выйти из программы и запустить обновление"
#: res/zrcolagui.cpp:1003 zrcolagui.cpp:1008
#: res/zrcolagui.cpp:1005 zrcolagui.cpp:1010
msgid "&Close"
msgstr "&Закрыть"
#: res/zrcolagui.cpp:1004 zrcolagui.cpp:1009
#: res/zrcolagui.cpp:1006 zrcolagui.cpp:1011
msgid "Close this window"
msgstr "Закрыть это окно"
#: res/zrcolagui.cpp:1041 zrcolachrreq.cpp:49 zrcolagui.cpp:1046
#: res/zrcolagui.cpp:1043 zrcolachrreq.cpp:49 zrcolagui.cpp:1048
msgid "Character"
msgstr "Знак"
#: res/zrcolagui.cpp:1043 zrcolagui.cpp:1048
#: res/zrcolagui.cpp:1045 zrcolagui.cpp:1050
msgid "Enter the &character you would like to request:"
msgstr "Ввести запрашиваемый &знак:"
#: res/zrcolagui.cpp:1057 zrcolagui.cpp:1062
#: res/zrcolagui.cpp:1059 zrcolagui.cpp:1064
msgid "Decomposed character to request"
msgstr "Запрашиваемый разобранный знак"
#: res/zrcolagui.cpp:1061 zrcolagui.cpp:1066
#: res/zrcolagui.cpp:1063 zrcolagui.cpp:1068
msgid ""
"Please, use the decomposed form.\n"
"You can use ZRCola keyboard shortcuts to enter the character or Copy&&Paste it from the Decomposed window."
@@ -511,11 +520,11 @@ msgstr ""
"Пожалуйста, используйте разобранный формат.\n"
"Для ввода запрашиваемого знака можно использовать сочетания клавиш системы ZRCola либо копировать и вставить знаки из окна для разборки."
#: res/zrcolagui.cpp:1069 zrcolachrreq.cpp:58 zrcolagui.cpp:1074
#: res/zrcolagui.cpp:1071 zrcolachrreq.cpp:58 zrcolagui.cpp:1076
msgid "Context"
msgstr "Контекст"
#: res/zrcolagui.cpp:1071 zrcolagui.cpp:1076
#: res/zrcolagui.cpp:1073 zrcolagui.cpp:1078
msgid ""
"The &context, examples or description why and where the character is "
"required:"
@@ -523,11 +532,11 @@ msgstr ""
"&Контекст, примеры либо описание запрашиваемого знака или объяснение, зачем "
"он нужен:"
#: res/zrcolagui.cpp:1077 zrcolagui.cpp:1082
#: res/zrcolagui.cpp:1079 zrcolagui.cpp:1084
msgid "Additional notes for character request"
msgstr "Дополнительные примечания"
#: res/zrcolagui.cpp:1084 zrcolagui.cpp:1089
#: res/zrcolagui.cpp:1086 zrcolagui.cpp:1091
msgid ""
"After clicking OK button, your e-mail application should open allowing you to submit the new character request to ZRCola Editor.\n"
"Your e-mail application might not display all the characters correctly, but the Editor will be able to read them correctly anyway."
@@ -535,11 +544,11 @@ msgstr ""
"После нажатия на кнопку «OK» ваша почтовая программа должна открытся для отправки запроса нового знака администратору системы ZRCola.\n"
"Возможно, не все знаки будут отображены правильно, но все информации будут закодированны таким образом, что администратор сможет их правильно прочитать."
#: res/zrcolagui.cpp:1126 zrcolagui.cpp:1131
#: res/zrcolagui.cpp:1128 zrcolagui.cpp:1133
msgid "Translation"
msgstr "Преобразование"
#: res/zrcolagui.cpp:1128 zrcolagui.cpp:1133
#: res/zrcolagui.cpp:1130 zrcolagui.cpp:1135
msgid ""
"ZRCola offers multiple text translations that can be arranged in a sequence.\n"
"Please select desired translations and the order they are applied."
@@ -547,51 +556,51 @@ msgstr ""
"ZRCola предоставляет различные преобразования текста, последовательность которых можно свободно изменять.\n"
"Пожалуйста, выбрать желаемые преобразования и порядок их применения."
#: res/zrcolagui.cpp:1138 zrcolagui.cpp:1143
#: res/zrcolagui.cpp:1140 zrcolagui.cpp:1145
msgid "A&vailable:"
msgstr "&Доступное:"
#: res/zrcolagui.cpp:1153 zrcolagui.cpp:1158
#: res/zrcolagui.cpp:1155 zrcolagui.cpp:1160
msgid ">"
msgstr ">"
#: res/zrcolagui.cpp:1156 zrcolagui.cpp:1161
#: res/zrcolagui.cpp:1158 zrcolagui.cpp:1163
msgid "<"
msgstr "<"
#: res/zrcolagui.cpp:1165 zrcolagui.cpp:1170
#: res/zrcolagui.cpp:1167 zrcolagui.cpp:1172
msgid "&Selected:"
msgstr "&Выбранное:"
#: res/zrcolagui.cpp:1183 zrcolagui.cpp:1188
#: res/zrcolagui.cpp:1185 zrcolagui.cpp:1190
msgid "Up"
msgstr "Up"
#: res/zrcolagui.cpp:1186 zrcolagui.cpp:1191
#: res/zrcolagui.cpp:1188 zrcolagui.cpp:1193
msgid "Down"
msgstr "Down"
#: res/zrcolagui.h:255 zrcolagui.h:255
#: res/zrcolagui.h:254 zrcolagui.h:254
msgid "Character Search"
msgstr "Поиск знака"
#: res/zrcolagui.h:291 zrcolagui.h:291
#: res/zrcolagui.h:290 zrcolagui.h:290
msgid "Settings"
msgstr "Настройки"
#: res/zrcolagui.h:317 zrcolagui.h:317
#: res/zrcolagui.h:316 zrcolagui.h:316
msgid "About ZRCola"
msgstr "О системе ZRCola"
#: res/zrcolagui.h:342 zrcolagui.h:342 zrcolaupdater.cpp:94
#: res/zrcolagui.h:341 zrcolagui.h:341 zrcolaupdater.cpp:94
msgid "Product Update"
msgstr "Обновление продукта"
#: res/zrcolagui.h:371 zrcolachrreq.cpp:64 zrcolagui.h:371
#: res/zrcolagui.h:370 zrcolachrreq.cpp:64 zrcolagui.h:370
msgid "Request a New Character"
msgstr "Запрос нового знака"
#: res/zrcolagui.h:413 zrcolagui.h:413
#: res/zrcolagui.h:412 zrcolagui.h:412
msgid "Custom Translation Sequence"
msgstr "Настраиваемая последовательность преобразований"
@@ -613,7 +622,7 @@ msgstr "Конфликт проверки"
msgid "Invalid character in Unicode found: %c"
msgstr "Недействительный знак в записи Unicode: %c"
#: zrcolachrslct.cpp:214 zrcolachrslct.cpp:388 zrcolachrslct.cpp:867
#: zrcolachrslct.cpp:214 zrcolachrslct.cpp:388 zrcolachrslct.cpp:885
msgid "▸ Search Options"
msgstr "▸ Опции поиска"
@@ -621,19 +630,19 @@ msgstr "▸ Опции поиска"
msgid ", "
msgstr ", "
#: zrcolachrslct.cpp:391 zrcolachrslct.cpp:864
#: zrcolachrslct.cpp:391 zrcolachrslct.cpp:882
msgid "▾ Search Options"
msgstr "▾ Опции поиска"
#: zrcolafrm.cpp:89
#: zrcolafrm.cpp:94
msgid "No Translation"
msgstr "Без транслитерации"
#: zrcolafrm.cpp:102
#: zrcolafrm.cpp:107
msgid "Custom Translation..."
msgstr "Настраиваемое преобразование ..."
#: zrcolafrm.cpp:206
#: zrcolafrm.cpp:215
msgid ""
"ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality "
"will not be available."
@@ -641,11 +650,11 @@ msgstr ""
"Сочетание клавиш Win+F5 регистрировать. Некоторые функциональности не будут "
"доступны."
#: zrcolafrm.cpp:206 zrcolafrm.cpp:208
#: zrcolafrm.cpp:215 zrcolafrm.cpp:217
msgid "Warning"
msgstr "Предупреждение"
#: zrcolafrm.cpp:208
#: zrcolafrm.cpp:217
msgid ""
"ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality "
"will not be available."
@@ -653,11 +662,11 @@ msgstr ""
"Сочетание клавиш Win+F6 невозможно регистрировать. Некоторые "
"функциональности не будут доступны."
#: zrcolafrm.cpp:472
#: zrcolafrm.cpp:486
msgid "http://zrcola.zrc-sazu.si/en/info/instructions/"
msgstr "http://zrcola.zrc-sazu.si/ru/info/instructions/"
#: zrcolafrm.cpp:496
#: zrcolafrm.cpp:510
msgid ""
"http://zrcola.zrc-sazu.si/wp-"
"content/uploads/2016/06/ZRCola_tipkovnica_Jun2016.pdf"

View File

@@ -1,18 +1,19 @@
# Translators:
# Simon Rozman <simon@rozman.si>, 2018
# Simon Rozman <simon@rozman.si>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: ZRCola\n"
"POT-Creation-Date: 2018-09-19 09:00+0200\n"
"PO-Revision-Date: 2018-09-19 09:09+0200\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2018\n"
"POT-Creation-Date: 2019-04-01 11:13+0200\n"
"PO-Revision-Date: 2018-09-19 07:18+0000\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2019\n"
"Language-Team: Slovenian (Slovenia) (https://www.transifex.com/amebis/teams/91592/sl_SI/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: sl_SI\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
"X-Generator: Poedit 2.1.1\n"
"X-Generator: Poedit 2.2.1\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-KeywordsList: _\n"
"X-Poedit-SearchPath-0: .\n"
@@ -42,349 +43,358 @@ msgstr "Izberi celotno besedilo"
msgid "Find C&haracter..."
msgstr "Poišči &znak ..."
#: res/zrcolagui.cpp:84 res/zrcolagui.cpp:213 zrcolagui.cpp:84
#: zrcolagui.cpp:213
msgid "Display character search to select character to insert into text"
msgstr "Prikaži iskalnik znakov za izbor znaka za vstavljanje v besedilo"
#: res/zrcolagui.cpp:84 res/zrcolagui.cpp:208 zrcolagui.cpp:84
#: zrcolagui.cpp:208
msgid "Toggle character search to select character to insert into text"
msgstr ""
"Prikaži/skrij iskalnik znakov za izbor znaka za vstavljanje v besedilo"
#: res/zrcolagui.cpp:95 zrcolagui.cpp:95
#: res/zrcolagui.cpp:90 zrcolagui.cpp:90
msgid "&Send Composed"
msgstr "Pošlji &sestavljeno"
#: res/zrcolagui.cpp:95 res/zrcolagui.cpp:215 zrcolagui.cpp:95
#: zrcolagui.cpp:215
#: res/zrcolagui.cpp:90 res/zrcolagui.cpp:210 zrcolagui.cpp:90
#: zrcolagui.cpp:210
msgid "Send composed text to source window"
msgstr "Pošlji sestavljeno besedilo izvornemu oknu"
#: res/zrcolagui.cpp:104 zrcolagui.cpp:104
#: res/zrcolagui.cpp:99 zrcolagui.cpp:99
msgid "Copy Composed and &Return"
msgstr "Kopi&raj sestavljeno in se vrni"
#: res/zrcolagui.cpp:104 zrcolagui.cpp:104
#: res/zrcolagui.cpp:99 zrcolagui.cpp:99
msgid "Copy composed text to clipboard and return focus to source window"
msgstr ""
"Kopiraj sestavljeno besedilo na odložišče in vrni fokus nazaj izvornemu oknu"
#: res/zrcolagui.cpp:113 zrcolagui.cpp:113
#: res/zrcolagui.cpp:108 zrcolagui.cpp:108
msgid "Send &Decomposed"
msgstr "Pošlji &razstavljeno"
#: res/zrcolagui.cpp:113 res/zrcolagui.cpp:217 zrcolagui.cpp:113
#: zrcolagui.cpp:217
#: res/zrcolagui.cpp:108 res/zrcolagui.cpp:212 zrcolagui.cpp:108
#: zrcolagui.cpp:212
msgid "Send decomposed text to source window"
msgstr "Pošlji razstavljeno besedilo izvornemu oknu"
#: res/zrcolagui.cpp:122 zrcolagui.cpp:122
#: res/zrcolagui.cpp:117 zrcolagui.cpp:117
msgid "Copy Decomposed and Re&turn"
msgstr "Kopi&raj razstavljeno in se vrni"
#: res/zrcolagui.cpp:122 zrcolagui.cpp:122
#: res/zrcolagui.cpp:117 zrcolagui.cpp:117
msgid "Copy decomposed text to clipboard and return focus to source window"
msgstr ""
"Kopiraj razstavljeno besedilo na odložišče in vrni fokus nazaj izvornemu "
"oknu"
#: res/zrcolagui.cpp:131 zrcolagui.cpp:131
#: res/zrcolagui.cpp:126 zrcolagui.cpp:126
msgid "Abort (De)composition"
msgstr "Prekini raz/sestavljanje"
#: res/zrcolagui.cpp:131 zrcolagui.cpp:131
#: res/zrcolagui.cpp:126 zrcolagui.cpp:126
msgid "Abort composition and return focus to source window"
msgstr "Prekini sestavljanje in vrni fokus nazaj izvornemu oknu"
#: res/zrcolagui.cpp:141 zrcolagui.cpp:141
#: res/zrcolagui.cpp:136 zrcolagui.cpp:136
msgid "&ZRCola (De)composition"
msgstr "(Raz-)Sestavljanje &ZRCola"
#: res/zrcolagui.cpp:141 res/zrcolagui.cpp:219 zrcolagui.cpp:141
#: zrcolagui.cpp:221
#: res/zrcolagui.cpp:136 res/zrcolagui.cpp:214 zrcolagui.cpp:136
#: zrcolagui.cpp:216
msgid "Toggle ZRCola character (De)composition"
msgstr "Vklopi/izklopi (raz-)sestavljanje ZRCola"
#: res/zrcolagui.cpp:145 zrcolagui.cpp:145
#: res/zrcolagui.cpp:140 zrcolagui.cpp:140
msgid "Tra&nslation"
msgstr "Tra&nsliteracija"
#: res/zrcolagui.cpp:151 zrcolagui.cpp:151
#: res/zrcolagui.cpp:146 zrcolagui.cpp:146
msgid "&Settings..."
msgstr "Na&stavitve ..."
#: res/zrcolagui.cpp:151 zrcolagui.cpp:151
#: res/zrcolagui.cpp:146 zrcolagui.cpp:146
msgid "Open program configuration dialog"
msgstr "Odpri nastavitveni dialog programa"
#: res/zrcolagui.cpp:154 zrcolagui.cpp:154
#: res/zrcolagui.cpp:149 zrcolagui.cpp:149
msgid "&Edit"
msgstr "Ur&edi"
#: res/zrcolagui.cpp:158 zrcolagui.cpp:158
#: res/zrcolagui.cpp:153 zrcolagui.cpp:153
msgid "&Edit Toolbar"
msgstr "Orodna vrstica za ur&ejanje"
#: res/zrcolagui.cpp:158 zrcolagui.cpp:158
#: res/zrcolagui.cpp:153 zrcolagui.cpp:153
msgid "Toggle edit toolbar"
msgstr "Prikaži/skrij orodno vrstico za urejanje"
#: res/zrcolagui.cpp:162 zrcolagui.cpp:162
#: res/zrcolagui.cpp:157 zrcolagui.cpp:157
msgid "&Compose Toolbar"
msgstr "Orodna vrsti&ca za sestavljanje"
#: res/zrcolagui.cpp:162 zrcolagui.cpp:162
#: res/zrcolagui.cpp:157 zrcolagui.cpp:157
msgid "Toggle compose toolbar"
msgstr "Prikaži/skrij orodno vrstico za sestavljanje"
#: res/zrcolagui.cpp:168 zrcolagui.cpp:168
#: res/zrcolagui.cpp:163 zrcolagui.cpp:163
msgid "Character Catalo&g"
msgstr "Katalo&g znakov"
#: res/zrcolagui.cpp:168 zrcolagui.cpp:168
#: res/zrcolagui.cpp:163 zrcolagui.cpp:163
msgid "Toggle character catalog panel"
msgstr "Prikaži/skrij katalog znakov"
#: res/zrcolagui.cpp:171 zrcolagui.cpp:171
#: res/zrcolagui.cpp:166 zrcolagui.cpp:166
msgid "&View"
msgstr "Po&gled"
#: res/zrcolagui.cpp:175 zrcolagui.cpp:175
#: res/zrcolagui.cpp:170 zrcolagui.cpp:170
msgid "&Instructions..."
msgstr "Navod&ila ..."
#: res/zrcolagui.cpp:175 zrcolagui.cpp:175
#: res/zrcolagui.cpp:170 zrcolagui.cpp:170
msgid "Open a web site with product instructions"
msgstr "Odpri spletno stran z navodili izdelka"
#: res/zrcolagui.cpp:179 zrcolagui.cpp:179
#: res/zrcolagui.cpp:174 zrcolagui.cpp:174
msgid "Keyboard &Shortcuts..."
msgstr "&Bližnjice na tipkovnici ..."
#: res/zrcolagui.cpp:179 zrcolagui.cpp:179
#: res/zrcolagui.cpp:174 zrcolagui.cpp:174
msgid "Open a list of keyboard shortcuts"
msgstr "Odpri seznam bližnjic na tipkovnici"
#: res/zrcolagui.cpp:185 zrcolagui.cpp:185
#: res/zrcolagui.cpp:180 zrcolagui.cpp:180
msgid "&Request a new character..."
msgstr "&Zahtevaj nov znak ..."
#: res/zrcolagui.cpp:185 zrcolagui.cpp:185
#: res/zrcolagui.cpp:180 zrcolagui.cpp:180
msgid "Submit a request to ZRC to add a new character"
msgstr "Oddaj prošnjo za dodajanje novega znaka"
#: res/zrcolagui.cpp:189 zrcolagui.cpp:189
#: res/zrcolagui.cpp:184 zrcolagui.cpp:184
msgid "Check for &Updates..."
msgstr "Preveri &posodobitve ..."
#: res/zrcolagui.cpp:189 zrcolagui.cpp:189
#: res/zrcolagui.cpp:184 zrcolagui.cpp:184
msgid "Check online for product update"
msgstr "Preveri na spletu za posodobitev izdelka"
#: res/zrcolagui.cpp:195 zrcolagui.cpp:195
#: res/zrcolagui.cpp:190 zrcolagui.cpp:190
msgid "&About..."
msgstr "O progr&amu ..."
#: res/zrcolagui.cpp:198 zrcolagui.cpp:198
#: res/zrcolagui.cpp:193 zrcolagui.cpp:193
msgid "&Help"
msgstr "Po&moč"
#: res/zrcolagui.cpp:203 zrcolagui.cpp:203
#: res/zrcolagui.cpp:198 zrcolagui.cpp:198
msgid "Cut"
msgstr "Izreži"
#: res/zrcolagui.cpp:203 zrcolagui.cpp:203
#: res/zrcolagui.cpp:198 zrcolagui.cpp:198
msgid "Cut selection"
msgstr "Izreži izbor"
#: res/zrcolagui.cpp:205 zrcolagui.cpp:205
#: res/zrcolagui.cpp:200 zrcolagui.cpp:200
msgid "Copy"
msgstr "Kopiraj"
#: res/zrcolagui.cpp:205 zrcolagui.cpp:205
#: res/zrcolagui.cpp:200 zrcolagui.cpp:200
msgid "Copy selection"
msgstr "Kopiraj izbor"
#: res/zrcolagui.cpp:207 zrcolagui.cpp:207
#: res/zrcolagui.cpp:202 zrcolagui.cpp:202
msgid "Paste"
msgstr "Prilepi"
#: res/zrcolagui.cpp:207 zrcolagui.cpp:207
#: res/zrcolagui.cpp:202 zrcolagui.cpp:202
msgid "Paste selection"
msgstr "Prilepi izbor"
#: res/zrcolagui.cpp:210 zrcolagui.cpp:210
#: res/zrcolagui.cpp:205 zrcolagui.cpp:205
msgid "Edit"
msgstr "Urejanje"
#: res/zrcolagui.cpp:213 zrcolagui.cpp:213
#: res/zrcolagui.cpp:208 zrcolagui.cpp:208
msgid "Find Character"
msgstr "Poišči znak"
#: res/zrcolagui.cpp:215 zrcolagui.cpp:215
#: res/zrcolagui.cpp:210 zrcolagui.cpp:210
msgid "Send Composed"
msgstr "Pošlji sestavljeno"
#: res/zrcolagui.cpp:217 zrcolagui.cpp:217
#: res/zrcolagui.cpp:212 zrcolagui.cpp:212
msgid "Send Decomposed"
msgstr "Pošlji razstavljeno"
#: res/zrcolagui.cpp:219 zrcolagui.cpp:221
#: res/zrcolagui.cpp:214 zrcolagui.cpp:216
msgid "ZRCola (De)composition"
msgstr "(Raz-)Sestavljanje ZRCola"
#: res/zrcolagui.cpp:226 zrcolagui.cpp:228
#: res/zrcolagui.cpp:221 zrcolagui.cpp:223
msgid "Compose"
msgstr "Sestavljanje"
#: res/zrcolagui.cpp:230 zrcolagui.cpp:232
#: res/zrcolagui.cpp:225 zrcolagui.cpp:227
msgid "Character Catalog"
msgstr "Katalog znakov"
#: res/zrcolagui.cpp:234 zrcolagui.cpp:236
#: res/zrcolagui.cpp:229 zrcolagui.cpp:231
msgid "(De)Composer"
msgstr "Razstavljalnik/Sestavljalnik"
#: res/zrcolagui.cpp:275 zrcolagui.cpp:277
#: res/zrcolagui.cpp:270 zrcolagui.cpp:272
msgid "Decomposed Text"
msgstr "Razstavljeno besedilo"
#: res/zrcolagui.cpp:295 zrcolagui.cpp:297
#: res/zrcolagui.cpp:290 zrcolagui.cpp:292
msgid "Decomposed Unicode Dump"
msgstr "Unicode razstavljenega"
#: res/zrcolagui.cpp:322 zrcolagui.cpp:324
#: res/zrcolagui.cpp:317 zrcolagui.cpp:319
msgid "Composed Text"
msgstr "Sestavljeno besedilo"
#: res/zrcolagui.cpp:342 zrcolagui.cpp:344
#: res/zrcolagui.cpp:337 zrcolagui.cpp:339
msgid "Composed Unicode Dump"
msgstr "Unicode sestavljenega"
#: res/zrcolagui.cpp:396 zrcolagui.cpp:398
#: res/zrcolagui.cpp:391 zrcolagui.cpp:393
msgid "Select category to display"
msgstr "Izberi kategorijo za prikaz"
#: res/zrcolagui.cpp:430 zrcolagui.cpp:432
#: res/zrcolagui.cpp:425 zrcolagui.cpp:427
msgid "Show &All"
msgstr "Prik&aži vse"
#: res/zrcolagui.cpp:431 zrcolagui.cpp:433
#: res/zrcolagui.cpp:426 zrcolagui.cpp:428
msgid "Toggle display of less frequent characters"
msgstr "Prikaži/skrij manj pogoste znake"
#: res/zrcolagui.cpp:471 zrcolagui.cpp:473
#: res/zrcolagui.cpp:466 zrcolagui.cpp:468
msgid "&Browse"
msgstr "Pre&brskaj"
#: res/zrcolagui.cpp:478 zrcolagui.cpp:480
#: res/zrcolagui.cpp:473 zrcolagui.cpp:475
msgid ""
"Full or partial terms from Unicode character description (in English) to "
"search for"
msgstr ""
"Polne ali delne besede iz opisa znaka Unicode (v angleščini) za iskanje"
#: res/zrcolagui.cpp:482 zrcolagui.cpp:484
#: res/zrcolagui.cpp:477 zrcolagui.cpp:479
msgid "Search Options"
msgstr "Možnosti iskanja"
#: res/zrcolagui.cpp:483 zrcolagui.cpp:485
#: res/zrcolagui.cpp:478 zrcolagui.cpp:480
msgid "Shows/hides additional search options"
msgstr "Prikaže/skrije dodatne možnosti iskanja"
#: res/zrcolagui.cpp:495 zrcolagui.cpp:497
#: res/zrcolagui.cpp:490 zrcolagui.cpp:492
msgid "List of Unicode character categories to search in"
msgstr "Seznam kategorij znaka Unicode za iskanje"
#: res/zrcolagui.cpp:502 zrcolagui.cpp:504
#: res/zrcolagui.cpp:497 zrcolagui.cpp:499
msgid "All"
msgstr "Vse"
#: res/zrcolagui.cpp:503 zrcolagui.cpp:505
#: res/zrcolagui.cpp:498 zrcolagui.cpp:500
msgid "Select all categories"
msgstr "Izberi vse kategorije"
#: res/zrcolagui.cpp:507 zrcolagui.cpp:509
#: res/zrcolagui.cpp:502 zrcolagui.cpp:504
msgid "None"
msgstr "Nič"
#: res/zrcolagui.cpp:508 zrcolagui.cpp:510
#: res/zrcolagui.cpp:503 zrcolagui.cpp:505
msgid "Clear category selection"
msgstr "Počisti izbor kategorij"
#: res/zrcolagui.cpp:512 zrcolagui.cpp:514
#: res/zrcolagui.cpp:507 zrcolagui.cpp:509
msgid "Invert"
msgstr "Obrni"
#: res/zrcolagui.cpp:513 zrcolagui.cpp:515
#: res/zrcolagui.cpp:508 zrcolagui.cpp:510
msgid "Invert category selection"
msgstr "Obrni izbor kategorij"
#: res/zrcolagui.cpp:552 zrcolagui.cpp:554
#: res/zrcolagui.cpp:547 zrcolagui.cpp:549
msgid "Character search results"
msgstr "Rezultati iskanja znakov"
#: res/zrcolagui.cpp:562 zrcolagui.cpp:564
#: res/zrcolagui.cpp:557 zrcolagui.cpp:559
msgid "Re&cently Used"
msgstr "Nedavno &uporabljeni"
#: res/zrcolagui.cpp:590 zrcolagui.cpp:592
#: res/zrcolagui.cpp:585 zrcolagui.cpp:587
msgid "List of recently inserted characters"
msgstr "Seznam nedavno vstavljenih znakov"
#: res/zrcolagui.cpp:604 zrcolagui.cpp:606
#: res/zrcolagui.cpp:599 zrcolagui.cpp:601
msgid "Preview"
msgstr "Predogled"
#: res/zrcolagui.cpp:609 zrcolagui.cpp:611
#: res/zrcolagui.cpp:604 zrcolagui.cpp:606
msgid "U+"
msgstr "U+"
#: res/zrcolagui.cpp:614 zrcolagui.cpp:616
#: res/zrcolagui.cpp:609 zrcolagui.cpp:611
msgid "Unicode hexadecimal code"
msgstr "Šestnajstiška koda Unicode"
#: res/zrcolagui.cpp:619 zrcolagui.cpp:621
#: res/zrcolagui.cpp:614 zrcolagui.cpp:616
msgid "Keyboard shortcut in Composer window"
msgstr "Bližnjica na tipkovnici v oknu sestavljalnika"
#: res/zrcolagui.cpp:654 zrcolagui.cpp:656
#: res/zrcolagui.cpp:649 zrcolagui.cpp:651
msgid "Character preview"
msgstr "Predogled znaka"
#: res/zrcolagui.cpp:659 zrcolagui.cpp:661
#: res/zrcolagui.cpp:654 zrcolagui.cpp:656
msgid "Unicode character description"
msgstr "Opis znaka Unicode"
#: res/zrcolagui.cpp:664 zrcolagui.cpp:666
#: res/zrcolagui.cpp:659 zrcolagui.cpp:661
msgid "Character tags"
msgstr "Oznake znaka"
#: res/zrcolagui.cpp:669 zrcolagui.cpp:671
#: res/zrcolagui.cpp:664 zrcolagui.cpp:666
msgid "Unicode character category"
msgstr "Kategorija znaka Unicode"
#: res/zrcolagui.cpp:676 zrcolagui.cpp:678
#: res/zrcolagui.cpp:671 zrcolagui.cpp:673
msgid "« Back"
msgstr "« Nazaj"
#: res/zrcolagui.cpp:678 zrcolagui.cpp:680
#: res/zrcolagui.cpp:673 zrcolagui.cpp:675
msgid "To previously viewed character"
msgstr "Na prejšnji prikazan znak"
#: res/zrcolagui.cpp:682 zrcolagui.cpp:684
#: res/zrcolagui.cpp:677 zrcolagui.cpp:679
msgid "Forward »"
msgstr "Naprej »"
#: res/zrcolagui.cpp:684 zrcolagui.cpp:686
#: res/zrcolagui.cpp:679 zrcolagui.cpp:681
msgid "To following viewed character"
msgstr "Na naslednji prikazan znak"
#: res/zrcolagui.cpp:695 zrcolagui.cpp:697
#: res/zrcolagui.cpp:690 zrcolagui.cpp:692
msgid "Re&lated"
msgstr "&Sorodni"
#: res/zrcolagui.cpp:722 zrcolagui.cpp:724
#: res/zrcolagui.cpp:717 zrcolagui.cpp:719
msgid "List of related characters"
msgstr "Seznam sorodnih znakov"
#: res/zrcolagui.cpp:811 zrcolagui.cpp:816
#: res/zrcolagui.cpp:736 zrcolagui.cpp:738
msgid "&Insert"
msgstr "Vstav&i"
#: res/zrcolagui.cpp:740 zrcolagui.cpp:742
msgid "Insert character into decomposed text"
msgstr "Vstavi znak v razstavljeno besedilo"
#: res/zrcolagui.cpp:813 zrcolagui.cpp:818
msgid ""
"Some character native to specific language you are working with should not decompose to primitives.\n"
"For optimal decomposition you should set the language correctly."
@@ -392,19 +402,19 @@ msgstr ""
"Nekateri znaki iz posameznih jezikov, s katerimi delate, se ne smejo razstavljati.\n"
"Za optimalno razstavljanje izberite pravilni jezik."
#: res/zrcolagui.cpp:815 zrcolagui.cpp:820
#: res/zrcolagui.cpp:817 zrcolagui.cpp:822
msgid "Select language &automatically according to selected keyboard"
msgstr "S&amodejno izberi jezik glede na izbrano tipkovnico"
#: res/zrcolagui.cpp:818 zrcolagui.cpp:823
#: res/zrcolagui.cpp:820 zrcolagui.cpp:825
msgid "&Manually select the language from the list below:"
msgstr "&Ročno izberi jezik s seznama spodaj:"
#: res/zrcolagui.cpp:829 zrcolagui.cpp:834
#: res/zrcolagui.cpp:831 zrcolagui.cpp:836
msgid "Text Language"
msgstr "Jezik besedila"
#: res/zrcolagui.cpp:834 zrcolagui.cpp:839
#: res/zrcolagui.cpp:836 zrcolagui.cpp:841
msgid ""
"ZRCola can be launched every time you log in to your computer.\n"
"It will be available on the system tray and via registered shortcuts Win+F5 and Win+F6."
@@ -412,16 +422,16 @@ msgstr ""
"ZRCola se lahko zažene ob vsaki prijavi v vaš računalnik.\n"
"Na voljo bo v vrstici za sistemska obvestila ter preko registriranih bližnjic Win+F5 in Win+F6."
#: res/zrcolagui.cpp:838 zrcolagui.cpp:843
#: res/zrcolagui.cpp:840 zrcolagui.cpp:845
msgid "Start ZRCola &automatically on logon"
msgstr "S&amodejno zaženi ZRColo ob prijavi"
#: res/zrcolagui.cpp:844 zrcolagui.cpp:849
#: res/zrcolagui.cpp:846 zrcolagui.cpp:851
msgid "Startup"
msgstr "Zagon"
#: res/zrcolagui.cpp:911 res/zrcolagui.h:113 zrcolaapp.cpp:72
#: zrcolafrm.cpp:123 zrcolagui.cpp:916 zrcolagui.h:113
#: res/zrcolagui.cpp:913 res/zrcolagui.h:113 zrcolaapp.cpp:72
#: zrcolafrm.cpp:128 zrcolagui.cpp:918 zrcolagui.h:113
#: MSIBuild/en_US.Win32.Debug.Feature-2.idtx:4
#: MSIBuild/en_US.Win32.Debug.Shortcut-2.idtx:4
#: MSIBuild/en_US.Win32.Release.Feature-2.idtx:4
@@ -433,7 +443,7 @@ msgstr "Zagon"
msgid "ZRCola"
msgstr "ZRCola"
#: res/zrcolagui.cpp:922 zrcolagui.cpp:927
#: res/zrcolagui.cpp:924 zrcolagui.cpp:929
msgid ""
"Program and Website Editor: Janoš Ježovnik\n"
"Development: Amebis, d. o. o., Kamnik\n"
@@ -447,11 +457,11 @@ msgstr ""
"Prevod v ruski jezik: Domen Krvina, Silvo Torkar, Anastasija Plotnikova\n"
"Razvoj in vzdrževanje prvotnega programa (20042015): Peter Weiss"
#: res/zrcolagui.cpp:930 zrcolagui.cpp:935
#: res/zrcolagui.cpp:932 zrcolagui.cpp:937
msgid "zrcola.zrc-sazu.si"
msgstr "zrcola.zrc-sazu.si"
#: res/zrcolagui.cpp:936 zrcolagui.cpp:941
#: res/zrcolagui.cpp:938 zrcolagui.cpp:943
msgid ""
"Texts made using ZRCola have to include in a footnote or some other "
"appropriate part of the publication the note below:"
@@ -459,7 +469,7 @@ msgstr ""
"Besedilo, nastalo z uporabo ZRCole, mora biti v opombi ali na drugem "
"ustreznem mestu v publikaciji opremljeno z naslednjim zapisom:"
#: res/zrcolagui.cpp:940 zrcolagui.cpp:945
#: res/zrcolagui.cpp:942 zrcolagui.cpp:947
msgid ""
"This text was written using the ZRCola input system (http://zrcola.zrc-"
"sazu.si), developed at the Science and Research Centre of SAZU in Ljubljana "
@@ -469,39 +479,39 @@ msgstr ""
".zrc-sazu.si), ki ga je na Znanstvenoraziskovalnem centru SAZU v Ljubljani "
"(http://www.zrc-sazu.si) razvil Peter Weiss."
#: res/zrcolagui.cpp:981 zrcolagui.cpp:986
#: res/zrcolagui.cpp:983 zrcolagui.cpp:988
msgid "Log"
msgstr "Dnevnik"
#: res/zrcolagui.cpp:997 zrcolagui.cpp:1002
#: res/zrcolagui.cpp:999 zrcolagui.cpp:1004
msgid "Quit and &Update..."
msgstr "Za&ustavi in posodobi ..."
#: res/zrcolagui.cpp:999 zrcolagui.cpp:1004
#: res/zrcolagui.cpp:1001 zrcolagui.cpp:1006
msgid "Exit this program and launch product update"
msgstr "Zaustavi program in zaženi posodobitev izdelka"
#: res/zrcolagui.cpp:1003 zrcolagui.cpp:1008
#: res/zrcolagui.cpp:1005 zrcolagui.cpp:1010
msgid "&Close"
msgstr "&Zapri"
#: res/zrcolagui.cpp:1004 zrcolagui.cpp:1009
#: res/zrcolagui.cpp:1006 zrcolagui.cpp:1011
msgid "Close this window"
msgstr "Zapri to okno"
#: res/zrcolagui.cpp:1041 zrcolachrreq.cpp:49 zrcolagui.cpp:1046
#: res/zrcolagui.cpp:1043 zrcolachrreq.cpp:49 zrcolagui.cpp:1048
msgid "Character"
msgstr "Znak"
#: res/zrcolagui.cpp:1043 zrcolagui.cpp:1048
#: res/zrcolagui.cpp:1045 zrcolagui.cpp:1050
msgid "Enter the &character you would like to request:"
msgstr "Vpišite &znak, ki ga želite zahtevati:"
#: res/zrcolagui.cpp:1057 zrcolagui.cpp:1062
#: res/zrcolagui.cpp:1059 zrcolagui.cpp:1064
msgid "Decomposed character to request"
msgstr "Zahtevani znak v razstavljeni obliki"
#: res/zrcolagui.cpp:1061 zrcolagui.cpp:1066
#: res/zrcolagui.cpp:1063 zrcolagui.cpp:1068
msgid ""
"Please, use the decomposed form.\n"
"You can use ZRCola keyboard shortcuts to enter the character or Copy&&Paste it from the Decomposed window."
@@ -509,21 +519,21 @@ msgstr ""
"Uporabite razstavljeno obliko.\n"
"Za vnos znaka lahko uporabite ZRColine bližnjice na tipkovnici ali ga kopirate in prilepite iz okna z razstavljenim besedilom."
#: res/zrcolagui.cpp:1069 zrcolachrreq.cpp:58 zrcolagui.cpp:1074
#: res/zrcolagui.cpp:1071 zrcolachrreq.cpp:58 zrcolagui.cpp:1076
msgid "Context"
msgstr "Kontekst"
#: res/zrcolagui.cpp:1071 zrcolagui.cpp:1076
#: res/zrcolagui.cpp:1073 zrcolagui.cpp:1078
msgid ""
"The &context, examples or description why and where the character is "
"required:"
msgstr "&Kontekst, primeri oziroma opis, zakaj in kje potrebujete novi znak:"
#: res/zrcolagui.cpp:1077 zrcolagui.cpp:1082
#: res/zrcolagui.cpp:1079 zrcolagui.cpp:1084
msgid "Additional notes for character request"
msgstr "Dodatne opombe za zahtevo znaka"
#: res/zrcolagui.cpp:1084 zrcolagui.cpp:1089
#: res/zrcolagui.cpp:1086 zrcolagui.cpp:1091
msgid ""
"After clicking OK button, your e-mail application should open allowing you to submit the new character request to ZRCola Editor.\n"
"Your e-mail application might not display all the characters correctly, but the Editor will be able to read them correctly anyway."
@@ -531,11 +541,11 @@ msgstr ""
"Ko boste kliknili gumb V redu, se bo odprl vaš program za e-pošto, s katerim boste lahko oddali zahtevo za nov znak uredniku programa.\n"
"Vsi znaki v sporočilu morda ne bodo prikazani pravilno, vendar jih bo urednik lahko kljub temu razbral."
#: res/zrcolagui.cpp:1126 zrcolagui.cpp:1131
#: res/zrcolagui.cpp:1128 zrcolagui.cpp:1133
msgid "Translation"
msgstr "Pretvorba"
#: res/zrcolagui.cpp:1128 zrcolagui.cpp:1133
#: res/zrcolagui.cpp:1130 zrcolagui.cpp:1135
msgid ""
"ZRCola offers multiple text translations that can be arranged in a sequence.\n"
"Please select desired translations and the order they are applied."
@@ -543,51 +553,51 @@ msgstr ""
"ZRCola ponuja različne pretvorbe besedila, ki jih lahko uredimo v zaporedje.\n"
"Prosimo, izberite želene pretvorbe in vrstni red, v katerem naj potečejo."
#: res/zrcolagui.cpp:1138 zrcolagui.cpp:1143
#: res/zrcolagui.cpp:1140 zrcolagui.cpp:1145
msgid "A&vailable:"
msgstr "Na &voljo:"
#: res/zrcolagui.cpp:1153 zrcolagui.cpp:1158
#: res/zrcolagui.cpp:1155 zrcolagui.cpp:1160
msgid ">"
msgstr ">"
#: res/zrcolagui.cpp:1156 zrcolagui.cpp:1161
#: res/zrcolagui.cpp:1158 zrcolagui.cpp:1163
msgid "<"
msgstr "<"
#: res/zrcolagui.cpp:1165 zrcolagui.cpp:1170
#: res/zrcolagui.cpp:1167 zrcolagui.cpp:1172
msgid "&Selected:"
msgstr "I&zbrano:"
#: res/zrcolagui.cpp:1183 zrcolagui.cpp:1188
#: res/zrcolagui.cpp:1185 zrcolagui.cpp:1190
msgid "Up"
msgstr "Gor"
#: res/zrcolagui.cpp:1186 zrcolagui.cpp:1191
#: res/zrcolagui.cpp:1188 zrcolagui.cpp:1193
msgid "Down"
msgstr "Dol"
#: res/zrcolagui.h:255 zrcolagui.h:255
#: res/zrcolagui.h:254 zrcolagui.h:254
msgid "Character Search"
msgstr "Poišči znak"
#: res/zrcolagui.h:291 zrcolagui.h:291
#: res/zrcolagui.h:290 zrcolagui.h:290
msgid "Settings"
msgstr "Nastavitve"
#: res/zrcolagui.h:317 zrcolagui.h:317
#: res/zrcolagui.h:316 zrcolagui.h:316
msgid "About ZRCola"
msgstr "O ZRColi"
#: res/zrcolagui.h:342 zrcolagui.h:342 zrcolaupdater.cpp:94
#: res/zrcolagui.h:341 zrcolagui.h:341 zrcolaupdater.cpp:94
msgid "Product Update"
msgstr "Posodabljanje izdelka"
#: res/zrcolagui.h:371 zrcolachrreq.cpp:64 zrcolagui.h:371
#: res/zrcolagui.h:370 zrcolachrreq.cpp:64 zrcolagui.h:370
msgid "Request a New Character"
msgstr "Zahtevaj nov znak"
#: res/zrcolagui.h:413 zrcolagui.h:413
#: res/zrcolagui.h:412 zrcolagui.h:412
msgid "Custom Translation Sequence"
msgstr "Zaporedje pretvorb po meri"
@@ -609,7 +619,7 @@ msgstr "Nesoglasje pri preverjanju"
msgid "Invalid character in Unicode found: %c"
msgstr "Napačen znak v zapisu Unicode: %c"
#: zrcolachrslct.cpp:214 zrcolachrslct.cpp:388 zrcolachrslct.cpp:867
#: zrcolachrslct.cpp:214 zrcolachrslct.cpp:388 zrcolachrslct.cpp:885
msgid "▸ Search Options"
msgstr "▸ Možnosti iskanja"
@@ -617,19 +627,19 @@ msgstr "▸ Možnosti iskanja"
msgid ", "
msgstr ", "
#: zrcolachrslct.cpp:391 zrcolachrslct.cpp:864
#: zrcolachrslct.cpp:391 zrcolachrslct.cpp:882
msgid "▾ Search Options"
msgstr "▾ Možnosti iskanja"
#: zrcolafrm.cpp:89
#: zrcolafrm.cpp:94
msgid "No Translation"
msgstr "Brez transliteracije"
#: zrcolafrm.cpp:102
#: zrcolafrm.cpp:107
msgid "Custom Translation..."
msgstr "Pretvorba po meri ..."
#: zrcolafrm.cpp:206
#: zrcolafrm.cpp:215
msgid ""
"ZRCola keyboard shortcut Win+F5 could not be registered. Some functionality "
"will not be available."
@@ -637,11 +647,11 @@ msgstr ""
"ZRColine bližnjice na tipkovnici Win+F5 ni mogoče registrirati. Nekaj "
"funkcionalnosti ne bo na voljo."
#: zrcolafrm.cpp:206 zrcolafrm.cpp:208
#: zrcolafrm.cpp:215 zrcolafrm.cpp:217
msgid "Warning"
msgstr "Opozorilo"
#: zrcolafrm.cpp:208
#: zrcolafrm.cpp:217
msgid ""
"ZRCola keyboard shortcut Win+F6 could not be registered. Some functionality "
"will not be available."
@@ -649,11 +659,11 @@ msgstr ""
"ZRColine bližnjice na tipkovnici Win+F6 ni mogoče registrirati. Nekaj "
"funkcionalnosti ne bo na voljo."
#: zrcolafrm.cpp:472
#: zrcolafrm.cpp:486
msgid "http://zrcola.zrc-sazu.si/en/info/instructions/"
msgstr "http://zrcola.zrc-sazu.si/info/instructions/"
#: zrcolafrm.cpp:496
#: zrcolafrm.cpp:510
msgid ""
"http://zrcola.zrc-sazu.si/wp-"
"content/uploads/2016/06/ZRCola_tipkovnica_Jun2016.pdf"

View File

@@ -1,20 +1,20 @@
/*
Copyright 2015-2018 Amebis
This file is part of ZRCola.
ZRCola is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ZRCola is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
ZRCola is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ZRCola is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "pch.h"

View File

@@ -1,66 +1,69 @@
/*
Copyright 2015-2018 Amebis
This file is part of ZRCola.
ZRCola is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ZRCola is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "../include/version.h"
#include "zrcolaabout.h"
#include "zrcolaapp.h"
#include "zrcolachrcatpnl.h"
#include "zrcolachrgrid.h"
#include "zrcolachrreq.h"
#include "zrcolacomppnl.h"
#include "zrcolafrm.h"
#include "zrcolakeyhndlr.h"
#include "zrcolasettings.h"
#include "zrcolatranseq.h"
#include "zrcolaupdater.h"
#include <Updater/chkthread.h>
#include <wxex/common.h>
#include <wxex/url.h>
#include <wxex/persist/auimanager.h>
#include <wxex/persist/toplevel.h>
#include <wx/clipbrd.h>
#include <wx/dcclient.h>
#include <wx/ffile.h>
#include <wx/msgdlg.h>
#include <wx/persist.h>
#include <wx/persist/toplevel.h>
#include <wx/socket.h>
#include <wx/tokenzr.h>
#include <wx/utils.h>
#include <wx/valtext.h>
#include <WinStd/MSI.h>
#include <fstream>
#include <string>
#include <utility>
#include <vector>
#include <stdex/idrec.h>
#if defined(__WXMSW__)
#include <Msi.h>
#include <ShObjIdl.h>
#include <ShlGuid.h>
#endif
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
ZRCola is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ZRCola is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "../include/version.h"
#include "zrcolaabout.h"
#include "zrcolaapp.h"
#include "zrcolachrcatpnl.h"
#include "zrcolachrgrid.h"
#include "zrcolachrreq.h"
#include "zrcolacomppnl.h"
#include "zrcolafrm.h"
#include "zrcolakeyhndlr.h"
#include "zrcolasettings.h"
#include "zrcolatranseq.h"
#include "zrcolaupdater.h"
#include <Updater/chkthread.h>
#include <wxex/common.h>
#include <wxex/url.h>
#include <wxex/persist/auimanager.h>
#include <wxex/persist/toplevel.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include <wx/clipbrd.h>
#include <wx/dcclient.h>
#include <wx/ffile.h>
#include <wx/msgdlg.h>
#include <wx/persist.h>
#include <wx/persist/toplevel.h>
#include <wx/socket.h>
#include <wx/tokenzr.h>
#include <wx/utils.h>
#include <wx/valtext.h>
#pragma warning(pop)
#include <WinStd/MSI.h>
#include <fstream>
#include <string>
#include <utility>
#include <vector>
#include <stdex/idrec.h>
#if defined(__WXMSW__)
#include <Msi.h>
#include <ShObjIdl.h>
#include <ShlGuid.h>
#endif

File diff suppressed because it is too large Load Diff

BIN
ZRCola/res/warn_pua.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

1690
ZRCola/res/warn_pua.pdf Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,11 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Aug 8 2018)
// C++ code generated with wxFormBuilder (version Oct 26 2018)
// http://www.wxformbuilder.org/
//
// PLEASE DO *NOT* EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#ifndef __ZRCOLAGUI_H__
#define __ZRCOLAGUI_H__
#pragma once
#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
@@ -55,10 +54,10 @@ class wxZRColaComposerPanel;
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaFrameBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaFrameBase : public wxFrame
class wxZRColaFrameBase : public wxFrame
{
private:
protected:
enum
{
@@ -68,7 +67,8 @@ class wxZRColaFrameBase : public wxFrame
wxID_SEND_SOURCE,
wxID_COPY_SOURCE_AND_RETURN,
wxID_SEND_ABORT,
wxID_COMPOSITION_MENU,
wxID_COMPOSITION,
wxID_WARN_PUA,
wxID_SETTINGS,
wxID_TOOLBAR_EDIT,
wxID_TOOLBAR_TRANSLATE,
@@ -76,60 +76,61 @@ class wxZRColaFrameBase : public wxFrame
wxID_HELP_INSTRUCTIONS,
wxID_HELP_SHORTCUTS,
wxID_HELP_REQCHAR,
wxID_HELP_UPDATE,
wxID_COMPOSITION_TOOLBAR
wxID_HELP_UPDATE
};
wxMenuBar* m_menubar;
wxMenu* m_menuProgram;
wxMenu* m_menuEdit;
wxMenuItem* m_menuItemComposition;
wxMenu* m_menuTranslationSeq;
wxMenuItem* m_menuItemComposition;
wxMenuItem* m_menuItemWarnPUA;
wxMenu* m_menuView;
wxMenu* m_menuHelp;
wxAuiToolBar* m_toolbarEdit;
wxAuiToolBarItem* m_toolEditCut;
wxAuiToolBarItem* m_toolEditCopy;
wxAuiToolBarItem* m_toolEditPaste;
wxAuiToolBarItem* m_toolEditCut;
wxAuiToolBarItem* m_toolEditCopy;
wxAuiToolBarItem* m_toolEditPaste;
wxAuiToolBar* m_toolbarTranslate;
wxAuiToolBarItem* m_toolCharSelect;
wxAuiToolBarItem* m_toolSendDestination;
wxAuiToolBarItem* m_toolSendSource;
wxAuiToolBarItem* m_toolComposition;
wxAuiToolBarItem* m_toolCharSelect;
wxAuiToolBarItem* m_toolSendDestination;
wxAuiToolBarItem* m_toolSendSource;
wxChoice* m_toolTranslationSeq;
wxAuiToolBarItem* m_toolComposition;
wxAuiToolBarItem* m_toolWarnPUA;
wxZRColaCharacterCatalogPanel* m_panelChrCat;
wxStatusBar* m_statusBar;
// Virtual event handlers, overide them in your derived class
virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
virtual void OnIconize( wxIconizeEvent& event ) { event.Skip(); }
virtual void OnIdle( wxIdleEvent& event ) { event.Skip(); }
virtual void OnTranslationSeqChoice( wxCommandEvent& event ) { event.Skip(); }
public:
wxZRColaComposerPanel* m_panel;
wxZRColaFrameBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("ZRCola"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 600,400 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL, const wxString& name = wxT("ZRCola") );
wxAuiManager m_mgr;
~wxZRColaFrameBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaComposerPanelBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaComposerPanelBase : public wxPanel
class wxZRColaComposerPanelBase : public wxPanel
{
private:
protected:
enum
{
wxID_TIMER_SAVE = 1000
};
wxSplitterWindow* m_splitterSource;
wxPanel* m_panelSourceEdit;
wxPanel* m_panelSourceHex;
@@ -139,7 +140,7 @@ class wxZRColaComposerPanelBase : public wxPanel
wxPanel* m_panelDestinationHex;
wxTextCtrl* m_destinationHex;
wxTimer m_timerSave;
// Virtual event handlers, overide them in your derived class
virtual void OnSourcePaint( wxPaintEvent& event ) { event.Skip(); }
virtual void OnSourceText( wxCommandEvent& event ) { event.Skip(); }
@@ -148,62 +149,62 @@ class wxZRColaComposerPanelBase : public wxPanel
virtual void OnDestinationText( wxCommandEvent& event ) { event.Skip(); }
virtual void OnDestinationHexPaint( wxPaintEvent& event ) { event.Skip(); }
virtual void OnSaveTimer( wxTimerEvent& event ) { event.Skip(); }
public:
wxTextCtrl* m_source;
wxTextCtrl* m_destination;
wxZRColaComposerPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxT("ZRColaComposerPanel") );
wxZRColaComposerPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxT("ZRColaComposerPanel") );
~wxZRColaComposerPanelBase();
void m_splitterSourceOnIdle( wxIdleEvent& )
{
m_splitterSource->SetSashPosition( -5 );
m_splitterSource->Disconnect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaComposerPanelBase::m_splitterSourceOnIdle ), NULL, this );
}
void m_splitterDestinationOnIdle( wxIdleEvent& )
{
m_splitterDestination->SetSashPosition( -5 );
m_splitterDestination->Disconnect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaComposerPanelBase::m_splitterDestinationOnIdle ), NULL, this );
}
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaCharacterCatalogPanelBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaCharacterCatalogPanelBase : public wxPanel
class wxZRColaCharacterCatalogPanelBase : public wxPanel
{
private:
protected:
wxChoice* m_choice;
wxZRColaCharGrid* m_grid;
wxCheckBox* m_show_all;
// Virtual event handlers, overide them in your derived class
virtual void OnChoice( wxCommandEvent& event ) { event.Skip(); }
virtual void OnGridClick( wxGridEvent& event ) { event.Skip(); }
virtual void OnGridKeyDown( wxKeyEvent& event ) { event.Skip(); }
virtual void OnShowAll( wxCommandEvent& event ) { event.Skip(); }
public:
wxZRColaCharacterCatalogPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxT("ZRColaCharacterCatalog") );
wxZRColaCharacterCatalogPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxT("ZRColaCharacterCatalog") );
~wxZRColaCharacterCatalogPanelBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaCharSelectBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaCharSelectBase : public wxDialog
class wxZRColaCharSelectBase : public wxDialog
{
private:
protected:
wxSearchCtrl* m_search;
wxHyperlinkCtrl* m_search_more;
@@ -224,10 +225,8 @@ class wxZRColaCharSelectBase : public wxDialog
wxHyperlinkCtrl* m_navigateBack;
wxHyperlinkCtrl* m_navigateForward;
wxZRColaCharGrid* m_gridRelated;
wxStdDialogButtonSizer* m_sdbSizerButtons;
wxButton* m_sdbSizerButtonsOK;
wxButton* m_sdbSizerButtonsCancel;
wxButton* m_buttonInsert;
// Virtual event handlers, overide them in your derived class
virtual void OnIdle( wxIdleEvent& event ) { event.Skip(); }
virtual void OnSearchText( wxCommandEvent& event ) { event.Skip(); }
@@ -247,23 +246,24 @@ class wxZRColaCharSelectBase : public wxDialog
virtual void OnNavigateBack( wxHyperlinkEvent& event ) { event.Skip(); }
virtual void OnNavigateForward( wxHyperlinkEvent& event ) { event.Skip(); }
virtual void OnRelatedSelectCell( wxGridEvent& event ) { event.Skip(); }
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
virtual void OnInsert( wxCommandEvent& event ) { event.Skip(); }
virtual void OnInsertUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }
public:
wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Character Search"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaCharSelect") );
wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Character Search"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaCharSelect") );
~wxZRColaCharSelectBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaSettingsBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaSettingsBase : public wxDialog
class wxZRColaSettingsBase : public wxDialog
{
private:
protected:
wxListbook* m_listbook;
wxPanel* m_panelLanguage;
@@ -278,28 +278,28 @@ class wxZRColaSettingsBase : public wxDialog
wxButton* m_sdbSizerButtonsOK;
wxButton* m_sdbSizerButtonsApply;
wxButton* m_sdbSizerButtonsCancel;
// Virtual event handlers, overide them in your derived class
virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); }
virtual void OnLanguageUpdate( wxUpdateUIEvent& event ) { event.Skip(); }
virtual void OnApplyButtonClick( wxCommandEvent& event ) { event.Skip(); }
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
public:
wxZRColaSettingsBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Settings"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaSettings") );
wxZRColaSettingsBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Settings"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaSettings") );
~wxZRColaSettingsBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaAboutBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaAboutBase : public wxDialog
class wxZRColaAboutBase : public wxDialog
{
private:
protected:
wxStaticBitmap* m_bitmapIcon;
wxStaticText* m_staticTextZRCola;
@@ -311,46 +311,46 @@ class wxZRColaAboutBase : public wxDialog
wxTextCtrl* m_declaration;
wxStdDialogButtonSizer* m_sdbSizerButtons;
wxButton* m_sdbSizerButtonsOK;
public:
wxZRColaAboutBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("About ZRCola"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaAbout") );
wxZRColaAboutBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("About ZRCola"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaAbout") );
~wxZRColaAboutBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaUpdaterBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaUpdaterBase : public wxDialog
class wxZRColaUpdaterBase : public wxDialog
{
private:
protected:
wxTextCtrl* m_log;
wxButton* m_buttonUpdate;
wxButton* m_buttonClose;
// Virtual event handlers, overide them in your derived class
virtual void OnIdle( wxIdleEvent& event ) { event.Skip(); }
virtual void OnUpdate( wxCommandEvent& event ) { event.Skip(); }
virtual void OnClose( wxCommandEvent& event ) { event.Skip(); }
public:
wxZRColaUpdaterBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Product Update"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaUpdater") );
wxZRColaUpdaterBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Product Update"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaUpdater") );
~wxZRColaUpdaterBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaCharRequestBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaCharRequestBase : public wxDialog
class wxZRColaCharRequestBase : public wxDialog
{
private:
protected:
wxStaticText* m_characterLbl;
wxTextCtrl* m_character;
@@ -361,25 +361,25 @@ class wxZRColaCharRequestBase : public wxDialog
wxStdDialogButtonSizer* m_sdbSizerButtons;
wxButton* m_sdbSizerButtonsOK;
wxButton* m_sdbSizerButtonsCancel;
// Virtual event handlers, overide them in your derived class
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
public:
wxZRColaCharRequestBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Request a New Character"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaCharRequest") );
wxZRColaCharRequestBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Request a New Character"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaCharRequest") );
~wxZRColaCharRequestBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaTranslationSeqBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaTranslationSeqBase : public wxDialog
class wxZRColaTranslationSeqBase : public wxDialog
{
private:
protected:
wxStaticText* m_transLbl;
wxStaticText* m_availableLbl;
@@ -393,7 +393,7 @@ class wxZRColaTranslationSeqBase : public wxDialog
wxStdDialogButtonSizer* m_sdbSizerButtons;
wxButton* m_sdbSizerButtonsOK;
wxButton* m_sdbSizerButtonsCancel;
// Virtual event handlers, overide them in your derived class
virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); }
virtual void OnUpdate( wxUpdateUIEvent& event ) { event.Skip(); }
@@ -406,13 +406,12 @@ class wxZRColaTranslationSeqBase : public wxDialog
virtual void OnSelectedUp( wxCommandEvent& event ) { event.Skip(); }
virtual void OnSelectedDown( wxCommandEvent& event ) { event.Skip(); }
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
public:
wxZRColaTranslationSeqBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Custom Translation Sequence"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaTranslationSeq") );
wxZRColaTranslationSeqBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Custom Translation Sequence"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaTranslationSeq") );
~wxZRColaTranslationSeqBase();
};
#endif //__ZRCOLAGUI_H__

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -17,7 +17,7 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
//////////////////////////////////////////////////////////////////////////

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -25,7 +25,11 @@ class wxZRColaAbout;
#pragma once
#include <wxex/common.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include "zrcolagui.h"
#pragma warning(pop)
///

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -17,7 +17,7 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
#if defined(__WXMSW__)
#pragma comment(lib, "msi.lib")
#endif
@@ -27,11 +27,13 @@
// ZRColaApp
//////////////////////////////////////////////////////////////////////////
#pragma warning(suppress: 28251) // wxWidgets implement WinMain without code analysis annotations.
wxIMPLEMENT_APP(ZRColaApp);
ZRColaApp::ZRColaApp() :
m_mainWnd(NULL),
#pragma warning(suppress: 26812) // wxLanguage is unscoped
m_lang_ui(wxLANGUAGE_DEFAULT),
wxApp()
{
@@ -165,7 +167,8 @@ bool ZRColaApp::OnInit()
}
} else
wxFAIL_MSG(wxT("ZRCola.zrcdb is not a valid ZRCola database."));
}
} else
wxFAIL_MSG(wxT("ZRCola.zrcdb not found or cannot be opened."));
// Initialize sockets. Otherwise Updater thread will not work.
wxSocketBase::Initialize();

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -27,9 +27,13 @@ class ZRColaApp;
#include "zrcolafrm.h"
#include <WinStd/Win.h>
#include <wxex/common.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include <wx/app.h>
#include <wx/config.h>
#include <wx/intl.h>
#pragma warning(pop)
#include <zrcola/character.h>
#include <zrcola/language.h>
#include <zrcola/translate.h>
@@ -90,7 +94,7 @@ public:
protected:
#ifdef __WXMSW__
winstd::win_handle m_running; ///< Global Win32 event to determine if another instance of ZRCola is already running
winstd::win_handle<NULL> m_running; ///< Global Win32 event to determine if another instance of ZRCola is already running
#endif
};

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -17,7 +17,7 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
//////////////////////////////////////////////////////////////////////////
@@ -29,7 +29,9 @@ BEGIN_EVENT_TABLE(wxZRColaCharacterCatalogPanel, wxZRColaCharacterCatalogPanelBa
END_EVENT_TABLE()
wxZRColaCharacterCatalogPanel::wxZRColaCharacterCatalogPanel(wxWindow* parent) : wxZRColaCharacterCatalogPanelBase(parent)
wxZRColaCharacterCatalogPanel::wxZRColaCharacterCatalogPanel(wxWindow* parent) :
m_cg_id(0),
wxZRColaCharacterCatalogPanelBase(parent)
{
std::fstream dat((LPCTSTR)dynamic_cast<ZRColaApp*>(wxTheApp)->GetDatabaseFilePath(), std::ios_base::in | std::ios_base::binary);
if (dat.good()) {
@@ -50,7 +52,8 @@ wxZRColaCharacterCatalogPanel::wxZRColaCharacterCatalogPanel(wxWindow* parent) :
}
} else
wxFAIL_MSG(wxT("ZRCola.zrcdb is not a valid ZRCola database."));
}
} else
wxFAIL_MSG(wxT("ZRCola.zrcdb not found or cannot be opened."));
if (!m_cg_db.idxRank.empty()) {
// Populate character group list.
@@ -59,7 +62,7 @@ wxZRColaCharacterCatalogPanel::wxZRColaCharacterCatalogPanel(wxWindow* parent) :
wxString
label(cg.name(), cg.name_len()),
label_tran2(wxGetTranslation(label, wxT("ZRCola-zrcdb")));
m_choice->Insert(label_tran2, i);
m_choice->Insert(label_tran2, (unsigned int)i);
}
m_cg_id = m_cg_db.idxRank[0].grp;
m_choice->Select(0);
@@ -215,7 +218,7 @@ bool wxPersistentZRColaCharacterCatalogPanel::Restore()
if (cg.grp == cg_id) {
if (wnd->m_cg_id != cg.grp) {
wnd->m_cg_id = cg.grp;
wnd->m_choice->Select(i);
wnd->m_choice->Select((int)i);
update = true;
}

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -25,9 +25,16 @@ class wxZRColaCharacterCatalogPanel;
#pragma once
#include <wxex/common.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include "zrcolagui.h"
#pragma warning(pop)
#include <zrcolaui/chargroup.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include <wx/persist/window.h>
#pragma warning(pop)
///

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -17,7 +17,7 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
//////////////////////////////////////////////////////////////////////////
@@ -156,13 +156,13 @@ void wxZRColaCharGrid::OnSize(wxSizeEvent& event)
row_height = FromDIP(wxZRColaCharacterGridRowHeight),
width = size.GetWidth() - m_rowLabelWidth - m_extraWidth,
cols = std::max<int>(width / col_width, 1),
rows = std::max<int>((char_count + cols - 1) / cols, 1);
rows = std::max<int>((int)((char_count + cols - 1) / cols), 1);
if (m_colLabelHeight + rows*row_height + m_extraHeight > size.GetHeight()) {
// Vertical scrollbar will be shown. Adjust the width and recalculate layout to avoid horizontal scrollbar.
width = std::max<int>(width - wxSystemSettings::GetMetric(wxSYS_VSCROLL_X, this), 0);
cols = std::max<int>(width / col_width, 1);
rows = std::max<int>((char_count + cols - 1) / cols, 1);
rows = std::max<int>((int)((char_count + cols - 1) / cols), 1);
}
BeginBatch();
@@ -242,7 +242,7 @@ void wxZRColaCharGrid::OnMotion(wxMouseEvent& event)
if (col == wxNOT_FOUND || row == wxNOT_FOUND )
return;
size_t toolTipIdx = row*m_numCols + col;
size_t toolTipIdx = (size_t)row*m_numCols + col;
if (toolTipIdx >= m_chars.GetCount()) {
// Index out of range.
m_toolTipIdx = (size_t)-1;
@@ -254,7 +254,7 @@ void wxZRColaCharGrid::OnMotion(wxMouseEvent& event)
wxWindow *gridWnd = GetGridWindow();
if (gridWnd->GetToolTip()) {
// The tooltip is already shown. Update it immediately.
gridWnd->SetToolTip(GetToolTipText(m_toolTipIdx));
gridWnd->SetToolTip(GetToolTipText((int)m_toolTipIdx));
} else {
// This must be our initial entry. Schedule tooltip display after 1s.
m_timerToolTip.Start(1000, true);
@@ -270,5 +270,5 @@ void wxZRColaCharGrid::OnTooltipTimer(wxTimerEvent& event)
if (m_toolTipIdx >= m_chars.GetCount())
return;
GetGridWindow()->SetToolTip(GetToolTipText(m_toolTipIdx));
GetGridWindow()->SetToolTip(GetToolTipText((int)m_toolTipIdx));
}

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -25,7 +25,11 @@ class wxZRColaCharGrid;
#pragma once
#include <wxex/common.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include <wx/grid.h>
#pragma warning(pop)
///
@@ -96,7 +100,7 @@ public:
if (i >= n)
return wxGridCellCoords(-1, -1);
else if (m_chars[i] == c)
return wxGridCellCoords(i / m_numCols, i % m_numCols);
return wxGridCellCoords((int)(i / m_numCols), i % m_numCols);
}
}

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -17,7 +17,7 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
//////////////////////////////////////////////////////////////////////////

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -26,7 +26,11 @@ class wxPersistentZRColaCharRequest;
#pragma once
#include <wxex/common.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include "zrcolagui.h"
#pragma warning(pop)
#include "zrcolakeyhndlr.h"
#include <wxex/persist/toplevel.h>

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -17,7 +17,7 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
//////////////////////////////////////////////////////////////////////
@@ -85,7 +85,7 @@ bool wxZRColaUTF16CharValidator::Parse(const wxString &val_in, size_t i_start, s
} else if (i >= i_start + 4) {
// Maximum characters exceeded.
ctrl->SetFocus();
ctrl->SetSelection(i, i_end);
ctrl->SetSelection((int)i, (int)i_end);
wxMessageBox(_("Too many digits in Unicode."), _("Validation conflict"), wxOK | wxICON_EXCLAMATION, parent);
return false;
} else if (_T('0') <= buf[i] && buf[i] <= _T('9')) {
@@ -103,7 +103,7 @@ bool wxZRColaUTF16CharValidator::Parse(const wxString &val_in, size_t i_start, s
} else {
// Invalid character found.
ctrl->SetFocus();
ctrl->SetSelection(i, i + 1);
ctrl->SetSelection((long)i, (long)(i + 1));
wxMessageBox(wxString::Format(_("Invalid character in Unicode found: %c"), buf[i]), _("Validation conflict"), wxOK | wxICON_EXCLAMATION, parent);
return false;
}
@@ -202,6 +202,7 @@ wxZRColaCharSelect::wxZRColaCharSelect(wxWindow* parent) :
wxZRColaCharSelectBase(parent)
{
// Set tag lookup locale.
#pragma warning(suppress: 26812) // wxLanguage is unscoped
wxLanguage language = dynamic_cast<ZRColaApp*>(wxTheApp)->m_lang_ui;
if (wxLANGUAGE_DEFAULT == language ||
wxLANGUAGE_ENGLISH <= language && language <= wxLANGUAGE_ENGLISH_ZIMBABWE) m_locale = MAKELCID(MAKELANGID(LANG_ENGLISH , SUBLANG_DEFAULT), SORT_DEFAULT);
@@ -219,7 +220,7 @@ wxZRColaCharSelect::wxZRColaCharSelect(wxWindow* parent) :
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++) {
const auto &cc = app->m_cc_db.idxRank[i];
int idx = m_categories->Insert(wxGetTranslation(wxString(cc.name(), cc.name_len()), wxT("ZRCola-zrcdb")), i);
int idx = m_categories->Insert(wxGetTranslation(wxString(cc.name(), cc.name_len()), wxT("ZRCola-zrcdb")), (unsigned int)i);
m_categories->Check(idx);
m_ccOrder.insert(std::make_pair(cc.cat, idx));
}
@@ -354,7 +355,7 @@ void wxZRColaCharSelect::OnIdle(wxIdleEvent& event)
// Select categories.
for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++) {
const auto &cc = app->m_cc_db.idxRank[i];
if (m_categories->IsChecked(i))
if (m_categories->IsChecked((unsigned int)i))
m_searchThread->m_cats.insert(cc.cat);
}
@@ -401,7 +402,7 @@ void wxZRColaCharSelect::OnCategoriesAll(wxHyperlinkEvent& event)
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++)
m_categories->Check(i, true);
m_categories->Check((unsigned int)i, true);
m_searchChanged = true;
}
@@ -413,7 +414,7 @@ void wxZRColaCharSelect::OnCategoriesNone(wxHyperlinkEvent& event)
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++)
m_categories->Check(i, false);
m_categories->Check((unsigned int)i, false);
m_searchChanged = true;
}
@@ -425,7 +426,7 @@ void wxZRColaCharSelect::OnCategoriesInvert(wxHyperlinkEvent& event)
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
for (size_t i = 0, n = app->m_cc_db.idxRank.size(); i < n; i++)
m_categories->Check(i, !m_categories->IsChecked(i));
m_categories->Check((unsigned int)i, !m_categories->IsChecked((unsigned int)i));
m_searchChanged = true;
}
@@ -477,7 +478,7 @@ void wxZRColaCharSelect::OnResultCellDClick(wxGridEvent& event)
if (!val.IsEmpty()) {
NavigateTo(val);
wxCommandEvent e(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK);
m_sdbSizerButtonsOK->GetEventHandler()->ProcessEvent(e);
m_buttonInsert->GetEventHandler()->ProcessEvent(e);
}
}
@@ -491,7 +492,7 @@ void wxZRColaCharSelect::OnResultsKeyDown(wxKeyEvent& event)
if (!val.IsEmpty()) {
NavigateTo(val);
wxCommandEvent e(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK);
m_sdbSizerButtonsOK->GetEventHandler()->ProcessEvent(e);
m_buttonInsert->GetEventHandler()->ProcessEvent(e);
event.StopPropagation();
return;
@@ -520,7 +521,7 @@ void wxZRColaCharSelect::OnRecentCellDClick(wxGridEvent& event)
if (!val.IsEmpty()) {
NavigateTo(val);
wxCommandEvent e(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK);
m_sdbSizerButtonsOK->GetEventHandler()->ProcessEvent(e);
m_buttonInsert->GetEventHandler()->ProcessEvent(e);
}
}
@@ -534,7 +535,7 @@ void wxZRColaCharSelect::OnRecentKeyDown(wxKeyEvent& event)
if (!val.IsEmpty()) {
NavigateTo(val);
wxCommandEvent e(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK);
m_sdbSizerButtonsOK->GetEventHandler()->ProcessEvent(e);
m_buttonInsert->GetEventHandler()->ProcessEvent(e);
event.StopPropagation();
return;
@@ -596,7 +597,13 @@ void wxZRColaCharSelect::OnRelatedSelectCell(wxGridEvent& event)
}
void wxZRColaCharSelect::OnOKButtonClick(wxCommandEvent& event)
void wxZRColaCharSelect::OnInsertUpdateUI(wxUpdateUIEvent& event)
{
event.Enable(!m_char.empty());
}
void wxZRColaCharSelect::OnInsert(wxCommandEvent& event)
{
event.Skip();
@@ -610,6 +617,14 @@ void wxZRColaCharSelect::OnOKButtonClick(wxCommandEvent& event)
val.Add(c);
}
m_gridRecent->SetCharacters(val);
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
if (app->m_mainWnd) {
app->m_mainWnd->m_panel->m_source->WriteText(m_char);
app->m_mainWnd->m_panel->m_source->SetFocus();
}
Show(false);
}
@@ -821,7 +836,7 @@ void wxPersistentZRColaCharSelect::Save() const
const auto &cc = app->m_cc_db.idxRank[i];
wxString name(wxT("category"));
name.Append(cc.cat.data, _countof(cc.cat.data));
SaveValue(name, wnd->m_categories->IsChecked(i));
SaveValue(name, wnd->m_categories->IsChecked((unsigned int)i));
}
SaveValue(wxT("searchPanel"), wnd->m_search_panel->IsShown());
@@ -858,7 +873,7 @@ bool wxPersistentZRColaCharSelect::Restore()
name.Append(cc.cat.data, _countof(cc.cat.data));
bool val;
if (RestoreValue(name, &val))
wnd->m_categories->Check(i, val);
wnd->m_categories->Check((unsigned int)i, val);
}
bool search_panel;

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -26,12 +26,19 @@ class wxPersistentZRColaCharSelect;
#pragma once
#include <wxex/common.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include "zrcolagui.h"
#pragma warning(pop)
#include <zrcola/character.h>
#include <wxex/persist/toplevel.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include <wx/validate.h>
#include <wx/event.h>
#include <wx/thread.h>
#pragma warning(pop)
#include <list>
#include <map>
#include <string>
@@ -163,7 +170,8 @@ protected:
virtual void OnUnicodeText(wxCommandEvent& event);
virtual void OnPreviewKeyDown(wxKeyEvent& event);
virtual void OnRelatedSelectCell(wxGridEvent& event);
virtual void OnOKButtonClick(wxCommandEvent& event);
virtual void OnInsertUpdateUI(wxUpdateUIEvent& event);
virtual void OnInsert(wxCommandEvent& event);
void ResetResults();
void NavigateBy(int offset);

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -17,7 +17,12 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
static inline bool is_pua(_In_ wchar_t c)
{
return L'\ue000' <= c && c <= L'\uf8ff';
}
//////////////////////////////////////////////////////////////////////////
@@ -27,10 +32,18 @@
wxZRColaComposerPanel::wxZRColaComposerPanel(wxWindow* parent) :
m_sourceChanged(false),
m_destinationChanged(false),
m_sourceRestyled(false),
m_destinationRestyled(false),
m_styleNormal(*wxBLACK, *wxWHITE, wxFont(20, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxT("ZRCola"))),
m_stylePUA(*wxBLUE, *wxWHITE, wxFont(20, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxT("ZRCola"))),
m_selSource(0, 0),
m_selDestination(0, 0),
wxZRColaComposerPanelBase(parent)
{
// RichEdit control has no inner margins by default.
m_source->SetMargins(FromDIP(wxPoint(5, 2)));
m_destination->SetMargins(FromDIP(wxPoint(5, 2)));
m_source->PushEventHandler(&m_keyhandler);
// Restore the previously saved state (if exists).
@@ -43,13 +56,13 @@ wxZRColaComposerPanel::wxZRColaComposerPanel(wxWindow* parent) :
file.Read(&n, sizeof(n));
if (!file.Error()) {
wxString source;
file.Read(wxStringBuffer(source, n), sizeof(wchar_t)*n);
file.Read(wxStringBuffer(source, (size_t)n), sizeof(wchar_t)*(size_t)n);
if (!file.Error()) {
// Load destination text.
file.Read(&n, sizeof(n));
if (!file.Error()) {
wxString destination;
file.Read(wxStringBuffer(destination, n), sizeof(wchar_t)*n);
file.Read(wxStringBuffer(destination, (size_t)n), sizeof(wchar_t)*(size_t)n);
if (!file.Error()) {
// Restore state.
m_source->SetValue(source);
@@ -88,22 +101,13 @@ void wxZRColaComposerPanel::SynchronizePanels()
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
wxString src;
size_t len = GetValue(m_source, src);
wxString src = m_source->GetValue();
size_t len = src.Length();
std::wstring dst(src.data(), len), dst2;
ZRCola::mapping_vector map;
m_mapping.clear();
if (app->m_mainWnd->m_composition) {
// ZRCola Decomposed => ZRCola Composed should decompose first.
app->m_t_db.TranslateInv(ZRCOLA_TRANSEQID_DEFAULT, dst.data(), dst.size(), dst2, &map);
m_mapping.push_back(std::move(map));
app->m_t_db.Translate(ZRCOLA_TRANSEQID_DEFAULT, dst2.data(), dst2.size(), dst, &map);
m_mapping.push_back(std::move(map));
}
// Other translations
const ZRCola::transetid_t *sets_begin, *sets_end;
GetTranslationSeq(sets_begin, sets_end);
@@ -113,6 +117,15 @@ void wxZRColaComposerPanel::SynchronizePanels()
dst = std::move(dst2);
}
if (app->m_mainWnd->m_composition) {
// ZRCola decompose first, then re-compose.
app->m_t_db.TranslateInv(ZRCOLA_TRANSEQID_DEFAULT, dst.data(), dst.size(), dst2, &map);
m_mapping.push_back(std::move(map));
app->m_t_db.Translate(ZRCOLA_TRANSEQID_DEFAULT, dst2.data(), dst2.size(), dst, &map);
m_mapping.push_back(std::move(map));
}
m_source->GetSelection(&m_selSource.first, &m_selSource.second);
// Update source HEX dump.
@@ -121,8 +134,8 @@ void wxZRColaComposerPanel::SynchronizePanels()
// Update destination text, and its HEX dump.
m_destination->SetValue(dst);
m_destination->SetSelection(
m_selDestination.first = MapToDestination(m_selSource.first ),
m_selDestination.second = MapToDestination(m_selSource.second));
m_selDestination.first = (long)MapToDestination(m_selSource.first ),
m_selDestination.second = (long)MapToDestination(m_selSource.second));
SetHexValue(m_destinationHex, m_selDestinationHex, m_mappingDestinationHex, dst.data(), dst.length(), m_selDestination.first, m_selDestination.second);
// Schedule state save after 3s.
@@ -132,13 +145,22 @@ void wxZRColaComposerPanel::SynchronizePanels()
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
wxString src;
size_t len = GetValue(m_destination, src);
wxString src = m_destination->GetValue();
size_t len = src.Length();
std::wstring dst(src.data(), len), dst2;
ZRCola::mapping_vector map;
m_mapping.clear();
if (app->m_mainWnd->m_composition) {
// ZRCola decompose.
app->m_t_db.TranslateInv(ZRCOLA_TRANSEQID_DEFAULT, dst.data(), dst.size(), &app->m_lc_db, app->m_mainWnd->m_settings->m_lang, dst2, &map);
dst = std::move(dst2);
map.invert();
m_mapping.push_back(std::move(map));
}
// Other translations
const ZRCola::transetid_t *sets_begin, *sets_end;
GetTranslationSeq(sets_begin, sets_end);
@@ -150,11 +172,6 @@ void wxZRColaComposerPanel::SynchronizePanels()
m_mapping.push_back(std::move(map));
}
if (app->m_mainWnd->m_composition) {
// ZRCola Decomposed => ZRCola Composed
app->m_t_db.TranslateInv(ZRCOLA_TRANSEQID_DEFAULT, dst.data(), dst.size(), &app->m_lc_db, app->m_mainWnd->m_settings->m_lang, dst2, &map);
}
m_destination->GetSelection(&m_selDestination.first, &m_selDestination.second);
// Update destination HEX dump.
@@ -163,8 +180,8 @@ void wxZRColaComposerPanel::SynchronizePanels()
// Update source text, and its HEX dump.
m_source->SetValue(dst);
m_source->SetSelection(
m_selSource.first = MapToSource(m_selDestination.first ),
m_selSource.second = MapToSource(m_selDestination.second));
m_selSource.first = (long)MapToSource(m_selDestination.first ),
m_selSource.second = (long)MapToSource(m_selDestination.second));
SetHexValue(m_sourceHex, m_selSourceHex, m_mappingSourceHex, dst.data(), dst.length(), m_selSource.first, m_selSource.second);
// Schedule state save after 3s.
@@ -181,6 +198,9 @@ void wxZRColaComposerPanel::OnSourcePaint(wxPaintEvent& event)
{
event.Skip();
if (m_sourceRestyled)
return;
long from, to;
m_source->GetSelection(&from, &to);
@@ -190,16 +210,16 @@ void wxZRColaComposerPanel::OnSourcePaint(wxPaintEvent& event)
m_selSource.second = to;
m_sourceHex->SetSelection(
m_selSourceHex.first = m_mappingSourceHex.to_dst(from),
m_selSourceHex.second = m_mappingSourceHex.to_dst(to ));
m_selSourceHex.first = (long)m_mappingSourceHex.to_dst(from),
m_selSourceHex.second = (long)m_mappingSourceHex.to_dst(to ));
m_destination->SetSelection(
m_selDestination.first = MapToDestination(from),
m_selDestination.second = MapToDestination(to ));
m_selDestination.first = (long)MapToDestination(from),
m_selDestination.second = (long)MapToDestination(to ));
m_destinationHex->SetSelection(
m_selDestinationHex.first = m_mappingDestinationHex.to_dst(m_selDestination.first ),
m_selDestinationHex.second = m_mappingDestinationHex.to_dst(m_selDestination.second));
m_selDestinationHex.first = (long)m_mappingDestinationHex.to_dst(m_selDestination.first ),
m_selDestinationHex.second = (long)m_mappingDestinationHex.to_dst(m_selDestination.second));
}
}
@@ -217,16 +237,16 @@ void wxZRColaComposerPanel::OnSourceHexPaint(wxPaintEvent& event)
m_selSourceHex.second = to;
m_source->SetSelection(
m_selSource.first = m_mappingSourceHex.to_src(from),
m_selSource.second = m_mappingSourceHex.to_src(to ));
m_selSource.first = (long)m_mappingSourceHex.to_src(from),
m_selSource.second = (long)m_mappingSourceHex.to_src(to ));
m_destination->SetSelection(
m_selDestination.first = MapToDestination(m_selSource.first ),
m_selDestination.second = MapToDestination(m_selSource.second));
m_selDestination.first = (long)MapToDestination(m_selSource.first ),
m_selDestination.second = (long)MapToDestination(m_selSource.second));
m_destinationHex->SetSelection(
m_selDestinationHex.first = m_mappingDestinationHex.to_dst(m_selDestination.first ),
m_selDestinationHex.second = m_mappingDestinationHex.to_dst(m_selDestination.second));
m_selDestinationHex.first = (long)m_mappingDestinationHex.to_dst(m_selDestination.first ),
m_selDestinationHex.second = (long)m_mappingDestinationHex.to_dst(m_selDestination.second));
}
}
@@ -235,8 +255,15 @@ void wxZRColaComposerPanel::OnSourceText(wxCommandEvent& event)
{
event.Skip();
if (m_sourceRestyled)
return;
// Set the flag the source text changed to trigger idle-time translation.
m_sourceChanged = true;
m_sourceRestyled = true;
m_source->SetStyle(0, GetWindowTextLength(m_source->GetHWND()), m_styleNormal);
m_sourceRestyled = false;
}
@@ -244,6 +271,9 @@ void wxZRColaComposerPanel::OnDestinationPaint(wxPaintEvent& event)
{
event.Skip();
if (m_destinationRestyled)
return;
long from, to;
m_destination->GetSelection(&from, &to);
@@ -253,16 +283,16 @@ void wxZRColaComposerPanel::OnDestinationPaint(wxPaintEvent& event)
m_selDestination.second = to;
m_destinationHex->SetSelection(
m_selDestinationHex.first = m_mappingDestinationHex.to_dst(from),
m_selDestinationHex.second = m_mappingDestinationHex.to_dst(to ));
m_selDestinationHex.first = (long)m_mappingDestinationHex.to_dst(from),
m_selDestinationHex.second = (long)m_mappingDestinationHex.to_dst(to ));
m_source->SetSelection(
m_selSource.first = MapToSource(from),
m_selSource.second = MapToSource(to ));
m_selSource.first = (long)MapToSource(from),
m_selSource.second = (long)MapToSource(to ));
m_sourceHex->SetSelection(
m_selSourceHex.first = m_mappingSourceHex.to_dst(m_selSource.first ),
m_selSourceHex.second = m_mappingSourceHex.to_dst(m_selSource.second));
m_selSourceHex.first = (long)m_mappingSourceHex.to_dst(m_selSource.first ),
m_selSourceHex.second = (long)m_mappingSourceHex.to_dst(m_selSource.second));
}
}
@@ -280,16 +310,16 @@ void wxZRColaComposerPanel::OnDestinationHexPaint(wxPaintEvent& event)
m_selDestinationHex.second = to;
m_destination->SetSelection(
m_selDestination.first = m_mappingDestinationHex.to_src(from),
m_selDestination.second = m_mappingDestinationHex.to_src(to ));
m_selDestination.first = (long)m_mappingDestinationHex.to_src(from),
m_selDestination.second = (long)m_mappingDestinationHex.to_src(to ));
m_source->SetSelection(
m_selSource.first = MapToSource(m_selDestination.first ),
m_selSource.second = MapToSource(m_selDestination.second));
m_selSource.first = (long)MapToSource(m_selDestination.first ),
m_selSource.second = (long)MapToSource(m_selDestination.second));
m_sourceHex->SetSelection(
m_selSourceHex.first = m_mappingSourceHex.to_dst(m_selSource.first ),
m_selSourceHex.second = m_mappingSourceHex.to_dst(m_selSource.second));
m_selSourceHex.first = (long)m_mappingSourceHex.to_dst(m_selSource.first ),
m_selSourceHex.second = (long)m_mappingSourceHex.to_dst(m_selSource.second));
}
}
@@ -298,8 +328,26 @@ void wxZRColaComposerPanel::OnDestinationText(wxCommandEvent& event)
{
event.Skip();
if (m_destinationRestyled)
return;
// Set the flag the destination text changed to trigger idle-time inverse translation.
m_destinationChanged = true;
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
m_destinationRestyled = true;
if (app->m_mainWnd->m_warnPUA) {
wxString src = m_destination->GetValue();
size_t len = src.Length();
for (size_t i = 0, j; i < len;) {
bool pua_i = is_pua(src[i]);
for (j = i + 1; j < len && pua_i == is_pua(src[j]); j++);
m_destination->SetStyle((long)i, (long)j, pua_i ? m_stylePUA : m_styleNormal);
i = j;
}
} else
m_destination->SetStyle(0, GetWindowTextLength(m_destination->GetHWND()), m_styleNormal);
m_destinationRestyled = false;
}
@@ -308,18 +356,21 @@ void wxZRColaComposerPanel::OnSaveTimer(wxTimerEvent& event)
wxString fileName(GetStateFileName());
wxFFile file(fileName, wxT("wb"));
if (file.IsOpened()) {
wxString text;
size_t len;
{
// Save source text.
wxString text = m_source->GetValue();
size_t len = text.Length();
file.Write(&len, sizeof(len));
file.Write((const wchar_t*)text, sizeof(wchar_t)*len);
}
// Save source text.
len = GetValue(m_source, text);
file.Write(&len, sizeof(len));
file.Write((const wchar_t*)text, sizeof(wchar_t)*len);
// Save destination text.
len = GetValue(m_destination, text);
file.Write(&len, sizeof(len));
file.Write((const wchar_t*)text, sizeof(wchar_t)*len);
{
// Save destination text.
wxString text = m_destination->GetValue();
size_t len = text.Length();
file.Write(&len, sizeof(len));
file.Write((const wchar_t*)text, sizeof(wchar_t)*len);
}
}
event.Skip();
@@ -344,31 +395,6 @@ wxString wxZRColaComposerPanel::GetStateFileName()
}
size_t wxZRColaComposerPanel::GetValue(wxTextCtrl *wnd, wxString &text)
{
#ifdef __WINDOWS__
// Use Windows GetWindowText() function to avoid line ending conversion incompletely imposed by wxWidgets.
WXHWND hWnd = wnd->GetHWND();
size_t len = ::GetWindowTextLengthW(hWnd);
if (len < 0x100) {
WCHAR buf[0x100];
::GetWindowTextW(hWnd, buf, len + 1);
text.assign(buf, len);
} else {
LPWSTR buf = new WCHAR[len + 1];
::GetWindowTextW(hWnd, buf, len + 1);
text.assign(buf, len);
delete [] buf;
}
return len;
#else
text = wnd->GetValue();
return text.Length();
#endif
}
void wxZRColaComposerPanel::SetHexValue(wxTextCtrl *wnd, std::pair<long, long> &range, ZRCola::mapping_vector &mapping, const wchar_t *src, size_t len, long from, long to)
{
wxString hex;
@@ -377,8 +403,8 @@ void wxZRColaComposerPanel::SetHexValue(wxTextCtrl *wnd, std::pair<long, long> &
mapping.clear();
for (size_t i = 0; i < len && src[i]; i++) {
wchar_t c = src[i];
if (c == L'\n' || c == '\r') {
hex += c;
if (c == L'\n') {
hex += L"\r\n";
first = true;
} else {
hex += wxString::Format(first ? wxT("%04X") : wxT(" %04X"), src[i]);
@@ -389,8 +415,8 @@ void wxZRColaComposerPanel::SetHexValue(wxTextCtrl *wnd, std::pair<long, long> &
wnd->SetValue(hex);
wnd->SetSelection(
range.first = mapping.to_dst(from),
range.second = mapping.to_dst(to ));
range.first = (long)mapping.to_dst(from),
range.second = (long)mapping.to_dst(to ));
}

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -25,10 +25,17 @@ class wxZRColaComposerPanel;
#pragma once
#include <wxex/common.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include "zrcolagui.h"
#pragma warning(pop)
#include "zrcolakeyhndlr.h"
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include <wx/persist/window.h>
#include <wx/timer.h>
#pragma warning(pop)
#include <utility>
#include <vector>
@@ -59,12 +66,17 @@ protected:
inline void GetTranslationSeq(_Out_ const ZRCola::transetid_t *&sets_begin, _Out_ const ZRCola::transetid_t *&sets_end) const;
static wxString GetStateFileName();
static size_t GetValue(wxTextCtrl *wnd, wxString &text);
static void SetHexValue(wxTextCtrl *wnd, std::pair<long, long> &range, ZRCola::mapping_vector &mapping, const wchar_t *src, size_t len, long from, long to);
protected:
bool m_sourceChanged; ///< Boolean flag to mark source text "dirty" to trigger translation
bool m_destinationChanged; ///< Boolean flag to mark destination text "dirty" to trigger inverse translation
volatile bool
m_sourceRestyled, ///< Boolean flag to mark source text is being restyled
m_destinationRestyled; ///< Boolean flag to mark destination text is being restyled
wxTextAttr
m_styleNormal, ///< Normal text style
m_stylePUA; ///< PUA character text style
std::vector<ZRCola::mapping_vector> m_mapping; ///< Character index mapping vector between source and normalized text
std::pair<long, long>
m_selSource, ///< Character index of selected text in source text control

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -17,7 +17,7 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
//////////////////////////////////////////////////////////////////////////
@@ -32,6 +32,7 @@ wxBEGIN_EVENT_TABLE(wxZRColaFrame, wxZRColaFrameBase)
EVT_UPDATE_UI (wxID_SELECTALL , wxZRColaFrame::OnForwardEventUpdate )
EVT_MENU (wxID_SELECTALL , wxZRColaFrame::OnForwardEvent )
EVT_UPDATE_UI (wxID_CHARACTER_SELECTOR , wxZRColaFrame::OnInsertCharacterUpdate )
EVT_MENU (wxID_CHARACTER_SELECTOR , wxZRColaFrame::OnInsertCharacter )
EVT_UPDATE_UI_RANGE(wxID_SEND_DESTINATION , wxID_SEND_ABORT , wxZRColaFrame::OnSendUpdate )
@@ -41,8 +42,8 @@ wxBEGIN_EVENT_TABLE(wxZRColaFrame, wxZRColaFrameBase)
EVT_MENU (wxID_SEND_SOURCE , wxZRColaFrame::OnSendSource )
EVT_MENU (wxID_SEND_ABORT , wxZRColaFrame::OnSendAbort )
EVT_MENU (wxID_COMPOSITION_MENU , wxZRColaFrame::OnCompositionMenu )
EVT_MENU (wxID_COMPOSITION_TOOLBAR , wxZRColaFrame::OnCompositionToolbar )
EVT_MENU (wxID_COMPOSITION , wxZRColaFrame::OnComposition )
EVT_MENU (wxID_WARN_PUA , wxZRColaFrame::OnWarnPUA )
EVT_MENU_RANGE (wxID_TRANSLATION_SEQ_DEFAULT, wxID_TRANSLATION_SEQ_END, wxZRColaFrame::OnTranslationSeqMenu )
EVT_MENU (wxID_SETTINGS , wxZRColaFrame::OnSettings )
@@ -74,6 +75,7 @@ wxZRColaFrame::wxZRColaFrame() :
m_settings(NULL),
m_chrReq(NULL),
m_composition(true),
m_warnPUA(false),
m_transeq_id(ZRCOLA_TRANSEQID_DEFAULT),
m_transeq(NULL),
wxZRColaFrameBase(NULL)
@@ -100,11 +102,11 @@ wxZRColaFrame::wxZRColaFrame() :
wxString
name(ts.name(), ts.name_len()),
name_tran(wxGetTranslation(name, wxT("ZRCola-zrcdb")));
m_menuTranslationSeq->AppendRadioItem(wxID_TRANSLATION_SEQ_START + i, name_tran);
m_menuTranslationSeq->AppendRadioItem((int)(wxID_TRANSLATION_SEQ_START + i), name_tran);
m_toolTranslationSeq->Append(name_tran, reinterpret_cast<void*>(ts.seq));
} else {
wxString name_tran(_("Custom Translation..."));
m_menuTranslationSeq->AppendRadioItem(wxID_TRANSLATION_SEQ_START + i, name_tran);
m_menuTranslationSeq->AppendRadioItem((int)(wxID_TRANSLATION_SEQ_START + i), name_tran);
m_toolTranslationSeq->Append(name_tran, reinterpret_cast<void*>(ZRCOLA_TRANSEQID_CUSTOM));
break;
}
@@ -153,13 +155,14 @@ wxZRColaFrame::wxZRColaFrame() :
// Register notification sink for language detection.
m_ulRefCount = 1;
m_tfSource = NULL;
m_dwCookie = MAXDWORD;
ITfInputProcessorProfiles *pProfiles;
HRESULT hr = CoCreateInstance(CLSID_TF_InputProcessorProfiles, NULL, CLSCTX_INPROC_SERVER, IID_ITfInputProcessorProfiles, (LPVOID*)&pProfiles);
if(SUCCEEDED(hr)) {
hr = pProfiles->QueryInterface(IID_ITfSource, (LPVOID*)&m_tfSource);
if(SUCCEEDED(hr)) {
hr = m_tfSource->AdviseSink(IID_ITfLanguageProfileNotifySink, (ITfLanguageProfileNotifySink*)this, &m_dwCookie);
if (FAILED(hr) || m_dwCookie == -1) {
if (FAILED(hr) || m_dwCookie == MAXDWORD) {
m_tfSource->Release();
m_tfSource = NULL;
}
@@ -193,6 +196,14 @@ wxZRColaFrame::wxZRColaFrame() :
m_toolComposition->SetState(m_toolComposition->GetState() & ~wxAUI_BUTTON_STATE_CHECKED);
}
if (m_warnPUA) {
m_menuItemWarnPUA->Check(true);
m_toolWarnPUA->SetState(m_toolWarnPUA->GetState() | wxAUI_BUTTON_STATE_CHECKED);
} else {
m_menuItemWarnPUA->Check(false);
m_toolWarnPUA->SetState(m_toolWarnPUA->GetState() & ~wxAUI_BUTTON_STATE_CHECKED);
}
// Update translation sequence selection.
for (unsigned int i = 0, n = m_toolTranslationSeq->GetCount(); ; i++) {
if (i < n) {
@@ -269,12 +280,15 @@ void wxZRColaFrame::OnForwardEvent(wxCommandEvent& event)
}
void wxZRColaFrame::OnInsertCharacterUpdate(wxUpdateUIEvent& event)
{
event.Check(m_chrSelect->IsVisible());
}
void wxZRColaFrame::OnInsertCharacter(wxCommandEvent& event)
{
if (m_chrSelect->ShowModal() == wxID_OK && !m_chrSelect->m_char.empty()) {
m_panel->m_source->WriteText(m_chrSelect->m_char);
m_panel->m_source->SetFocus();
}
m_chrSelect->Show(!m_chrSelect->IsVisible());
}
@@ -338,9 +352,10 @@ void wxZRColaFrame::OnSendAbort(wxCommandEvent& event)
}
void wxZRColaFrame::OnCompositionMenu(wxCommandEvent& event)
void wxZRColaFrame::OnComposition(wxCommandEvent& event)
{
m_composition = m_menuItemComposition->IsChecked();
m_composition = !m_composition;
m_menuItemComposition->Check(m_composition);
m_toolComposition->SetState((m_toolComposition->GetState() & ~wxAUI_BUTTON_STATE_CHECKED) | (m_composition ? wxAUI_BUTTON_STATE_CHECKED : 0));
m_toolbarTranslate->Refresh();
@@ -352,14 +367,16 @@ void wxZRColaFrame::OnCompositionMenu(wxCommandEvent& event)
}
void wxZRColaFrame::OnCompositionToolbar(wxCommandEvent& event)
void wxZRColaFrame::OnWarnPUA(wxCommandEvent& event)
{
m_composition = (m_toolComposition->GetState() & wxAUI_BUTTON_STATE_CHECKED) ? true : false;
m_menuItemComposition->Check(m_composition);
m_warnPUA = !m_warnPUA;
m_menuItemWarnPUA->Check(m_warnPUA);
m_toolWarnPUA->SetState((m_toolWarnPUA->GetState() & ~wxAUI_BUTTON_STATE_CHECKED) | (m_warnPUA ? wxAUI_BUTTON_STATE_CHECKED : 0));
m_toolbarTranslate->Refresh();
// Notify source text something changed and should re-translate.
// Notify destination text something changed and should re-paint.
wxCommandEvent event2(wxEVT_COMMAND_TEXT_UPDATED);
m_panel->m_source->ProcessWindowEvent(event2);
m_panel->m_destination->ProcessWindowEvent(event2);
event.Skip();
}
@@ -489,6 +506,7 @@ void wxZRColaFrame::OnHelpShortcuts(wxCommandEvent& event)
#ifdef __WXMSW__
// Search and try to launch installed PDF.
#pragma warning(suppress: 26812) // INSTALLSTATE is unscoped.
INSTALLSTATE pdf_is = ::MsiGetComponentPath(_T(PRODUCT_VERSION_GUID), _T("{68AC2C38-10E2-41A3-B92C-844C03FFDF6A}"), pdf_path);
if ((pdf_is == INSTALLSTATE_LOCAL || pdf_is == INSTALLSTATE_SOURCE) &&
wxFileExists(pdf_path) &&
@@ -590,10 +608,10 @@ void wxZRColaFrame::DoSend(const wxString& str)
{
// Prepare the INPUT table.
wxString::size_type n = str.length();
auto i_str = str.begin();
wxString::const_iterator i_str = str.begin();
std::vector<INPUT> input;
input.reserve(n*2);
for (std::vector<INPUT>::size_type i = 0; i < n; i++, i_str++) {
for (std::vector<INPUT>::size_type i = 0; i < n; i++, ++i_str) {
wxString::char_type c = *i_str;
// Add key down event.
@@ -612,7 +630,7 @@ void wxZRColaFrame::DoSend(const wxString& str)
::SetActiveWindow(m_hWndSource);
::SetForegroundWindow(m_hWndSource);
::Sleep(200);
::SendInput(input.size(), input.data(), sizeof(INPUT));
::SendInput((UINT)input.size(), input.data(), sizeof(INPUT));
m_hWndSource = NULL;
// Select all input in source and destination to prepare for the overwrite next time.
@@ -740,6 +758,7 @@ void wxPersistentZRColaFrame::Save() const
auto wnd = static_cast<const wxZRColaFrame*>(GetWindow()); // dynamic_cast is not reliable as we are typically called late in the wxTopLevelWindowMSW destructor.
SaveValue(wxT("composition"), wnd->m_composition);
SaveValue(wxT("warnPUA"), wnd->m_warnPUA);
SaveValue(wxT("transeqId"), static_cast<int>(wnd->m_transeq_id));
wxPersistentZRColaComposerPanel(wnd->m_panel).Save();
@@ -756,13 +775,17 @@ bool wxPersistentZRColaFrame::Restore()
int num;
if (RestoreValue(wxT("transeqId"), &num))
wnd->m_transeq_id = num;
wnd->m_transeq_id = (ZRCola::transeqid_t)num;
bool b;
if (RestoreValue(wxT("composition"), &b))
wnd->m_composition = b;
else
wnd->m_composition = wnd->m_transeq_id == ZRCOLA_TRANSEQID_DEFAULT;
if (RestoreValue(wxT("warnPUA"), &b))
wnd->m_warnPUA = b;
else
wnd->m_warnPUA = false;
int guiLevel;
return RestoreValue(wxT("guiLevel"), &guiLevel) && guiLevel == s_guiLevel ? wxPersistentTLWEx::Restore() : true;

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -26,7 +26,11 @@ class wxPersistentZRColaFrame;
#pragma once
#include <wxex/common.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include "zrcolagui.h"
#pragma warning(pop)
#include "zrcolachrslct.h"
#include "zrcolachrreq.h"
#include "zrcolasettings.h"
@@ -34,7 +38,10 @@ class wxPersistentZRColaFrame;
#include <zrcola/language.h>
#include <zrcola/translate.h>
#include <wxex/persist/toplevel.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include <wx/taskbar.h>
#pragma warning(pop)
#if defined(__WXMSW__)
#include <msctf.h>
#endif
@@ -75,6 +82,7 @@ protected:
void OnExit(wxCommandEvent& event);
void OnForwardEventUpdate(wxUpdateUIEvent& event);
void OnForwardEvent(wxCommandEvent& event);
void OnInsertCharacterUpdate(wxUpdateUIEvent& event);
void OnInsertCharacter(wxCommandEvent& event);
void OnSendUpdate(wxUpdateUIEvent& event);
void OnSendDestination(wxCommandEvent& event);
@@ -82,8 +90,8 @@ protected:
void OnSendSource(wxCommandEvent& event);
void OnCopySourceAndReturn(wxCommandEvent& event);
void OnSendAbort(wxCommandEvent& event);
void OnCompositionMenu(wxCommandEvent& event);
void OnCompositionToolbar(wxCommandEvent& event);
void OnComposition(wxCommandEvent& event);
void OnWarnPUA(wxCommandEvent& event);
void OnSettings(wxCommandEvent& event);
virtual void OnIdle(wxIdleEvent& event);
void OnTaskbarIconClick(wxTaskBarIconEvent& event);
@@ -141,6 +149,7 @@ protected:
wxZRColaCharRequest *m_chrReq; ///< Request a New Character dialog
wxZRColaSettings *m_settings; ///< Configuration dialog
bool m_composition; ///< Is (de)composition enabled?
bool m_warnPUA; ///< Mark Private-Use-Area characters in destination text
ZRCola::transeqid_t m_transeq_id; ///< Translation sequence ID
wxZRColaTranslationSeq *m_transeq; ///< Custom translation sequence dialog
};

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,11 @@
///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Aug 8 2018)
// C++ code generated with wxFormBuilder (version Oct 26 2018)
// http://www.wxformbuilder.org/
//
// PLEASE DO *NOT* EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#ifndef __ZRCOLAGUI_H__
#define __ZRCOLAGUI_H__
#pragma once
#include <wx/artprov.h>
#include <wx/xrc/xmlres.h>
@@ -55,10 +54,10 @@ class wxZRColaComposerPanel;
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaFrameBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaFrameBase : public wxFrame
class wxZRColaFrameBase : public wxFrame
{
private:
protected:
enum
{
@@ -68,7 +67,8 @@ class wxZRColaFrameBase : public wxFrame
wxID_SEND_SOURCE,
wxID_COPY_SOURCE_AND_RETURN,
wxID_SEND_ABORT,
wxID_COMPOSITION_MENU,
wxID_COMPOSITION,
wxID_WARN_PUA,
wxID_SETTINGS,
wxID_TOOLBAR_EDIT,
wxID_TOOLBAR_TRANSLATE,
@@ -76,60 +76,61 @@ class wxZRColaFrameBase : public wxFrame
wxID_HELP_INSTRUCTIONS,
wxID_HELP_SHORTCUTS,
wxID_HELP_REQCHAR,
wxID_HELP_UPDATE,
wxID_COMPOSITION_TOOLBAR
wxID_HELP_UPDATE
};
wxMenuBar* m_menubar;
wxMenu* m_menuProgram;
wxMenu* m_menuEdit;
wxMenuItem* m_menuItemComposition;
wxMenu* m_menuTranslationSeq;
wxMenuItem* m_menuItemComposition;
wxMenuItem* m_menuItemWarnPUA;
wxMenu* m_menuView;
wxMenu* m_menuHelp;
wxAuiToolBar* m_toolbarEdit;
wxAuiToolBarItem* m_toolEditCut;
wxAuiToolBarItem* m_toolEditCopy;
wxAuiToolBarItem* m_toolEditPaste;
wxAuiToolBarItem* m_toolEditCut;
wxAuiToolBarItem* m_toolEditCopy;
wxAuiToolBarItem* m_toolEditPaste;
wxAuiToolBar* m_toolbarTranslate;
wxAuiToolBarItem* m_toolCharSelect;
wxAuiToolBarItem* m_toolSendDestination;
wxAuiToolBarItem* m_toolSendSource;
wxAuiToolBarItem* m_toolComposition;
wxAuiToolBarItem* m_toolCharSelect;
wxAuiToolBarItem* m_toolSendDestination;
wxAuiToolBarItem* m_toolSendSource;
wxChoice* m_toolTranslationSeq;
wxAuiToolBarItem* m_toolComposition;
wxAuiToolBarItem* m_toolWarnPUA;
wxZRColaCharacterCatalogPanel* m_panelChrCat;
wxStatusBar* m_statusBar;
// Virtual event handlers, overide them in your derived class
virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
virtual void OnIconize( wxIconizeEvent& event ) { event.Skip(); }
virtual void OnIdle( wxIdleEvent& event ) { event.Skip(); }
virtual void OnTranslationSeqChoice( wxCommandEvent& event ) { event.Skip(); }
public:
wxZRColaComposerPanel* m_panel;
wxZRColaFrameBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("ZRCola"), const wxPoint& pos = wxDefaultPosition, long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL, const wxString& name = wxT("ZRCola") );
wxAuiManager m_mgr;
~wxZRColaFrameBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaComposerPanelBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaComposerPanelBase : public wxPanel
class wxZRColaComposerPanelBase : public wxPanel
{
private:
protected:
enum
{
wxID_TIMER_SAVE = 1000
};
wxSplitterWindow* m_splitterSource;
wxPanel* m_panelSourceEdit;
wxPanel* m_panelSourceHex;
@@ -139,7 +140,7 @@ class wxZRColaComposerPanelBase : public wxPanel
wxPanel* m_panelDestinationHex;
wxTextCtrl* m_destinationHex;
wxTimer m_timerSave;
// Virtual event handlers, overide them in your derived class
virtual void OnSourcePaint( wxPaintEvent& event ) { event.Skip(); }
virtual void OnSourceText( wxCommandEvent& event ) { event.Skip(); }
@@ -148,62 +149,62 @@ class wxZRColaComposerPanelBase : public wxPanel
virtual void OnDestinationText( wxCommandEvent& event ) { event.Skip(); }
virtual void OnDestinationHexPaint( wxPaintEvent& event ) { event.Skip(); }
virtual void OnSaveTimer( wxTimerEvent& event ) { event.Skip(); }
public:
wxTextCtrl* m_source;
wxTextCtrl* m_destination;
wxZRColaComposerPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL, const wxString& name = wxT("ZRColaComposerPanel") );
wxZRColaComposerPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxT("ZRColaComposerPanel") );
~wxZRColaComposerPanelBase();
void m_splitterSourceOnIdle( wxIdleEvent& )
{
m_splitterSource->SetSashPosition( FromDIP(-5) );
m_splitterSource->Disconnect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaComposerPanelBase::m_splitterSourceOnIdle ), NULL, this );
}
void m_splitterDestinationOnIdle( wxIdleEvent& )
{
m_splitterDestination->SetSashPosition( FromDIP(-5) );
m_splitterDestination->Disconnect( wxEVT_IDLE, wxIdleEventHandler( wxZRColaComposerPanelBase::m_splitterDestinationOnIdle ), NULL, this );
}
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaCharacterCatalogPanelBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaCharacterCatalogPanelBase : public wxPanel
class wxZRColaCharacterCatalogPanelBase : public wxPanel
{
private:
protected:
wxChoice* m_choice;
wxZRColaCharGrid* m_grid;
wxCheckBox* m_show_all;
// Virtual event handlers, overide them in your derived class
virtual void OnChoice( wxCommandEvent& event ) { event.Skip(); }
virtual void OnGridClick( wxGridEvent& event ) { event.Skip(); }
virtual void OnGridKeyDown( wxKeyEvent& event ) { event.Skip(); }
virtual void OnShowAll( wxCommandEvent& event ) { event.Skip(); }
public:
wxZRColaCharacterCatalogPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL, const wxString& name = wxT("ZRColaCharacterCatalog") );
wxZRColaCharacterCatalogPanelBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxT("ZRColaCharacterCatalog") );
~wxZRColaCharacterCatalogPanelBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaCharSelectBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaCharSelectBase : public wxDialog
class wxZRColaCharSelectBase : public wxDialog
{
private:
protected:
wxSearchCtrl* m_search;
wxHyperlinkCtrl* m_search_more;
@@ -224,10 +225,8 @@ class wxZRColaCharSelectBase : public wxDialog
wxHyperlinkCtrl* m_navigateBack;
wxHyperlinkCtrl* m_navigateForward;
wxZRColaCharGrid* m_gridRelated;
wxStdDialogButtonSizer* m_sdbSizerButtons;
wxButton* m_sdbSizerButtonsOK;
wxButton* m_sdbSizerButtonsCancel;
wxButton* m_buttonInsert;
// Virtual event handlers, overide them in your derived class
virtual void OnIdle( wxIdleEvent& event ) { event.Skip(); }
virtual void OnSearchText( wxCommandEvent& event ) { event.Skip(); }
@@ -247,23 +246,24 @@ class wxZRColaCharSelectBase : public wxDialog
virtual void OnNavigateBack( wxHyperlinkEvent& event ) { event.Skip(); }
virtual void OnNavigateForward( wxHyperlinkEvent& event ) { event.Skip(); }
virtual void OnRelatedSelectCell( wxGridEvent& event ) { event.Skip(); }
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
virtual void OnInsert( wxCommandEvent& event ) { event.Skip(); }
virtual void OnInsertUpdateUI( wxUpdateUIEvent& event ) { event.Skip(); }
public:
wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Character Search"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaCharSelect") );
wxZRColaCharSelectBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Character Search"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaCharSelect") );
~wxZRColaCharSelectBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaSettingsBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaSettingsBase : public wxDialog
class wxZRColaSettingsBase : public wxDialog
{
private:
protected:
wxListbook* m_listbook;
wxPanel* m_panelLanguage;
@@ -278,28 +278,28 @@ class wxZRColaSettingsBase : public wxDialog
wxButton* m_sdbSizerButtonsOK;
wxButton* m_sdbSizerButtonsApply;
wxButton* m_sdbSizerButtonsCancel;
// Virtual event handlers, overide them in your derived class
virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); }
virtual void OnLanguageUpdate( wxUpdateUIEvent& event ) { event.Skip(); }
virtual void OnApplyButtonClick( wxCommandEvent& event ) { event.Skip(); }
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
public:
wxZRColaSettingsBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Settings"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaSettings") );
wxZRColaSettingsBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Settings"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaSettings") );
~wxZRColaSettingsBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaAboutBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaAboutBase : public wxDialog
class wxZRColaAboutBase : public wxDialog
{
private:
protected:
wxStaticBitmap* m_bitmapIcon;
wxStaticText* m_staticTextZRCola;
@@ -311,46 +311,46 @@ class wxZRColaAboutBase : public wxDialog
wxTextCtrl* m_declaration;
wxStdDialogButtonSizer* m_sdbSizerButtons;
wxButton* m_sdbSizerButtonsOK;
public:
wxZRColaAboutBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("About ZRCola"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaAbout") );
wxZRColaAboutBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("About ZRCola"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaAbout") );
~wxZRColaAboutBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaUpdaterBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaUpdaterBase : public wxDialog
class wxZRColaUpdaterBase : public wxDialog
{
private:
protected:
wxTextCtrl* m_log;
wxButton* m_buttonUpdate;
wxButton* m_buttonClose;
// Virtual event handlers, overide them in your derived class
virtual void OnIdle( wxIdleEvent& event ) { event.Skip(); }
virtual void OnUpdate( wxCommandEvent& event ) { event.Skip(); }
virtual void OnClose( wxCommandEvent& event ) { event.Skip(); }
public:
wxZRColaUpdaterBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Product Update"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaUpdater") );
wxZRColaUpdaterBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Product Update"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaUpdater") );
~wxZRColaUpdaterBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaCharRequestBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaCharRequestBase : public wxDialog
class wxZRColaCharRequestBase : public wxDialog
{
private:
protected:
wxStaticText* m_characterLbl;
wxTextCtrl* m_character;
@@ -361,25 +361,25 @@ class wxZRColaCharRequestBase : public wxDialog
wxStdDialogButtonSizer* m_sdbSizerButtons;
wxButton* m_sdbSizerButtonsOK;
wxButton* m_sdbSizerButtonsCancel;
// Virtual event handlers, overide them in your derived class
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
public:
wxZRColaCharRequestBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Request a New Character"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaCharRequest") );
wxZRColaCharRequestBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Request a New Character"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaCharRequest") );
~wxZRColaCharRequestBase();
};
///////////////////////////////////////////////////////////////////////////////
/// Class wxZRColaTranslationSeqBase
///////////////////////////////////////////////////////////////////////////////
class wxZRColaTranslationSeqBase : public wxDialog
class wxZRColaTranslationSeqBase : public wxDialog
{
private:
protected:
wxStaticText* m_transLbl;
wxStaticText* m_availableLbl;
@@ -393,7 +393,7 @@ class wxZRColaTranslationSeqBase : public wxDialog
wxStdDialogButtonSizer* m_sdbSizerButtons;
wxButton* m_sdbSizerButtonsOK;
wxButton* m_sdbSizerButtonsCancel;
// Virtual event handlers, overide them in your derived class
virtual void OnInitDialog( wxInitDialogEvent& event ) { event.Skip(); }
virtual void OnUpdate( wxUpdateUIEvent& event ) { event.Skip(); }
@@ -406,13 +406,12 @@ class wxZRColaTranslationSeqBase : public wxDialog
virtual void OnSelectedUp( wxCommandEvent& event ) { event.Skip(); }
virtual void OnSelectedDown( wxCommandEvent& event ) { event.Skip(); }
virtual void OnOKButtonClick( wxCommandEvent& event ) { event.Skip(); }
public:
wxZRColaTranslationSeqBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Custom Translation Sequence"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaTranslationSeq") );
wxZRColaTranslationSeqBase( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Custom Translation Sequence"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = wxT("ZRColaTranslationSeq") );
~wxZRColaTranslationSeqBase();
};
#endif //__ZRCOLAGUI_H__

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -17,7 +17,7 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
//////////////////////////////////////////////////////////////////////////
@@ -47,7 +47,7 @@ bool wxZRColaKeyHandler::ProcessEvent(wxEvent& event)
if (!chr) {
int key = e.GetKeyCode();
if (WXK_NUMPAD0 <= key && key <= WXK_NUMPAD9)
chr = '0' + (key - WXK_NUMPAD0);
chr = '0' + (wxChar)(key - WXK_NUMPAD0);
}
wxFrame *pFrame = wxDynamicCast(dynamic_cast<ZRColaApp*>(wxTheApp)->m_mainWnd, wxFrame);
if (('0' <= chr && chr <= '9' || 'A' <= chr && chr <= 'F') && m_insert_seq.size() < 4) {
@@ -81,14 +81,14 @@ bool wxZRColaKeyHandler::ProcessEvent(wxEvent& event)
{
// Parse key event and save it at the end of the key sequence.
ZRCola::keyseq_db::keyseq::key_t key;
key.key = e.GetRawKeyCode();
key.key = (wchar_t)e.GetRawKeyCode();
#if defined(__WXMSW__)
// Translate from local keyboard to scan code.
key.key = ::MapVirtualKey(key.key, MAPVK_VK_TO_VSC);
key.key = static_cast<wchar_t>(::MapVirtualKey(key.key, MAPVK_VK_TO_VSC) & 0xffff);
// Translate from scan code to U.S. Keyboard.
static const HKL s_hkl = ::LoadKeyboardLayout(_T("00000409"), 0);
key.key = ::MapVirtualKeyEx(key.key, MAPVK_VSC_TO_VK, s_hkl);
key.key = static_cast<wchar_t>(::MapVirtualKeyEx(key.key, MAPVK_VSC_TO_VK, s_hkl) & 0xffff);
#endif
key.modifiers =
(e.ShiftDown() ? ZRCola::keyseq_db::keyseq::SHIFT : 0) |
@@ -147,7 +147,7 @@ bool wxZRColaKeyHandler::ProcessEvent(wxEvent& event)
if (count) {
// Zero terminate sequence and parse the Unicode value.
m_insert_seq.push_back(0);
wchar_t chr = strtoul(m_insert_seq.data(), NULL, 16);
wchar_t chr = (wchar_t)strtoul(m_insert_seq.data(), NULL, 16);
if (chr) {
wxObject *obj = event.GetEventObject();

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -27,7 +27,11 @@ class wxZRColaKeyHandler;
#include <zrcolaui/keyboard.h>
#include <wxex/common.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include <wx/event.h>
#pragma warning(pop)
#include <vector>

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -17,7 +17,7 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
//////////////////////////////////////////////////////////////////////////
@@ -36,7 +36,7 @@ wxZRColaSettings::wxZRColaSettings(wxWindow* parent) :
wxString
label(lang.name(), lang.name_len()),
label_tran(wxGetTranslation(label, wxT("ZRCola-zrcdb")));
m_languages->Insert(label_tran, i);
m_languages->Insert(label_tran, (unsigned int)i);
}
}
@@ -59,7 +59,7 @@ void wxZRColaSettings::OnInitDialog(wxInitDialogEvent& event)
auto app = dynamic_cast<ZRColaApp*>(wxTheApp);
ZRCola::language_db::indexLang::size_type start;
m_languages->Select(app->m_lang_db.idxLang.find(ZRCola::language_db::language(m_lang), start) ? start : -1);
m_languages->Select(app->m_lang_db.idxLang.find(ZRCola::language_db::language(m_lang), start) ? (int)start : -1);
}

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -26,7 +26,11 @@ class wxPersistentZRColaSettings;
#pragma once
#include <wxex/common.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include "zrcolagui.h"
#pragma warning(pop)
#include <wxex/persist/toplevel.h>
#include <vector>

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -17,7 +17,7 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
//////////////////////////////////////////////////////////////////////////
@@ -240,7 +240,7 @@ bool wxPersistentZRColaTranslationSeq::Restore()
if (RestoreValue(wxT("transeq"), &str)) {
std::vector<ZRCola::transetid_t> transet;
for (wxStringTokenizer tok(str, wxT("|")); tok.HasMoreTokens(); ) {
unsigned long val = _tcstoul(tok.GetNextToken().c_str(), NULL, 10);
ZRCola::transetid_t val = (ZRCola::transetid_t)_tcstoul(tok.GetNextToken().c_str(), NULL, 10);
for (size_t i = 0, n = app->m_ts_db.idxTranSet.size(); i < n; i++) {
const ZRCola::transet_db::transet &cg = app->m_ts_db.idxTranSet[i];
if (cg.set == val) {

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -26,7 +26,11 @@ class wxPersistentZRColaTranslationSeq;
#pragma once
#include <wxex/common.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include "zrcolagui.h"
#pragma warning(pop)
#include <zrcola/translate.h>
#include <wxex/persist/toplevel.h>
#include <vector>

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -17,7 +17,7 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
//////////////////////////////////////////////////////////////////////////
@@ -80,7 +80,7 @@ wxZRColaUpdater::~wxZRColaUpdater()
void wxZRColaUpdater::OnIdle(wxIdleEvent& event)
{
if (!m_finished) {
m_buttonUpdate->Enable(m_updater->CheckForUpdate() == wxUpdCheckThread::wxUpdUpdateAvailable);
m_buttonUpdate->Enable(m_updater->CheckForUpdate() == wxUpdCheckThread::wxResult::UpdateAvailable);
m_finished = true;
}
}

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -25,11 +25,16 @@ class wxZRColaUpdater;
#pragma once
#include <wxex/common.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include "zrcolagui.h"
#pragma warning(pop)
#include <Updater/chkthread.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include <wx/log.h>
#pragma warning(pop)
///

Binary file not shown.

View File

@@ -13,21 +13,21 @@
<PropertyGroup Label="Globals">
<ProjectGuid>{87A3ADEC-1BE4-42E4-92B8-B742F3D21BC4}</ProjectGuid>
<RootNamespace>ZRColaCompile</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@@ -49,7 +49,7 @@
<ClCompile Include="dbsource.cpp" />
<ClCompile Include="main.cpp" />
<ClCompile Include="parse.cpp" />
<ClCompile Include="stdafx.cpp">
<ClCompile Include="pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
</ClCompile>
@@ -57,7 +57,7 @@
<ItemGroup>
<ClInclude Include="dbsource.h" />
<ClInclude Include="parse.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="pch.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\lib\libZRColaUI\build\libZRColaUI.vcxproj">
@@ -66,10 +66,10 @@
<ProjectReference Include="..\lib\libZRCola\build\libZRCola.vcxproj">
<Project>{3c61929e-7289-4101-8d0a-da22d6e1aea8}</Project>
</ProjectReference>
<ProjectReference Include="..\lib\WinStd\build\WinStd-15.0.vcxproj">
<ProjectReference Include="..\lib\WinStd\build\WinStd-16.0.vcxproj">
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
</ProjectReference>
<ProjectReference Include="..\lib\wxExtend\build\wxExtendLib-15.0.vcxproj">
<ProjectReference Include="..\lib\wxExtend\build\wxExtendLib-16.0.vcxproj">
<Project>{D3E29951-D9F5-486D-A167-20AE8E90B1FA}</Project>
</ProjectReference>
</ItemGroup>

View File

@@ -19,7 +19,7 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">
<ClCompile Include="pch.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
@@ -33,7 +33,7 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h">
<ClInclude Include="pch.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="dbsource.h">

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -17,7 +17,7 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
using namespace std;
using namespace stdex;
@@ -51,12 +51,12 @@ void ZRCola::DBSource::character_bank::build_related()
}
}
delete workers; // This line of code sounds horrible, I know.
delete [] workers; // This line of code sounds horrible, I know.
}
ZRCola::DBSource::character_bank::build_related_worker::build_related_worker(_In_ const character_bank *cb, _In_ iterator from, _In_ iterator to) :
win_handle((HANDLE)_beginthreadex(NULL, 0, process, this, CREATE_SUSPENDED, NULL)),
win_handle<INVALID_HANDLE_VALUE>((HANDLE)_beginthreadex(NULL, 0, process, this, CREATE_SUSPENDED, NULL)),
m_heap(HeapCreate(0, 0, 0)),
m_cb(cb),
m_from(from),
@@ -134,7 +134,7 @@ unsigned int __stdcall ZRCola::DBSource::character_bank::build_related_worker::p
// ZRCola::DBSource::character_desc_idx
//////////////////////////////////////////////////////////////////////////
void ZRCola::DBSource::character_desc_idx::parse_keywords(const wchar_t *str, set<wstring> &terms)
void ZRCola::DBSource::character_desc_idx::parse_keywords(_In_ const wchar_t *str, _Inout_ set<wstring> &terms)
{
wxASSERT_MSG(str, wxT("string is NULL"));
@@ -231,7 +231,8 @@ void ZRCola::DBSource::character_desc_idx::save(ZRCola::textindex<wchar_t, wchar
// ZRCola::DBSource
//////////////////////////////////////////////////////////////////////////
ZRCola::DBSource::DBSource()
ZRCola::DBSource::DBSource() :
m_locale(nullptr)
{
// Initialize ignore list.
m_terms_ignore.insert(L"letter");
@@ -277,7 +278,10 @@ bool ZRCola::DBSource::Open(LPCTSTR filename)
cn += L"Dbq=";
cn += filename;
cn += L";Uid=;Pwd=;";
#pragma warning(push)
#pragma warning(disable: 6387) // Connection15::Open() declaration is wrong: it defaults username and password parameters to NULL, but annotates them as required non-NULL.
hr = m_db->Open(bstr(cn.c_str()));
#pragma warning(pop)
if (SUCCEEDED(hr)) {
// Database open and ready.
m_filename = filename;
@@ -725,6 +729,27 @@ bool ZRCola::DBSource::GetNormPerm(const winstd::com_obj<ADORecordset>& rs, std:
}
bool ZRCola::DBSource::SelectAllTranslations(com_obj<ADORecordset> &rs) const
{
// Create a new recordset.
rs.free();
wxCHECK(SUCCEEDED(::CoCreateInstance(CLSID_CADORecordset, NULL, CLSCTX_ALL, IID_IADORecordset, (LPVOID*)&rs)), false);
// Open it.
if (FAILED(rs->Open(variant(
L"SELECT [komb], [rang_komb], [Kano], [Kanoniziraj], [znak], [rang_znak] "
L"FROM [VRS_ReplChar] "
L"ORDER BY [rang_komb], LEN([komb]) DESC"), variant(m_db), adOpenStatic, adLockReadOnly, adCmdText)))
{
_ftprintf(stderr, wxT("%s: error ZCC0040: Error loading translations from database. Please make sure the file is ZRCola.zrc compatible.\n"), m_filename.c_str());
LogErrors();
return false;
}
return true;
}
bool ZRCola::DBSource::SelectTranslations(com_obj<ADORecordset> &rs) const
{
// Create a new recordset.
@@ -1009,18 +1034,18 @@ bool ZRCola::DBSource::GetKeySequence(const com_obj<ADORecordset>& rs, ZRCola::D
if (keycode1) {
// First key in the sequence is complete.
keyseq::keycode kc1 = {
keyseq::keycode::translate_slen(keycode1),
keyseq::keycode::translate_slen(static_cast<wchar_t>(keycode1 & 0xffff)),
(modifiers & 0x100) != 0,
(modifiers & 0x200) != 0,
(modifiers & 0x400) != 0 };
ks.seq.push_back(kc1);
keyseq::keycode kc2 = { keyseq::keycode::translate_slen(keycode), shift };
keyseq::keycode kc2 = { keyseq::keycode::translate_slen(static_cast<wchar_t>(keycode & 0xffff)), shift };
ks.seq.push_back(kc2);
} else {
// First key in the sequence is only modifier(s).
keyseq::keycode kc1 = {
keyseq::keycode::translate_slen(keycode),
keyseq::keycode::translate_slen(static_cast<wchar_t>(keycode & 0xffff)),
shift || (modifiers & 0x100) != 0,
(modifiers & 0x200) != 0,
(modifiers & 0x400) != 0 };
@@ -1235,6 +1260,30 @@ bool ZRCola::DBSource::SelectCharacters(com_obj<ADORecordset>& rs) const
}
bool ZRCola::DBSource::SelectPUACharacters(com_obj<ADORecordset>& rs) const
{
// Create a new recordset.
rs.free();
wxCHECK(SUCCEEDED(::CoCreateInstance(CLSID_CADORecordset, NULL, CLSCTX_ALL, IID_IADORecordset, (LPVOID*)&rs)), false);
// Open it.
if (FAILED(rs->Open(variant(
L"SELECT [znak], [opis_en], [kat], [znak_v], [znak_m] "
L"FROM [VRS_CharList] "
L"WHERE "
L"[znak]>='E000' AND [znak]<='F8FF' AND " // Private-Use-Area
L"[aktiven]=1 " // Active characters only
L"ORDER BY [znak]"), variant(m_db), adOpenStatic, adLockReadOnly, adCmdText)))
{
_ftprintf(stderr, wxT("%s: error ZCC0120: Error loading characters from database. Please make sure the file is ZRCola.zrc compatible.\n"), m_filename.c_str());
LogErrors();
return false;
}
return true;
}
bool ZRCola::DBSource::GetCharacter(const com_obj<ADORecordset>& rs, character& chr) const
{
wxASSERT_MSG(rs, wxT("recordset is empty"));

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -31,7 +31,11 @@
#include <WinStd/COM.h>
#include <WinStd/Win.h>
#include <wxex/common.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include <wx/debug.h>
#pragma warning(pop)
#pragma warning(push)
#pragma warning(disable: 4091)
@@ -60,7 +64,8 @@ namespace ZRCola {
int rank; ///< Sequence rank
std::wstring str; ///< Sequence string
inline charseq()
inline charseq() :
rank(0)
{
}
@@ -126,6 +131,12 @@ namespace ZRCola {
charseq src; ///< Source sequence
std::string norm; ///< Normalization footprint
charseq dst; ///< Destination sequence
double score; ///< Score
inline translation() :
set((int)ZRCOLA_TRANSEQID_DEFAULT),
score(0)
{}
};
@@ -137,6 +148,8 @@ namespace ZRCola {
int set; ///< ID
std::wstring src; ///< Source name
std::wstring dst; ///< Destination name
inline transet() : set((int)ZRCOLA_TRANSEQID_DEFAULT) {}
};
@@ -149,6 +162,11 @@ namespace ZRCola {
int rank; ///< Rank
std::wstring name; ///< Name
std::vector<int> sets; ///< Sets
inline transeq() :
seq(0),
rank(0)
{}
};
@@ -200,6 +218,8 @@ namespace ZRCola {
public:
ZRCola::langid_t lang; ///< Language ID
std::wstring name; ///< Name
inline language() : lang(ZRCola::langid_t::blank) {}
};
@@ -210,6 +230,8 @@ namespace ZRCola {
public:
std::wstring chr; ///> Character
ZRCola::langid_t lang; ///< Language ID
inline langchar() : lang(ZRCola::langid_t::blank) {}
};
@@ -223,6 +245,8 @@ namespace ZRCola {
std::wstring name; ///< Name
std::vector<wchar_t> chars; ///< Characters (zero-delimited)
std::vector<unsigned __int16> show; ///< Bit vector if particular character from \c chars is displayed initially
inline chrgrp() : grp(0), rank(0) {}
};
@@ -269,14 +293,14 @@ namespace ZRCola {
void build_related();
protected:
class build_related_worker : public winstd::win_handle
class build_related_worker : public winstd::win_handle<INVALID_HANDLE_VALUE>
{
public:
build_related_worker(_In_ const character_bank *cb, _In_ iterator from, _In_ iterator to);
inline void join()
{
if (m_h)
if (m_h != invalid)
WaitForSingleObject(m_h, INFINITE);
}
@@ -325,7 +349,7 @@ namespace ZRCola {
class character_desc_idx : public std::map<std::wstring, std::vector<wchar_t>, character_desc_idx_less>
{
public:
static void parse_keywords(const wchar_t *str, std::set<std::wstring> &terms);
static void parse_keywords(_In_ const wchar_t *str, _Inout_ std::set<std::wstring> &terms);
void add_keywords(const std::set<std::wstring> &terms, const std::wstring &chr, size_t sub = 0);
inline void add_keywords(const wchar_t *str, const std::wstring &chr, size_t sub = 0)
{
@@ -369,6 +393,8 @@ namespace ZRCola {
ZRCola::chrcatid_t cat; ///> Category ID
int rank; ///< Rank
std::wstring name; ///< Name
inline chrcat() : cat(ZRCola::chrcatid_t::blank), rank(0) {}
};
@@ -379,6 +405,8 @@ namespace ZRCola {
public:
std::wstring chr; ///> Character
int tag; ///< Tag ID
inline chrtag() : tag(0) {}
};
@@ -389,6 +417,8 @@ namespace ZRCola {
public:
int tag; ///< Tag ID
std::map<LCID, std::list<std::wstring> > names; ///< Names
inline tagname() : tag(0) {}
};
@@ -595,6 +625,17 @@ namespace ZRCola {
///
bool GetNormPerm(const winstd::com_obj<ADORecordset>& rs, std::string& norm, normperm& np) const;
///
/// Returns all character translations
///
/// \param[out] rs Recordset with results
///
/// \returns
/// - true when query succeeds
/// - false otherwise
///
bool SelectAllTranslations(winstd::com_obj<ADORecordset>& rs) const;
///
/// Returns character translations
///
@@ -779,6 +820,17 @@ namespace ZRCola {
///
bool SelectCharacters(winstd::com_obj<ADORecordset>& rs) const;
///
/// Returns Private-Use-Area characters
///
/// \param[out] rs Recordset with results
///
/// \returns
/// - true when query succeeds
/// - false otherwise
///
bool SelectPUACharacters(winstd::com_obj<ADORecordset>& rs) const;
///
/// Returns character data
///
@@ -882,7 +934,7 @@ namespace ZRCola {
inline ZRCola::translation_db& operator<<(_Inout_ ZRCola::translation_db &db, _In_ const ZRCola::DBSource::translation &rec)
{
unsigned __int32 idx = db.data.size();
wxASSERT_MSG((int)0xffff8000 <= rec.set && rec.set <= (int)0x00007fff, wxT("translation set id out of bounds"));
wxASSERT_MSG((int)0xffff0000 <= rec.set && rec.set <= (int)0x0000ffff, wxT("translation set id out of bounds"));
db.data.push_back((unsigned __int16)rec.set);
wxASSERT_MSG((int)0xffff8000 <= rec.dst.rank && rec.dst.rank <= (int)0x00007fff, wxT("destination character rank out of bounds"));
db.data.push_back((unsigned __int16)rec.dst.rank);
@@ -906,7 +958,7 @@ inline ZRCola::translation_db& operator<<(_Inout_ ZRCola::translation_db &db, _I
inline ZRCola::transet_db& operator<<(_Inout_ ZRCola::transet_db &db, _In_ const ZRCola::DBSource::transet &rec)
{
unsigned __int32 idx = db.data.size();
wxASSERT_MSG((int)0xffff8000 <= rec.set && rec.set <= (int)0x00007fff, wxT("translation set id out of bounds"));
wxASSERT_MSG((int)0xffff0000 <= rec.set && rec.set <= (int)0x0000ffff, wxT("translation set id out of bounds"));
db.data.push_back((unsigned __int16)rec.set);
std::wstring::size_type n = rec.src.length();
wxASSERT_MSG(n <= 0xffff, wxT("translation set source name overflow"));

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -17,7 +17,11 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
#define FONT_MATCH_WIDTH 512 // must be a multiple of 8
#define FONT_MATCH_HEIGHT 512
#define FONT_MATCH_THRESHOLD 8e-2
using namespace std;
using namespace stdex;
@@ -34,7 +38,9 @@ public:
int rank_dst; ///< Destination character rank
string norm; ///< Normalization footprint
inline com_translation()
inline com_translation() :
rank_src(0),
rank_dst(0)
{
}
@@ -65,7 +71,7 @@ public:
{
}
inline com_translation(com_translation &&other) :
inline com_translation(com_translation &&other) noexcept :
rank_src( other.rank_src ),
rank_dst( other.rank_dst ),
norm (std::move(other.norm ))
@@ -82,7 +88,7 @@ public:
return *this;
}
inline com_translation& operator=(com_translation &&other)
inline com_translation& operator=(com_translation &&other) noexcept
{
if (this != std::addressof(other)) {
rank_src = other.rank_src ;
@@ -213,8 +219,8 @@ static inline set<ZRCola::DBSource::charseq> permutate_and_translate_inv(_In_ co
// Secondary permutation inverse translate.
auto res_perm = translate_inv(db_trans, db_np, str_perm.c_str(), path);
for (auto r = res_perm.begin(), r_end = res_perm.end(); r != r_end; ++r)
res.insert(ZRCola::DBSource::charseq(r->rank + 1, std::move(r->str)));
for (auto r = res_perm.cbegin(), r_end = res_perm.cend(); r != r_end; ++r)
res.insert(ZRCola::DBSource::charseq(r->rank + 1, r->str));
}
}
@@ -222,6 +228,56 @@ static inline set<ZRCola::DBSource::charseq> permutate_and_translate_inv(_In_ co
}
static bool contains_pua(_In_ const wstring &str)
{
for (auto p = str.c_str(), p_end = str.c_str() + str.size(); p < p_end; p++)
if (L'\ue000' <= *p && *p <= L'\uf8ff')
return true;
return false;
}
static void replace_all(_Inout_ wstring &str, _In_ const wstring &from, _In_ const wstring &to)
{
size_t start_pos = 0;
while ((start_pos = str.find(from, start_pos)) != wstring::npos) {
str.replace(start_pos, from.length(), to);
start_pos += to.length();
}
}
static double compare_bitmaps(
_In_count_c_(FONT_MATCH_WIDTH * FONT_MATCH_HEIGHT / 8) const unsigned char *bits_orig,
_In_count_c_(FONT_MATCH_WIDTH * FONT_MATCH_HEIGHT / 8) const unsigned char *bits)
{
#define B2(n) n, n + 1, n + 1, n + 2
#define B4(n) B2(n), B2(n + 1), B2(n + 1), B2(n + 2)
#define B6(n) B4(n), B4(n + 1), B4(n + 1), B4(n + 2)
static const unsigned char number_of_bits[256] = { B6(0), B6(1), B6(1), B6(2) };
#undef B2
#undef B4
#undef B6
// Set divisors to 1 to prevent divide-by-zero.
size_t b_orig = 1, b = 1, x = 0;
for (size_t i = 0; i < FONT_MATCH_WIDTH * FONT_MATCH_HEIGHT / 8; ++i) {
b_orig += number_of_bits[bits_orig[i]];
b += number_of_bits[bits [i]];
x += number_of_bits[bits_orig[i] ^ bits[i]];
}
return (double)x/b_orig * (double)x/b;
}
static string make_unicode(_In_ const wstring &str)
{
string out;
for (size_t i = 0, n = str.length(); i < n; i++)
out += string_printf(i ? "+%04X" : "%04X", str[i]);
return out;
}
///
/// Main function
///
@@ -297,10 +353,14 @@ int _tmain(int argc, _TCHAR *argv[])
bool build_pot = parser.GetParamCount() > 2;
set<wstring> pot;
bool build_csv = parser.GetParamCount() > 3;
vector<ZRCola::DBSource::translation> csv;
// Open file ID.
streamoff dst_start = idrec::open<ZRCola::recordid_t, ZRCola::recordsize_t>(dst, ZRCOLA_DB_ID);
ZRCola::translation_db db_trans;
ZRCola::transet_db db_transset;
normperm_db db_np;
{
@@ -332,6 +392,19 @@ int _tmain(int argc, _TCHAR *argv[])
}
{
// Build ZRCola Decomposed to ZRCola Composed translation set.
ZRCola::DBSource::transet ts;
ts.set = (int)ZRCOLA_TRANSEQID_DEFAULT;
ts.src = L"ZRCola Decomposed";
ts.dst = L"ZRCola Composed";
if (build_pot) {
pot.insert(ts.src);
pot.insert(ts.dst);
}
// Add translation set to index and data.
db_transset << ts;
// Get translations.
com_obj<ADORecordset> rs;
if (src.SelectTranslations(rs)) {
@@ -371,14 +444,14 @@ int _tmain(int argc, _TCHAR *argv[])
assert(!res.empty());
// Add translation to temporary database.
for (auto r = res.begin(), r_end = res.end(); r != r_end; ++r) {
for (auto r = res.cbegin(), r_end = res.cend(); r != r_end; ++r) {
translation_db::mapped_type::mapped_type ct(d1->second.rank_src + r->rank, d1->second.rank_dst);
auto hit = t2->second.find(r->str);
if (hit != t2->second.end()) {
hit->second.rank_src = std::min<int>(hit->second.rank_src, ct.rank_src);
hit->second.rank_dst = std::max<int>(hit->second.rank_dst, ct.rank_dst);
} else
t2->second.insert(pair<translation_db::mapped_type::key_type, translation_db::mapped_type::mapped_type>(std::move(r->str), std::move(ct)));
t2->second.insert(pair<translation_db::mapped_type::key_type, translation_db::mapped_type::mapped_type>(r->str, std::move(ct)));
}
}
}
@@ -393,11 +466,11 @@ int _tmain(int argc, _TCHAR *argv[])
trans.set = 0;
for (auto t = db_temp2.cbegin(), t_end = db_temp2.cend(); t != t_end; ++t) {
// Add translation to index and data.
trans.dst.str = std::move(t->first);
trans.dst.str = t->first;
for (auto d = t->second.cbegin(), d_end = t->second.cend(); d != d_end; ++d) {
trans.dst.rank = d->second.rank_dst;
trans.src.rank = d->second.rank_src;
trans.src.str = std::move(d->first);
trans.src.str = d->first;
db_trans << trans;
}
}
@@ -411,30 +484,244 @@ int _tmain(int argc, _TCHAR *argv[])
}
}
{
// Build ZRCola to Unicode translation set.
ZRCola::DBSource::transet ts;
ts.set = (int)ZRCOLA_TRANSEQID_UNICODE;
ts.src = L"ZRCola Composed";
ts.dst = L"Unicode";
if (build_pot) {
pot.insert(ts.src);
pot.insert(ts.dst);
}
// Add translation set to index and data.
db_transset << ts;
// Get all translations.
com_obj<ADORecordset> rs;
if (src.SelectAllTranslations(rs)) {
// Parse translations and build temporary database.
vector<ZRCola::DBSource::translation> db_all, db_combining;
for (; !ZRCola::DBSource::IsEOF(rs); rs->MoveNext()) {
// Read translation from the database.
ZRCola::DBSource::translation trans;
if (src.GetTranslation(rs, trans)) {
// Add translation to temporary databases.
db_all.push_back(trans);
if (!trans.src.str.empty() && trans.src.str[0] == L'\u203f') {
trans.src.str.erase(0, 1);
db_combining.push_back(trans);
}
} else
has_errors = true;
}
com_obj<ADORecordset> rs2;
if (src.SelectPUACharacters(rs2)) {
// Parse characters and build translations.
static const LOGFONT lf_zrcola = {
-FONT_MATCH_HEIGHT/2, 0,
0, 0,
FW_NORMAL,
FALSE, FALSE, FALSE,
ANSI_CHARSET,
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
DEFAULT_PITCH | FF_DONTCARE,
TEXT("ZRCola")
};
gdi_handle<HFONT> fnt_zrcola(::CreateFontIndirect(&lf_zrcola));
gdi_handle<HBRUSH> brush_bg(::CreateSolidBrush(RGB(0x00, 0x00, 0x00)));
gdi_handle<HBITMAP>
bmp_orig(::CreateBitmap(FONT_MATCH_WIDTH, FONT_MATCH_HEIGHT, 1, 1, NULL)),
bmp_comb(::CreateBitmap(FONT_MATCH_WIDTH, FONT_MATCH_HEIGHT, 1, 1, NULL)),
bmp_pre (::CreateBitmap(FONT_MATCH_WIDTH, FONT_MATCH_HEIGHT, 1, 1, NULL));
dc
dc_orig(::CreateCompatibleDC(NULL)),
dc_comb(::CreateCompatibleDC(NULL)),
dc_pre (::CreateCompatibleDC(NULL));
SetBkColor(dc_orig, RGB(0x00, 0x00, 0x00));
SetBkColor(dc_comb, RGB(0x00, 0x00, 0x00));
SetBkColor(dc_pre , RGB(0x00, 0x00, 0x00));
SetBkMode (dc_orig, TRANSPARENT);
SetBkMode (dc_comb, TRANSPARENT);
SetBkMode (dc_pre , TRANSPARENT);
SetTextColor(dc_orig, RGB(0xff, 0xff, 0xff));
SetTextColor(dc_comb, RGB(0xff, 0xff, 0xff));
SetTextColor(dc_pre , RGB(0xff, 0xff, 0xff));
SetTextAlign(dc_orig, TA_BASELINE | TA_CENTER | TA_NOUPDATECP);
SetTextAlign(dc_comb, TA_BASELINE | TA_CENTER | TA_NOUPDATECP);
SetTextAlign(dc_pre , TA_BASELINE | TA_CENTER | TA_NOUPDATECP);
dc_selector
selector_font_orig(dc_orig, fnt_zrcola),
selector_font_comb(dc_comb, fnt_zrcola),
selector_font_pre (dc_pre , fnt_zrcola);
struct {
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[2];
} bmi =
{
{
sizeof(BITMAPINFOHEADER),
FONT_MATCH_WIDTH,
FONT_MATCH_HEIGHT,
1,
1,
BI_RGB,
0,
3780, 3780,
2, 0
},
{
{ 0x00, 0x00, 0x00 },
{ 0xff, 0xff, 0xff },
}
};
vector<unsigned char>
bits_orig(FONT_MATCH_WIDTH * FONT_MATCH_HEIGHT / 8),
bits_comb(FONT_MATCH_WIDTH * FONT_MATCH_HEIGHT / 8),
bits_pre (FONT_MATCH_WIDTH * FONT_MATCH_HEIGHT / 8);
map<wstring, map<wstring, pair<double, int>>> trans;
for (; !ZRCola::DBSource::IsEOF(rs2); rs2->MoveNext()) {
// Read character from the database.
ZRCola::DBSource::character chr;
if (src.GetCharacter(rs2, chr)) {
for (auto t = db_all.cbegin(), t_end = db_all.cend(); t != t_end; ++t) {
if (t->dst.str != chr.first)
continue;
// Replace ZRCola decomposition with Unicode combining characters wherever possible.
const auto &comp_orig = chr.first;
const auto &decomp_orig = t->src.str;
wstring decomp = decomp_orig;
for (auto i = db_combining.cbegin(), i_end = db_combining.cend(); i != i_end; ++i)
replace_all(decomp, i->src.str, i->dst.str);
wstring comp = decomp;
for (auto i = db_all.cbegin(), i_end = db_all.cend(); i != i_end; ++i)
replace_all(comp, i->src.str, i->dst.str);
// Check if we got anything useful.
if (comp_orig == comp ||
contains_pua(comp))
continue;
// Do the Unicode C and D normalizations to get two variants:
// - Use precomposed characters as much as possible
// - Use combining characters only
wstring comp_comb, comp_pre;
NormalizeString(NormalizationC, comp , comp_pre );
NormalizeString(NormalizationD, comp_pre, comp_comb);
{
// Paint original character and Unicode precomposed/combining one.
dc_selector
selector_bmp_orig(dc_orig, bmp_orig),
selector_bmp_comb(dc_comb, bmp_comb),
selector_bmp_pre (dc_pre , bmp_pre );
static const RECT bounds = { 0, 0, FONT_MATCH_WIDTH, FONT_MATCH_HEIGHT };
FillRect(dc_orig, &bounds, brush_bg);
FillRect(dc_comb, &bounds, brush_bg);
FillRect(dc_pre , &bounds, brush_bg);
TextOutW(dc_orig, FONT_MATCH_WIDTH/2, FONT_MATCH_HEIGHT*5/8, comp_orig.c_str(), comp_orig.length());
TextOutW(dc_comb, FONT_MATCH_WIDTH/2, FONT_MATCH_HEIGHT*5/8, comp_comb.c_str(), comp_comb.length());
TextOutW(dc_pre , FONT_MATCH_WIDTH/2, FONT_MATCH_HEIGHT*5/8, comp_pre .c_str(), comp_pre .length());
}
// Compare bitmaps.
if (!GetDIBits(dc_orig, bmp_orig, 0, FONT_MATCH_HEIGHT, bits_orig.data(), (BITMAPINFO*)&bmi, DIB_PAL_COLORS) ||
!GetDIBits(dc_comb, bmp_comb, 0, FONT_MATCH_HEIGHT, bits_comb.data(), (BITMAPINFO*)&bmi, DIB_PAL_COLORS) ||
!GetDIBits(dc_pre , bmp_pre , 0, FONT_MATCH_HEIGHT, bits_pre .data(), (BITMAPINFO*)&bmi, DIB_PAL_COLORS))
continue;
double
score_comb = compare_bitmaps(bits_orig.data(), bits_comb.data()),
score_pre = compare_bitmaps(bits_orig.data(), bits_pre .data());
// Add results to a temporary database.
auto hit = trans.find(comp_orig);
if (hit != trans.end()) {
if (build_csv || score_pre <= FONT_MATCH_THRESHOLD) {
if (hit->second.find(comp_pre) == hit->second.end())
hit->second.insert(make_pair(comp_pre, make_pair(score_pre, 1)));
} if ((build_csv || score_comb <= FONT_MATCH_THRESHOLD) && comp_pre != comp_comb) {
if (hit->second.find(comp_comb) == hit->second.end())
hit->second.insert(make_pair(comp_comb, make_pair(score_comb, 100)));
}
} else {
map<wstring, pair<double, int>> v;
if (build_csv || score_pre <= FONT_MATCH_THRESHOLD)
v.insert(make_pair(comp_pre, make_pair(score_pre, 1)));
if ((build_csv || score_comb <= FONT_MATCH_THRESHOLD) && comp_pre != comp_comb)
v.insert(make_pair(comp_comb, make_pair(score_comb, 100)));
if (!v.empty())
trans.insert(make_pair(comp_orig, std::move(v)));
}
}
} else
has_errors = true;
}
// Preallocate memory.
size_t reserve = db_trans.idxSrc.size() + trans.size()*2;
db_trans.idxSrc.reserve(reserve);
db_trans.idxDst.reserve(reserve);
db_trans.data .reserve(reserve*5);
if (build_csv)
csv.reserve(trans.size()*2);
ZRCola::DBSource::translation t;
t.set = (int)ZRCOLA_TRANSEQID_UNICODE;
t.dst.rank = 1;
vector<pair<double, pair<wstring, int>>> results;
for (auto i = trans.cbegin(), i_end = trans.cend(); i != i_end; ++i) {
// Sort results by score.
results.clear();
results.reserve(i->second.size());
for (auto j = i->second.cbegin(), j_end = i->second.cend(); j != j_end; ++j)
results.push_back(make_pair(j->second.first, make_pair(j->first, j->second.second)));
sort(results.begin(), results.end(), [] (pair<double, pair<wstring, int>> const& a, pair<double, pair<wstring, int>> const& b) { return a.first < b.first; });
int rank_comb = 0, rank_pre = 0;
for (auto j = results.cbegin(), j_end = results.cend(); j != j_end; ++j) {
t.src.str = i->first;
t.src.rank = j->second.second + (j->second.second >= 100 ? rank_comb++ : rank_pre++);
t.dst.str = j->second.first;
t.score = j->first;
db_trans << t;
if (build_csv)
csv.push_back(t);
}
}
} else {
_ftprintf(stderr, wxT("%s: error ZCC0016: Error getting characters from database. Please make sure the file is ZRCola.zrc compatible.\n"), (LPCTSTR)filenameIn.c_str());
has_errors = true;
}
} else {
_ftprintf(stderr, wxT("%s: error ZCC0003: Error getting translations from database. Please make sure the file is ZRCola.zrc compatible.\n"), (LPCTSTR)filenameIn.c_str());
has_errors = true;
}
}
{
// Get translation sets.
com_obj<ADORecordset> rs;
if (src.SelectTranlationSets(rs)) {
size_t count = src.GetRecordsetCount(rs);
if (count < 0xffffffff) { // 4G check (-1 is reserved for error condition)
ZRCola::transet_db db;
// Preallocate memory.
db.idxTranSet.reserve((count+1));
db.data .reserve((count+1)*4);
db_transset.idxTranSet.reserve((count+2));
db_transset.data .reserve((count+2)*4);
// Parse translation sets and build index and data.
for (; !ZRCola::DBSource::IsEOF(rs); rs->MoveNext()) {
// Read translation set from the database.
ZRCola::DBSource::transet ts;
if (src.GetTranslationSet(rs, ts)) {
if (ts.set <= (int)ZRCOLA_TRANSEQID_DEFAULT) {
_ftprintf(stderr, wxT("%s: error ZCC0008: Translation set is using reserved ID %i.\n"), (LPCTSTR)filenameIn.c_str(), ts.set);
has_errors = true;
continue;
}
if (build_pot) {
pot.insert(ts.src);
pot.insert(ts.dst);
}
// Add translation set to index and data.
db << ts;
db_transset << ts;
// Get translations.
com_obj<ADORecordset> rs_tran;
@@ -462,12 +749,6 @@ int _tmain(int argc, _TCHAR *argv[])
} else
has_errors = true;
}
// Sort indices.
db.idxTranSet.sort();
// Write translation sets to file.
dst << ZRCola::transet_rec(db);
} else {
_ftprintf(stderr, wxT("%s: error ZCC0009: Error getting translation set count from database or too many translation sets.\n"), (LPCTSTR)filenameIn.c_str());
has_errors = true;
@@ -478,6 +759,12 @@ int _tmain(int argc, _TCHAR *argv[])
}
}
// Sort indices.
db_transset.idxTranSet.sort();
// Write translation sets to file.
dst << ZRCola::transet_rec(db_transset);
// Sort indices.
db_trans.idxSrc.sort();
db_trans.idxDst.sort();
@@ -958,6 +1245,43 @@ int _tmain(int argc, _TCHAR *argv[])
}
}
if (!has_errors && build_csv) {
const wxString& filenameCsv = parser.GetParam(3);
fstream dst_csv((LPCTSTR)filenameCsv, ios_base::out | ios_base::trunc);
if (dst_csv.good()) {
dst_csv
<< "\xef\xbb\xbf" // UTF-8 BOM
<< "\"znak\";"
<< "\"znakZRCola\";"
<< "\"znakRank\";"
<< "\"komb\";"
<< "\"kombZRCola\";"
<< "\"kombRank\";"
<< "\"razlika\"" << endl;
wstring_convert<codecvt_utf8<wchar_t>> conv;
for (auto i = csv.cbegin(), i_end = csv.cend(); i != i_end; ++i) {
dst_csv
<< "\"" << make_unicode(i->src.str) << "\";"
<< "\"" << conv.to_bytes(i->src.str) << "\";"
<< i->src.rank << ";"
<< "\"" << make_unicode(i->dst.str) << "\";"
<< "\"" << conv.to_bytes(i->dst.str) << "\";"
<< i->dst.rank << ";"
<< i->score << endl;
}
if (dst_csv.fail()) {
_ftprintf(stderr, wxT("%s: error ZCC0013: Writing to CSV report failed.\n"), (LPCTSTR)filenameOut.c_str());
has_errors = true;
}
dst_csv.close();
} else {
_ftprintf(stderr, wxT("%s: error ZCC0012: Error opening CSV report.\n"), filenameOut.fn_str());
has_errors = true;
}
}
if (has_errors) {
dst.close();
wxRemoveFile(filenameOut);

View File

@@ -1,5 +1,5 @@
/*
Copyright 2018 Amebis
/*
Copyright © 2018-2021 Amebis
This file is part of ZRCola.
@@ -17,7 +17,7 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
using namespace std;
using namespace stdex;

View File

@@ -1,5 +1,5 @@
/*
Copyright 2018 Amebis
/*
Copyright © 2018-2021 Amebis
This file is part of ZRCola.

View File

@@ -1,20 +1,20 @@
/*
Copyright 2015-2018 Amebis
This file is part of ZRCola.
ZRCola is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ZRCola is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
ZRCola is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ZRCola is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "pch.h"

View File

@@ -1,56 +1,62 @@
/*
Copyright 2015-2018 Amebis
This file is part of ZRCola.
ZRCola is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ZRCola is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "../include/version.h"
#include "dbsource.h"
#include "parse.h"
#include <wx/app.h>
#include <wx/cmdline.h>
#include <wx/config.h>
#include <wx/intl.h>
#include <wxex/common.h>
#include <wxex/comutils.h>
#include <stdex/idrec.h>
#include <WinStd/Common.h>
#include <initguid.h> // GUID helper to prevent LNK2001 errors (unresolved external symbol IID_IADO...)
#pragma warning(push)
#pragma warning(disable: 4091)
#include <adoint.h>
#include <adoid.h>
#pragma warning(pop)
#include <process.h>
#include <tchar.h>
#include <stdlib.h>
#include <algorithm>
#include <codecvt>
#include <cwctype>
#include <fstream>
#include <memory>
#include <set>
#include <vector>
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
ZRCola is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ZRCola is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "../include/version.h"
#include "dbsource.h"
#include "parse.h"
#include <wxex/common.h>
#include <wxex/comutils.h>
#pragma warning(push)
#pragma warning(disable: WXWIDGETS_CODE_ANALYSIS_WARNINGS)
#include <wx/app.h>
#include <wx/cmdline.h>
#include <wx/config.h>
#include <wx/intl.h>
#pragma warning(pop)
#include <stdex/idrec.h>
#include <WinStd/Common.h>
#include <WinStd/GDI.h>
#include <initguid.h> // GUID helper to prevent LNK2001 errors (unresolved external symbol IID_IADO...)
#pragma warning(push)
#pragma warning(disable: 4091)
#include <adoint.h>
#include <adoid.h>
#pragma warning(pop)
#include <memory.h>
#include <process.h>
#include <tchar.h>
#include <stdlib.h>
#include <algorithm>
#include <codecvt>
#include <cwctype>
#include <fstream>
#include <memory>
#include <set>
#include <utility>
#include <vector>

View File

@@ -7,19 +7,7 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<OutDir>..\output\$(Platform).$(Configuration)\</OutDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<CompileAsManaged>false</CompileAsManaged>
<BufferSecurityCheck>false</BufferSecurityCheck>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<SmallerTypeCheck>false</SmallerTypeCheck>
</ClCompile>
<Link>
<IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
@@ -32,13 +20,13 @@
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="main.cpp" />
<ClCompile Include="stdafx.cpp">
<ClCompile Include="pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h" />
<ClInclude Include="pch.h" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="ZRColaInstall.rc" />

Binary file not shown.

View File

@@ -14,21 +14,21 @@
<ProjectGuid>{620D6AC0-C8FF-4185-B820-DB1503ACB95C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>ZRColaInstallDe</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">

View File

@@ -15,7 +15,7 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">
<ClCompile Include="pch.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
@@ -23,7 +23,7 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h">
<ClInclude Include="pch.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>

View File

@@ -14,21 +14,21 @@
<ProjectGuid>{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>ZRColaInstallEn</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">

View File

@@ -15,7 +15,7 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">
<ClCompile Include="pch.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
@@ -23,7 +23,7 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h">
<ClInclude Include="pch.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>

View File

@@ -14,21 +14,21 @@
<ProjectGuid>{2551B561-5E5B-497E-AE01-11519F91EF19}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>ZRColaInstallRu</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">

View File

@@ -15,7 +15,7 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">
<ClCompile Include="pch.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
@@ -23,7 +23,7 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h">
<ClInclude Include="pch.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>

View File

@@ -14,21 +14,21 @@
<ProjectGuid>{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>ZRColaInstallSl</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">

View File

@@ -15,7 +15,7 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">
<ClCompile Include="pch.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="main.cpp">
@@ -23,7 +23,7 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h">
<ClInclude Include="pch.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -17,48 +17,60 @@
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "pch.h"
///
/// Main function
///
extern "C" void WinMainCRTStartup()
int CALLBACK WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nCmdShow)
{
// Load "KERNEL32.DLL".
HMODULE hKernel32 = LoadLibrary(TEXT("KERNEL32.DLL"));
if (!hKernel32)
ExitProcess(1);
UNREFERENCED_PARAMETER(hInstance);
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
UNREFERENCED_PARAMETER(nCmdShow);
// Get IsWow64Process() address.
BOOL (WINAPI *_IsWow64Process)(__in HANDLE hProcess, __out PBOOL Wow64Process) = (BOOL(WINAPI*)(__in HANDLE, __out PBOOL))::GetProcAddress(hKernel32, "IsWow64Process");
TCHAR szArchProc[MAX_PATH];
if (!GetEnvironmentVariable(TEXT("PROCESSOR_ARCHITECTURE"), szArchProc, _countof(szArchProc)))
szArchProc[0] = 0;
szArchProc[_countof(szArchProc) - 1] = 0;
BOOL bIs64Bit;
#ifndef _WIN64
// Determine if this is a 32-bit process under Windows-over-Windows64.
if (_IsWow64Process) {
// See what IsWow64Process() says.
if (!_IsWow64Process(::GetCurrentProcess(), &bIs64Bit)) {
// IsWow64Process() returned an error. Assume not 64-bit Windows.
bIs64Bit = FALSE;
}
} else {
// This platform does not have IsWow64Process(). Therefore, this is definitely not 64-bit Windows.
bIs64Bit = FALSE;
TCHAR szArchWin[MAX_PATH];
if (!GetEnvironmentVariable(TEXT("PROCESSOR_ARCHITEW6432"), szArchWin, _countof(szArchWin)))
szArchWin[0] = 0;
szArchWin[_countof(szArchWin) - 1] = 0;
// If PROCESSOR_ARCHITEW6432 is defined, this is a Windows-on-Windows
// guest of some kind. szArchWin is the host's architecture and szArchProc
// is the current process' architecture.
// If PROCESSOR_ARCHITEW6432 is not defined, then PROCESSOR_ARCHITECTURE
// is both the process and OS architecture.
if (szArchWin[0] == 0)
memcpy_s(szArchWin, sizeof(szArchWin), szArchProc, sizeof(szArchProc));
// If PROCESSOR_ARCHITECTURE is not defined, then either we're running on
// Windows 9x or something is messing with the environment. Make the
// Windows 9x assumption.
if (szArchProc[0] == 0) {
memcpy_s(szArchProc, sizeof(szArchProc), TEXT("x86"), sizeof(TEXT("x86")));
memcpy_s(szArchWin , sizeof(szArchWin ), TEXT("x86"), sizeof(TEXT("x86")));
}
#else
// This is a running 64-bit process. The Windows must be 64 bit then.
bIs64Bit = TRUE;
#endif
FreeLibrary(hKernel32);
LPCTSTR pszPlatSuffix;
if (_tcsicmp(szArchWin, TEXT("amd64")) == 0)
pszPlatSuffix = TEXT("-amd64");
else if (_tcsicmp(szArchWin, TEXT("arm64")) == 0)
pszPlatSuffix = TEXT("-arm64");
else
pszPlatSuffix = TEXT("-x86");
// Get temporary folder path.
static const LPTSTR pszTempFolderDefault = TEXT("");
LPTSTR pszTempFolder;
DWORD dwLength;
if ((dwLength = GetEnvironmentVariable(TEXT("TEMP"), NULL, 0)) != 0 &&
(pszTempFolder = (LPTSTR)LocalAlloc(LMEM_FIXED, (dwLength + 1)*sizeof(TCHAR))) != NULL) // +1 is for trailing backslash when missing!
(pszTempFolder = (LPTSTR)LocalAlloc(LMEM_FIXED, (dwLength + 2)*sizeof(TCHAR))) != NULL) // +1 for trailing backslash when missing, +1 for zero terminator
{
dwLength = ::GetEnvironmentVariable(TEXT("TEMP"), pszTempFolder, dwLength);
@@ -74,12 +86,12 @@ extern "C" void WinMainCRTStartup()
LPTSTR pszParams;
DWORD_PTR aArgs[] = {
(DWORD_PTR)TEXT(ZRCOLA_INSTALL_LANG),
(DWORD_PTR)(bIs64Bit ? TEXT("64") : TEXT("32")),
(DWORD_PTR)pszPlatSuffix,
(DWORD_PTR)pszTempFolder,
};
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_ARGUMENT_ARRAY | FORMAT_MESSAGE_FROM_STRING,
TEXT("/i \"http://www.amebis.si/prenos/ZRCola/_latest/ZRCola%1%2.msi\" /l* \"%3ZRCola%1%2.log\""),
TEXT("/i \"https://prenos.amebis.si/ZRCola/_latest/ZRCola%1%2.msi\" /l* \"%3ZRCola%1%2.log\""),
0,
0,
(LPTSTR)&pszParams,

View File

@@ -1,20 +1,20 @@
/*
Copyright 2015-2018 Amebis
This file is part of ZRCola.
ZRCola is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ZRCola is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
ZRCola is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ZRCola is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "pch.h"

View File

@@ -1,22 +1,23 @@
/*
Copyright 2015-2018 Amebis
This file is part of ZRCola.
ZRCola is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ZRCola is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include <Windows.h>
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
ZRCola is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ZRCola is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include <Windows.h>
#include <tchar.h>

View File

@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28010.2016
# Visual Studio Version 16
VisualStudioVersion = 16.0.29728.190
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{A7D28E0C-BB96-444D-AAB0-F22A6483FE5F}"
EndProject
@@ -14,9 +14,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZRColaCompile", "ZRColaCompile\ZRColaCompile.vcxproj", "{87A3ADEC-1BE4-42E4-92B8-B742F3D21BC4}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "lib\wxExtend\build\wxExtendLib-15.0.vcxproj", "{D3E29951-D9F5-486D-A167-20AE8E90B1FA}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wxExtend", "lib\wxExtend\build\wxExtendLib-16.0.vcxproj", "{D3E29951-D9F5-486D-A167-20AE8E90B1FA}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stdex", "lib\stdex\build\stdex-15.0.vcxproj", "{518777CC-0A59-4415-A12A-82751ED75343}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stdex", "lib\stdex\build\stdex-16.0.vcxproj", "{518777CC-0A59-4415-A12A-82751ED75343}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libZRColaUI", "lib\libZRColaUI\build\libZRColaUI.vcxproj", "{C0A84BD2-3870-4CD6-B281-0AB322E3C579}"
EndProject
@@ -30,54 +30,52 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZRColaInstallEn", "ZRColaIn
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZRColaInstallRu", "ZRColaInstall\ZRColaInstallRu.vcxproj", "{2551B561-5E5B-497E-AE01-11519F91EF19}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinStd", "lib\WinStd\build\WinStd-15.0.vcxproj", "{47399D91-7EB9-41DE-B521-514BA5DB0C43}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinStd", "lib\WinStd\build\WinStd-16.0.vcxproj", "{47399D91-7EB9-41DE-B521-514BA5DB0C43}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Debug|x86.ActiveCfg = Debug|Win32
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Debug|x86.Build.0 = Debug|Win32
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Release|x86.ActiveCfg = Release|Win32
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Release|x86.Build.0 = Release|Win32
{87A3ADEC-1BE4-42E4-92B8-B742F3D21BC4}.Debug|x86.ActiveCfg = Debug|Win32
{87A3ADEC-1BE4-42E4-92B8-B742F3D21BC4}.Debug|x86.Build.0 = Debug|Win32
{87A3ADEC-1BE4-42E4-92B8-B742F3D21BC4}.Release|x86.ActiveCfg = Release|Win32
{87A3ADEC-1BE4-42E4-92B8-B742F3D21BC4}.Release|x86.Build.0 = Release|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x86.ActiveCfg = Debug|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|x86.Build.0 = Debug|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x86.ActiveCfg = Release|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|x86.Build.0 = Release|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Debug|x86.ActiveCfg = Debug|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Debug|x86.Build.0 = Debug|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Release|x86.ActiveCfg = Release|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Release|x86.Build.0 = Release|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Debug|x86.ActiveCfg = Debug|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Debug|x86.Build.0 = Debug|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Release|x86.ActiveCfg = Release|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Release|x86.Build.0 = Release|Win32
{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}.Debug|x86.ActiveCfg = Debug|Win32
{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}.Debug|x86.Build.0 = Debug|Win32
{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}.Release|x86.ActiveCfg = Release|Win32
{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}.Release|x86.Build.0 = Release|Win32
{620D6AC0-C8FF-4185-B820-DB1503ACB95C}.Debug|x86.ActiveCfg = Debug|Win32
{620D6AC0-C8FF-4185-B820-DB1503ACB95C}.Debug|x86.Build.0 = Debug|Win32
{620D6AC0-C8FF-4185-B820-DB1503ACB95C}.Release|x86.ActiveCfg = Release|Win32
{620D6AC0-C8FF-4185-B820-DB1503ACB95C}.Release|x86.Build.0 = Release|Win32
{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}.Debug|x86.ActiveCfg = Debug|Win32
{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}.Debug|x86.Build.0 = Debug|Win32
{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}.Release|x86.ActiveCfg = Release|Win32
{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}.Release|x86.Build.0 = Release|Win32
{2551B561-5E5B-497E-AE01-11519F91EF19}.Debug|x86.ActiveCfg = Debug|Win32
{2551B561-5E5B-497E-AE01-11519F91EF19}.Debug|x86.Build.0 = Debug|Win32
{2551B561-5E5B-497E-AE01-11519F91EF19}.Release|x86.ActiveCfg = Release|Win32
{2551B561-5E5B-497E-AE01-11519F91EF19}.Release|x86.Build.0 = Release|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|x86.ActiveCfg = Debug|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|x86.Build.0 = Debug|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|x86.ActiveCfg = Release|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|x86.Build.0 = Release|Win32
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Debug|Win32.ActiveCfg = Debug|Win32
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Debug|Win32.Build.0 = Debug|Win32
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Release|Win32.ActiveCfg = Release|Win32
{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}.Release|Win32.Build.0 = Release|Win32
{87A3ADEC-1BE4-42E4-92B8-B742F3D21BC4}.Debug|Win32.ActiveCfg = Debug|Win32
{87A3ADEC-1BE4-42E4-92B8-B742F3D21BC4}.Debug|Win32.Build.0 = Debug|Win32
{87A3ADEC-1BE4-42E4-92B8-B742F3D21BC4}.Release|Win32.ActiveCfg = Release|Win32
{87A3ADEC-1BE4-42E4-92B8-B742F3D21BC4}.Release|Win32.Build.0 = Release|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|Win32.ActiveCfg = Debug|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Debug|Win32.Build.0 = Debug|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|Win32.ActiveCfg = Release|Win32
{D3E29951-D9F5-486D-A167-20AE8E90B1FA}.Release|Win32.Build.0 = Release|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Debug|Win32.ActiveCfg = Debug|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Debug|Win32.Build.0 = Debug|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Release|Win32.ActiveCfg = Release|Win32
{518777CC-0A59-4415-A12A-82751ED75343}.Release|Win32.Build.0 = Release|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Debug|Win32.ActiveCfg = Debug|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Debug|Win32.Build.0 = Debug|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Release|Win32.ActiveCfg = Release|Win32
{C0A84BD2-3870-4CD6-B281-0AB322E3C579}.Release|Win32.Build.0 = Release|Win32
{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}.Debug|Win32.ActiveCfg = Debug|Win32
{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}.Debug|Win32.Build.0 = Debug|Win32
{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}.Release|Win32.ActiveCfg = Release|Win32
{0C2C89C2-C96B-41B6-AA99-7E7741E20F3A}.Release|Win32.Build.0 = Release|Win32
{620D6AC0-C8FF-4185-B820-DB1503ACB95C}.Debug|Win32.ActiveCfg = Debug|Win32
{620D6AC0-C8FF-4185-B820-DB1503ACB95C}.Release|Win32.ActiveCfg = Release|Win32
{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}.Debug|Win32.ActiveCfg = Debug|Win32
{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}.Debug|Win32.Build.0 = Debug|Win32
{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}.Release|Win32.ActiveCfg = Release|Win32
{5BD95B95-38B0-4C7D-9471-F99CA1203DF4}.Release|Win32.Build.0 = Release|Win32
{2551B561-5E5B-497E-AE01-11519F91EF19}.Debug|Win32.ActiveCfg = Debug|Win32
{2551B561-5E5B-497E-AE01-11519F91EF19}.Debug|Win32.Build.0 = Debug|Win32
{2551B561-5E5B-497E-AE01-11519F91EF19}.Release|Win32.ActiveCfg = Release|Win32
{2551B561-5E5B-497E-AE01-11519F91EF19}.Release|Win32.Build.0 = Release|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|Win32.ActiveCfg = Debug|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|Win32.Build.0 = Debug|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|Win32.ActiveCfg = Release|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2017 Amebis
Copyright © 2017-2021 Amebis
This file is part of ZRCola.
@@ -104,217 +104,4 @@ CanoPerm.wsf &quot;X01112&quot;
]]></script>
</job>
<signature>
** SIG ** MIIbHwYJKoZIhvcNAQcCoIIbEDCCGwwCAQExCzAJBgUr
** SIG ** DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB
** SIG ** gjcCAR4wJAIBAQQQcAVhGs441BGiowAQS9NQkAIBAAIB
** SIG ** AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFHAC354udFC3
** SIG ** lTRyP4Y74iqurVPyoIIKLzCCBM4wggO2oAMCAQICEDB6
** SIG ** NnqqPmiBpvlPCMs7OWQwDQYJKoZIhvcNAQELBQAwfzEL
** SIG ** MAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENv
** SIG ** cnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBUcnVz
** SIG ** dCBOZXR3b3JrMTAwLgYDVQQDEydTeW1hbnRlYyBDbGFz
** SIG ** cyAzIFNIQTI1NiBDb2RlIFNpZ25pbmcgQ0EwHhcNMTUx
** SIG ** MDA5MDAwMDAwWhcNMTgxMTA3MjM1OTU5WjBhMQswCQYD
** SIG ** VQQGEwJTSTERMA8GA1UECBMIU2xvdmVuaWExDzANBgNV
** SIG ** BAcTBkthbW5pazEWMBQGA1UEChQNQW1lYmlzIGQuby5v
** SIG ** LjEWMBQGA1UEAxQNQW1lYmlzIGQuby5vLjCCASIwDQYJ
** SIG ** KoZIhvcNAQEBBQADggEPADCCAQoCggEBAJfy6Bdwx2kq
** SIG ** yGhtaYAZgcA8pWLe7EbyLqBHRq/8jIVfUX1CH7fsbEz1
** SIG ** UDgIq74BvilG3BNyjJxh/lbiu2Pr2M0ad3WEy4p0kM9T
** SIG ** SmABC8k3Vc5pmJlNy1++uMpNwAbUmbGcD6Igsvk1xPWb
** SIG ** ApLoAdnO0KfTfzvRI40A0cGZVGt5y6GPemN6jT8JAp9O
** SIG ** KaWIqj3iF00c/FwS7ODZf2w/cMphLjUle+b86GyewVGE
** SIG ** MEVO5ZjS9ksEWBDWn9A6XYshSwbDWnx4xmIl0B4DcWVA
** SIG ** aY+zqEQzQbzEGC/izPDq44RiCtbhi+QqgQ/6fNXm3hbA
** SIG ** GVcYPYa4J5D1UMO+1NC2cPMCAwEAAaOCAWIwggFeMAkG
** SIG ** A1UdEwQCMAAwDgYDVR0PAQH/BAQDAgeAMCsGA1UdHwQk
** SIG ** MCIwIKAeoByGGmh0dHA6Ly9zdi5zeW1jYi5jb20vc3Yu
** SIG ** Y3JsMGYGA1UdIARfMF0wWwYLYIZIAYb4RQEHFwMwTDAj
** SIG ** BggrBgEFBQcCARYXaHR0cHM6Ly9kLnN5bWNiLmNvbS9j
** SIG ** cHMwJQYIKwYBBQUHAgIwGQwXaHR0cHM6Ly9kLnN5bWNi
** SIG ** LmNvbS9ycGEwEwYDVR0lBAwwCgYIKwYBBQUHAwMwVwYI
** SIG ** KwYBBQUHAQEESzBJMB8GCCsGAQUFBzABhhNodHRwOi8v
** SIG ** c3Yuc3ltY2QuY29tMCYGCCsGAQUFBzAChhpodHRwOi8v
** SIG ** c3Yuc3ltY2IuY29tL3N2LmNydDAfBgNVHSMEGDAWgBSW
** SIG ** O1PweTOXr32D7y4rzMq3hh5yZjAdBgNVHQ4EFgQU9we9
** SIG ** loCaLXTEfww9PSfd1JAKn8wwDQYJKoZIhvcNAQELBQAD
** SIG ** ggEBAIpxL0AvtcrbShLKgI7dmLn6WJbpdzkB9e2Cm1Mu
** SIG ** AAIiogLFF1n07l0VXZE+gqxGHB8ji2h33t+o1R8PLyyI
** SIG ** kdnMhHAd78HsqyZzabfmWuCP12TKBv77wiZkpbTo/Av+
** SIG ** z0SlpJRoMpzzXhyPPtHdby80bSu+4RXlewiDCH56aGE4
** SIG ** SSk0i8Xa9JJ/ozPKLX3Szdmg6J58XtDH/tq5K1/ABSCB
** SIG ** z6SF2Y9l9lRJpGXchSDYCPipSVUGP0WPQRTDNobSwCJD
** SIG ** XAz9UFcxWo4Rh8o/gvlLWUH+T3HhmLSRzXqt3JuqJo5x
** SIG ** H8s4vPzcGBZZFob8yRB98KD6ioFK2pjRRSw9FucwggVZ
** SIG ** MIIEQaADAgECAhA9eNf5dklgsmF99PAeyoYqMA0GCSqG
** SIG ** SIb3DQEBCwUAMIHKMQswCQYDVQQGEwJVUzEXMBUGA1UE
** SIG ** ChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
** SIG ** aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAy
** SIG ** MDA2IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6
** SIG ** ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENs
** SIG ** YXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlv
** SIG ** biBBdXRob3JpdHkgLSBHNTAeFw0xMzEyMTAwMDAwMDBa
** SIG ** Fw0yMzEyMDkyMzU5NTlaMH8xCzAJBgNVBAYTAlVTMR0w
** SIG ** GwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0G
** SIG ** A1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEwMC4G
** SIG ** A1UEAxMnU3ltYW50ZWMgQ2xhc3MgMyBTSEEyNTYgQ29k
** SIG ** ZSBTaWduaW5nIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
** SIG ** AQ8AMIIBCgKCAQEAl4MeABavLLHSCMTXaJNRYB5x9uJH
** SIG ** tNtYTSNiarS/WhtR96MNGHdou9g2qy8hUNqe8+dfJ04L
** SIG ** wpfICXCTqdpcDU6kDZGgtOwUzpFyVC7Oo9tE6VIbP0E8
** SIG ** ykrkqsDoOatTzCHQzM9/m+bCzFhqghXuPTbPHMWXBySO
** SIG ** 8Xu+MS09bty1mUKfS2GVXxxw7hd924vlYYl4x2gbrxF4
** SIG ** GpiuxFVHU9mzMtahDkZAxZeSitFTp5lbhTVX0+qTYmEg
** SIG ** CscwdyQRTWKDtrp7aIIx7mXK3/nVjbI13Iwrb2pyXGCE
** SIG ** nPIMlF7AVlIASMzT+KV93i/XE+Q4qITVRrgThsIbnepa
** SIG ** ON2b2wIDAQABo4IBgzCCAX8wLwYIKwYBBQUHAQEEIzAh
** SIG ** MB8GCCsGAQUFBzABhhNodHRwOi8vczIuc3ltY2IuY29t
** SIG ** MBIGA1UdEwEB/wQIMAYBAf8CAQAwbAYDVR0gBGUwYzBh
** SIG ** BgtghkgBhvhFAQcXAzBSMCYGCCsGAQUFBwIBFhpodHRw
** SIG ** Oi8vd3d3LnN5bWF1dGguY29tL2NwczAoBggrBgEFBQcC
** SIG ** AjAcGhpodHRwOi8vd3d3LnN5bWF1dGguY29tL3JwYTAw
** SIG ** BgNVHR8EKTAnMCWgI6Ahhh9odHRwOi8vczEuc3ltY2Iu
** SIG ** Y29tL3BjYTMtZzUuY3JsMB0GA1UdJQQWMBQGCCsGAQUF
** SIG ** BwMCBggrBgEFBQcDAzAOBgNVHQ8BAf8EBAMCAQYwKQYD
** SIG ** VR0RBCIwIKQeMBwxGjAYBgNVBAMTEVN5bWFudGVjUEtJ
** SIG ** LTEtNTY3MB0GA1UdDgQWBBSWO1PweTOXr32D7y4rzMq3
** SIG ** hh5yZjAfBgNVHSMEGDAWgBR/02Wnwt3su/AwCfNDOfoC
** SIG ** rzMxMzANBgkqhkiG9w0BAQsFAAOCAQEAE4UaHmmpN/eg
** SIG ** vaSvfh1hU/6djF4MpnUeeBcj3f3sGgNVOftxlcdlWqeO
** SIG ** MNJEWmHbcG/aIQXCLnO6SfHRk/5dyc1eA+CJnj90Htf3
** SIG ** OIup1s+7NS8zWKiSVtHITTuC5nmEFvwosLFH8x2iPu6H
** SIG ** 2aZ/pFalP62ELinefLyoqqM9BAHqupOiDlAiKRdMh+Q6
** SIG ** EV/WpCWJmwVrL7TJAUwnewusGQUioGAVP9rJ+01Mj/ty
** SIG ** Z3f9J5THujUOiEn+jf0or0oSvQ2zlwXeRAwV+jYrA9zB
** SIG ** UAHxoRFdFOXivSdLVL4rhF4PpsN0BQrvl8OJIrEfd/O9
** SIG ** zUPU8UypP7WLhK9k8tAUITGCEFwwghBYAgEBMIGTMH8x
** SIG ** CzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBD
** SIG ** b3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1
** SIG ** c3QgTmV0d29yazEwMC4GA1UEAxMnU3ltYW50ZWMgQ2xh
** SIG ** c3MgMyBTSEEyNTYgQ29kZSBTaWduaW5nIENBAhAwejZ6
** SIG ** qj5ogab5TwjLOzlkMAkGBSsOAwIaBQCgcDAQBgorBgEE
** SIG ** AYI3AgEMMQIwADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGC
** SIG ** NwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIB
** SIG ** FTAjBgkqhkiG9w0BCQQxFgQUdlEhxAuBWm0MlKArFsW7
** SIG ** wUJuFFgwDQYJKoZIhvcNAQEBBQAEggEAOMbNA+eBRdXb
** SIG ** PwzUC3rlnPZpzU2U9GE4Px79FkQav1Ml8uAeyxtGA4Tr
** SIG ** 0e/f5AX4HS12RIwmd7yOOuUvbyJcNp8+F/ThfGouS/tl
** SIG ** UKUCJ4kHtF19H3MBUU2qdG1DAzFFwwzH/8ZT5ekodidY
** SIG ** yFW2K09+1hIm83WxsL9+61bdLRjzz6FNNhIX1UXvrMf2
** SIG ** IioYdJjA/nlL7ot3FOflIvvHRbxMCkaUWpb+AKI5jnB5
** SIG ** CBBMhYL6vKy6gv9d5Kgqtiwy9AJF8w8gxJWcQ0tAKkGT
** SIG ** AE4sUBjPrHzwjT66hscTWT5KAVkG8CT1JLiMKMxWKu7z
** SIG ** IrolLvLRlSDa5Vvep3mLY6GCDiswgg4nBgorBgEEAYI3
** SIG ** AwMBMYIOFzCCDhMGCSqGSIb3DQEHAqCCDgQwgg4AAgED
** SIG ** MQ0wCwYJYIZIAWUDBAIBMIH+BgsqhkiG9w0BCRABBKCB
** SIG ** 7gSB6zCB6AIBAQYLYIZIAYb4RQEHFwMwITAJBgUrDgMC
** SIG ** GgUABBREu5UsXoPHdh84kBIceHhZTKaw7QIUbmqb3qOo
** SIG ** cAbKtAp5GBBU4Yf8xy0YDzIwMTcwNzEyMTM0NTIzWjAD
** SIG ** AgEeoIGGpIGDMIGAMQswCQYDVQQGEwJVUzEdMBsGA1UE
** SIG ** ChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsT
** SIG ** FlN5bWFudGVjIFRydXN0IE5ldHdvcmsxMTAvBgNVBAMT
** SIG ** KFN5bWFudGVjIFNIQTI1NiBUaW1lU3RhbXBpbmcgU2ln
** SIG ** bmVyIC0gRzKgggqLMIIFODCCBCCgAwIBAgIQewWx1Elo
** SIG ** UUT3yYnSnBmdEjANBgkqhkiG9w0BAQsFADCBvTELMAkG
** SIG ** A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMu
** SIG ** MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3Jr
** SIG ** MTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5j
** SIG ** LiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYD
** SIG ** VQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0
** SIG ** aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNjAxMTIwMDAw
** SIG ** MDBaFw0zMTAxMTEyMzU5NTlaMHcxCzAJBgNVBAYTAlVT
** SIG ** MR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEf
** SIG ** MB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEo
** SIG ** MCYGA1UEAxMfU3ltYW50ZWMgU0hBMjU2IFRpbWVTdGFt
** SIG ** cGluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
** SIG ** AQoCggEBALtZnVlVT52Mcl0agaLrVfOwAa08cawyjwVr
** SIG ** hponADKXak3JZBRLKbvC2Sm5Luxjs+HPPwtWkPhiG37r
** SIG ** pgfi3n9ebUA41JEG50F8eRzLy60bv9iVkfPw7mz4rZY5
** SIG ** Ln/BJ7h4OcWEpe3tr4eOzo3HberSmLU6Hx45ncP0mqj0
** SIG ** hOHE0XxxxgYptD/kgw0mw3sIPk35CrczSf/KO9T1sptL
** SIG ** 4YiZGvXA6TMU1t/HgNuR7v68kldyd/TNqMz+CfWTN76V
** SIG ** iGrF3PSxS9TO6AmRX7WEeTWKeKwZMo8jwTJBG1kOqT6x
** SIG ** zPnWK++32OTVHW0ROpL2k8mc40juu1MO1DaXhnjFoTcC
** SIG ** AwEAAaOCAXcwggFzMA4GA1UdDwEB/wQEAwIBBjASBgNV
** SIG ** HRMBAf8ECDAGAQH/AgEAMGYGA1UdIARfMF0wWwYLYIZI
** SIG ** AYb4RQEHFwMwTDAjBggrBgEFBQcCARYXaHR0cHM6Ly9k
** SIG ** LnN5bWNiLmNvbS9jcHMwJQYIKwYBBQUHAgIwGRoXaHR0
** SIG ** cHM6Ly9kLnN5bWNiLmNvbS9ycGEwLgYIKwYBBQUHAQEE
** SIG ** IjAgMB4GCCsGAQUFBzABhhJodHRwOi8vcy5zeW1jZC5j
** SIG ** b20wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL3Muc3lt
** SIG ** Y2IuY29tL3VuaXZlcnNhbC1yb290LmNybDATBgNVHSUE
** SIG ** DDAKBggrBgEFBQcDCDAoBgNVHREEITAfpB0wGzEZMBcG
** SIG ** A1UEAxMQVGltZVN0YW1wLTIwNDgtMzAdBgNVHQ4EFgQU
** SIG ** r2PWyqNOhXLgp7xB8ymiOH+AdWIwHwYDVR0jBBgwFoAU
** SIG ** tnf6aUhHn1MS1cLqBzJ2B9GXBxkwDQYJKoZIhvcNAQEL
** SIG ** BQADggEBAHXqsC3VNBlcMkX+DuHUT6Z4wW/X6t3cT/Oh
** SIG ** yIGI96ePFeZAKa3mXfSi2VZkhHEwKt0eYRdmIFYGmBmN
** SIG ** XXHy+Je8Cf0ckUfJ4uiNA/vMkC/WCmxOM+zWtJPITJBj
** SIG ** SDlAIcTd1m6JmDy1mJfoqQa3CcmPU1dBkC/hHk1O3MoQ
** SIG ** eGxCbvC2xfhhXFL1TvZrjfdKer7zzf0D19n2A6gP41P3
** SIG ** CnXsxnUuqmaFBJm3+AZX4cYO9uiv2uybGB+queM6AL/O
** SIG ** ipTLAduexzi7D1Kr0eOUA2AKTaD+J20UMvw/l0Dhv5mJ
** SIG ** 2+Q5FL3a5NPD6itas5VYVQR9x5rsIwONhSrS/66pYYEw
** SIG ** ggVLMIIEM6ADAgECAhBUWPKq10HWRLyEqXugllLmMA0G
** SIG ** CSqGSIb3DQEBCwUAMHcxCzAJBgNVBAYTAlVTMR0wGwYD
** SIG ** VQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UE
** SIG ** CxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEoMCYGA1UE
** SIG ** AxMfU3ltYW50ZWMgU0hBMjU2IFRpbWVTdGFtcGluZyBD
** SIG ** QTAeFw0xNzAxMDIwMDAwMDBaFw0yODA0MDEyMzU5NTla
** SIG ** MIGAMQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50
** SIG ** ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFudGVj
** SIG ** IFRydXN0IE5ldHdvcmsxMTAvBgNVBAMTKFN5bWFudGVj
** SIG ** IFNIQTI1NiBUaW1lU3RhbXBpbmcgU2lnbmVyIC0gRzIw
** SIG ** ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCZ
** SIG ** 8/zYBAkDhvnXXKaTwEJ86nxjz10A4o7zwJDfjyn1GOqU
** SIG ** t5Ll17Cgc4Ho6QqbSnwB/52PpDmnDupF9CIMOnDtOUWL
** SIG ** 5MUbXPBFaEYkBWN2mxz8nmwqsVblin9Sca7yNdVGIwYc
** SIG ** z0gtHbTNuNl2I44c/z6/uwZcaQemZQ74Xq59Lu1NrjXv
** SIG ** ydcAQv0olQ6fXXJCCbzD2kTS7cxHhOT8yi2sWL6u967Z
** SIG ** RA0It8J31hpDcNFuA95SksQQCHHZuiJV8h+87ZudO+Je
** SIG ** HUyD/5cPewvnVYNO0g3rvtfsrm5HuZ/fpdZRvARV7f8n
** SIG ** cEzJ7SpLE+GxuUwPyQHuVWVfaQJ4Zss/AgMBAAGjggHH
** SIG ** MIIBwzAMBgNVHRMBAf8EAjAAMGYGA1UdIARfMF0wWwYL
** SIG ** YIZIAYb4RQEHFwMwTDAjBggrBgEFBQcCARYXaHR0cHM6
** SIG ** Ly9kLnN5bWNiLmNvbS9jcHMwJQYIKwYBBQUHAgIwGRoX
** SIG ** aHR0cHM6Ly9kLnN5bWNiLmNvbS9ycGEwQAYDVR0fBDkw
** SIG ** NzA1oDOgMYYvaHR0cDovL3RzLWNybC53cy5zeW1hbnRl
** SIG ** Yy5jb20vc2hhMjU2LXRzcy1jYS5jcmwwFgYDVR0lAQH/
** SIG ** BAwwCgYIKwYBBQUHAwgwDgYDVR0PAQH/BAQDAgeAMHcG
** SIG ** CCsGAQUFBwEBBGswaTAqBggrBgEFBQcwAYYeaHR0cDov
** SIG ** L3RzLW9jc3Aud3Muc3ltYW50ZWMuY29tMDsGCCsGAQUF
** SIG ** BzAChi9odHRwOi8vdHMtYWlhLndzLnN5bWFudGVjLmNv
** SIG ** bS9zaGEyNTYtdHNzLWNhLmNlcjAoBgNVHREEITAfpB0w
** SIG ** GzEZMBcGA1UEAxMQVGltZVN0YW1wLTIwNDgtNTAdBgNV
** SIG ** HQ4EFgQUCbXB/pZylylDmsngArqu+P0vuvYwHwYDVR0j
** SIG ** BBgwFoAUr2PWyqNOhXLgp7xB8ymiOH+AdWIwDQYJKoZI
** SIG ** hvcNAQELBQADggEBABezCojpXFpeIGs7ChWybMWpijKH
** SIG ** 07H0HFOuhb4/m//XvLeUhbTHUn6U6L3tYbLUp5nkw8mT
** SIG ** wTU9C+hoCl1WmL2xIjvRRHrXv/BtUTKK1SPfOAE39uJT
** SIG ** K3orEY+3TWx6MwMbfGsJlBe75NtY1CETZefs0SXKLHWa
** SIG ** nH/8ybsqaKvEfbTPo8lsp9nEAJyJCneR9E2i+zE7hm72
** SIG ** 5h9QA4abv8tCq+Z2m3JaEQGKxu+lb5Xn3a665iJl8BhZ
** SIG ** GxHJzYC32JdHH0II+KxxH7BGU7PUstWjq1B1SBIXgq3P
** SIG ** 4EFPMn7NlRy/kYoIPaSnZwKW3yRMpdBBwIJgo4oXMkvT
** SIG ** vM+ktIwxggJaMIICVgIBATCBizB3MQswCQYDVQQGEwJV
** SIG ** UzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24x
** SIG ** HzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsx
** SIG ** KDAmBgNVBAMTH1N5bWFudGVjIFNIQTI1NiBUaW1lU3Rh
** SIG ** bXBpbmcgQ0ECEFRY8qrXQdZEvISpe6CWUuYwCwYJYIZI
** SIG ** AWUDBAIBoIGkMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0B
** SIG ** CRABBDAcBgkqhkiG9w0BCQUxDxcNMTcwNzEyMTM0NTIz
** SIG ** WjAvBgkqhkiG9w0BCQQxIgQg1xD52jg9/P8NO5ws2naf
** SIG ** wcu6an12O8ENVDquZNAiSfQwNwYLKoZIhvcNAQkQAi8x
** SIG ** KDAmMCQwIgQgz3rBetBH7NX9w2giAxsS1O8Hi28rTF5r
** SIG ** pB+P8s9LrWcwCwYJKoZIhvcNAQEBBIIBAJDHkzPZuNcj
** SIG ** mq2Pi6cZM4Iw79XCJn2IuBXYIYMA17dvZpkoqlhDJDZk
** SIG ** W1x1j+70vkAJNoOa4PnAaNVHii13rybX8UC37iZNoRBQ
** SIG ** CYpgptcOw9tPkNBOoZmysu8qbOe2qK1eSklI6l/v1J7t
** SIG ** 2560Y9bKvgPs3Pya5EKFFLs+gWA+2IjQp9/uvRVVg8ws
** SIG ** Wd0y2RLctd/y9+kQod3NYy4EinM3pcFA8jAON5PRTQOj
** SIG ** 1xM/I6pJHB7NmsRJKSZcI5QZndLc3Re/i2ZQdI6hT9fT
** SIG ** lh5ZH/C9TnTD9Hh0hgItpGSR93oX3PID12Cpf20q2Sda
** SIG ** RY05FX4dNVmF2nLM9y33rBY=
</signature>
</package>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2016-2017 Amebis
Copyright © 2016-2021 Amebis
This file is part of InstFont.
@@ -46,218 +46,4 @@ InstFont.wsf &quot;My Font.ttf&quot;
WScript.Quit(0);
]]></script>
</job>
<signature>
** SIG ** MIIbIAYJKoZIhvcNAQcCoIIbETCCGw0CAQExCzAJBgUr
** SIG ** DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB
** SIG ** gjcCAR4wJAIBAQQQcAVhGs441BGiowAQS9NQkAIBAAIB
** SIG ** AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFGEeMjueacR0
** SIG ** jh4XkURojdD3J5x+oIIKLzCCBM4wggO2oAMCAQICEDB6
** SIG ** NnqqPmiBpvlPCMs7OWQwDQYJKoZIhvcNAQELBQAwfzEL
** SIG ** MAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENv
** SIG ** cnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBUcnVz
** SIG ** dCBOZXR3b3JrMTAwLgYDVQQDEydTeW1hbnRlYyBDbGFz
** SIG ** cyAzIFNIQTI1NiBDb2RlIFNpZ25pbmcgQ0EwHhcNMTUx
** SIG ** MDA5MDAwMDAwWhcNMTgxMTA3MjM1OTU5WjBhMQswCQYD
** SIG ** VQQGEwJTSTERMA8GA1UECBMIU2xvdmVuaWExDzANBgNV
** SIG ** BAcTBkthbW5pazEWMBQGA1UEChQNQW1lYmlzIGQuby5v
** SIG ** LjEWMBQGA1UEAxQNQW1lYmlzIGQuby5vLjCCASIwDQYJ
** SIG ** KoZIhvcNAQEBBQADggEPADCCAQoCggEBAJfy6Bdwx2kq
** SIG ** yGhtaYAZgcA8pWLe7EbyLqBHRq/8jIVfUX1CH7fsbEz1
** SIG ** UDgIq74BvilG3BNyjJxh/lbiu2Pr2M0ad3WEy4p0kM9T
** SIG ** SmABC8k3Vc5pmJlNy1++uMpNwAbUmbGcD6Igsvk1xPWb
** SIG ** ApLoAdnO0KfTfzvRI40A0cGZVGt5y6GPemN6jT8JAp9O
** SIG ** KaWIqj3iF00c/FwS7ODZf2w/cMphLjUle+b86GyewVGE
** SIG ** MEVO5ZjS9ksEWBDWn9A6XYshSwbDWnx4xmIl0B4DcWVA
** SIG ** aY+zqEQzQbzEGC/izPDq44RiCtbhi+QqgQ/6fNXm3hbA
** SIG ** GVcYPYa4J5D1UMO+1NC2cPMCAwEAAaOCAWIwggFeMAkG
** SIG ** A1UdEwQCMAAwDgYDVR0PAQH/BAQDAgeAMCsGA1UdHwQk
** SIG ** MCIwIKAeoByGGmh0dHA6Ly9zdi5zeW1jYi5jb20vc3Yu
** SIG ** Y3JsMGYGA1UdIARfMF0wWwYLYIZIAYb4RQEHFwMwTDAj
** SIG ** BggrBgEFBQcCARYXaHR0cHM6Ly9kLnN5bWNiLmNvbS9j
** SIG ** cHMwJQYIKwYBBQUHAgIwGQwXaHR0cHM6Ly9kLnN5bWNi
** SIG ** LmNvbS9ycGEwEwYDVR0lBAwwCgYIKwYBBQUHAwMwVwYI
** SIG ** KwYBBQUHAQEESzBJMB8GCCsGAQUFBzABhhNodHRwOi8v
** SIG ** c3Yuc3ltY2QuY29tMCYGCCsGAQUFBzAChhpodHRwOi8v
** SIG ** c3Yuc3ltY2IuY29tL3N2LmNydDAfBgNVHSMEGDAWgBSW
** SIG ** O1PweTOXr32D7y4rzMq3hh5yZjAdBgNVHQ4EFgQU9we9
** SIG ** loCaLXTEfww9PSfd1JAKn8wwDQYJKoZIhvcNAQELBQAD
** SIG ** ggEBAIpxL0AvtcrbShLKgI7dmLn6WJbpdzkB9e2Cm1Mu
** SIG ** AAIiogLFF1n07l0VXZE+gqxGHB8ji2h33t+o1R8PLyyI
** SIG ** kdnMhHAd78HsqyZzabfmWuCP12TKBv77wiZkpbTo/Av+
** SIG ** z0SlpJRoMpzzXhyPPtHdby80bSu+4RXlewiDCH56aGE4
** SIG ** SSk0i8Xa9JJ/ozPKLX3Szdmg6J58XtDH/tq5K1/ABSCB
** SIG ** z6SF2Y9l9lRJpGXchSDYCPipSVUGP0WPQRTDNobSwCJD
** SIG ** XAz9UFcxWo4Rh8o/gvlLWUH+T3HhmLSRzXqt3JuqJo5x
** SIG ** H8s4vPzcGBZZFob8yRB98KD6ioFK2pjRRSw9FucwggVZ
** SIG ** MIIEQaADAgECAhA9eNf5dklgsmF99PAeyoYqMA0GCSqG
** SIG ** SIb3DQEBCwUAMIHKMQswCQYDVQQGEwJVUzEXMBUGA1UE
** SIG ** ChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
** SIG ** aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAy
** SIG ** MDA2IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6
** SIG ** ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENs
** SIG ** YXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlv
** SIG ** biBBdXRob3JpdHkgLSBHNTAeFw0xMzEyMTAwMDAwMDBa
** SIG ** Fw0yMzEyMDkyMzU5NTlaMH8xCzAJBgNVBAYTAlVTMR0w
** SIG ** GwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0G
** SIG ** A1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEwMC4G
** SIG ** A1UEAxMnU3ltYW50ZWMgQ2xhc3MgMyBTSEEyNTYgQ29k
** SIG ** ZSBTaWduaW5nIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
** SIG ** AQ8AMIIBCgKCAQEAl4MeABavLLHSCMTXaJNRYB5x9uJH
** SIG ** tNtYTSNiarS/WhtR96MNGHdou9g2qy8hUNqe8+dfJ04L
** SIG ** wpfICXCTqdpcDU6kDZGgtOwUzpFyVC7Oo9tE6VIbP0E8
** SIG ** ykrkqsDoOatTzCHQzM9/m+bCzFhqghXuPTbPHMWXBySO
** SIG ** 8Xu+MS09bty1mUKfS2GVXxxw7hd924vlYYl4x2gbrxF4
** SIG ** GpiuxFVHU9mzMtahDkZAxZeSitFTp5lbhTVX0+qTYmEg
** SIG ** CscwdyQRTWKDtrp7aIIx7mXK3/nVjbI13Iwrb2pyXGCE
** SIG ** nPIMlF7AVlIASMzT+KV93i/XE+Q4qITVRrgThsIbnepa
** SIG ** ON2b2wIDAQABo4IBgzCCAX8wLwYIKwYBBQUHAQEEIzAh
** SIG ** MB8GCCsGAQUFBzABhhNodHRwOi8vczIuc3ltY2IuY29t
** SIG ** MBIGA1UdEwEB/wQIMAYBAf8CAQAwbAYDVR0gBGUwYzBh
** SIG ** BgtghkgBhvhFAQcXAzBSMCYGCCsGAQUFBwIBFhpodHRw
** SIG ** Oi8vd3d3LnN5bWF1dGguY29tL2NwczAoBggrBgEFBQcC
** SIG ** AjAcGhpodHRwOi8vd3d3LnN5bWF1dGguY29tL3JwYTAw
** SIG ** BgNVHR8EKTAnMCWgI6Ahhh9odHRwOi8vczEuc3ltY2Iu
** SIG ** Y29tL3BjYTMtZzUuY3JsMB0GA1UdJQQWMBQGCCsGAQUF
** SIG ** BwMCBggrBgEFBQcDAzAOBgNVHQ8BAf8EBAMCAQYwKQYD
** SIG ** VR0RBCIwIKQeMBwxGjAYBgNVBAMTEVN5bWFudGVjUEtJ
** SIG ** LTEtNTY3MB0GA1UdDgQWBBSWO1PweTOXr32D7y4rzMq3
** SIG ** hh5yZjAfBgNVHSMEGDAWgBR/02Wnwt3su/AwCfNDOfoC
** SIG ** rzMxMzANBgkqhkiG9w0BAQsFAAOCAQEAE4UaHmmpN/eg
** SIG ** vaSvfh1hU/6djF4MpnUeeBcj3f3sGgNVOftxlcdlWqeO
** SIG ** MNJEWmHbcG/aIQXCLnO6SfHRk/5dyc1eA+CJnj90Htf3
** SIG ** OIup1s+7NS8zWKiSVtHITTuC5nmEFvwosLFH8x2iPu6H
** SIG ** 2aZ/pFalP62ELinefLyoqqM9BAHqupOiDlAiKRdMh+Q6
** SIG ** EV/WpCWJmwVrL7TJAUwnewusGQUioGAVP9rJ+01Mj/ty
** SIG ** Z3f9J5THujUOiEn+jf0or0oSvQ2zlwXeRAwV+jYrA9zB
** SIG ** UAHxoRFdFOXivSdLVL4rhF4PpsN0BQrvl8OJIrEfd/O9
** SIG ** zUPU8UypP7WLhK9k8tAUITGCEF0wghBZAgEBMIGTMH8x
** SIG ** CzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBD
** SIG ** b3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1
** SIG ** c3QgTmV0d29yazEwMC4GA1UEAxMnU3ltYW50ZWMgQ2xh
** SIG ** c3MgMyBTSEEyNTYgQ29kZSBTaWduaW5nIENBAhAwejZ6
** SIG ** qj5ogab5TwjLOzlkMAkGBSsOAwIaBQCgcDAQBgorBgEE
** SIG ** AYI3AgEMMQIwADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGC
** SIG ** NwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIB
** SIG ** FTAjBgkqhkiG9w0BCQQxFgQUznZZYwta1knx/qCWsLrQ
** SIG ** xhI/iSEwDQYJKoZIhvcNAQEBBQAEggEAPYeqftDHUS31
** SIG ** QK3yXnFhEGCzEifnj47Z5hsIsCj64g2Mawryh2SQqzke
** SIG ** /lwJQYdR8ZHnnitm8oIM2dQ+duCm6/7b452yRQmlW+bm
** SIG ** PfKUYAntHYtFiBvPDXFFcd/vC/wKQN7/IoX1xHUmIJCL
** SIG ** PpoUDf8luTRknl2wLpevQg6RyDL1ra1TfE2m3vovmiQE
** SIG ** vWjmnebUzbReg6eDp8uqpSkWX6sl3CkjS7Du4K1vyIuQ
** SIG ** z3Y1NEKTp0sc1OPReAyI8IIMZFiv4B+aIozloZKLCZlX
** SIG ** RX/7WV4poxy07HL2D0eSpKU/E5sGx3WPQJspmfCSgVpW
** SIG ** LB0gOEdADx1qXjT8SmhGcqGCDiwwgg4oBgorBgEEAYI3
** SIG ** AwMBMYIOGDCCDhQGCSqGSIb3DQEHAqCCDgUwgg4BAgED
** SIG ** MQ0wCwYJYIZIAWUDBAIBMIH/BgsqhkiG9w0BCRABBKCB
** SIG ** 7wSB7DCB6QIBAQYLYIZIAYb4RQEHFwMwITAJBgUrDgMC
** SIG ** GgUABBRK+KyXCF2Tf00Aw6jImyGktIi+hwIVAPP8EMTA
** SIG ** f5W0fbcFV9uvT/3tRGNxGA8yMDE3MTIyMjA5MjMxMlow
** SIG ** AwIBHqCBhqSBgzCBgDELMAkGA1UEBhMCVVMxHTAbBgNV
** SIG ** BAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYDVQQL
** SIG ** ExZTeW1hbnRlYyBUcnVzdCBOZXR3b3JrMTEwLwYDVQQD
** SIG ** EyhTeW1hbnRlYyBTSEEyNTYgVGltZVN0YW1waW5nIFNp
** SIG ** Z25lciAtIEcyoIIKizCCBTgwggQgoAMCAQICEHsFsdRJ
** SIG ** aFFE98mJ0pwZnRIwDQYJKoZIhvcNAQELBQAwgb0xCzAJ
** SIG ** BgNVBAYTAlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5j
** SIG ** LjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29y
** SIG ** azE6MDgGA1UECxMxKGMpIDIwMDggVmVyaVNpZ24sIElu
** SIG ** Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE4MDYG
** SIG ** A1UEAxMvVmVyaVNpZ24gVW5pdmVyc2FsIFJvb3QgQ2Vy
** SIG ** dGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTYwMTEyMDAw
** SIG ** MDAwWhcNMzEwMTExMjM1OTU5WjB3MQswCQYDVQQGEwJV
** SIG ** UzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24x
** SIG ** HzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsx
** SIG ** KDAmBgNVBAMTH1N5bWFudGVjIFNIQTI1NiBUaW1lU3Rh
** SIG ** bXBpbmcgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
** SIG ** ggEKAoIBAQC7WZ1ZVU+djHJdGoGi61XzsAGtPHGsMo8F
** SIG ** a4aaJwAyl2pNyWQUSym7wtkpuS7sY7Phzz8LVpD4Yht+
** SIG ** 66YH4t5/Xm1AONSRBudBfHkcy8utG7/YlZHz8O5s+K2W
** SIG ** OS5/wSe4eDnFhKXt7a+Hjs6Nx23q0pi1Oh8eOZ3D9Jqo
** SIG ** 9IThxNF8ccYGKbQ/5IMNJsN7CD5N+Qq3M0n/yjvU9bKb
** SIG ** S+GImRr1wOkzFNbfx4Dbke7+vJJXcnf0zajM/gn1kze+
** SIG ** lYhqxdz0sUvUzugJkV+1hHk1inisGTKPI8EyQRtZDqk+
** SIG ** scz51ivvt9jk1R1tETqS9pPJnONI7rtTDtQ2l4Z4xaE3
** SIG ** AgMBAAGjggF3MIIBczAOBgNVHQ8BAf8EBAMCAQYwEgYD
** SIG ** VR0TAQH/BAgwBgEB/wIBADBmBgNVHSAEXzBdMFsGC2CG
** SIG ** SAGG+EUBBxcDMEwwIwYIKwYBBQUHAgEWF2h0dHBzOi8v
** SIG ** ZC5zeW1jYi5jb20vY3BzMCUGCCsGAQUFBwICMBkaF2h0
** SIG ** dHBzOi8vZC5zeW1jYi5jb20vcnBhMC4GCCsGAQUFBwEB
** SIG ** BCIwIDAeBggrBgEFBQcwAYYSaHR0cDovL3Muc3ltY2Qu
** SIG ** Y29tMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9zLnN5
** SIG ** bWNiLmNvbS91bml2ZXJzYWwtcm9vdC5jcmwwEwYDVR0l
** SIG ** BAwwCgYIKwYBBQUHAwgwKAYDVR0RBCEwH6QdMBsxGTAX
** SIG ** BgNVBAMTEFRpbWVTdGFtcC0yMDQ4LTMwHQYDVR0OBBYE
** SIG ** FK9j1sqjToVy4Ke8QfMpojh/gHViMB8GA1UdIwQYMBaA
** SIG ** FLZ3+mlIR59TEtXC6gcydgfRlwcZMA0GCSqGSIb3DQEB
** SIG ** CwUAA4IBAQB16rAt1TQZXDJF/g7h1E+meMFv1+rd3E/z
** SIG ** ociBiPenjxXmQCmt5l30otlWZIRxMCrdHmEXZiBWBpgZ
** SIG ** jV1x8viXvAn9HJFHyeLojQP7zJAv1gpsTjPs1rSTyEyQ
** SIG ** Y0g5QCHE3dZuiZg8tZiX6KkGtwnJj1NXQZAv4R5NTtzK
** SIG ** EHhsQm7wtsX4YVxS9U72a433Snq+8839A9fZ9gOoD+NT
** SIG ** 9wp17MZ1LqpmhQSZt/gGV+HGDvbor9rsmxgfqrnjOgC/
** SIG ** zoqUywHbnsc4uw9Sq9HjlANgCk2g/idtFDL8P5dA4b+Z
** SIG ** idvkORS92uTTw+orWrOVWFUEfcea7CMDjYUq0v+uqWGB
** SIG ** MIIFSzCCBDOgAwIBAgIQVFjyqtdB1kS8hKl7oJZS5jAN
** SIG ** BgkqhkiG9w0BAQsFADB3MQswCQYDVQQGEwJVUzEdMBsG
** SIG ** A1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNV
** SIG ** BAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxKDAmBgNV
** SIG ** BAMTH1N5bWFudGVjIFNIQTI1NiBUaW1lU3RhbXBpbmcg
** SIG ** Q0EwHhcNMTcwMTAyMDAwMDAwWhcNMjgwNDAxMjM1OTU5
** SIG ** WjCBgDELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFu
** SIG ** dGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRl
** SIG ** YyBUcnVzdCBOZXR3b3JrMTEwLwYDVQQDEyhTeW1hbnRl
** SIG ** YyBTSEEyNTYgVGltZVN0YW1waW5nIFNpZ25lciAtIEcy
** SIG ** MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
** SIG ** mfP82AQJA4b511ymk8BCfOp8Y89dAOKO88CQ348p9Rjq
** SIG ** lLeS5dewoHOB6OkKm0p8Af+dj6Q5pw7qRfQiDDpw7TlF
** SIG ** i+TFG1zwRWhGJAVjdpsc/J5sKrFW5Yp/UnGu8jXVRiMG
** SIG ** HM9ILR20zbjZdiOOHP8+v7sGXGkHpmUO+F6ufS7tTa41
** SIG ** 78nXAEL9KJUOn11yQgm8w9pE0u3MR4Tk/MotrFi+rveu
** SIG ** 2UQNCLfCd9YaQ3DRbgPeUpLEEAhx2boiVfIfvO2bnTvi
** SIG ** Xh1Mg/+XD3sL51WDTtIN677X7K5uR7mf36XWUbwEVe3/
** SIG ** J3BMye0qSxPhsblMD8kB7lVlX2kCeGbLPwIDAQABo4IB
** SIG ** xzCCAcMwDAYDVR0TAQH/BAIwADBmBgNVHSAEXzBdMFsG
** SIG ** C2CGSAGG+EUBBxcDMEwwIwYIKwYBBQUHAgEWF2h0dHBz
** SIG ** Oi8vZC5zeW1jYi5jb20vY3BzMCUGCCsGAQUFBwICMBka
** SIG ** F2h0dHBzOi8vZC5zeW1jYi5jb20vcnBhMEAGA1UdHwQ5
** SIG ** MDcwNaAzoDGGL2h0dHA6Ly90cy1jcmwud3Muc3ltYW50
** SIG ** ZWMuY29tL3NoYTI1Ni10c3MtY2EuY3JsMBYGA1UdJQEB
** SIG ** /wQMMAoGCCsGAQUFBwMIMA4GA1UdDwEB/wQEAwIHgDB3
** SIG ** BggrBgEFBQcBAQRrMGkwKgYIKwYBBQUHMAGGHmh0dHA6
** SIG ** Ly90cy1vY3NwLndzLnN5bWFudGVjLmNvbTA7BggrBgEF
** SIG ** BQcwAoYvaHR0cDovL3RzLWFpYS53cy5zeW1hbnRlYy5j
** SIG ** b20vc2hhMjU2LXRzcy1jYS5jZXIwKAYDVR0RBCEwH6Qd
** SIG ** MBsxGTAXBgNVBAMTEFRpbWVTdGFtcC0yMDQ4LTUwHQYD
** SIG ** VR0OBBYEFAm1wf6WcpcpQ5rJ4AK6rvj9L7r2MB8GA1Ud
** SIG ** IwQYMBaAFK9j1sqjToVy4Ke8QfMpojh/gHViMA0GCSqG
** SIG ** SIb3DQEBCwUAA4IBAQAXswqI6VxaXiBrOwoVsmzFqYoy
** SIG ** h9Ox9BxTroW+P5v/17y3lIW0x1J+lOi97WGy1KeZ5MPJ
** SIG ** k8E1PQvoaApdVpi9sSI70UR617/wbVEyitUj3zgBN/bi
** SIG ** Uyt6KxGPt01sejMDG3xrCZQXu+TbWNQhE2Xn7NElyix1
** SIG ** mpx//Mm7KmirxH20z6PJbKfZxACciQp3kfRNovsxO4Zu
** SIG ** 9uYfUAOGm7/LQqvmdptyWhEBisbvpW+V592uuuYiZfAY
** SIG ** WRsRyc2At9iXRx9CCPiscR+wRlOz1LLVo6tQdUgSF4Kt
** SIG ** z+BBTzJ+zZUcv5GKCD2kp2cClt8kTKXQQcCCYKOKFzJL
** SIG ** 07zPpLSMMYICWjCCAlYCAQEwgYswdzELMAkGA1UEBhMC
** SIG ** VVMxHTAbBgNVBAoTFFN5bWFudGVjIENvcnBvcmF0aW9u
** SIG ** MR8wHQYDVQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3b3Jr
** SIG ** MSgwJgYDVQQDEx9TeW1hbnRlYyBTSEEyNTYgVGltZVN0
** SIG ** YW1waW5nIENBAhBUWPKq10HWRLyEqXugllLmMAsGCWCG
** SIG ** SAFlAwQCAaCBpDAaBgkqhkiG9w0BCQMxDQYLKoZIhvcN
** SIG ** AQkQAQQwHAYJKoZIhvcNAQkFMQ8XDTE3MTIyMjA5MjMx
** SIG ** MlowLwYJKoZIhvcNAQkEMSIEIDjC9lH4vmnVGgUQ3K9/
** SIG ** UJyaFJXcivYDNejbPrRERGkRMDcGCyqGSIb3DQEJEAIv
** SIG ** MSgwJjAkMCIEIM96wXrQR+zV/cNoIgMbEtTvB4tvK0xe
** SIG ** a6Qfj/LPS61nMAsGCSqGSIb3DQEBAQSCAQBQNgf6pNDg
** SIG ** E7O0sqTK8DqO3WPe9wXqJB4uZqR0YyH8VH/ymK3MTiSo
** SIG ** O/4uG0vyAT/t5i5Bvt67lQIgCckpop4u348NUoi9hSNG
** SIG ** br/fMo1jib1sHUpqiOcLnZSKjOE717APXkDw3ADWrFsg
** SIG ** 2SUEX/fPvYvL/DW3YjTG82iuf9x/QQLqn0W6jbdw9m8d
** SIG ** IWbjlTubIjjzuNMVEJIIAuahtqPU+cHW/skzXXoRpvsG
** SIG ** o5ga0X7uGNeGYiSalDcVDktNaaJT41xMgAvs7XKhSUK3
** SIG ** YTfJrwhpf4ph2JbwONzjhboqQy9Jw2A7pcjl/khfMqX0
** SIG ** mRUHJlKxrTA7lM1vbxNkSZIy
</signature>
</package>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 1991-2015 Amebis
Copyright © 1991-2015-2021 Amebis
This file is part of MkLink.
@@ -82,203 +82,4 @@ MkLnk.wsf &quot;%USERPROFILE%\Desktop\My shortcut.lnk&quot; &quot;%windir%\notep
WScript.Quit(0);
]]></script>
</job>
<signature>
** SIG ** MIIZKwYJKoZIhvcNAQcCoIIZHDCCGRgCAQExCzAJBgUr
** SIG ** DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB
** SIG ** gjcCAR4wJAIBAQQQcAVhGs441BGiowAQS9NQkAIBAAIB
** SIG ** AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFMH67hpbFt5K
** SIG ** CSnD9RSD/SRyKRZSoIIUJTCCA+4wggNXoAMCAQICEH6T
** SIG ** 6/t8xk5Z6kuad9QG/DswDQYJKoZIhvcNAQEFBQAwgYsx
** SIG ** CzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENh
** SIG ** cGUxFDASBgNVBAcTC0R1cmJhbnZpbGxlMQ8wDQYDVQQK
** SIG ** EwZUaGF3dGUxHTAbBgNVBAsTFFRoYXd0ZSBDZXJ0aWZp
** SIG ** Y2F0aW9uMR8wHQYDVQQDExZUaGF3dGUgVGltZXN0YW1w
** SIG ** aW5nIENBMB4XDTEyMTIyMTAwMDAwMFoXDTIwMTIzMDIz
** SIG ** NTk1OVowXjELMAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5
** SIG ** bWFudGVjIENvcnBvcmF0aW9uMTAwLgYDVQQDEydTeW1h
** SIG ** bnRlYyBUaW1lIFN0YW1waW5nIFNlcnZpY2VzIENBIC0g
** SIG ** RzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
** SIG ** AQCxrLNJVEuXHBIK2CV5kSJXKm/cuCbEQ3Nrwr8uUFr7
** SIG ** FMJ2jkMBJUO0oeJF9Oi3e8N0zCLXtJQAAvdN7b+0t0Qk
** SIG ** a81fRTvRRM5DEnMXgotptCvLmR6schsmTXEfsTHd+1Fh
** SIG ** AlOmqvVJLAV4RaUvic7nmef+jOJXPz3GktxK+Hsz5HkK
** SIG ** +/B1iEGc/8UDUZmq12yfk2mHZSmDhcJgFMTIyTsU2sCB
** SIG ** 8B8NdN6SIqvK9/t0fCfm90obf6fDni2uiuqm5qonFn1h
** SIG ** 95hxEbziUKFL5V365Q6nLJ+qZSDT2JboyHylTkhE/xni
** SIG ** RAeSC9dohIBdanhkRc1gRn5UwRN8xXnxycFxAgMBAAGj
** SIG ** gfowgfcwHQYDVR0OBBYEFF+a9W5czMx0mtTdfe8/2+xM
** SIG ** gC7dMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAYYW
** SIG ** aHR0cDovL29jc3AudGhhd3RlLmNvbTASBgNVHRMBAf8E
** SIG ** CDAGAQH/AgEAMD8GA1UdHwQ4MDYwNKAyoDCGLmh0dHA6
** SIG ** Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVUaW1lc3RhbXBp
** SIG ** bmdDQS5jcmwwEwYDVR0lBAwwCgYIKwYBBQUHAwgwDgYD
** SIG ** VR0PAQH/BAQDAgEGMCgGA1UdEQQhMB+kHTAbMRkwFwYD
** SIG ** VQQDExBUaW1lU3RhbXAtMjA0OC0xMA0GCSqGSIb3DQEB
** SIG ** BQUAA4GBAAMJm495739ZMKrvaLX64wkdu0+CBl03X6ZS
** SIG ** nxaN6hySCURu9W3rWHww6PlpjSNzCxJvR6muORH4KrGb
** SIG ** sBrDjutZlgCtzgxNstAxpghcKnr84nodV0yoZRjpeUBi
** SIG ** JZZux8c3aoMhCI5B6t3ZVz8dd0mHKhYGXqY4aiISo1EZ
** SIG ** g362MIIEozCCA4ugAwIBAgIQDs/0OMj+vzVuBNhqmBsa
** SIG ** UDANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQGEwJVUzEd
** SIG ** MBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xMDAu
** SIG ** BgNVBAMTJ1N5bWFudGVjIFRpbWUgU3RhbXBpbmcgU2Vy
** SIG ** dmljZXMgQ0EgLSBHMjAeFw0xMjEwMTgwMDAwMDBaFw0y
** SIG ** MDEyMjkyMzU5NTlaMGIxCzAJBgNVBAYTAlVTMR0wGwYD
** SIG ** VQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjE0MDIGA1UE
** SIG ** AxMrU3ltYW50ZWMgVGltZSBTdGFtcGluZyBTZXJ2aWNl
** SIG ** cyBTaWduZXIgLSBHNDCCASIwDQYJKoZIhvcNAQEBBQAD
** SIG ** ggEPADCCAQoCggEBAKJjCzlEuLsjp0RJuw7/ofBhClOT
** SIG ** sJjbrSwPSsVu/4Y8U1UPFc4EPyv9qZaW2b5heQtbyUyG
** SIG ** duXgQ0sile7CK0PBn9hotI5AT+6FOLkRxSPyZFjwFTJv
** SIG ** TlehroikAtcqHs1L4d1j1ReJMluwXplaqJ0oUA4X7pbb
** SIG ** YTtFUR3PElYLkkf8q672Zj1HrHBy55LnX80QucSDZJQZ
** SIG ** vSWA4ejSIqXQugJ6oXeTW2XD7hd0vEGGKtwITIySjJEt
** SIG ** nndEH2jWqHR32w5bMotWizO92WPISZ06xcXqMwvS8aMb
** SIG ** 9Iu+2bNXizveBKd6IrIkri7HcMW+ToMmCPsLvalPmQjh
** SIG ** EChyqs0CAwEAAaOCAVcwggFTMAwGA1UdEwEB/wQCMAAw
** SIG ** FgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwDgYDVR0PAQH/
** SIG ** BAQDAgeAMHMGCCsGAQUFBwEBBGcwZTAqBggrBgEFBQcw
** SIG ** AYYeaHR0cDovL3RzLW9jc3Aud3Muc3ltYW50ZWMuY29t
** SIG ** MDcGCCsGAQUFBzAChitodHRwOi8vdHMtYWlhLndzLnN5
** SIG ** bWFudGVjLmNvbS90c3MtY2EtZzIuY2VyMDwGA1UdHwQ1
** SIG ** MDMwMaAvoC2GK2h0dHA6Ly90cy1jcmwud3Muc3ltYW50
** SIG ** ZWMuY29tL3Rzcy1jYS1nMi5jcmwwKAYDVR0RBCEwH6Qd
** SIG ** MBsxGTAXBgNVBAMTEFRpbWVTdGFtcC0yMDQ4LTIwHQYD
** SIG ** VR0OBBYEFEbGaaMOShQe1UzaUmMXP142vA3mMB8GA1Ud
** SIG ** IwQYMBaAFF+a9W5czMx0mtTdfe8/2+xMgC7dMA0GCSqG
** SIG ** SIb3DQEBBQUAA4IBAQB4O7SRKgBM8I9iMDd4o4QnB28Y
** SIG ** st4l3KDUlAOqhk4ln5pAAxzdzuN5yyFoBtq2MrRtv/Qs
** SIG ** JmMz5ElkbQ3mw2cO9wWkNWx8iRbG6bLfsundIMZxD82V
** SIG ** dNy2XN69Nx9DeOZ4tc0oBCCjqvFLxIgpkQ6A0RH83Vx2
** SIG ** bk9eDkVGQW4NsOo4mrE62glxEPwcebSAe6xp9P2ctgwW
** SIG ** K/F/Wwk9m1viFsoTgW0ALjgNqCmPLOGy9FqpAa8VnCwv
** SIG ** SRvbIrvD/niUUcOGsYKIXfA9tFGheTMrLnu53CAJE3Hr
** SIG ** ahlbz+ilMFcsiUk/uc9/yb8+ImhjU5q9aXSsxR08f5Lg
** SIG ** w7wc2AR1MIIFejCCBGKgAwIBAgIQQIeLZ2eQpZcEKJ6U
** SIG ** AwIaGzANBgkqhkiG9w0BAQUFADCBtDELMAkGA1UEBhMC
** SIG ** VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYD
** SIG ** VQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYD
** SIG ** VQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cu
** SIG ** dmVyaXNpZ24uY29tL3JwYSAoYykxMDEuMCwGA1UEAxMl
** SIG ** VmVyaVNpZ24gQ2xhc3MgMyBDb2RlIFNpZ25pbmcgMjAx
** SIG ** MCBDQTAeFw0xMjA5MjYwMDAwMDBaFw0xNTEwMTEyMzU5
** SIG ** NTlaMIG9MQswCQYDVQQGEwJTSTERMA8GA1UECBMIU2xv
** SIG ** dmVuaWExDzANBgNVBAcTBkthbW5pazEWMBQGA1UEChQN
** SIG ** QW1lYmlzIGQuby5vLjE+MDwGA1UECxM1RGlnaXRhbCBJ
** SIG ** RCBDbGFzcyAzIC0gTWljcm9zb2Z0IFNvZnR3YXJlIFZh
** SIG ** bGlkYXRpb24gdjIxGjAYBgNVBAsUEXByb2dyYW1za2Eg
** SIG ** b3ByZW1hMRYwFAYDVQQDFA1BbWViaXMgZC5vLm8uMIIB
** SIG ** IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9QZF
** SIG ** QzscW51y/Ermb72+gkWUJ6ExfOS1UHvNAcefWdFm4yVX
** SIG ** wqi8TRT+P5czX+UjKbh77d00CxODQK7rdLb8+EgKybFT
** SIG ** /bVfT2y8RMtEdG0qI84ZSwh2POazD0PyiHb9XORN2yKH
** SIG ** ykqLiO+6cJvZXjfNpGqf/LxkXVJvyxaemN1XTR91ohhc
** SIG ** 97bNyGCP0M8PNKRZ6Hr5uKlZyr7QLYoYAkaENYdXHrOc
** SIG ** l5CmBAIL56Ngc8vIlLF2lLPmDYf1qWrPpJyXfj7p3iUf
** SIG ** AewtEpbC5FfhCaeHwgg41NfxhRWCXEBTewLHQJtpSo2k
** SIG ** mwv5Q1ZuWMDUjPeuHZ3F/ofBoJTE4wIDAQABo4IBezCC
** SIG ** AXcwCQYDVR0TBAIwADAOBgNVHQ8BAf8EBAMCB4AwQAYD
** SIG ** VR0fBDkwNzA1oDOgMYYvaHR0cDovL2NzYzMtMjAxMC1j
** SIG ** cmwudmVyaXNpZ24uY29tL0NTQzMtMjAxMC5jcmwwRAYD
** SIG ** VR0gBD0wOzA5BgtghkgBhvhFAQcXAzAqMCgGCCsGAQUF
** SIG ** BwIBFhxodHRwczovL3d3dy52ZXJpc2lnbi5jb20vcnBh
** SIG ** MBMGA1UdJQQMMAoGCCsGAQUFBwMDMHEGCCsGAQUFBwEB
** SIG ** BGUwYzAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AudmVy
** SIG ** aXNpZ24uY29tMDsGCCsGAQUFBzAChi9odHRwOi8vY3Nj
** SIG ** My0yMDEwLWFpYS52ZXJpc2lnbi5jb20vQ1NDMy0yMDEw
** SIG ** LmNlcjAfBgNVHSMEGDAWgBTPmanqeyb0S8mOj9fwBSbv
** SIG ** 49KnnTARBglghkgBhvhCAQEEBAMCBBAwFgYKKwYBBAGC
** SIG ** NwIBGwQIMAYBAQABAf8wDQYJKoZIhvcNAQEFBQADggEB
** SIG ** AOMOvRZGpbGuLiIAaqp22r2WAOzxinLpe0O/pJCmBoU0
** SIG ** lK/Es/Jyc4Y90QyvvhoSVKoZ2hMQ2Y6N7oSkhHjKo/n8
** SIG ** WIQwNvaqZu4JpO9IgH1WkfqJWnpVcaVGPA0uHhuDhPe9
** SIG ** gH6Z6I3HC5GL7sc+z4n0kzy1f3AyD+DihQhD0J/i/sgF
** SIG ** iEaFmwwlJHMv6b4xmERMff050y15k875cdRpeFvSjHko
** SIG ** IUbY2bfPlnvhWd/4eidkT3KY5Lpm4cqUO20166p2Cjxf
** SIG ** i9kEGuDPYEYiX94hQmjWwZfIYxdYdD9f+gVcyPpiMspq
** SIG ** n5QwKHOenweisG6BwXs4H5q45SLx1oJ9PUQwggYKMIIE
** SIG ** 8qADAgECAhBSAOWqJVb8GobtlsnUSzPHMA0GCSqGSIb3
** SIG ** DQEBBQUAMIHKMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO
** SIG ** VmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWdu
** SIG ** IFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAyMDA2
** SIG ** IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQg
** SIG ** dXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNz
** SIG ** IDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlvbiBB
** SIG ** dXRob3JpdHkgLSBHNTAeFw0xMDAyMDgwMDAwMDBaFw0y
** SIG ** MDAyMDcyMzU5NTlaMIG0MQswCQYDVQQGEwJVUzEXMBUG
** SIG ** A1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZl
** SIG ** cmlTaWduIFRydXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRl
** SIG ** cm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2ln
** SIG ** bi5jb20vcnBhIChjKTEwMS4wLAYDVQQDEyVWZXJpU2ln
** SIG ** biBDbGFzcyAzIENvZGUgU2lnbmluZyAyMDEwIENBMIIB
** SIG ** IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9SNL
** SIG ** XqXXirsy6dRX9+/kxyZ+rRmY/qidfZT2NmsQ13WBMH8E
** SIG ** aH/LK3UezR0IjN9plKc3o5x7gOCZ4e43TV/OOxTuhtTQ
** SIG ** 9Sc1vCULOKeMY50Xowilq7D7zWpigkzVIdob2fHjhDuK
** SIG ** Kk+FW5ABT8mndhB/JwN8vq5+fcHd+QW8G0icaefApDw8
** SIG ** QQA+35blxeSUcdZVAccAJkpAPLWhJqkMp22AjpAle8+/
** SIG ** PxzrL5b65Yd3xrVWsno7VDBTG99iNP8e0fRakyiF5UwX
** SIG ** Tn5b/aSTmX/fze+kde/vFfZH5/gZctguNBqmtKdMfr27
** SIG ** Tww9V/Ew1qY2jtaAdtcZLqXNfjQtiQIDAQABo4IB/jCC
** SIG ** AfowEgYDVR0TAQH/BAgwBgEB/wIBADBwBgNVHSAEaTBn
** SIG ** MGUGC2CGSAGG+EUBBxcDMFYwKAYIKwYBBQUHAgEWHGh0
** SIG ** dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9jcHMwKgYIKwYB
** SIG ** BQUHAgIwHhocaHR0cHM6Ly93d3cudmVyaXNpZ24uY29t
** SIG ** L3JwYTAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwE
** SIG ** YTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEwHzAHBgUr
** SIG ** DgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0
** SIG ** cDovL2xvZ28udmVyaXNpZ24uY29tL3ZzbG9nby5naWYw
** SIG ** NAYDVR0fBC0wKzApoCegJYYjaHR0cDovL2NybC52ZXJp
** SIG ** c2lnbi5jb20vcGNhMy1nNS5jcmwwNAYIKwYBBQUHAQEE
** SIG ** KDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC52ZXJp
** SIG ** c2lnbi5jb20wHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsG
** SIG ** AQUFBwMDMCgGA1UdEQQhMB+kHTAbMRkwFwYDVQQDExBW
** SIG ** ZXJpU2lnbk1QS0ktMi04MB0GA1UdDgQWBBTPmanqeyb0
** SIG ** S8mOj9fwBSbv49KnnTAfBgNVHSMEGDAWgBR/02Wnwt3s
** SIG ** u/AwCfNDOfoCrzMxMzANBgkqhkiG9w0BAQUFAAOCAQEA
** SIG ** ViLmNKTEYctIuQGtVqhkD9mMkcS7zAzlrXqgIn/fRzhK
** SIG ** LWzRf3EafOxwqbHwT+QPDFP6FV7+dJhJJIWBJhyRFEew
** SIG ** TGOMu6E01MZF6A2FJnMD0KmMZG3ccZLmRQVgFVlROfxY
** SIG ** FGv+1KTteWsIDEFy5zciBgm+I+k/RJoe6WGdzLGQXPw9
** SIG ** 0o2sQj1lNtS0PUAoj5sQzyMmzEsgy5AfXYxMNMo82OU3
** SIG ** 1m+lIL006ybZrg3nxZr3obQhkTNvhuhYuyV8dA5Y/nUb
** SIG ** Yz/OMXybjxuWnsVTdoRbnK2R+qztk7pdyCFTwoJTY68S
** SIG ** DVCHERs9VFKWiiycPZIaCJoFLseTpUiR0zGCBHIwggRu
** SIG ** AgEBMIHJMIG0MQswCQYDVQQGEwJVUzEXMBUGA1UEChMO
** SIG ** VmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWdu
** SIG ** IFRydXN0IE5ldHdvcmsxOzA5BgNVBAsTMlRlcm1zIG9m
** SIG ** IHVzZSBhdCBodHRwczovL3d3dy52ZXJpc2lnbi5jb20v
** SIG ** cnBhIChjKTEwMS4wLAYDVQQDEyVWZXJpU2lnbiBDbGFz
** SIG ** cyAzIENvZGUgU2lnbmluZyAyMDEwIENBAhBAh4tnZ5Cl
** SIG ** lwQonpQDAhobMAkGBSsOAwIaBQCgcDAQBgorBgEEAYI3
** SIG ** AgEMMQIwADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGCNwIB
** SIG ** BDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIBFTAj
** SIG ** BgkqhkiG9w0BCQQxFgQUo0XIWEliS73GY2JUwO4mY7Vo
** SIG ** A8MwDQYJKoZIhvcNAQEBBQAEggEAE9VEPAaBwp2sFl8I
** SIG ** K/xN2uQFkV70yEWp6yL2vqUC4RXVKL03gNIdjAo2nSD5
** SIG ** /hGnPJfgohxkXYwX856kUpaqBuQg9ipHBdED9VVFvOZt
** SIG ** WbyGa0YKlXMeGmh8tMXbDB2iPxdYpi8/yd94hhH3AOuP
** SIG ** dtp+VIxj9NyXvgVXsZgZxOATw8Lp0tDKu0l8bKUJI3aB
** SIG ** K7kwGqwBpeFRTLxvAKvHVUBB3yh13WSZPJRdLSr3xWZB
** SIG ** Hd9Lgd82tcKQtLtOR+qD9Yiy52EBvztc8KuafJg7zme2
** SIG ** wLjAMqgNqJGJaQBpCckUUwqj0yq6b6jDU0SoXwtpGhBv
** SIG ** UI2hMesTx2W1wNVsP6GCAgswggIHBgkqhkiG9w0BCQYx
** SIG ** ggH4MIIB9AIBATByMF4xCzAJBgNVBAYTAlVTMR0wGwYD
** SIG ** VQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEwMC4GA1UE
** SIG ** AxMnU3ltYW50ZWMgVGltZSBTdGFtcGluZyBTZXJ2aWNl
** SIG ** cyBDQSAtIEcyAhAOz/Q4yP6/NW4E2GqYGxpQMAkGBSsO
** SIG ** AwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcB
** SIG ** MBwGCSqGSIb3DQEJBTEPFw0xNTAyMjUwODA3NTZaMCMG
** SIG ** CSqGSIb3DQEJBDEWBBSrTeWj/s+8idpt/o21ULaKmPhi
** SIG ** jDANBgkqhkiG9w0BAQEFAASCAQChWhzPUW+SFZWpvasx
** SIG ** s9OtZB+VWXTTA1pCx9m/JkEon9B+kakUVF+X8TyolR2H
** SIG ** YS7Z4k2NNnHg8SW3jOU8+gvbcZBnx/5c6c6N4VWCsg89
** SIG ** BofJ8kMU82zS/bQFQLs/OG82cjgJu52N0T2zGsc5V2LY
** SIG ** e915NPlBo2SdI4VkBimXfgyBeUPom07bqRgM47o4NRiF
** SIG ** DWtEsYzuG9IrwRp/LJcH+lQfh5mFbJ0f895/7Oj9ifG3
** SIG ** YB5XE3BtMfX3kB9skXxmZqQI/YDJdCaIPytWfbX6MKjg
** SIG ** tB2tsnV6MDtG8XvSEzQiLCzeSNvjs8+64Q7E4VS21Hvz
** SIG ** pXI1ABSnlaWUaAhA
</signature>
</package>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2016-2017 Amebis
Copyright © 2016-2021 Amebis
This file is part of ZRCola.
@@ -3973,218 +3973,4 @@
WScript.Quit(0);
]]></script>
</job>
<signature>
** SIG ** MIIbHwYJKoZIhvcNAQcCoIIbEDCCGwwCAQExCzAJBgUr
** SIG ** DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB
** SIG ** gjcCAR4wJAIBAQQQcAVhGs441BGiowAQS9NQkAIBAAIB
** SIG ** AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFFs8OhUsPi8R
** SIG ** iJN1VrPQnCzD3uneoIIKLzCCBM4wggO2oAMCAQICEDB6
** SIG ** NnqqPmiBpvlPCMs7OWQwDQYJKoZIhvcNAQELBQAwfzEL
** SIG ** MAkGA1UEBhMCVVMxHTAbBgNVBAoTFFN5bWFudGVjIENv
** SIG ** cnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBUcnVz
** SIG ** dCBOZXR3b3JrMTAwLgYDVQQDEydTeW1hbnRlYyBDbGFz
** SIG ** cyAzIFNIQTI1NiBDb2RlIFNpZ25pbmcgQ0EwHhcNMTUx
** SIG ** MDA5MDAwMDAwWhcNMTgxMTA3MjM1OTU5WjBhMQswCQYD
** SIG ** VQQGEwJTSTERMA8GA1UECBMIU2xvdmVuaWExDzANBgNV
** SIG ** BAcTBkthbW5pazEWMBQGA1UEChQNQW1lYmlzIGQuby5v
** SIG ** LjEWMBQGA1UEAxQNQW1lYmlzIGQuby5vLjCCASIwDQYJ
** SIG ** KoZIhvcNAQEBBQADggEPADCCAQoCggEBAJfy6Bdwx2kq
** SIG ** yGhtaYAZgcA8pWLe7EbyLqBHRq/8jIVfUX1CH7fsbEz1
** SIG ** UDgIq74BvilG3BNyjJxh/lbiu2Pr2M0ad3WEy4p0kM9T
** SIG ** SmABC8k3Vc5pmJlNy1++uMpNwAbUmbGcD6Igsvk1xPWb
** SIG ** ApLoAdnO0KfTfzvRI40A0cGZVGt5y6GPemN6jT8JAp9O
** SIG ** KaWIqj3iF00c/FwS7ODZf2w/cMphLjUle+b86GyewVGE
** SIG ** MEVO5ZjS9ksEWBDWn9A6XYshSwbDWnx4xmIl0B4DcWVA
** SIG ** aY+zqEQzQbzEGC/izPDq44RiCtbhi+QqgQ/6fNXm3hbA
** SIG ** GVcYPYa4J5D1UMO+1NC2cPMCAwEAAaOCAWIwggFeMAkG
** SIG ** A1UdEwQCMAAwDgYDVR0PAQH/BAQDAgeAMCsGA1UdHwQk
** SIG ** MCIwIKAeoByGGmh0dHA6Ly9zdi5zeW1jYi5jb20vc3Yu
** SIG ** Y3JsMGYGA1UdIARfMF0wWwYLYIZIAYb4RQEHFwMwTDAj
** SIG ** BggrBgEFBQcCARYXaHR0cHM6Ly9kLnN5bWNiLmNvbS9j
** SIG ** cHMwJQYIKwYBBQUHAgIwGQwXaHR0cHM6Ly9kLnN5bWNi
** SIG ** LmNvbS9ycGEwEwYDVR0lBAwwCgYIKwYBBQUHAwMwVwYI
** SIG ** KwYBBQUHAQEESzBJMB8GCCsGAQUFBzABhhNodHRwOi8v
** SIG ** c3Yuc3ltY2QuY29tMCYGCCsGAQUFBzAChhpodHRwOi8v
** SIG ** c3Yuc3ltY2IuY29tL3N2LmNydDAfBgNVHSMEGDAWgBSW
** SIG ** O1PweTOXr32D7y4rzMq3hh5yZjAdBgNVHQ4EFgQU9we9
** SIG ** loCaLXTEfww9PSfd1JAKn8wwDQYJKoZIhvcNAQELBQAD
** SIG ** ggEBAIpxL0AvtcrbShLKgI7dmLn6WJbpdzkB9e2Cm1Mu
** SIG ** AAIiogLFF1n07l0VXZE+gqxGHB8ji2h33t+o1R8PLyyI
** SIG ** kdnMhHAd78HsqyZzabfmWuCP12TKBv77wiZkpbTo/Av+
** SIG ** z0SlpJRoMpzzXhyPPtHdby80bSu+4RXlewiDCH56aGE4
** SIG ** SSk0i8Xa9JJ/ozPKLX3Szdmg6J58XtDH/tq5K1/ABSCB
** SIG ** z6SF2Y9l9lRJpGXchSDYCPipSVUGP0WPQRTDNobSwCJD
** SIG ** XAz9UFcxWo4Rh8o/gvlLWUH+T3HhmLSRzXqt3JuqJo5x
** SIG ** H8s4vPzcGBZZFob8yRB98KD6ioFK2pjRRSw9FucwggVZ
** SIG ** MIIEQaADAgECAhA9eNf5dklgsmF99PAeyoYqMA0GCSqG
** SIG ** SIb3DQEBCwUAMIHKMQswCQYDVQQGEwJVUzEXMBUGA1UE
** SIG ** ChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlT
** SIG ** aWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAy
** SIG ** MDA2IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6
** SIG ** ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENs
** SIG ** YXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlv
** SIG ** biBBdXRob3JpdHkgLSBHNTAeFw0xMzEyMTAwMDAwMDBa
** SIG ** Fw0yMzEyMDkyMzU5NTlaMH8xCzAJBgNVBAYTAlVTMR0w
** SIG ** GwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0G
** SIG ** A1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEwMC4G
** SIG ** A1UEAxMnU3ltYW50ZWMgQ2xhc3MgMyBTSEEyNTYgQ29k
** SIG ** ZSBTaWduaW5nIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC
** SIG ** AQ8AMIIBCgKCAQEAl4MeABavLLHSCMTXaJNRYB5x9uJH
** SIG ** tNtYTSNiarS/WhtR96MNGHdou9g2qy8hUNqe8+dfJ04L
** SIG ** wpfICXCTqdpcDU6kDZGgtOwUzpFyVC7Oo9tE6VIbP0E8
** SIG ** ykrkqsDoOatTzCHQzM9/m+bCzFhqghXuPTbPHMWXBySO
** SIG ** 8Xu+MS09bty1mUKfS2GVXxxw7hd924vlYYl4x2gbrxF4
** SIG ** GpiuxFVHU9mzMtahDkZAxZeSitFTp5lbhTVX0+qTYmEg
** SIG ** CscwdyQRTWKDtrp7aIIx7mXK3/nVjbI13Iwrb2pyXGCE
** SIG ** nPIMlF7AVlIASMzT+KV93i/XE+Q4qITVRrgThsIbnepa
** SIG ** ON2b2wIDAQABo4IBgzCCAX8wLwYIKwYBBQUHAQEEIzAh
** SIG ** MB8GCCsGAQUFBzABhhNodHRwOi8vczIuc3ltY2IuY29t
** SIG ** MBIGA1UdEwEB/wQIMAYBAf8CAQAwbAYDVR0gBGUwYzBh
** SIG ** BgtghkgBhvhFAQcXAzBSMCYGCCsGAQUFBwIBFhpodHRw
** SIG ** Oi8vd3d3LnN5bWF1dGguY29tL2NwczAoBggrBgEFBQcC
** SIG ** AjAcGhpodHRwOi8vd3d3LnN5bWF1dGguY29tL3JwYTAw
** SIG ** BgNVHR8EKTAnMCWgI6Ahhh9odHRwOi8vczEuc3ltY2Iu
** SIG ** Y29tL3BjYTMtZzUuY3JsMB0GA1UdJQQWMBQGCCsGAQUF
** SIG ** BwMCBggrBgEFBQcDAzAOBgNVHQ8BAf8EBAMCAQYwKQYD
** SIG ** VR0RBCIwIKQeMBwxGjAYBgNVBAMTEVN5bWFudGVjUEtJ
** SIG ** LTEtNTY3MB0GA1UdDgQWBBSWO1PweTOXr32D7y4rzMq3
** SIG ** hh5yZjAfBgNVHSMEGDAWgBR/02Wnwt3su/AwCfNDOfoC
** SIG ** rzMxMzANBgkqhkiG9w0BAQsFAAOCAQEAE4UaHmmpN/eg
** SIG ** vaSvfh1hU/6djF4MpnUeeBcj3f3sGgNVOftxlcdlWqeO
** SIG ** MNJEWmHbcG/aIQXCLnO6SfHRk/5dyc1eA+CJnj90Htf3
** SIG ** OIup1s+7NS8zWKiSVtHITTuC5nmEFvwosLFH8x2iPu6H
** SIG ** 2aZ/pFalP62ELinefLyoqqM9BAHqupOiDlAiKRdMh+Q6
** SIG ** EV/WpCWJmwVrL7TJAUwnewusGQUioGAVP9rJ+01Mj/ty
** SIG ** Z3f9J5THujUOiEn+jf0or0oSvQ2zlwXeRAwV+jYrA9zB
** SIG ** UAHxoRFdFOXivSdLVL4rhF4PpsN0BQrvl8OJIrEfd/O9
** SIG ** zUPU8UypP7WLhK9k8tAUITGCEFwwghBYAgEBMIGTMH8x
** SIG ** CzAJBgNVBAYTAlVTMR0wGwYDVQQKExRTeW1hbnRlYyBD
** SIG ** b3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1
** SIG ** c3QgTmV0d29yazEwMC4GA1UEAxMnU3ltYW50ZWMgQ2xh
** SIG ** c3MgMyBTSEEyNTYgQ29kZSBTaWduaW5nIENBAhAwejZ6
** SIG ** qj5ogab5TwjLOzlkMAkGBSsOAwIaBQCgcDAQBgorBgEE
** SIG ** AYI3AgEMMQIwADAZBgkqhkiG9w0BCQMxDAYKKwYBBAGC
** SIG ** NwIBBDAcBgorBgEEAYI3AgELMQ4wDAYKKwYBBAGCNwIB
** SIG ** FTAjBgkqhkiG9w0BCQQxFgQU2eBWVkRbhnnHifFZIhKx
** SIG ** bEgmVv0wDQYJKoZIhvcNAQEBBQAEggEAk6gWLo+shFOF
** SIG ** dbjla3CfPVrklhzPvNkuqx9qUDQiJ5lKXW0xRi8gpd/T
** SIG ** biUQO14E7Fop2pzmlC1bE2F0BAgBHzeNr+k1kEajizKH
** SIG ** 6fOVRKrw7ntuPeom3yiSHDqcw8U+8QsqY9IHpwxq90do
** SIG ** 0fuU1MKvfsf/ga4suqPew5AXRzU7Fvhid4cYZKCSMf1x
** SIG ** UtWJh6pZCacKFmj9Vd2GOGXj3H2nR9ytYi/H3WjKBwdn
** SIG ** r0k+AMnC5GnPdrb1w26l740ndh+aPcZ9sLNc3pAlBKhJ
** SIG ** s9K9yVDafTzf3J7ycElkSwVpiETsx5yDwFWnjWMxYVn+
** SIG ** uVLD/l22/SuIuuGCEy2C/aGCDiswgg4nBgorBgEEAYI3
** SIG ** AwMBMYIOFzCCDhMGCSqGSIb3DQEHAqCCDgQwgg4AAgED
** SIG ** MQ0wCwYJYIZIAWUDBAIBMIH+BgsqhkiG9w0BCRABBKCB
** SIG ** 7gSB6zCB6AIBAQYLYIZIAYb4RQEHFwMwITAJBgUrDgMC
** SIG ** GgUABBRt9cmH/lzRtb1mRxSGk38J0Yz6OAIUTaVmB7fQ
** SIG ** bxZqRR2QkM+CJH/mCS4YDzIwMTcxMjIyMDkyMzE2WjAD
** SIG ** AgEeoIGGpIGDMIGAMQswCQYDVQQGEwJVUzEdMBsGA1UE
** SIG ** ChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsT
** SIG ** FlN5bWFudGVjIFRydXN0IE5ldHdvcmsxMTAvBgNVBAMT
** SIG ** KFN5bWFudGVjIFNIQTI1NiBUaW1lU3RhbXBpbmcgU2ln
** SIG ** bmVyIC0gRzKgggqLMIIFODCCBCCgAwIBAgIQewWx1Elo
** SIG ** UUT3yYnSnBmdEjANBgkqhkiG9w0BAQsFADCBvTELMAkG
** SIG ** A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMu
** SIG ** MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3Jr
** SIG ** MTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5j
** SIG ** LiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MTgwNgYD
** SIG ** VQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0
** SIG ** aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNjAxMTIwMDAw
** SIG ** MDBaFw0zMTAxMTEyMzU5NTlaMHcxCzAJBgNVBAYTAlVT
** SIG ** MR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEf
** SIG ** MB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEo
** SIG ** MCYGA1UEAxMfU3ltYW50ZWMgU0hBMjU2IFRpbWVTdGFt
** SIG ** cGluZyBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
** SIG ** AQoCggEBALtZnVlVT52Mcl0agaLrVfOwAa08cawyjwVr
** SIG ** hponADKXak3JZBRLKbvC2Sm5Luxjs+HPPwtWkPhiG37r
** SIG ** pgfi3n9ebUA41JEG50F8eRzLy60bv9iVkfPw7mz4rZY5
** SIG ** Ln/BJ7h4OcWEpe3tr4eOzo3HberSmLU6Hx45ncP0mqj0
** SIG ** hOHE0XxxxgYptD/kgw0mw3sIPk35CrczSf/KO9T1sptL
** SIG ** 4YiZGvXA6TMU1t/HgNuR7v68kldyd/TNqMz+CfWTN76V
** SIG ** iGrF3PSxS9TO6AmRX7WEeTWKeKwZMo8jwTJBG1kOqT6x
** SIG ** zPnWK++32OTVHW0ROpL2k8mc40juu1MO1DaXhnjFoTcC
** SIG ** AwEAAaOCAXcwggFzMA4GA1UdDwEB/wQEAwIBBjASBgNV
** SIG ** HRMBAf8ECDAGAQH/AgEAMGYGA1UdIARfMF0wWwYLYIZI
** SIG ** AYb4RQEHFwMwTDAjBggrBgEFBQcCARYXaHR0cHM6Ly9k
** SIG ** LnN5bWNiLmNvbS9jcHMwJQYIKwYBBQUHAgIwGRoXaHR0
** SIG ** cHM6Ly9kLnN5bWNiLmNvbS9ycGEwLgYIKwYBBQUHAQEE
** SIG ** IjAgMB4GCCsGAQUFBzABhhJodHRwOi8vcy5zeW1jZC5j
** SIG ** b20wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL3Muc3lt
** SIG ** Y2IuY29tL3VuaXZlcnNhbC1yb290LmNybDATBgNVHSUE
** SIG ** DDAKBggrBgEFBQcDCDAoBgNVHREEITAfpB0wGzEZMBcG
** SIG ** A1UEAxMQVGltZVN0YW1wLTIwNDgtMzAdBgNVHQ4EFgQU
** SIG ** r2PWyqNOhXLgp7xB8ymiOH+AdWIwHwYDVR0jBBgwFoAU
** SIG ** tnf6aUhHn1MS1cLqBzJ2B9GXBxkwDQYJKoZIhvcNAQEL
** SIG ** BQADggEBAHXqsC3VNBlcMkX+DuHUT6Z4wW/X6t3cT/Oh
** SIG ** yIGI96ePFeZAKa3mXfSi2VZkhHEwKt0eYRdmIFYGmBmN
** SIG ** XXHy+Je8Cf0ckUfJ4uiNA/vMkC/WCmxOM+zWtJPITJBj
** SIG ** SDlAIcTd1m6JmDy1mJfoqQa3CcmPU1dBkC/hHk1O3MoQ
** SIG ** eGxCbvC2xfhhXFL1TvZrjfdKer7zzf0D19n2A6gP41P3
** SIG ** CnXsxnUuqmaFBJm3+AZX4cYO9uiv2uybGB+queM6AL/O
** SIG ** ipTLAduexzi7D1Kr0eOUA2AKTaD+J20UMvw/l0Dhv5mJ
** SIG ** 2+Q5FL3a5NPD6itas5VYVQR9x5rsIwONhSrS/66pYYEw
** SIG ** ggVLMIIEM6ADAgECAhBUWPKq10HWRLyEqXugllLmMA0G
** SIG ** CSqGSIb3DQEBCwUAMHcxCzAJBgNVBAYTAlVTMR0wGwYD
** SIG ** VQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UE
** SIG ** CxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29yazEoMCYGA1UE
** SIG ** AxMfU3ltYW50ZWMgU0hBMjU2IFRpbWVTdGFtcGluZyBD
** SIG ** QTAeFw0xNzAxMDIwMDAwMDBaFw0yODA0MDEyMzU5NTla
** SIG ** MIGAMQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50
** SIG ** ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlN5bWFudGVj
** SIG ** IFRydXN0IE5ldHdvcmsxMTAvBgNVBAMTKFN5bWFudGVj
** SIG ** IFNIQTI1NiBUaW1lU3RhbXBpbmcgU2lnbmVyIC0gRzIw
** SIG ** ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCZ
** SIG ** 8/zYBAkDhvnXXKaTwEJ86nxjz10A4o7zwJDfjyn1GOqU
** SIG ** t5Ll17Cgc4Ho6QqbSnwB/52PpDmnDupF9CIMOnDtOUWL
** SIG ** 5MUbXPBFaEYkBWN2mxz8nmwqsVblin9Sca7yNdVGIwYc
** SIG ** z0gtHbTNuNl2I44c/z6/uwZcaQemZQ74Xq59Lu1NrjXv
** SIG ** ydcAQv0olQ6fXXJCCbzD2kTS7cxHhOT8yi2sWL6u967Z
** SIG ** RA0It8J31hpDcNFuA95SksQQCHHZuiJV8h+87ZudO+Je
** SIG ** HUyD/5cPewvnVYNO0g3rvtfsrm5HuZ/fpdZRvARV7f8n
** SIG ** cEzJ7SpLE+GxuUwPyQHuVWVfaQJ4Zss/AgMBAAGjggHH
** SIG ** MIIBwzAMBgNVHRMBAf8EAjAAMGYGA1UdIARfMF0wWwYL
** SIG ** YIZIAYb4RQEHFwMwTDAjBggrBgEFBQcCARYXaHR0cHM6
** SIG ** Ly9kLnN5bWNiLmNvbS9jcHMwJQYIKwYBBQUHAgIwGRoX
** SIG ** aHR0cHM6Ly9kLnN5bWNiLmNvbS9ycGEwQAYDVR0fBDkw
** SIG ** NzA1oDOgMYYvaHR0cDovL3RzLWNybC53cy5zeW1hbnRl
** SIG ** Yy5jb20vc2hhMjU2LXRzcy1jYS5jcmwwFgYDVR0lAQH/
** SIG ** BAwwCgYIKwYBBQUHAwgwDgYDVR0PAQH/BAQDAgeAMHcG
** SIG ** CCsGAQUFBwEBBGswaTAqBggrBgEFBQcwAYYeaHR0cDov
** SIG ** L3RzLW9jc3Aud3Muc3ltYW50ZWMuY29tMDsGCCsGAQUF
** SIG ** BzAChi9odHRwOi8vdHMtYWlhLndzLnN5bWFudGVjLmNv
** SIG ** bS9zaGEyNTYtdHNzLWNhLmNlcjAoBgNVHREEITAfpB0w
** SIG ** GzEZMBcGA1UEAxMQVGltZVN0YW1wLTIwNDgtNTAdBgNV
** SIG ** HQ4EFgQUCbXB/pZylylDmsngArqu+P0vuvYwHwYDVR0j
** SIG ** BBgwFoAUr2PWyqNOhXLgp7xB8ymiOH+AdWIwDQYJKoZI
** SIG ** hvcNAQELBQADggEBABezCojpXFpeIGs7ChWybMWpijKH
** SIG ** 07H0HFOuhb4/m//XvLeUhbTHUn6U6L3tYbLUp5nkw8mT
** SIG ** wTU9C+hoCl1WmL2xIjvRRHrXv/BtUTKK1SPfOAE39uJT
** SIG ** K3orEY+3TWx6MwMbfGsJlBe75NtY1CETZefs0SXKLHWa
** SIG ** nH/8ybsqaKvEfbTPo8lsp9nEAJyJCneR9E2i+zE7hm72
** SIG ** 5h9QA4abv8tCq+Z2m3JaEQGKxu+lb5Xn3a665iJl8BhZ
** SIG ** GxHJzYC32JdHH0II+KxxH7BGU7PUstWjq1B1SBIXgq3P
** SIG ** 4EFPMn7NlRy/kYoIPaSnZwKW3yRMpdBBwIJgo4oXMkvT
** SIG ** vM+ktIwxggJaMIICVgIBATCBizB3MQswCQYDVQQGEwJV
** SIG ** UzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24x
** SIG ** HzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsx
** SIG ** KDAmBgNVBAMTH1N5bWFudGVjIFNIQTI1NiBUaW1lU3Rh
** SIG ** bXBpbmcgQ0ECEFRY8qrXQdZEvISpe6CWUuYwCwYJYIZI
** SIG ** AWUDBAIBoIGkMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0B
** SIG ** CRABBDAcBgkqhkiG9w0BCQUxDxcNMTcxMjIyMDkyMzE2
** SIG ** WjAvBgkqhkiG9w0BCQQxIgQgh6iyk0Har2MEw9zXTWSm
** SIG ** UOWAoxD7/AdxP04ivLw8slIwNwYLKoZIhvcNAQkQAi8x
** SIG ** KDAmMCQwIgQgz3rBetBH7NX9w2giAxsS1O8Hi28rTF5r
** SIG ** pB+P8s9LrWcwCwYJKoZIhvcNAQEBBIIBAB8Cmh1gdqFS
** SIG ** fcBY06p1vqBjMZ2KB0Bcp5shE0u9I/ec/y+nEoPwEeoz
** SIG ** /1LMWUCG/NEVu9oNotl7gpotBrhjI099+/nBMBvXDfAe
** SIG ** OnKR2mRtq8+GTkhbeJncFduzDfomOJHgzMwPqf/D1xrD
** SIG ** xjLrjOfcjcDqNctMCtGQ0moHR57Z3c1F6uBOLQaxPGrg
** SIG ** RpwMNsB64iBtiYavDUjfSYQALPO+p9tLpdJDlH0rvo0s
** SIG ** qtczy028q9iRnVVgXOKU3vKcKiq+xenfhE3OaIda29+e
** SIG ** Hc5Ao2yIebivZ1+kT/tj5ZYhrv1wDxqSHmK5XpiAkZiD
** SIG ** ii4KGN8WABXfV/wf52XoG30=
</signature>
</package>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2016-2018 Amebis
Copyright © 2016-2021 Amebis
This file is part of ZRCola.

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2016-2018 Amebis
Copyright © 2016-2021 Amebis
This file is part of ZRCola.

Binary file not shown.

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2016-2017 Amebis
Copyright © 2016-2021 Amebis
This file is part of ZRCola.
@@ -33,6 +33,7 @@
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
</ClCompile>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>

View File

@@ -1,10 +1,29 @@
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
ZRCola is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
ZRCola is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with ZRCola. If not, see <http://www.gnu.org/licenses/>.
*/
#include "version.h"
//
// Update server(s)
// Zero delimited list of update servers
//
#define UPDATER_HTTP_SERVER "www.amebis.si\0"
#define UPDATER_HTTP_SERVER "prenos.amebis.si\0"
//
// Update server port
@@ -14,4 +33,22 @@
//
// Update server catalog location
//
#define UPDATER_HTTP_PATH "/prenos/ZRCola/catalog-0000.xml"
#define UPDATER_HTTP_PATH "/ZRCola/catalog-0001.xml"
//
// Hash for publishing packages and signing catalog
//
#define wxUpdaterHashGen wxCryptoHashSHA256
//
// Hash for verifying catalog signature and packages
//
#define wxUpdaterHashChk wxCryptoHashSHA256
//
// When changing the hash algorithm:
//
// 1. Bump UPDATER_HTTP_PATH and set wxUpdaterHashChk to new hash class.
// 2. Publish the updated product using the old catalog and old wxUpdaterHashGen hash.
// 3. Set wxUpdaterHashGen to new hash class, update Makefile to publish future updates to the new catalog.
//

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2016-2017 Amebis
Copyright © 2016-2021 Amebis
This file is part of ZRCola.

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2016-2018 Amebis
Copyright © 2016-2021 Amebis
This file is part of ZRCola.
@@ -31,17 +31,20 @@
<IncludePath>$(WXWIN)\include\msvc;$(WXWIN)\include;$(IncludePath)</IncludePath>
<SourcePath>$(WXWIN)\src\aui;$(WXWIN)\src\cocoa;$(WXWIN)\src\common;$(WXWIN)\src\dfb;$(WXWIN)\src\expat;$(WXWIN)\src\generic;$(WXWIN)\src\gtk;$(WXWIN)\src\gtk1;$(WXWIN)\src\html;$(WXWIN)\src\jpeg;$(WXWIN)\src\motif;$(WXWIN)\src\msdos;$(WXWIN)\src\msw;$(WXWIN)\src\os2;$(WXWIN)\src\osx;$(WXWIN)\src\png;$(WXWIN)\src\propgrid;$(WXWIN)\src\regex;$(WXWIN)\src\ribbon;$(WXWIN)\src\richtext;$(WXWIN)\src\stc;$(WXWIN)\src\tiff;$(WXWIN)\src\univ;$(WXWIN)\src\unix;$(WXWIN)\src\x11;$(WXWIN)\src\xml;$(WXWIN)\src\xrc;$(WXWIN)\src\zlib;$(SourcePath)</SourcePath>
<LinkIncremental>false</LinkIncremental>
<RunCodeAnalysis>true</RunCodeAnalysis>
<CodeAnalysisRuleSet>NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<PreprocessorDefinitions>NTDDI_VERSION=NTDDI_WINXP;_WIN32_WINNT=_WIN32_WINNT_WINXP;wxMSVC_VERSION=$(PlatformToolsetVersion);_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NTDDI_VERSION=NTDDI_VISTA;_WIN32_WINNT=_WIN32_WINNT_VISTA;wxMSVC_VERSION=$(PlatformToolsetVersion);_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<StringPooling>true</StringPooling>
<DisableSpecificWarnings>4100;4505</DisableSpecificWarnings>
<SupportJustMyCode>false</SupportJustMyCode>
<EnablePREfast>true</EnablePREfast>
</ClCompile>
<Link>
<OptimizeReferences>true</OptimizeReferences>
@@ -49,7 +52,7 @@
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<ResourceCompile>
<PreprocessorDefinitions>WINVER=0x0501;_WIN32_WINNT=0x0501;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>WINVER=0x0600;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<POCompile>
<CheckAccel>Amperstand</CheckAccel>

View File

@@ -1,5 +1,5 @@
/*
Copyright 2015-2018 Amebis
/*
Copyright © 2015-2021 Amebis
This file is part of ZRCola.
@@ -23,7 +23,7 @@
// Product version as a single DWORD
// Note: Used for version comparison within C/C++ code.
//
#define PRODUCT_VERSION 0x02010200
#define PRODUCT_VERSION 0x02050100
//
// Product version by components
@@ -32,27 +32,27 @@
// separately.
//
#define PRODUCT_VERSION_MAJ 2
#define PRODUCT_VERSION_MIN 1
#define PRODUCT_VERSION_REV 2
#define PRODUCT_VERSION_MIN 5
#define PRODUCT_VERSION_REV 1
#define PRODUCT_VERSION_BUILD 0
//
// Human readable product version and build year for UI
//
#define PRODUCT_VERSION_STR "2.1.2"
#define PRODUCT_BUILD_YEAR_STR "2018"
#define PRODUCT_VERSION_STR "2.5.1"
#define PRODUCT_BUILD_YEAR_STR "2021"
//
// Numerical version presentation for ProductVersion propery in
// MSI packages (syntax: N.N[.N[.N]])
//
#define PRODUCT_VERSION_INST "2.1.2"
#define PRODUCT_VERSION_INST "2.5.1"
//
// The product code for ProductCode property in MSI packages
// Replace with new on every version change, regardless how minor it is.
//
#define PRODUCT_VERSION_GUID "{C51F698B-96A2-48D7-9CBB-F0E2134FD4DE}"
#define PRODUCT_VERSION_GUID "{A0B4DD52-8EDF-48D1-BC01-5055353E7DF8}"
//
// The product vendor and application name for configuration keeping.

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2016-2017 Amebis
Copyright © 2016-2021 Amebis
This file is part of ZRCola.

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 1991-2017 Amebis
Copyright © 1991-2021 Amebis
This file is part of ZRCola.

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 1991-2017 Amebis
Copyright © 1991-2021 Amebis
This file is part of ZRCola.

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 1991-2017 Amebis
Copyright © 1991-2021 Amebis
This file is part of ZRCola.

View File

@@ -31,7 +31,7 @@
<ClCompile Include="..\src\common.cpp" />
<ClCompile Include="..\src\language.cpp" />
<ClCompile Include="..\src\mapping.cpp" />
<ClCompile Include="..\src\stdafx.cpp">
<ClCompile Include="..\src\pch.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
@@ -48,31 +48,31 @@
<ClInclude Include="..\include\zrcola\language.h" />
<ClInclude Include="..\include\zrcola\tag.h" />
<ClInclude Include="..\include\zrcola\translate.h" />
<ClInclude Include="..\src\stdafx.h" />
<ClInclude Include="..\src\pch.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{3C61929E-7289-4101-8D0A-DA22D6E1AEA8}</ProjectGuid>
<RootNamespace>libZRCola</RootNamespace>
<WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
@@ -80,21 +80,21 @@
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v142</PlatformToolset>
<WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

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