• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.ci/H22-Nov-2020-3322

docs/H03-May-2022-16175

m4/H22-Nov-2020-893833

src/H22-Nov-2020-2,3411,461

tests/H22-Nov-2020-3,5122,986

.appveyor.ymlH A D22-Nov-2020891 2621

.travis.ymlH A D22-Nov-2020672 4133

AUTHORSH A D22-Nov-2020138 109

CODING.mdH A D22-Nov-20202.1 KiB10788

COPYINGH A D22-Nov-20201.1 KiB2318

Makefile.amH A D22-Nov-2020445 2014

NEWSH A D22-Nov-20202 KiB9061

READMEH A D22-Nov-20202.6 KiB8657

README.mdH A D22-Nov-20202.6 KiB8657

autogen.shH A D22-Nov-2020492 2013

configure.acH A D22-Nov-20201.7 KiB7660

git.mkH A D22-Nov-202011.4 KiB360255

raqm.pc.inH A D22-Nov-2020350 1412

README

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

README.md

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