у меня в Oberon/Ur более лучшие овощи на этой же основе будут. я, собственно, и вспомнил потому что в O/Ur портировал. то есть, алгоритм тот же самый, конечно, просто чуть почищено апи, выделение памяти переведено на libc чтобы не нагружать GC зря, и такое всё. тоже, думаю, при необходимости портануть проблемы не составит. с O/Ur на самом деле даже проще, мне кажется.
кстати, я нашёл лицензию, если надо:
Код:
(*
* based on AGG Lite code. original license:
* Anti-Grain Geometry - Version 2.1 Lite
* Copyright (C) 2002-2003 Maxim Shemanarev (McSeem)
*
* Permission to copy, use, modify, sell and distribute this software
* is granted provided this copyright notice appears in all copies.
* This software is provided "as is" without express or implied
* warranty, and with no claim as to its suitability for any purpose.
*
* The author gratefully acknowleges the support of David Turner,
* Robert Wilhelm, and Werner Lemberg - the authors of the FreeType
* libray - in producing this work. See http://www.freetype.org for details.
*)
p.s.: если кому интересно, что там за чёрная магия — то
вот такая. основной алгоритм во всех наследниках libart одинаковый. автор libart Raph Levien в личной переписке говорит, что сочинил его сам.
конкретно этот растеризатор использует fixed point, и имеет, по факту, диапазон допустимых координат [-32767..32767].