1Raqm 2==== 3 4[![Linux & macOS build](https://travis-ci.org/HOST-Oman/libraqm.svg?branch=master)](https://travis-ci.org/HOST-Oman/libraqm) 5[![Windows build](https://img.shields.io/appveyor/ci/HOSTOman/libraqm/master.svg)](https://ci.appveyor.com/project/HOSTOman/libraqm) 6 7Raqm is a small library that encapsulates the logic for complex text layout and 8provides a convenient API. 9 10It currently provides bidirectional text support (using [FriBiDi][1]), shaping 11(using [HarfBuzz][2]), and proper script itemization. As a result, 12Raqm can support most writing systems covered by Unicode. 13 14The documentation can be accessed on the web at: 15> http://host-oman.github.io/libraqm/ 16 17Raqm (Arabic: رَقْم) is writing, also number or digit and the Arabic word for 18digital (رَقَمِيّ) shares the same root, so it is a play on “digital writing”. 19 20Building 21-------- 22 23Raqm depends on the following libraries: 24* [FreeType][3] 25* [HarfBuzz][2] 26* [FriBiDi][1] 27 28To build the documentation you will also need: 29* [GTK-Doc][4] 30 31To install dependencies on Fedora: 32 33 sudo dnf install freetype-devel harfbuzz-devel fribidi-devel gtk-doc 34 35To install dependencies on Ubuntu: 36 37 sudo apt-get install libfreetype6-dev libharfbuzz-dev libfribidi-dev \ 38 gtk-doc-tools 39 40On Mac OS X you can use Homebrew: 41 42 brew install freetype harfbuzz fribidi gtk-doc 43 export XML_CATALOG_FILES="/usr/local/etc/xml/catalog" # for the docs 44 45Once you have the source code and the dependencies, you can proceed to build. 46To do that, run the customary sequence of commands in the source code 47directory: 48 49 $ ./configure 50 $ make 51 $ make install 52 53To build the documentation, pass `--enable-gtk-doc` to the `configure` script. 54 55To run the tests: 56 57 $ make check 58 59Contributing 60------------ 61 62Once you have made a change that you are happy with, contribute it back, we’ll 63be happy to integrate it! Just fork the repository and make a pull request. 64 65Projects using Raqm 66------------------- 67 681. [ImageMagick](https://github.com/ImageMagick/ImageMagick) 692. [LibGD](https://github.com/libgd/libgd) 703. [FontView](https://github.com/googlei18n/fontview) 714. [Pillow](https://github.com/python-pillow) 725. [mplcairo](https://github.com/anntzer/mplcairo) 73 74The following projects have patches to support complex text layout using Raqm: 75 762. SDL_ttf: https://bugzilla.libsdl.org/show_bug.cgi?id=3211 773. Pygame: https://bitbucket.org/pygame/pygame/pull-requests/52 784. Blender: https://developer.blender.org/D1809 79 80 81 82[1]: http://fribidi.org 83[2]: http://harfbuzz.org 84[3]: https://www.freetype.org 85[4]: https://www.gtk.org/gtk-doc 86