Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pharo-graphics/alexandrie
FFI bindings and a 2D canvas for Pharo based on Cairo, Freetype and Harfbuzz
https://github.com/pharo-graphics/alexandrie
cairo freetype harfbuzz pharo smalltalk
Last synced: about 1 month ago
JSON representation
FFI bindings and a 2D canvas for Pharo based on Cairo, Freetype and Harfbuzz
- Host: GitHub
- URL: https://github.com/pharo-graphics/alexandrie
- Owner: pharo-graphics
- License: mit
- Created: 2022-04-19T01:38:34.000Z (over 2 years ago)
- Default Branch: dev
- Last Pushed: 2024-10-16T19:52:07.000Z (2 months ago)
- Last Synced: 2024-10-18T17:37:50.593Z (2 months ago)
- Topics: cairo, freetype, harfbuzz, pharo, smalltalk
- Language: Smalltalk
- Homepage:
- Size: 3.44 MB
- Stars: 5
- Watchers: 8
- Forks: 2
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Alexandrie
[![License](https://img.shields.io/github/license/pharo-graphics/Alexandrie.svg)](./LICENSE)
[![Tests](https://github.com/pharo-graphics/Alexandrie/actions/workflows/test.yml/badge.svg)](https://github.com/pharo-graphics/Alexandrie/actions/workflows/test.yml)
[![Test ffi-minimal baseline group](https://github.com/pharo-graphics/Alexandrie/actions/workflows/test.ffi-minimal.yml/badge.svg)](https://github.com/pharo-graphics/Alexandrie/actions/workflows/test.ffi-minimal.yml)This repository includes:
- [Pharo](https://pharo.org/) FFI bindings to [Cairo](https://www.cairographics.org), [FreeType](https://freetype.org/) and [Harfbuzz](https://harfbuzz.github.io/).
- A font manager that can scan filesystem for fonts files, and provide a simple selection API (extracted from Pharo's FT2 bindings)
- A 2D canvas (unstable) for drawing figures and text providing an abstraction layer on top of Cairo. It was born as an alternative for rendering [Bloc](https://github.com/pharo-graphics/Bloc) elements, but it is independent from Bloc.For more details, please refer to our documentation:
* [User Guide](doc/1-UserGuide.md)
* [FFI Code Convention](doc/2-CodeConvention.md)
* [Regression Testing](doc/3-Testing.md)
* [External C dependencies](doc/4-Dependencies.md)
* [Why writing new Cairo bindings?](doc/5-WhyNewBindings.md)These pages can be browsed via Pharo IDE -> World Menu -> Help -> Documentation Browser -> Alexandrie/doc (after loading the project).
## Install
The project can be loaded as usual via Metacello, using the `BaselineOfAlexandrie` specification. To copy/paste a loading script, see the [wiki page](../../wiki/Install).
## Branches & Contributions
We describe our contribution workflow & branch name convention in [this wiki page](../../wiki/Branches-and-versions).
## License
This code is licensed under the [MIT license](./LICENSE).