add Raqm license and readme

This commit is contained in:
nulano 2020-11-25 11:23:45 +00:00 committed by Andrew Murray
parent 8bc1ff35b4
commit 9e5fc136b9
4 changed files with 205 additions and 0 deletions

9
src/thirdparty/raqm/AUTHORS vendored Normal file
View File

@ -0,0 +1,9 @@
Abderraouf Adjal
Ali Yousuf
Anood Almuharbi
Asma Albahanta
Fahad Alsaidi
Ibtisam Almabsali
Khaled Hosny
Mazoon Almaamari
Shamsa Alqassabi

22
src/thirdparty/raqm/COPYING vendored Normal file
View File

@ -0,0 +1,22 @@
The MIT License (MIT)
Copyright © 2015 Information Technology Authority (ITA) <foss@ita.gov.om>
Copyright © 2016 Khaled Hosny <khaledhosny@eglug.org>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

89
src/thirdparty/raqm/NEWS vendored Normal file
View File

@ -0,0 +1,89 @@
Overview of changes leading to 0.7.1
Sunday, November 22, 2020
====================================
Require HarfBuzz >= 2.0.0
Build and documentation fixes.
Overview of changes leading to 0.7.0
Monday, May 27, 2019
====================================
New API:
* raqm_version
* raqm_version_string
* raqm_version_atleast
* RAQM_VERSION_MAJOR
* RAQM_VERSION_MICRO
* RAQM_VERSION_MINOR
* RAQM_VERSION_STRING
* RAQM_VERSION_ATLEAST
Overview of changes leading to 0.6.0
Sunday, May 5, 2019
====================================
Fix TTB direction regression from the previous release.
Correctly detect script of Common and Inherite characters at start of text.
Undef HAVE_CONFIG_H workaround, for older versions of Fribidi.
Drop test suite dependency on GLib.
Port test runner to Python instead of shell script.
New API:
* raqm_set_invisible_glyph()
Overview of changes leading to 0.5.0
Saturday, February 24, 2018
====================================
Use FriBiDi 1.x API when available.
Overview of changes leading to 0.4.0
Sunday, January 21, 2018
====================================
Set begin-of-text and end-of-text HarfBuzz buffer flags.
Dynamically allocate memory instead of using stack allocation for input text.
Accept zero length text and do nothing instead of treating it as error.
Overview of changes leading to 0.3.0
Monday, August 21, 2017
====================================
Fix stack corruption on MSVC.
New API:
* raqm_set_freetype_load_flags
Overview of changes leading to 0.2.0
Wednesday, August 25, 2016
====================================
Fix building with MSVC due to lacking C99 support.
Make multiple fonts support actually work. Start and length now respect the
input encoding.
New API:
* raqm_index_to_position
* raqm_position_to_index
* raqm_set_language
Overview of changes leading to 0.1.1
Sunday, May 1, 2016
====================================
Fix make check on 32-bit systems.
Overview of changes leading to 0.1.0
Wednesday, January 20, 2016
====================================
First release.

85
src/thirdparty/raqm/README vendored Normal file
View File

@ -0,0 +1,85 @@
Raqm
====
[![Linux & macOS build](https://travis-ci.org/HOST-Oman/libraqm.svg?branch=master)](https://travis-ci.org/HOST-Oman/libraqm)
[![Windows build](https://img.shields.io/appveyor/ci/HOSTOman/libraqm/master.svg)](https://ci.appveyor.com/project/HOSTOman/libraqm)
Raqm is a small library that encapsulates the logic for complex text layout and
provides a convenient API.
It currently provides bidirectional text support (using [FriBiDi][1]), shaping
(using [HarfBuzz][2]), and proper script itemization. As a result,
Raqm can support most writing systems covered by Unicode.
The documentation can be accessed on the web at:
> http://host-oman.github.io/libraqm/
Raqm (Arabic: رَقْم) is writing, also number or digit and the Arabic word for
digital (رَقَمِيّ) shares the same root, so it is a play on “digital writing”.
Building
--------
Raqm depends on the following libraries:
* [FreeType][3]
* [HarfBuzz][2]
* [FriBiDi][1]
To build the documentation you will also need:
* [GTK-Doc][4]
To install dependencies on Fedora:
sudo dnf install freetype-devel harfbuzz-devel fribidi-devel gtk-doc
To install dependencies on Ubuntu:
sudo apt-get install libfreetype6-dev libharfbuzz-dev libfribidi-dev \
gtk-doc-tools
On Mac OS X you can use Homebrew:
brew install freetype harfbuzz fribidi gtk-doc
export XML_CATALOG_FILES="/usr/local/etc/xml/catalog" # for the docs
Once you have the source code and the dependencies, you can proceed to build.
To do that, run the customary sequence of commands in the source code
directory:
$ ./configure
$ make
$ make install
To build the documentation, pass `--enable-gtk-doc` to the `configure` script.
To run the tests:
$ make check
Contributing
------------
Once you have made a change that you are happy with, contribute it back, well
be happy to integrate it! Just fork the repository and make a pull request.
Projects using Raqm
-------------------
1. [ImageMagick](https://github.com/ImageMagick/ImageMagick)
2. [LibGD](https://github.com/libgd/libgd)
3. [FontView](https://github.com/googlei18n/fontview)
4. [Pillow](https://github.com/python-pillow)
5. [mplcairo](https://github.com/anntzer/mplcairo)
The following projects have patches to support complex text layout using Raqm:
2. SDL_ttf: https://bugzilla.libsdl.org/show_bug.cgi?id=3211
3. Pygame: https://bitbucket.org/pygame/pygame/pull-requests/52
4. Blender: https://developer.blender.org/D1809
[1]: http://fribidi.org
[2]: http://harfbuzz.org
[3]: https://www.freetype.org
[4]: https://www.gtk.org/gtk-doc