Skip to main content

WILL SDK for ink

info

Versions 5.3.5 of the WILL SDK for ink for Windows and 2.0.0 of the WILL SDK for ink for Web have now been released!

Please note that the 32-bit Windows WPF version has now been removed.

For those looking to build 32-bit, a library needs to be added for the WPF version. To enable, set the Microsoft.Wpf.Interop.DirectX dependency in the NuGet package as x86.

A brief guide on this can be found here.

When used on a local machine, a license is not required for the Web SDK.

The WILL™ SDK for ink allows you to include premium digital inking features in your applications. Its modularized architecture allows each module to be configured, replaced, or omitted as required by the specific application, providing you with superior flexibility. You can also use the WILL file format (.will) to exchange ink content between applications and platforms.

The WILL™ data format is similar to SVG, but is specifically designed to accommodate digital ink content. It is used for exchanging ink content between devices and applications, and is implemented as an open and extensible binary format. Note that the main modules of the WILL software library do not rely on a specific file format. You can use InkML, SVG, PNG or others to exchange handwritten content, according to an application’s specific requirements.

WILL™ supports a variety of input technologies and generates the best possible ink through the use of these modules:

  • Path generation and Smoothing taking into account the specific characteristics of each input type, including the pen movement and pressure
  • Rasterizer providing advanced real-time stroke rendering
  • Manipulation supporting editing functions that leverage the WILL stroke mathematical model
  • Serialization encoding: encodes and decoding WILL stroke data

The WILL™ SDK for ink provides platform-specific packages for iOS, Android, Windows UWP, Windows WPF and Web. These packages provide a deep integration with the hosting platform by using native packaging and programming techniques and by providing platform-specific language bindings for all modules in the software library. Additional integration can be supported on request under a high-profile partnership contract.

To read more, click here