diff --git a/CHANGELOG.md b/CHANGELOG.md index 1fbc76d..829cfad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,10 @@ +### Version 1.12.1 (2025-05-31) + +- Fixed a bug applying error correction incorrectly if shape's Y-axis is inverted (mainly affected SVG input) +- Fixed error correction not being applied in the standalone executable in MTSDF mode with the `-scanline` option (default in non-Skia builds) +- Minor CMake adjustments and warning fixes + ## Version 1.12 (2024-05-18) - Added the possibility to specify asymmetrical distance range (`-arange`, `-apxrange`) diff --git a/LICENSE.txt b/LICENSE.txt index d5b3174..fbea359 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2014 - 2024 Viktor Chlumsky +Copyright (c) 2014 - 2025 Viktor Chlumsky Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 63b4a88..fead306 100644 --- a/README.md +++ b/README.md @@ -147,6 +147,9 @@ Using a multi-channel distance field generated by this program is similarly simp The only additional operation is computing the **median** of the three channels inside the fragment shader, right after sampling the distance field. This signed distance value can then be used the same way as usual. +**Important:** Make sure to interpret the MSDF color channels in linear space just like the alpha channel and not as sRGB, +even if the image format (PNG, BMP) may suggest otherwise. + The following is an example GLSL fragment shader with anti-aliasing: ```glsl diff --git a/cmake/msdfgenConfig.cmake.in b/cmake/msdfgenConfig.cmake.in index b00c609..b47d000 100644 --- a/cmake/msdfgenConfig.cmake.in +++ b/cmake/msdfgenConfig.cmake.in @@ -36,12 +36,16 @@ if(MSDFGEN_CORE_ONLY) if(${CMAKE_VERSION} VERSION_LESS "3.18.0") set_target_properties(msdfgen::msdfgen-core PROPERTIES IMPORTED_GLOBAL TRUE) endif() - add_library(msdfgen::msdfgen ALIAS msdfgen::msdfgen-core) + if(NOT TARGET msdfgen::msdfgen) + add_library(msdfgen::msdfgen ALIAS msdfgen::msdfgen-core) + endif() else() if(${CMAKE_VERSION} VERSION_LESS "3.18.0") set_target_properties(msdfgen::msdfgen-full PROPERTIES IMPORTED_GLOBAL TRUE) endif() - add_library(msdfgen::msdfgen ALIAS msdfgen::msdfgen-full) + if(NOT TARGET msdfgen::msdfgen) + add_library(msdfgen::msdfgen ALIAS msdfgen::msdfgen-full) + endif() endif() if(MSDFGEN_STANDALONE_AVAILABLE) diff --git a/main.cpp b/main.cpp index 4f641d3..1ee120a 100644 --- a/main.cpp +++ b/main.cpp @@ -2,7 +2,7 @@ /* * MULTI-CHANNEL SIGNED DISTANCE FIELD GENERATOR - standalone console program * -------------------------------------------------------------------------- - * A utility by Viktor Chlumsky, (c) 2014 - 2024 + * A utility by Viktor Chlumsky, (c) 2014 - 2025 * */ diff --git a/msdfgen-ext.h b/msdfgen-ext.h index cf9d3aa..2a1647f 100644 --- a/msdfgen-ext.h +++ b/msdfgen-ext.h @@ -4,7 +4,7 @@ /* * MULTI-CHANNEL SIGNED DISTANCE FIELD GENERATOR * --------------------------------------------- - * A utility by Viktor Chlumsky, (c) 2014 - 2024 + * A utility by Viktor Chlumsky, (c) 2014 - 2025 * * The extension module provides ways to easily load input and save output using popular formats. * diff --git a/msdfgen.h b/msdfgen.h index ae909ef..e5dd672 100644 --- a/msdfgen.h +++ b/msdfgen.h @@ -4,7 +4,7 @@ /* * MULTI-CHANNEL SIGNED DISTANCE FIELD GENERATOR * --------------------------------------------- - * A utility by Viktor Chlumsky, (c) 2014 - 2024 + * A utility by Viktor Chlumsky, (c) 2014 - 2025 * * The technique used to generate multi-channel distance fields in this code * has been developed by Viktor Chlumsky in 2014 for his master's thesis, diff --git a/vcpkg.json b/vcpkg.json index bcbccb6..07b5d90 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/master/docs/vcpkg.schema.json", "name": "msdfgen", - "version": "1.12.0", + "version": "1.12.1", "default-features": [ "extensions", "geometry-preprocessing",