Release date: 9th September 2015

Previous release: 3.4, 26th June 2015

Major changes since the previous release

There is now a Mac OS project

CartoType can now be built more easily for Mac OS. It now has its own Xcode project file.

Most third-party libraries are now in the CartoType namespace

To avoid linker conflicts when using CartoType as a static library with apps that use popular open-source libraries, the following libraries used by CartoType have been moved inside the CartoType namespace: libpng, libjpeg, zlib, expat, and freetype.

The default pixel size is now 144dpi

The default pixel size was formerly 96dpi, and the style sheets were designed to work well on Windows, which returns a value of 96dpi for all actual display resolutions. The default pixel size in now 144dpi (exactly 1.5 times the former value) and the standard style sheets have been modified so that you no longer need to provide an incorrect pixel size on iOS, Android and other platforms to get an acceptable appearance. You can now supply the correct display pixel size to SetResolutionDpi.

.NET SDK now includes a 64-bit version

The .NET SDK is now built in both 32-bit and 64-bit versions. The 64-bit version is recommended: it is not limited to 2Gb of heap and can thus perform route calculation on much larger maps.

Optimized multi-point routes

You can now create routes that visit a number of points in an order chosen to minimize journey time. This is a partial solution to the well-known travelling salesman problem. A perfect solution usually takes too long because the algorithm has to examine a huge number of variant routes (N factorial, where N is the number of points); the new function, CreateBestRoute, allows you to set the number of routes examined.

Fonts can now be loaded as in-memory data

There's a new function in the C++ SDK to load a font from data in memory: CFramework::LoadFont(const uint8* aData,int32 aLength,bool aCopyData).