Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to latest upstream #1

Open
wants to merge 48 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
64a91ee
Added -windingpreprocess option
Chlumsky Nov 14, 2021
1b2bee7
Removed SignedDistance::INFINITE constant
Chlumsky Dec 21, 2021
4e8ff23
Updated CMake and project files
Chlumsky Jan 14, 2022
3300ab6
Allow command line interface to accept glyph 0 as input (#149)
TJYSunset Apr 7, 2022
99559ac
Variable fonts (#164)
Chlumsky Sep 23, 2022
496b656
Initial version of vcpkg-based build
Chlumsky Nov 5, 2022
3f917b8
Versioning rework
Chlumsky Nov 6, 2022
b1969ab
Build fixes, updated changelog and readme
Chlumsky Nov 6, 2022
6185b63
Merge pull request #169 from Chlumsky/vcpkg-dependencies
Chlumsky Nov 27, 2022
10577fc
Enabled shared library build, vcpkg update
Chlumsky Jan 15, 2023
839e0e8
Added option to use dynamic runtime library
Chlumsky Jan 19, 2023
a811ef8
Updated installation configuration
Chlumsky Jan 19, 2023
7ff249b
Fix crash on invalid varfont, print version, accept --args
Chlumsky Jan 21, 2023
eeec8f2
Added readFreetypeOutline to font import
Chlumsky Feb 18, 2023
34baf17
Added CMake presets, core-only standalone, errors to stderr
Chlumsky Mar 16, 2023
00d4046
Optimized includes
Chlumsky Apr 7, 2023
5eef2e5
Added hidden options to disable SVG / PNG dependencies
Chlumsky Apr 7, 2023
d576034
Added hidden option to disable variable fonts
Chlumsky Apr 12, 2023
0286aeb
Advanced SVG decoding
Chlumsky Apr 15, 2023
26143a3
Fixed #180
Chlumsky Jul 12, 2023
052f5ff
Removed dynamic_cast
Chlumsky Jul 24, 2023
16f2057
Fixed listFontVariationAxes
Chlumsky Sep 9, 2023
e69b796
Fixed include for qsort
Chlumsky Sep 19, 2023
bd5f145
Inlined Vector2 and SignedDistance for performance, minor coding styl…
Chlumsky Oct 11, 2023
0eaeb51
Fixed bug in error correction's diagonal interpolation test
Chlumsky Oct 18, 2023
f04dc6a
Support for SVG fill-rule
Chlumsky Nov 8, 2023
f12d7ca
Added macro config header to installation
Chlumsky Nov 11, 2023
51f6b5b
Minor CMake adjustment #191
Chlumsky Dec 16, 2023
2357140
Improved edge segment construction
Chlumsky Dec 16, 2023
49453c9
Replaced sscanf usage
Chlumsky Jan 5, 2024
b214991
Fixed minor regression of previous commit
Chlumsky Jan 6, 2024
682381a
Added getGlyphCount
Chlumsky Feb 5, 2024
35f9254
Edge coloring update, circles no longer white
Chlumsky Mar 9, 2024
64c3e24
Renamed pseudo-distance to perpendicular distance
Chlumsky Mar 10, 2024
937f31f
Simplified argument parsing
Chlumsky Mar 10, 2024
6d252a7
Asymmetrical range
Chlumsky Apr 17, 2024
bc9f02e
Fix for incorrect font coordinate scaling
Chlumsky Mar 21, 2024
c7a724c
Minor FontCoordinateScaling tweaks
Chlumsky Apr 21, 2024
d034a70
Alternative XML parser interface
Chlumsky Apr 21, 2024
75813f3
GPU-like pixel conversion
Chlumsky Apr 21, 2024
5dc5f62
Skia bug workaround, savePng crash fix
Chlumsky Apr 23, 2024
d7ac1e0
Better edge deconverge procedure
Chlumsky May 7, 2024
aa9478e
Added -exportsvg, RGBA & FL32 image output
Chlumsky May 7, 2024
85e8b3d
Version 1.12
Chlumsky May 18, 2024
cddd6c7
Error correction fix for inverse Y-axis
Chlumsky May 31, 2024
5ec8cef
Improved error correction consistency for inverse Y-axis
Chlumsky Jun 1, 2024
755c45b
Shapeless error correction no transform overload
Chlumsky Jun 2, 2024
5a88b0c
Minor warning fixes
Chlumsky Sep 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 0 additions & 4 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,5 +1 @@
* text=auto
include/** linguist-vendored
lib/** linguist-vendored
freetype/** linguist-vendored
skia/** linguist-vendored
12 changes: 8 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/build/
/Debug/
/Release/
/Release OpenMP/
Expand All @@ -7,6 +8,8 @@
/x86/
/x64/
.vs/
.vscode/
.DS_Store
*.exe
*.zip
*.user
Expand All @@ -21,8 +24,9 @@
/bin/msdfgen
output.png
render.png
CMakeUserPresets.json
out/
build/
build_xcode/
skia/win32/
skia/win64/
/all-in-one/
/build_xcode/
/cmake-gen.bat
/line-ending-check.bat
52 changes: 52 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,56 @@

## Version 1.12 (2024-05-18)

- Added the possibility to specify asymmetrical distance range (`-arange`, `-apxrange`)
- Added the ability to export the shape into an SVG file (`-exportsvg`)
- Edge coloring no longer colors smooth contours white, which has been found suboptimal
- Fixed incorrect scaling of font glyph coordinates. To preserve backwards compatibility, the user has to enable the fix with an explicit additional argument:
- `-emnormalize` in standalone, `FONT_SCALING_EM_NORMALIZED` in API for coordinates in ems
- `-noemnormalize` in standalone, `FONT_SCALING_NONE` in API for raw integer coordinates
- The default (backwards-compatible) behavior will change in a future version; a warning will be displayed if neither option is set
- Added two new developer-friendly export image formats: RGBA and FL32
- `-size` parameter renamed to `-dimensions` for clarity (old one will be kept for compatibility)
- `generate*SDF` functions now combine projection and range into a single argument (`SDFTransformation`)
- Conversion of floating point color values to 8-bit integers adjusted to match graphics hardware
- Improved edge deconvergence procedure and made sure that calling `Shape::normalize` a second time has no effect
- Fixed certain edge cases where Skia geometry preprocessing wouldn't make the geometry fully compliant
- The term "perpendicular distance" now used instead of "pseudo-distance" (PSDF instead of PseudoSDF in API)
- Fixed a bug in `savePng` where `fclose` could be called on null pointer
- Minor code improvements

## Version 1.11 (2023-11-11)

- Reworked SVG parser, which now supports multiple paths and other shapes - requires Skia
- Major performance improvements due to inlining certain low-level classes
- A limited version of the standalone executable can now be built without any dependencies
- Fixed `listFontVariationAxes` which previously reported incorrectly scaled values
- Fixed potential crash when generating SDF from an empty `Shape`
- Fixed a small bug in the error correction routine
- Errors now reported to `stderr` rather than `stdout`
- All command line arguments can now also be passed with two dashes instead of one
- Added `-version` argument to print the program's version
- `Shape` can now be loaded from a pointer to FreeType's `FT_Outline`
- Added hidden CMake options to selectively disable PNG, SVG, or variable font support
- Added CMake presets
- Other minor bug fixes

## Version 1.10 (2023-01-15)

- Switched to vcpkg as the primary dependency management system
- Switched to libpng as the primary PNG file encoder
- Parameters of variable fonts can be specified
- Fixed a bug that prevented glyph 0 to be specified in a glyphset

### Version 1.9.2 (2021-12-01)

- Improved detection of numerical errors in cubic equation solver
- Added -windingpreprocess option
- Fixed edge coloring not restored if lost during preprocessing

### Version 1.9.1 (2021-07-09)

- Fixed an edge case bug in the new MSDF error correction algorithm

## Version 1.9 (2021-05-28)

- Error correction of multi-channel distance fields has been completely reworked
Expand Down
Loading