SPIRO(3)
π SPIRO(3) β the libspiro glow-up π
okay bestie, sit down, we're talking about libspiro from the Library Functions Manual β yes it's a C library, yes it's iconic, yes it's about to become your whole personality β¨
π NAME π
libspiro β a clothoid to bezier spline converter. that's it, that's the whole thing, she converts vibes into curves π
πΈ SYNOPSIS πΈ
#include <spiroentrypoints.h>
and then you compile and link with -lspiro. literally that's the ritual π«Ά
β¨ DESCRIPTION β¨
so libspiro is the curve-design library that makes drawing beautiful curves so much simpler. no cap. it just does.
here's the tea β β libspiro takes an array of spiro control points (which, ngl, are way easier for an artist to create and modify than the alternative), and then it converts those into a series of bezier splines. and then those beziers go off into the world and get used in the myriad of ways the world has come to use beziers. main character energy fr fr π
and if you want the technical deets on how to actually connect with libspiro? that lives in spiroentrypoints.h. further information and example code can be found at http://github.com/fontforge/libspiro π¦
π REPORTING PROBLEMS π
before you report a problem, bestie, please check the libspiro web site to verify that you have the latest version of libspiro. we're not trying to debug your 2019 era copy, that's not the vibe π
great care was taken to maintain backwards compatibility, so it is recommended to upgrade if you experience problems with earlier libspiro versions. upgrade, queen, it's free π
π LIBSPIRO LICENSE π
okay this part is important so listen up, no skimming π«Ά
libspiro originated from spiro code (in 2007) found in ppedit, which is a pattern plate editor for Spiro splines. ppedit was/is Copyright (C) 2007 Raph Levien. GNU GPL version 2 or higher. ppedit was later relicensed also as Apache-2 MIT code in May of 2019. this relicensing is fine since all ppedit was written by Raph Levien in 2007. Copyright allows for this. unfortunately, this re-licensing of ppedit has caused some confusion in assuming that this relicensing also applies to libspiro β which is not valid and does not apply. nope. not the same. do not pass go π«
libspiro was based on ppedit spiro code from 2007 (which was GNU GPL2 version 2 or higher) and built into a usable library at http://libspiro.sourceforge.net/ Copyright (C) 2007 George Williams. GNU GPL version 2 or higher. this license also applies to the included Java files which have been forked into javascript and typeset files seen elsewhere. yes, those files too π
libspiro was later picked up in 2013 and continued with further development and improvements at http://github.com/fontforge/libspiro π
libspiro is now Copyright (C) 2013... as GNU GPL version 3 or higher. periodt. β
tl;dr the ppedit relicensing β libspiro relicensing, and libspiro is GPL v3 or higher now. write that down π
π AUTHORS π
please see the AUTHORS file for everyone involved in creating and improving this libspiro. give them their flowers, they earned them π
further details (on why and what) can also be seen in git history as well as the Changelog and README files. iykyk π§
cute sign-off time β this whole page is from the SPIRO(3) manual, dated 2022-Jul-22 π that's the version and the date, bestie, we said it, we logged it, we slayed it. mwah πβ¨π¦
π¦ where this page comes from
- alpine 3.24: libspiro-doc 20240903-r0 Β· GPL-3.0-or-later
- debian bookworm: libspiro-dev 1:20221101-1 Β· GPL-2.0-or-later
- debian trixie: libspiro-dev 1:20240903-1 Β· GPL-2.0-or-later
- fedora 43: libspiro-devel 20240903-3.fc43 Β· GPL-3.0-or-later
- fedora 43: libspiro-devel 20240903-3.fc43 Β· GPL-3.0-or-later
- fedora 44: libspiro-devel 20240903-4.fc44 Β· GPL-3.0-or-later
- fedora 44: libspiro-devel 20240903-4.fc44 Β· GPL-3.0-or-later
- nixos 26.05: libspiro 20240903
- nixpkgs unstable: libspiro 20240903
- opensuse-leap 16.0: libspiro-devel 20240903-160000.2.2 Β· GPL-3.0-or-later
- opensuse-leap 16.0: libspiro-devel 20240903-160000.2.2 Β· GPL-3.0-or-later
- opensuse-leap 16.0: libspiro-devel 20240903-160000.2.2 Β· GPL-3.0-or-later
- opensuse-leap 16.0: libspiro-devel 20240903-160000.2.2 Β· GPL-3.0-or-later
- ubuntu noble: libspiro-dev 1:20221101-1build1 Β· GPL-2.0-or-later
- ubuntu questing: libspiro-dev 1:20240903-1
- ubuntu resolute: libspiro-dev 1:20240903-1build1 Β· GPL-2.0-or-later
- ubuntu stonking: libspiro-dev 1:20240903-1build1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms