> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ABBYY FRE for Windows vs. macOS

> Differences between ABBYY FineReader Engine 12 for Windows and macOS — features, API, and platform-specific limitations.

Here you can find the list of differences between ABBYY FineReader Engine 12 for Windows and ABBYY FineReader Engine 12 for macOS.

## Differences

* While the ABBYY FineReader Engine for Windows API conforms to the COM standard and can be used in any development tool supporting COM, the macOS version provides only C/C++ native API and a Java wrapper, so your application needs to be written in C/C++ or Java.
* You need to work with [string properties](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties) using FREngineAllocString and FREngineFreeString functions instead of SysAllocString or SysFreeString.
* When loading ABBYY FineReader Engine as an out-of-process server, you must pass NULL for parameters derived from IUnknown. These parameters are commonly used in export methods. To pass the export parameters in an alternative way, create a [user profile](/fine-reader/engine/guided-tour/advanced-techniques/working-with-profiles#user_profiles) with the desired settings.
* Distribution packages for Windows and macOS platforms are different. See details in [ABBYY FineReader Engine Distribution Kit](/fine-reader/engine/distribution/distribution-windows/distribution-kit).
* [Default fonts used for synthesis](/fine-reader/engine/api-reference/enumerations/fontnamesfiltersenum) are different. They are selected from macOS system font set.
* [IMultiProcessingParams::UseOnlyPhysicalCPUCores](/fine-reader/engine/api-reference/parameter-objects/multiprocessingparams#useonlyphysicalcpucores) property value is ignored.
* The [IEngine::OpenImageFileFromMemory](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/openimagefilefrommemory-method), [IFRDocument::AddImageFileFromMemory](/fine-reader/engine/api-reference/document-related-objects/frdocument/addimagefilefrommemory-method) methods receive two parameters instead of one HGLOBAL handle — a pointer to the memory block and an \_\_int64 variable equal to image size.
* The methods working with memory image formats (Raw, Bitmap, DIB) are not implemented: [IImage::EstimateBitmapSize](/fine-reader/engine/api-reference/image-related-objects/image/estimatebitmapsize-method), [IImage::GetBitmap](/fine-reader/engine/api-reference/image-related-objects/image/getbitmap-method), [IEngine::OpenBitmap](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/openbitmap-method), [IEngine::OpenBitmapBits](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/openbitmapbits-method), [IEngine::OpenDib](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/opendib-method) [IEngine::PrepareBitmap](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/preparebitmap-method), [IEngine::PrepareBitmapBits](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/preparebitmap-method), [IEngine::PrepareDib](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/preparedib-method), [ITrainingImage::SetBitmapBits](/fine-reader/engine/api-reference/image-related-objects/trainingimage/setbitmapbits-method).

## Unsupported functionality

The following functionality is not supported:

* IEngine::ParentWindow, IEngine::ApplicationTitle
* IEngineLoader, InprocLoader, OutprocLoader, IHostProcessControl
* WDP, WIC, DjVu input image formats (IFF\_WdpBw, IFF\_WdpGray, IFF\_WdpColor, IFF\_Wic, IFF\_DjVuBw, IFF\_DjVuGray, IFF\_DjVuColor in the ImageFileFormatEnum enumeration)
* Methods for saving into memory and loading from memory which use HGLOBAL in Windows version:
  * SaveToMemory, LoadFromMemory methods of so-called persistent objects
  * IImageDocument::SaveToMemory, IEngine::LoadImageDocFromMemory methods
  * IPDFAttachments::AddFromMemory, IPDFAttachment::SaveToMemory
* Scanning:
  * IEngine::CreateScanManager, ScanManager
  * IScanCallback
  * ScanSources, ScanSource, ScanSourceSettings, ScanSourceCapabilities
  * ScanSourceApiTypeEnum, ScanRotationAngleEnum, ScanPaperSizeEnum, ScanColorModeEnum, ScanCompressionTypeEnum, ScanBrightnessControlEnum, ScanPaperFeedModeEnum, ScanPauseModeEnum, ScanSourceStatusEnum
  * Scanning license module
* IDictionary::Edit
* Pattern training GUI:
  * IEngine::EditUserPattern
  * IRecognizerParams::TrainUserPatterns
  * UserPatternsTraining license module
* Visual Components and related FineReader Engine API:
  * autoanalysis blocks (IAutoAnalysisBlock, BlockTypeEnum::BT\_AutoAnalysis)
  * ILayout::VisualBlocks
  * AvailableVisualComponentsFlags and ILicense::AvailableVisualComponents
* Special predefined languages are not currently available

## See also

[Specifications](/fine-reader/engine/specifications)

[What's New in ABBYY FineReader Engine 12](/fine-reader/engine/specifications/whats-new)

[ABBYY FineReader Engine 12 and 11 compatibility](/fine-reader/engine/specifications/backward-compatibility-issues/version-11)
