Inkscape’s main unit handling code is in helper/units.cpp
and util/units.cpp
. The code in helper
is originally from libgnomeprint, and the code in util
is the start of a rewrite; I plan on moving everything to util
. In addition, there is separate code for handling units within an SVG file, for live effects, and for display, as well as a few other miscellaneous header files related to units. Based on these files, I have developed a list of major unit support requirements.
- Listing units
- Handling unit names and abbreviations
- Unit conversion
- Reading units from SVG files
To start, I plan on making the existing code more readable, then moving all unit handling into util/units.cpp
, starting with the functions in helper/units.cpp
.