diff --git a/All/All_Datalogics_64Bit.sln b/All/All_Datalogics_64Bit.sln index 4cb3b394..f0eb2384 100644 --- a/All/All_Datalogics_64Bit.sln +++ b/All/All_Datalogics_64Bit.sln @@ -165,6 +165,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AddDigitalSignatureCMS", ". EndProject Project("{1D787362-28C9-4460-9606-840F3B484350}") = "AddDigitalSignatureRFC3161", "..\Security\AddDigitalSignatureRFC3161\AddDigitalSignatureRFC3161.vcxproj", "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCRImage", "..\OCR\OCRImage\OCRImage.vcxproj", "{26B0DAAC-1B6E-4020-BEC0-D47DDBA263C6}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x64 = Debug|x64 @@ -491,6 +493,10 @@ Global {1D787362-28C9-4460-9606-840F3B484350}.Debug|x64.Build.0 = Debug|x64 {1D787362-28C9-4460-9606-840F3B484350}.Release|x64.ActiveCfg = Release|x64 {1D787362-28C9-4460-9606-840F3B484350}.Release|x64.Build.0 = Release|x64 + {26B0DAAC-1B6E-4020-BEC0-D47DDBA263C6}.Debug|x64.ActiveCfg = Debug|x64 + {26B0DAAC-1B6E-4020-BEC0-D47DDBA263C6}.Debug|x64.Build.0 = Debug|x64 + {26B0DAAC-1B6E-4020-BEC0-D47DDBA263C6}.Release|x64.ActiveCfg = Release|x64 + {26B0DAAC-1B6E-4020-BEC0-D47DDBA263C6}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/All/All_Datalogics_ARM64.sln b/All/All_Datalogics_ARM64.sln index 847ef7e7..266b3871 100644 --- a/All/All_Datalogics_ARM64.sln +++ b/All/All_Datalogics_ARM64.sln @@ -163,6 +163,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AddDigitalSignatureCMS", ". EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AddDigitalSignatureRFC3161", "..\Security\AddDigitalSignatureRFC3161\AddDigitalSignatureRFC3161.vcxproj", "{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCRImage", "..\OCR\OCRImage\OCRImage.vcxproj", "{CFABC1FE-3F70-47E9-A911-EA085E6D127A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM64 = Debug|ARM64 @@ -485,6 +487,10 @@ Global {1D787362-28C9-4460-9606-840F3B484350}.Debug|ARM64.Build.0 = Debug|ARM64 {1D787362-28C9-4460-9606-840F3B484350}.Release|ARM64.ActiveCfg = Release|ARM64 {1D787362-28C9-4460-9606-840F3B484350}.Release|ARM64.Build.0 = Release|ARM64 + {CFABC1FE-3F70-47E9-A911-EA085E6D127A}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {CFABC1FE-3F70-47E9-A911-EA085E6D127A}.Debug|ARM64.Build.0 = Debug|ARM64 + {CFABC1FE-3F70-47E9-A911-EA085E6D127A}.Release|ARM64.ActiveCfg = Release|ARM64 + {CFABC1FE-3F70-47E9-A911-EA085E6D127A}.Release|ARM64.Build.0 = Release|ARM64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/All/GNUmakefile b/All/GNUmakefile index e6c80aff..a7042398 100644 --- a/All/GNUmakefile +++ b/All/GNUmakefile @@ -78,6 +78,7 @@ SAMPLES = Annotations/CreateAnnotations \ Images/RenderPage \ InformationExtraction/CountColorsInDoc \ InformationExtraction/ExtractDocumentInfo \ + OCR/OCRImage \ Printing/PostScriptInjection \ Security/AddDigitalSignatureCMS \ Security/AddDigitalSignatureRFC3161 \ diff --git a/All/build_run_all.bat b/All/build_run_all.bat index 113f116d..6b649b0f 100644 --- a/All/build_run_all.bat +++ b/All/build_run_all.bat @@ -250,13 +250,14 @@ SET "DL_SAMPLE_LIST=%DL_SAMPLE_LIST% ContentExtraction\ExtractAttachments" SET "DL_SAMPLE_LIST=%DL_SAMPLE_LIST% ContentExtraction\ExtractFonts" SET "DL_SAMPLE_LIST=%DL_SAMPLE_LIST% InformationExtraction\CountColorsInDoc" SET "DL_SAMPLE_LIST=%DL_SAMPLE_LIST% InformationExtraction\ExtractDocumentInfo" +SET "DL_SAMPLE_LIST=%DL_SAMPLE_LIST% OCR\OCRImage" SET "DL_SAMPLE_LIST=%DL_SAMPLE_LIST% FileSystem\AlternateFileSystem" REM *** The total number of DL samples. This must be accurate! IF NOT "%ARCH%"=="ARM64" ( SET /A "NUM_DL_SAMPLES=73" ) ELSE ( - SET /A "NUM_DL_SAMPLES=74" + SET /A "NUM_DL_SAMPLES=75" ) diff --git a/All/build_run_all_mac.sh b/All/build_run_all_mac.sh index ecaeedfe..320ccee5 100755 --- a/All/build_run_all_mac.sh +++ b/All/build_run_all_mac.sh @@ -109,6 +109,7 @@ declare -a DL_SAMPLE_LIST=( \ "Images/OutputPreview" \ "InformationExtraction/CountColorsInDoc" \ "InformationExtraction/ExtractDocumentInfo" \ + "OCR/OCRImage" \ "Printing/PostScriptInjection" \ "Security/AESEncryption" \ "Security/AddDigitalSignatureCMS" \ diff --git a/All/run_all_DL_samples_mac.sh b/All/run_all_DL_samples_mac.sh index 0a08cbaf..4784e436 100755 --- a/All/run_all_DL_samples_mac.sh +++ b/All/run_all_DL_samples_mac.sh @@ -269,6 +269,13 @@ cd ../../InformationExtraction/ExtractDocumentInfo ./ExtractDocumentInfo-${stage}.app/Contents/MacOS/ExtractDocumentInfo-${stage} echo "" +# OCR + +echo Running sample OCRImage +cd ../../OCR/OCRImage +./OCRImage-${stage}.app/Contents/MacOS/OCRImage-${stage} +echo "" + # Printing echo Running sample PostScriptInjection diff --git a/OCR/OCRImage/Makefile b/OCR/OCRImage/Makefile new file mode 100644 index 00000000..abea3b2a --- /dev/null +++ b/OCR/OCRImage/Makefile @@ -0,0 +1,7 @@ +SAMPNAME=OCRImage +OTHER_OBJS = $(SAMPNAME).o + +include ../../dlutils/common.mak + +$(SAMPNAME).o: $(SRC)/$(SAMPNAME).cpp + diff --git a/OCR/OCRImage/OCRImage.cpp b/OCR/OCRImage/OCRImage.cpp new file mode 100644 index 00000000..f4bc917f --- /dev/null +++ b/OCR/OCRImage/OCRImage.cpp @@ -0,0 +1,110 @@ +// +// Copyright (c) 2017-2025, Datalogics, Inc. All rights reserved. +// +// +// The OCRImage sample demonstrates how the Library works to OCR an image. +// +// Command-line: (Optional) +// + +#include + +#include "ASExtraCalls.h" +#include "DLExtrasCalls.h" +#include "PSFCalls.h" +#include "PERCalls.h" +#include "PEWCalls.h" +#include "PagePDECntCalls.h" +#include "PagePDECntCalls.h" +#include "OCREngineCalls.h" + +#include "InitializeLibrary.h" +#include "APDFLDoc.h" + +#define DIR_LOC "../../../../Resources/Sample_Input/" +#define DEF_INPUT "OCRImage.png" +#define DEF_OUTPUT "OCRImage-out.pdf" + +int main(int argc, char **argv) { + APDFLib libInit; + ASErrorCode errCode = 0; + if (libInit.isValid() == false) { + errCode = libInit.getInitError(); + std::cout << "Initialization failed with code " << errCode << std::endl; + return libInit.getInitError(); + } + + std::string csInputFileName(argc > 1 ? argv[1] : DIR_LOC DEF_INPUT); + std::string csOutputFileName(argc > 2 ? argv[2] : DEF_OUTPUT); + std::cout << "Recognizing text in " << csInputFileName.c_str() << std::endl; + + ASPathName sInput = APDFLDoc::makePath(csInputFileName.c_str()); + ASPathName sOutput = APDFLDoc::makePath(csOutputFileName.c_str()); + + DURING + // Sets the correct location for the OCREngine function table. + gOCREngineHFT = InitOCREngineHFT; + + // Initialize the OCREngine plugin. + if (!OCREngineInitialize()) { + std::cout << "The OCREngine plugin failed to initialize." << std::endl; + errCode = -1; + } + + if (0 == errCode) { + // Create a PDEImage object to perform OCR on. + PDEImage image = DLCreatePDEImageFromFile(sInput, nullptr); + + // Set default OCR parameters. + OCRParamsRec ocrParams = PDOCRDefaultParams(); + + // Set languages to configure OCREngine with. + OCRLanguage newLanguages[] = {OCRLanguage_English, OCRLanguage_French, OCRLanguage_ChineseTraditional, + OCRLanguage_ChineseSimplified, OCRLanguage_Japanese}; + + ASInt32 numLanguages = sizeof(newLanguages) / sizeof(newLanguages[0]); + PDOCRParamsSetLanguagesConfigured(&ocrParams, newLanguages, numLanguages); + + // Create the destination document for the created form. + PDDoc doc = PDDocCreate(); + + ASFixedRect mediaBox = {}; + mediaBox.left = fixedZero; + mediaBox.right = FloatToASFixed(72.0 * 8.5); + mediaBox.bottom = fixedZero; + mediaBox.top = FloatToASFixed(72.0 * 11.0); + + PDPage page = PDDocCreatePage(doc, kPDEBeforeFirst, mediaBox); + + // Run OCR on the image to get Form element containing the image with text underneath. + PDEForm form = PDOCRCreateForm(&ocrParams, doc, image, 300, OCRMissingFontStrategy_Raise); + + // Put that form into the page in the destination document. + PDEContent content = PDPageAcquirePDEContent(page, 0); + PDEContentAddElem(content, PDEContentGetNumElems(content) - 1, (PDEElement)form); + PDPageSetPDEContent(page, 0); + + // Save the output. + PDDocSave(doc, PDSaveFull | PDSaveLinearized, sOutput, NULL, NULL, NULL); + + // Release resources. + PDPageReleasePDEContent(page, 0); + PDPageRelease(page); + PDDocClose(doc); + + PDERelease((PDEObject)form); + PDERelease(reinterpret_cast(image)); + ASFileSysReleasePath(NULL, sInput); + ASFileSysReleasePath(NULL, sOutput); + + // Release OCREngine resources and terminate the plugin. + PDOCRReleaseParams(&ocrParams); + OCREngineTerminate(); + } // if 0 == errCode + HANDLER + errCode = ERRORCODE; + libInit.displayError(errCode); + END_HANDLER + + return errCode; // APDFLib's destructor terminates the library. +} diff --git a/OCR/OCRImage/OCRImage.vcxproj b/OCR/OCRImage/OCRImage.vcxproj new file mode 100644 index 00000000..6e5bd686 --- /dev/null +++ b/OCR/OCRImage/OCRImage.vcxproj @@ -0,0 +1,246 @@ + + + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {26B0DAAC-1B6E-4020-BEC0-D47DDBA263C6} + Win32Proj + BlankSample + OCRImage + 10.0 + + + + Application + true + v142 + Unicode + + + Application + true + v142 + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v142 + true + Unicode + + + Application + false + v142 + true + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + + + true + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + + + true + $(Platform)\$(Configuration)\ + + + true + $(Platform)\$(Configuration)\ + + + false + $(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + + + false + $(Platform)\$(Configuration)\ + + + false + $(Platform)\$(Configuration)\ + + + + NotUsing + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;_CONSOLE;_DEBUG;DEBUG;_WIN32;WIN32;WIN_ENV;WIN_PLATFORM;PRODUCT="HFTLibrary.h";PI_ACROCOLOR_VERSION=AcroColorHFT_VERSION_6;%(PreprocessorDefinitions) + true + ..\..\..\Include\Headers;..\..\_Common;..\..\_Common;%(AdditionalIncludeDirectories) + + + + Console + true + ..\..\..\Binaries + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;DL180PDFL.lib;%(AdditionalDependencies) + DL180pdfl.dll + + + + + NotUsing + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;_CONSOLE;_DEBUG;DEBUG;_WIN64;WIN64;WIN_ENV;WIN_PLATFORM;PRODUCT="HFTLibrary.h";PI_ACROCOLOR_VERSION=AcroColorHFT_VERSION_6;%(PreprocessorDefinitions) + true + ..\..\..\Include\Headers;..\..\_Common;..\..\_Common;%(AdditionalIncludeDirectories) + + + + Console + true + ..\..\..\Binaries + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;DL180PDFL.lib;%(AdditionalDependencies) + DL180pdfl.dll + + + + + NotUsing + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;_CONSOLE;_DEBUG;DEBUG;_WIN64;WIN64;WIN_ENV;WIN_PLATFORM;PRODUCT="HFTLibrary.h";PI_ACROCOLOR_VERSION=AcroColorHFT_VERSION_6;%(PreprocessorDefinitions) + true + ..\..\..\Include\Headers;..\..\_Common;..\..\_Common;%(AdditionalIncludeDirectories) + + + + + Console + true + ..\..\..\Binaries + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;DL180PDFL.lib;%(AdditionalDependencies) + DL180pdfl.dll + + + + + NotUsing + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN32;WIN32;WIN_ENV;WIN_PLATFORM;PRODUCT="HFTLibrary.h";PI_ACROCOLOR_VERSION=AcroColorHFT_VERSION_6;%(PreprocessorDefinitions) + true + ..\..\..\Include\Headers;..\..\_Common;..\..\_Common;%(AdditionalIncludeDirectories) + + + + Console + true + ..\..\..\Binaries + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;DL180PDFL.lib;%(AdditionalDependencies) + DL180pdfl.dll + + + + + NotUsing + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN64;WIN64;WIN_ENV;WIN_PLATFORM;PRODUCT="HFTLibrary.h";PI_ACROCOLOR_VERSION=AcroColorHFT_VERSION_6;%(PreprocessorDefinitions) + true + ..\..\..\Include\Headers;..\..\_Common;..\..\_Common;%(AdditionalIncludeDirectories) + + + + Console + true + ..\..\..\Binaries + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;DL180PDFL.lib;%(AdditionalDependencies) + DL180pdfl.dll + + + + + NotUsing + Level3 + Disabled + _CRT_SECURE_NO_WARNINGS;_CONSOLE;WIN64;WIN64;WIN_ENV;WIN_PLATFORM;PRODUCT="HFTLibrary.h";PI_ACROCOLOR_VERSION=AcroColorHFT_VERSION_6;%(PreprocessorDefinitions) + true + ..\..\..\Include\Headers;..\..\_Common;..\..\_Common;%(AdditionalIncludeDirectories) + + + + + Console + true + ..\..\..\Binaries + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;DL180PDFL.lib;%(AdditionalDependencies) + DL180pdfl.dll + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCR/OCRImage/OCRImage_64Bit.sln b/OCR/OCRImage/OCRImage_64Bit.sln new file mode 100644 index 00000000..74f60855 --- /dev/null +++ b/OCR/OCRImage/OCRImage_64Bit.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.36414.22 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCRImage", "OCRImage.vcxproj", "{26B0DAAC-1B6E-4020-BEC0-D47DDBA263C6}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {26B0DAAC-1B6E-4020-BEC0-D47DDBA263C6}.Debug|x64.ActiveCfg = Debug|x64 + {26B0DAAC-1B6E-4020-BEC0-D47DDBA263C6}.Debug|x64.Build.0 = Debug|x64 + {26B0DAAC-1B6E-4020-BEC0-D47DDBA263C6}.Release|x64.ActiveCfg = Release|x64 + {26B0DAAC-1B6E-4020-BEC0-D47DDBA263C6}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {7FA1B031-C8CA-49FB-B2DD-1E089F917211} + EndGlobalSection +EndGlobal diff --git a/OCR/OCRImage/OCRImage_ARM64.sln b/OCR/OCRImage/OCRImage_ARM64.sln new file mode 100644 index 00000000..181d02f3 --- /dev/null +++ b/OCR/OCRImage/OCRImage_ARM64.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.14.36414.22 d17.14 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OCRImage_ARM64", "OCRImage.vcxproj", "{CFABC1FE-3F70-47E9-A911-EA085E6D127A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM64 = Debug|ARM64 + Release|ARM64 = Release|ARM64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CFABC1FE-3F70-47E9-A911-EA085E6D127A}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {CFABC1FE-3F70-47E9-A911-EA085E6D127A}.Debug|ARM64.Build.0 = Debug|ARM64 + {CFABC1FE-3F70-47E9-A911-EA085E6D127A}.Release|ARM64.ActiveCfg = Release|ARM64 + {CFABC1FE-3F70-47E9-A911-EA085E6D127A}.Release|ARM64.Build.0 = Release|ARM64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {BAB73C82-51E9-4B70-956D-875079420EC4} + EndGlobalSection +EndGlobal diff --git a/OCR/README.md b/OCR/README.md new file mode 100644 index 00000000..f247cbf2 --- /dev/null +++ b/OCR/README.md @@ -0,0 +1,2 @@ +## ***OCRImage*** +Recognized text within an image using Optical Character Recognition. diff --git a/_Input/OCRImage.png b/_Input/OCRImage.png new file mode 100644 index 00000000..91cba514 Binary files /dev/null and b/_Input/OCRImage.png differ diff --git a/conanfile.py b/conanfile.py index e0bdcfe5..d4f5e829 100644 --- a/conanfile.py +++ b/conanfile.py @@ -57,6 +57,10 @@ def copy_apdfl(self, destination): if self.settings.os != "Windows": copy(self, "*", src=forms_ext_lib, dst=destination) + tessdata_path = os.path.join(apdfl_pkg.cpp_info.bindir, "tessdata4") + if os.path.isdir(tessdata_path): + copy(self, "*", src=tessdata_path, dst=os.path.join(destination, "tessdata4"), keep_path=True) + def _imports(self): pdfl_pkg_inc = os.path.join(self.dependencies["adobe_pdf_library"].package_folder, 'include') pdfl_pkg_src = os.path.join(self.dependencies["adobe_pdf_library"].package_folder, 'src') diff --git a/dlproject.yaml b/dlproject.yaml index 04d35482..d60bf5ea 100644 --- a/dlproject.yaml +++ b/dlproject.yaml @@ -56,7 +56,7 @@ config: config: Release: profile_host: - - gcc-10-aix72-64-cppstd-14 + - gcc-10-aix72-64-cppstd-17 profile_build: - gcc-10-aix72-64-cppstd-17 options_host: @@ -89,7 +89,7 @@ config: config: Release: profile_host: - - clang-18-linux-x86_64-cppstd-14 + - clang-18-linux-x86_64-cppstd-17 profile_build: - clang-18-linux-x86_64-cppstd-17 build: missing @@ -110,7 +110,7 @@ config: config: Release: profile_host: - - clang-18-linux-armv8-cppstd-14 + - clang-18-linux-armv8-cppstd-17 profile_build: - clang-18-linux-armv8-cppstd-17 build: missing @@ -124,7 +124,7 @@ config: config: Release: profile_host: - - msvc-x64-194-cppstd-14 + - msvc-x64-194-cppstd-17 profile_build: - msvc-x64-194-cppstd-17 settings_host: @@ -140,7 +140,7 @@ config: - '*:license_managed=True' Release32: profile_host: - - msvc-x86-194-cppstd-14 + - msvc-x86-194-cppstd-17 profile_build: - msvc-x86-194-cppstd-17 build: @@ -160,9 +160,14 @@ config: config: Release: profile_host: - - msvc-arm64-193-cppstd-14 + - msvc-arm64-193-cppstd-17 profile_build: - msvc-arm64-193-cppstd-17 + settings_build: + - msys2/*:arch=x86_64 + - strawberryperl/*:arch=x86_64 + - xapian-core/*:arch=x86_64 + - zlib/*:arch=x86_64 settings_host: - adobe_pdf_library/*:build_type=RelWithDebInfo - adobe_pdf_library/*:compiler.runtime=static