The ISF-Qt Library
ISF-Qt is a library, written in C++ with the Qt 4 toolkit, which is capable of reading and writing the ISF format. ISF stands for "Ink Serialized Format", and is the disk serialization format used by the Windows.Ink C# library and by the TabletPC platform, but also by applications like Windows Live Messenger - which uses ISF to transfer handwriting messages.
We had the need to interpret these handwriting messages in the best possible way, and started to reverse-engineer the format, with the help of existing (but incomplete) libraries and specifications. What we ended up with is ISF-Qt, a library which can be used to decode an ISF file or data stream, manage it and the the strokes which comprise the drawing, and write ISF files/streams. You can also create new drawings from scratch, of course!
What's In The Box
When you download ISF-Qt, you will obtain the library itself, a Qt4 widget you can
include in your application to draw with ISF freely, and the Doxygen-generated
There also are some tests, among which you can find a simple drawing application (which uses the aforementioned widget) useable to try ISF-Qt out, by drawing, erasing, loading and saving pictures.
Read below for a comprehensive list of features.
Here is a list of features in the current version:
Stream Parser features:
- Converting an ISF data stream into an Drawing object
- Converting a Drawing object into an ISF data stream
Drawing class features:
- Creating a new Drawing object
- Adding new strokes with custom color, size and attributes
- Modifying existing strokes
- Deleting strokes
- Altering drawing properties, like transformations
In the future, we will also support:
- Adding ISF data to a GIF image (Fortified-GIF format)
- Reading and writing custom tags (already in the works)
- Associating recognized text to the drawn strokes
At the moment, ISF-Qt has not yet been released. It's approaching fast to the 1.0 milestone though, and we should be able to release it very soon!
But if you're impatient, you can download the source code:
If you have any question, or if you want to contribute (we need help!), feel free to contact us:
- Via email: vpilo (at) coldshock (dot) net
- Our forum: http://www.kmess.org/forum/