diff --git a/DesktopEditor/graphics/pro/js/drawingfile.json b/DesktopEditor/graphics/pro/js/drawingfile.json index e465f9fcb6..ea016d37de 100644 --- a/DesktopEditor/graphics/pro/js/drawingfile.json +++ b/DesktopEditor/graphics/pro/js/drawingfile.json @@ -3,6 +3,7 @@ "res_folder": "./deploy", "wasm": true, "asm": true, + "embed_mem_file": true, "run_before": "before.py", "run_after": "after.py", "base_js_content": "./wasm/js/drawingfile_base.js", diff --git a/DesktopEditor/graphics/pro/js/wasm/js/drawingfile_base.js b/DesktopEditor/graphics/pro/js/wasm/js/drawingfile_base.js index ff26401114..f154d698b6 100644 --- a/DesktopEditor/graphics/pro/js/wasm/js/drawingfile_base.js +++ b/DesktopEditor/graphics/pro/js/wasm/js/drawingfile_base.js @@ -147,22 +147,22 @@ { return this._isNeedPassword; }; - CFile.prototype["setCMap"] = function() + CFile.prototype["isNeedCMap"] = function() { if (!this.nativeFile) return false; - var _isNeed = Module["_IsNeedCMap"](this.nativeFile); - if (_isNeed == 0) - return false; + var isNeed = Module["_IsNeedCMap"](this.nativeFile); + return (isNeed === 1) ? true : false; + }; + CFile.prototype["setCMap"] = function(memoryBuffer) + { + if (!this.nativeFile) + return; - // CMapData - данные из файла CMapData - var CMapData = []; - var streamPointer = Module["_malloc"](CMapData.length); - Module["HEAP8"].set(CMapData, streamPointer); - - Module["_SetCMapData"](this.nativeFile, streamPointer, CMapData.length); - return true; + var pointer = Module["_malloc"](memoryBuffer.length); + Module.HEAP8.set(memoryBuffer, pointer); + Module["_SetCMapData"](this.nativeFile, pointer, memoryBuffer.length); }; CFile.prototype["getInfo"] = function() { diff --git a/PdfFile/Resources/CMapMemory/CMapSerialize.cpp b/PdfFile/Resources/CMapMemory/CMapSerialize.cpp index b96b485392..828b4a067c 100644 --- a/PdfFile/Resources/CMapMemory/CMapSerialize.cpp +++ b/PdfFile/Resources/CMapMemory/CMapSerialize.cpp @@ -33,7 +33,7 @@ int main() } NSFile::CFileBinary oFile; - if (oFile.CreateFileW(NSFile::GetProcessDirectory() + L"/../CMapData")) + if (oFile.CreateFileW(NSFile::GetProcessDirectory() + L"/../cmap.bin")) { oFile.WriteFile(oRes.GetBuffer(), oRes.GetSize()); oFile.CloseFile(); diff --git a/PdfFile/SrcReader/Adaptors.cpp b/PdfFile/SrcReader/Adaptors.cpp index bd689da7e8..15774e8501 100644 --- a/PdfFile/SrcReader/Adaptors.cpp +++ b/PdfFile/SrcReader/Adaptors.cpp @@ -102,9 +102,7 @@ void GlobalParamsAdaptor::SetCMapFile(const std::wstring &wsFile) AddAllCMap(NULL); #ifndef BUILDING_WASM_MODULE - NSFile::CFileBinary oFile; - oFile.ReadAllBytes(wsFile, &m_bCMapData, m_nCMapDataLength); - oFile.CloseFile(); + NSFile::CFileBinary::ReadAllBytes(wsFile, &m_bCMapData, m_nCMapDataLength); #endif } void GlobalParamsAdaptor::SetCMapMemory(BYTE* pData, DWORD nSizeData)