今回は、ざっくりとInkscapeで使用しているライブラリの概要と一覧を作ったので、貼っておきます。
まず間違いなく使用ライブラリを網羅していないので、これがすべてではありませんが。
とりあえずInkscapeのソース中に直接取り込まれていて、目に付いたものを記載しています。
幾何学関連で実績のあるオープンソース・ライブラリの良い一覧くらいにはなるかと。
Inkscapeソースコードの取得
まずはInkscapeのコードを取得しましょう。公式WikiのUsing a centralized (SVN-like) workflowを読みましょう。
http://wiki.inkscape.org/wiki/index.php/Working_with_Bazaar#SVN-style_checkout
ざっくり解説すると、Inkscapeはリポジトリにbazzer(bzr)を使っていて、ソースコードは以下のコマンドで取得できます。
bzr checkout lp:inkscape
bzr update
## libavoid
License:GPLobject-avoiding connector routing for use in interactive diagram editors.
http://www.adaptagrams.org/documentation/libavoid.html
## libcola
License:MITconstraint graph layout(制約グラフ)
http://marvl.infotech.monash.edu/webcola/
を見るとjs版のサンプル画像が見れる。
https://github.com/mjwybrow/adaptagrams
によると、libavoidなどと同じチーム(?)の制作。
## libcroco
License:LGPLLibcroco is a standalone css2 parsing and manipulation library.
https://github.com/GNOME/libcroco
http://lfsbookja.osdn.jp/BLFS/svn.ja/general/libcroco.html
## libdepixelize
License:不明Inkscapeではピクセル画像をベクタ化する際に使っているとのこと。
http://research.microsoft.com/en-us/um/people/kopf/pixelart/
によると、どうやらMSのプロジェクトから来ているらしい。
ソース上のREADMEによると、リポジトリからコピーしたものだから更新する場合は本家リポジトリを更新した上でコピーせよ、とのこと。
## libgdl
License: LGPL?dock layout widget.
GTK由来と思われるドッカー(ウィンドウ内で可変サイズの領域を取る内ウィンドウ的な)ウィジェット。
## libnrtype
License: (InkScape?)typeface rendering(cross platform glue)
http://wiki.inkscape.org/wiki/index.php/Pangoification
によると、Sodipodi時代に書かれてPangoに置き換えられていくように読める。
## libuemf
License: GPL2reading/writing Enhanced Metafile (EMF)
and Windows Metafile (WMF) files.
https://ja.wikipedia.org/wiki/Windows_Metafile
によると、EMFはWindowsのベクトル画像フォーマットとのこと。
## libvpsc
License: LGPL? 何をやっているのか不明。
http://www.adaptagrams.org/documentation/libvpsc.html
によると、
solving for the Variable Placement with Separation Constraints problem.(分散制約問題)を解く、とある。
## libarot
License: (InkScape?)rasterization and geometry library
http://libregraphicsworld.org/blog/entry/rock-around-0-48-interview-with-inkscape-team
によると、rasterizationはCairoに、geometoryは2geomに置き換えられていくように読める
## 2geom
License: LGPLhttp://osdn.jp/projects/sfnet_lib2geom/
によると、幾何学計算のライブラリ。(抽象的な処理を受け持ち、レンダリング(ラスタライズ?)は担当しない?)
まとめ
・ adaptagrams.org という方(方々?)が作ったライブラリが多い。・いくつかのライブラリは将来的に2geomにまとめられて置き換えられていくらしい。