Fixing JogAmp’s Graph Delaunay Tessellation of Complex Non-Convex Shapes

After rendering our GraphUI MediaPlayer feature complete, also capable to use Chinese/CJK fallback fonts it was time for another round to fix our outstanding Graph Delaunay tessellation issues. Minimum goal was to at least have the Chinese/CJK fonts being readable – but gladly more has been achieved in the resolution for Bug 1501 as shown below.

First, let’s have a look how the GraphUI MediaPlayer looks now with fixed CJK font rendering and also fixed material-font for the buttons.

The solution was to apply intersection tests for non-convex shapes to reject new CCW  and non-circumcircle triangulation candidates in our Delaunay tessellator.

The used Delaunay tessellation works well with (almost) convex shapes. In case e.g. a glyph gets to the extremes like ‘M’ in FreeMono or any other complex Chinese symbol – it may just simply happen that the new non-circumcircle triangle point crosses the inner (hole) or outer boundaries of the given polygon.

This results in mostly proper rendered Chinese fonts, see Droid Sans Fallback-Regular

Western glyphs with the usual fonts in regular mode are also in good shape now

Finally our problem font Free Mono is also readable by now

Last but not least a few bold font examples …

***

Interested companies & organization desiring to adopt & license this technology, as well as to support the work are more than welcome to contact us at Göthel Software e.K. We are also open to other contracting opportunities across C++/Java from biz-application, medical device application to the embedded space.