diff --git a/bin/ghostscript10.07.1/bearsampp.conf b/bin/ghostscript10.07.1/bearsampp.conf new file mode 100644 index 0000000..4ce91c9 --- /dev/null +++ b/bin/ghostscript10.07.1/bearsampp.conf @@ -0,0 +1,5 @@ +ghostscriptVersion = "10.07.1" +ghostscriptExe = "bin/gswin64.exe" +ghostscriptExeConsole = "bin/gswin64c.exe" + +bundleRelease = "@RELEASE_VERSION@" diff --git a/bin/ghostscript10.07.1/update_cidfmap.bat b/bin/ghostscript10.07.1/update_cidfmap.bat new file mode 100644 index 0000000..3ce1e20 --- /dev/null +++ b/bin/ghostscript10.07.1/update_cidfmap.bat @@ -0,0 +1,11 @@ +@ECHO OFF + +pushd "%~dp0" +if not exist "%~dp0bin\gswin64c.exe" ( + echo ERROR: gswin64c.exe not found in "%~dp0bin" + exit /b 1 +) +"%~dp0bin\gswin64c.exe" -q -dBATCH -sFONTDIR=c:/windows/fonts -sCIDFMAP=lib/cidfmap lib/mkcidfm.ps +set EXITCODE=%ERRORLEVEL% +popd +exit /b %EXITCODE% diff --git a/build.gradle b/build.gradle index 330852d..43d431f 100644 --- a/build.gradle +++ b/build.gradle @@ -914,8 +914,21 @@ def getAvailableVersions() { versions.addAll(archivedVersions) } - // Remove duplicates and sort - return versions.unique().sort() +// Remove duplicates and sort semantically + return versions.unique().sort { a, b -> + def aParts = a.tokenize('.').collect { it.isInteger() ? it.toInteger() : it } + def bParts = b.tokenize('.').collect { it.isInteger() ? it.toInteger() : it } + for (int i = 0; i < Math.max(aParts.size(), bParts.size()); i++) { + def aVal = i < aParts.size() ? aParts[i] : 0 + def bVal = i < bParts.size() ? bParts[i] : 0 + if (aVal.getClass() != bVal.getClass()) { + aVal = aVal.toString() + bVal = bVal.toString() + } + if (aVal != bVal) return aVal <=> bVal + } + return 0 + } } // Task: Build all available versions @@ -1333,15 +1346,18 @@ tasks.register('checkModulesUntouched') { println "=".multiply(70) def sortedVersions = untouchedProps.sort { a, b -> - // Simple version comparison - def aParts = a.key.tokenize('.') - def bParts = b.key.tokenize('.') - for (int i = 0; i < Math.min(aParts.size(), bParts.size()); i++) { - def aNum = aParts[i].toInteger() - def bNum = bParts[i].toInteger() - if (aNum != bNum) return aNum <=> bNum + def aParts = a.key.tokenize('.').collect { it.isInteger() ? it.toInteger() : it } + def bParts = b.key.tokenize('.').collect { it.isInteger() ? it.toInteger() : it } + for (int i = 0; i < Math.max(aParts.size(), bParts.size()); i++) { + def aVal = i < aParts.size() ? aParts[i] : 0 + def bVal = i < bParts.size() ? bParts[i] : 0 + if (aVal.getClass() != bVal.getClass()) { + aVal = aVal.toString() + bVal = bVal.toString() + } + if (aVal != bVal) return aVal <=> bVal } - return aParts.size() <=> bParts.size() + return 0 } sortedVersions.each { version, url -> diff --git a/build.properties b/build.properties index 734d448..3d2ca5d 100644 --- a/build.properties +++ b/build.properties @@ -1,5 +1,5 @@ bundle.name = ghostscript -bundle.release = 2026.4.12 +bundle.release = 2026.5.31 bundle.type = tools bundle.format = 7z