Cairo(カイロ)は、様々なデバイスに対応したベクトルベースの2Dグラフィックス描画APIを提供する、フリーソフトウェアの
ライブラリです。その最大の特徴は、アンチエイリアス処理による非常に滑らかで美しい描画品質にあります。直線、矩形、円弧といった基本的な図形はもちろんのこと、ベジェ曲線や複雑な文字の描画も容易に行えます。
また、半透明描画、マスク処理、グラデーション機能も搭載しており、高度なグラフィック表現が可能です。描画処理はソフトウェアによるテセレーションが基本ですが、可能な場合にはハードウェアアクセラレーションを自動的に利用する設計となっており、パフォーマンスの向上も図られています。
歴史
Cairoは、キース・パッカード氏とカール・ワース氏らによって、
X Window Systemでの利用を目的に開発が開始されました。当初は「Xr」や「Xr/Xc」と呼ばれていましたが、その後、
クロスプラットフォームに対応したXに依存しない
ライブラリであることを強調するため、「cairo」へと名称が変更されました。
バックエンド
Cairoは、幅広いプラットフォームをサポートしており、出力バックエンドとしては、
X Window System(XlibおよびXCB)、GDI(
Microsoft Windows)、Quartz(macOS)、イメージバッファ、
PostScript、PDF、SVGなどが挙げられます。さらに、実験的なサポートとして、
OpenGL、
OpenGL ES 2.0、OpenVG、
BeOS、OS/2、DirectFBも含まれています。
バインディング
Cairoの基本APIは
C言語で提供されていますが、Ada、C++、Common Lisp、Factor、Haskell、Java、Lua、Monoと.NET、Perl、PHP、Python、Ruby、Scheme、Smalltalkなど、多様なプログラミング言語向けのバインディングが用意されています。これにより、様々な開発環境でCairoの機能を利用できます。
採用例
Cairoは、多くのソフトウェアで採用されており、その中でも特に有名なのは以下の通りです。
GTK: バージョン2.8以降、GUIツールキットであるGTKのウィジェット描画にCairoが使用されています。
Mozilla Firefox: ブラウザのレンダリングエンジン
Geckoの描画にCairoが採用されています。これにより、Webページの表示がより滑らかで高品質になっています。
Poppler: PDF描画ライブラリであるPopplerは、Cairoを用いてPDFファイルの内容を描画しています。
OpenOffice.org: オフィススイートのOpenOffice.orgでもCairoが採用されています。
GIMP: 画像編集ソフトウェアGIMPでもCairoが使用されています。
GNU Emacs: テキストエディターの
GNU Emacsでもバージョン28.1以降Cairoが採用されています。
関連項目
Cairoと関連性の高いプロジェクトとして、
Skiaが挙げられます。
Skiaは、
Google ChromeやAndroidで使用されている2Dグラフィックス
ライブラリです。
参照
*
Cairo 公式ウェブサイトは、Cairoに関する詳細な情報や最新のニュースを提供しています。