Odin bindings for the Raqm library
Find a file
Maurizio M. Gavioli c4b63bcb07 Align to Raqm version 0.10.2
Re-order function bindings according to the Raqm release.
2024-12-10 12:34:17 +01:00
examples Initial commit 2024-08-17 15:08:30 +02:00
libs/freetype Initial commit 2024-08-17 15:08:30 +02:00
raqm Align to Raqm version 0.10.2 2024-12-10 12:34:17 +01:00
.gitignore Initial commit 2024-08-17 15:08:30 +02:00
LICENSE.md Fix license texts. 2024-08-20 10:36:22 +02:00
ols.json Initial commit 2024-08-17 15:08:30 +02:00
README.md Align to Raqm version 0.10.2 2024-12-10 12:34:17 +01:00

Odin Raqm Bindings

Odin bindings for the Raqm library.

The Raqm library is a light weight text layout library with strong emphasis on supporting languages and writing systems that require complex text layout.

To work the library depends on the following libraries:

The API source for the binding has been obtained collating the API header and the API documentation.

Library version

  • Up to Raqm version 0.10.2 released on 2024-09-22.

Limitations

  • Does not include the Raqm library itself (nor any of its dependencies): the Windows binaries for some of them are available from their respective web sites, more or less recent Linux binaries may be available on distribution repositories and in all other cases have to be compiled from the sources.

Example

The examples directory contains the simple Raqm example listed in the API site and ported to Odin. The example (and likely any non-trivial use of Raqm) requires the Freetype bindings; for this reason Josh Engler's Freetype bindings have been imported in the libs/freetype directory (thanks for the nice work!).

To be compiled and run, it still requires all the dependencies to be installed in the system and accessible.

Installing

Project-specific installation

  1. Create a directory named libs in the root of your project.

  2. Copy the raqm directory (with all its files) of this project in the aforementioned libs directory by any way available to you (from git submodule add to manual file copying...).

  3. You can now import this library in your source file as follows:

    import rq "libs/raqm"
    

Alternatively, you may place this project wherever you want (for instance in a git-cloned directory) and import it in your sources using the full relative path from your sources to the project raqm directory: this will not be portable to other machines or platforms, though (not recommended if you are developing a library other developers may re-use)

Odin-wide installation

To make the bindings directly available to all your Odin projects:

  1. Copy the raqm directory (with all its files) of this project in the shared directory of your Odin installation.

  2. You can now import these bindings in whatever Odin source file as follows:

    import rq "shared:raqm"
    

In both cases the rq label can be replaced with any identifier of your liking which does not conflict with existing identifiers.

Contributing

Pull requests and bug or issue reports are very welcome, as well as suggestions about code style improvements!