https://github.com/behdad/glyphy

sort by:
Revision Author Date Message Commit Date
68a5f8d Add Github Actions CI Workflow to build/test on Ubuntu 22.04 Builds the library, demo, and runs the validator. meson.build has been updated to capitalize the GLUT dependency name so it is detected correctly by Meson. Note: Github CI runners are Ubuntu 22.04, which has an old version of harfbuzz, so harfbuzz must be built from source. The harfbuzz build can be removed when Github updates the CI runners to Ubuntu 24.04. 07 July 2023, 14:53:10 UTC
798b464 Correct stringize str.replace() use, quote escape, and add newline 04 July 2023, 16:32:53 UTC
42a30c2 Fix Makefile.am stringize glsl header gen command to specify filename Running `make` results in: GEN glyphy-common-glsl.h Traceback (most recent call last): File "/home/user/glyphy/src/./stringize", line 6, in <module> filename = sys.argv[2] IndexError: list index out of range make: *** [Makefile:874: glyphy-common-glsl.h] Error 1 Adds error handling: GEN glyphy-common-glsl.h stringize: missing filename: ['./stringize', 'static const char *glyphy_common_glsl'] make: *** [Makefile:874: glyphy-common-glsl.h] Error 1 Fixes stringize command in Makefile.am 04 July 2023, 16:32:53 UTC
e3f5e03 Return the needed size for encoding When the buffer is too small, glyphy_arc_list_encode_blob2 returns false. In order for the caller to handle the failure, we need to return the size that would be needed, so set output_len even in the failure case. 02 July 2023, 15:16:09 UTC
6487c58 Try one more time to fix the build on Windows Just define -DUSE_MATH_DEFINES unconditionally on Windows. Grr 30 June 2023, 01:48:46 UTC
f7c8ce8 Rewrite stringize in python This gives it a better chance of running anywhere we have a working meson, which requires python already. The hope is that this will fix the windows build. 29 June 2023, 23:30:54 UTC
1ecbc31 Don't feed -D through cpp.get_supported_arguments It doesn't seem necessary and, in fact, it seems to make it so those arguments never make it to the build, breaking it. 29 June 2023, 20:23:46 UTC
f80b9fc [demo] Fix compiler warning 29 June 2023, 19:55:32 UTC
34c4ac5 Add generated glsl sources For building on Windows convenience. 29 June 2023, 19:52:20 UTC
35c172b meson: Only require glut if building the demo It is not needed otherwise. 29 June 2023, 19:32:44 UTC
31ebb24 meson:build Fix usage as subproject We need to add src/ as an include dir in the declare_dependency call so the parent projects build will find the uninstalled glyphy.h there. 29 June 2023, 15:16:04 UTC
7456e5a meson.build: Fix usage as subprojects It was pointed out that we might fall into issues with the FreeType dependency, so do what we did before. That is, look for the 'freetype2' dependency using pkg-config, before we look for the 'Freetype' dependency using CMake on Visual Studio-like compilers. We can do this in one single dependency line in the future, when we require Meson 0.60.0 or later. 12 April 2022, 16:41:32 UTC
77d2fac [demo] Silence macOS deprecated OpenGL warnings Otherwise we get a gazillion of warnings like this: ../demo/demo-glstate.cc:75:3: warning: 'glDeleteProgram' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATION to silence these warnings) [-Wdeprecated-declarations] glDeleteProgram (st->program); 05 April 2022, 17:58:07 UTC
b117ef0 [blob] Include <cmath> for std::ceil FAILED: src/libglyphy.0.dylib.p/glyphy-blob.cc.o ccache c++ -Isrc/libglyphy.0.dylib.p -Isrc -I../src -I. -I.. -fcolor-diagnostics -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++11 -fno-rtti -O0 -g -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -DHAVE_CONFIG_H=1 -DBUILDING_GLYPHY=1 -MD -MQ src/libglyphy.0.dylib.p/glyphy-blob.cc.o -MF src/libglyphy.0.dylib.p/glyphy-blob.cc.o.d -o src/libglyphy.0.dylib.p/glyphy-blob.cc.o -c ../src/glyphy-blob.cc ../src/glyphy-blob.cc:235:61: error: no member named 'ceil' in namespace 'std' unsigned int grid_w = std::min (MAX_GRID_SIZE, (int) std::ceil (glyph_width / grid_unit)); ~~~~~^ ../src/glyphy-blob.cc:236:61: error: no member named 'ceil' in namespace 'std' unsigned int grid_h = std::min (MAX_GRID_SIZE, (int) std::ceil (glyph_height / grid_unit)); ~~~~~^ 2 errors generated. 05 April 2022, 17:58:07 UTC
5ff98d1 [demo] Tweak parameters again 05 April 2022, 00:39:41 UTC
c1dcdf3 More embolden improvements, at high MIN_FONT_SIZE 05 April 2022, 00:29:55 UTC
fcc20a5 [blob] Simplify for new calculations 05 April 2022, 00:15:32 UTC
9dc1bdf Minor adjustment 05 April 2022, 00:07:04 UTC
b5f690f [blob] Fix embolden encoding This truly fixes it. Adjust max emboldening values to reduce encoding cost. 04 April 2022, 23:09:00 UTC
8160e3a Remove debug print 04 April 2022, 22:56:07 UTC
0cb8f9e Add new blob encoding API that takes emboldening into account Seems to have some problems still. But better than before. 04 April 2022, 22:53:46 UTC
7fe6de2 [blob] Minor optimization 04 April 2022, 22:06:34 UTC
838a573 [demo] Make boldness size-independent And adjust range. Yay! 04 April 2022, 21:58:01 UTC
c5477aa [blob] Use uniform grid squares across glyphs 04 April 2022, 21:54:46 UTC
e5c6a9c [demo] Adjust debug rendering a bit 04 April 2022, 21:38:19 UTC
5ee7236 Revert "[demo] Make boldness size-independent" This reverts commit 99b647160ac6fb7b8e1e0f18d88aea1d65aa9c7c. This was wrong. It made larger glyphs embolden more... We can revisit this change if we change glyph blob encoder to use smart nominal-size per glyph such that grids of different glyphs have the same square size. 04 April 2022, 21:36:56 UTC
99b6471 [demo] Make boldness size-independent And adjust range 04 April 2022, 21:13:45 UTC
18571bb glyphy.h: Decorate public symbols with GLYPHY_API This was, we can mark the symbols for export when building Glyphy as a DLL on MSVC-like compilers. 24 March 2022, 16:59:40 UTC
0ecc83d glyphy.h: Add GLYPHY_API macro This macro is defined as nothing unless we are building Glyphy as a shared library using an MSVC-like compiler, which is then defined as __declspec (dllexport), in order to use compiler directives to export symbols from the built DLL. 24 March 2022, 16:59:40 UTC
0217db9 meson: Define GLYPHY_STATIC when building statically This is so that we do not try to dllexport the symbols if we are building Glyphy statically. 24 March 2022, 16:59:40 UTC
5819d4d meson: Define BUILDING_GLYPHY when building the lib We need to use this to know that we are going to export symbols from the built DLL. 24 March 2022, 16:59:40 UTC
126a99a glyphy-demo.cc: Fix build on Visual Studio It's how life goes, but it seems that in C++11 one is not allowed to assign a const char[] to a non-const char* ([1]), so we need to cast things explicitly. [1]: https://stackoverflow.com/questions/54100488/c2440-cannot-convert-from-const-char-9-to-char 24 March 2022, 16:57:34 UTC
692aa38 meson.build: Define NOMINMAX on MSVC-like compilers windows.h define its own min/max that will get in our way when building the demos, which use std::min and std::max. Define NOMINMAX so that this will not be an issue. 24 March 2022, 16:56:44 UTC
2324271 meson.build: Define _USE_MATH_DEFINES when needed The headers that ship with Visual Studio (which are used by Visual C++ and other MSVC-like compilers) do include the _M_SQRT* and related macros, but require _USE_MATH_DEFINES defined to use them. Pass that in as a CFlag/CXXFlag. 24 March 2022, 16:56:44 UTC
64b57a9 meson: Look for FreeType using CMake on MSVC-like compilers CMake has pretty decent built-in support for looking for FreeType on Windows, except that we must use a different package name (and, if applicable in the future), different versioning scheme from the pkg-config files that origintate from FreeType's autotools builds. 24 March 2022, 16:56:44 UTC
a297db3 meson: Check for GCC-esque CFlags on non-MSVC Save some time for people using Visual Studio. These flags are still checked for clang-cl though. 24 March 2022, 16:56:44 UTC
6ecc22f meson: Add variables for MSVC and MSVC-like compilers We can reuse this rather than using cpp.get_[id|argument_syntax]() == 'msvc' all over the place, for using compiler-specific directives or how we look for dependencies. 24 March 2022, 16:56:44 UTC
b1046ec harfbuzz: fix get_draw_funcs prototype From C, (void) is needed to avoid compiler warnings such as: 92 | glyphy_harfbuzz(get_draw_funcs) () glyphy-harfbuzz.h: In function ‘glyphy_harfbuzz_get_draw_funcs’: glyphy-harfbuzz.h:31:32: warning: old-style function definition [-Wold-style-definition] 15 March 2022, 22:24:16 UTC
9604dd9 Revert "[demo] Don't "fix" outline direction from even-odd" This reverts commit 65819d3ee723abdd822ac2216a629c6b1daf5400. 15 March 2022, 19:56:25 UTC
0ca9aac [demo] Don't "fix" outline direction from even-odd 15 March 2022, 19:56:25 UTC
eab5a8e meson: install glyphy.pc pkgconfig file This does not use the existing .pc file from automake, but does give us the same thing using modern Meson pkgconfig generation. 15 March 2022, 18:35:11 UTC
c9c85ee meson: add libglyphy_dep This can be used to link against glyphy as a meson subproject. 15 March 2022, 18:35:11 UTC
72fd638 Reduce grid size from 24 to 16 Reduces average memory per glyph on default font from: 41 glyphs; avg num endpoints 23.24; avg error 45.7%; avg tex fetch 2.86; avg 2.25kb per glyph to: 41 glyphs; avg num endpoints 23.24; avg error 45.7%; avg tex fetch 3.32; avg 1.34kb per glyph on my old intel laptop framerate is around 160fps in both cases, so, no loss. Sounds like a good tradeoff. 15 March 2022, 17:21:37 UTC
89fb3c9 [sdf] Fix artifacts on most drivers If distance() results were unpredictable, then the equality tests were not adequate... 13 March 2022, 20:06:03 UTC
e7b062e build: install glyphy-harfbuzz.h 12 March 2022, 15:39:59 UTC
f3ce4ec demo: Add uneven scaling Add bindings for {}[] keys to change x and y scale factors independently, for demonstrating how uneven scaling affects the rendering quality. 12 March 2022, 04:08:40 UTC
bcf2930 Flesh out the meson build a bit Add an option to omit the demo (this is useful when using glyphy as a subproject). Sync the project and library versions with the autotools build. And add a summary with some relevant information. 11 March 2022, 05:20:52 UTC
31704c5 Merge pull request #40 from matthiasclasen/meson Meson 10 March 2022, 21:50:50 UTC
ba9f67b Add meson support Add a quick meson build system. Not done yet: - Windows support - Android support 10 March 2022, 21:45:30 UTC
fc27551 [harfbuzz] Expose draw-funcs 02 March 2022, 17:35:56 UTC
01c340a [demo] Shape text with HarfBuzz! 02 March 2022, 05:06:03 UTC
13e74b3 [demo] Use harfbuzz for drawing instead of FreeType 02 March 2022, 05:06:03 UTC
a2b6230 [demo] Fix button release 07 November 2021, 19:50:56 UTC
1f271d0 Fix compiler warning 07 November 2021, 19:49:30 UTC
bc2da50 Merge pull request #32 from TataMata/master Fix for Windows rendering issues 07 March 2019, 18:32:54 UTC
a1ef704 Update glyphy-sdf.glsl 05 March 2019, 17:30:56 UTC
ca6f9f0 Fix for windows rendering issues On Windows platform there were a lot of artifacts when rendering webgl demo example created using emscripten. These artifacts were noticable regardless of graphic cards used. Now the text is rendered correctly. 05 March 2019, 17:29:57 UTC
7c55987 Revert "Turn off a couple of abort()s" This reverts commit 92793e81bde9feb8c901161b3b98db94ba7c6d36. Enable aborts again, since they catch genuine bugs. 03 November 2018, 18:21:48 UTC
a316007 Fix bug with approximating bezier with straight line Fixes https://github.com/behdad/glyphy/issues/31 03 November 2018, 18:18:08 UTC
92793e8 Turn off a couple of abort()s They were good for development, but not production. Fixes https://github.com/behdad/glyphy/issues/31 03 November 2018, 03:30:42 UTC
17b11f8 Minor 03 November 2018, 01:00:15 UTC
73d7fbd minor 12 March 2018, 09:44:15 UTC
ccedd03 Add more compilation instructions on README.md 12 March 2018, 09:42:56 UTC
b927003 Update README.md 12 March 2018, 09:42:05 UTC
75b5b9e Merge pull request #28 from kant/patch-1 Minor fixes plus MacPorts URL added 03 March 2018, 16:51:41 UTC
e98898e Minor fixes plus MacPorts URL added 02 March 2018, 20:27:16 UTC
970ebd6 Fix #ifdef does not have an expression (#21) 20 December 2016, 11:50:17 UTC
89b631a Merge pull request #20 from ebraminio/master Improve win32 build files 11 October 2016, 10:50:34 UTC
83e8891 Improve win32 build files * Use better variables on prebuild event * freeglut is added on vcpkg so no longer manual download is needed 11 October 2016, 10:46:35 UTC
10d03a8 Merge pull request #19 from ebraminio/master Add Windows support 05 October 2016, 19:01:53 UTC
e6d7ba8 Add Windows support Based on @tml1024 and @leok7v works but simplified a lot and uses freetype instead GDI. Also contains a working CI config which can be used as Windows build walkthrough 01 October 2016, 21:11:53 UTC
77bd0c2 Revert "Make debug color clearer." This reverts commit 6efc19e6006c5f5c8e29b43ab2a470939e67f6c9. 04 January 2016, 13:56:54 UTC
5d9ba6d [demo] Always use included default font by default Also change the default-font to a subset of Roboto-Regular. Add Makefile bits to make it easier to change default-font and default-text. 04 January 2016, 13:51:12 UTC
3616b56 [demo] Change default text to be longer Lorem Ipsum 04 January 2016, 13:51:12 UTC
b5fdf14 [demo] Fix file-not-found 04 January 2016, 13:51:12 UTC
f398c65 [demo] Define GLUT_WHEEL_UP/DOWN if not defined Testing shows that on my goobuntu's freeglut, these are not defined in the headers, but events for them are received. So, defining them make them work... 04 January 2016, 13:51:12 UTC
71390c5 Merge pull request #11 from LinusU/patch-1 readme: fix list 01 October 2015, 21:38:09 UTC
30b10aa readme: fix list 01 October 2015, 19:58:12 UTC
16fa0a7 Better handle fully-degenerate curves 06 August 2015, 15:00:19 UTC
5667ab1 Simplify winding() 06 August 2015, 14:51:15 UTC
644c5ba Start handling fully-degenerate curves 06 August 2015, 14:49:37 UTC
d6d6c61 Implement more robust winding-direction algorithm Fixes 'p' in Comic Sans Bold for example. That font has many self-intersecting contours. The one in 'p' was causing complete winding direction reversal using old algorithm. Implement area-based algorithm. 06 August 2015, 14:34:38 UTC
cb2b692 Add Google Group link 19 June 2015, 21:15:08 UTC
0f81bda Add note re vblank_mode=0 19 June 2015, 00:04:24 UTC
a931147 Merge pull request #9 from mmohrhard/master gnu requires README so workaround for now with foreign 18 June 2015, 18:14:29 UTC
03ca17b gnu requires README so workaround for now with foreign README is required in a gnu project and README.md does not satisfy that. For now we can workaround with using foreign to get the build back. 17 June 2015, 02:10:16 UTC
b276350 Update README 15 June 2015, 19:49:42 UTC
762eb92 Markdown 15 June 2015, 19:48:40 UTC
5685e78 [geometry] Add << overloading for geometry objects 01 June 2015, 09:17:10 UTC
69b87cf Condition error values before inverting With at least one glyph of Comic Sans Bold, I was seeing an exact zero error value, which was causing nan's in pow(e[i], -.3). 01 June 2015, 08:52:04 UTC
a3b4f6f Fix warnings in glyphy-freetype.h Fixes https://code.google.com/p/glyphy/issues/detail?id=10 08 May 2015, 23:24:55 UTC
b1c8f28 Fix "make clean" 08 May 2015, 23:21:20 UTC
e449f94 glyphy-demo: Handling startup parameters in a more robust way Fixes: https://code.google.com/p/glyphy/issues/detail?id=12 08 May 2015, 23:15:34 UTC
6efc19e Make debug color clearer. Currently, it's hard to recognize inside distance field. This patch show inside distance field red color and outside distance filed green color. In addition, this patch composite other colors on the color of distance field by source-over. In addition, following complicated value is meaningless; abs(gsdist) / max(float(gi.nominal_size.x), float(gi.nominal_size.y))) * 4. So this patch uses 1. - gudist as alpha, which show which point has distance 1 in |gudist| field. 25 June 2014, 20:19:42 UTC
df51586 Doesn't draw the first arc point in debug mode. This patch fixes it. 25 June 2014, 20:18:39 UTC
ed78287 More follow like a98d9ca08a83c9a277da5b5525542be08035af71 25 June 2014, 20:09:54 UTC
9c08aef Err, we don't require cairo 21 June 2014, 19:22:49 UTC
7d3f6da Fix possible memory bug In case the vector implementation shrinks the underlying array. 18 June 2014, 22:05:21 UTC
50332b3 Followup on a98d9ca08a83c9a277da5b5525542be08035af71 Still don't understand what the proper idiom for this is, but for now avoid the problem. 18 June 2014, 18:49:07 UTC
a98d9ca Minor adjustment to work on Windows According to at least one report, with some compilers on Windows (no idea what language / mode), the following line: const glyphy_rgba_t *needle = &tex_data[offset]; generates a runtime "vector subscript out of range" if offset is equal to the length of the vector, even though getting a pointer to the end of an array is a valid operation in C. Anyway, work around it. 03 June 2014, 18:25:14 UTC
back to top