|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| .ci/ | | 03-May-2024 | - | 158 | 125 |
| .circleci/ | | 03-May-2024 | - | 202 | 179 |
| .github/workflows/ | | 03-May-2024 | - | 266 | 215 |
| docs/ | | 03-May-2024 | - | 5,903 | 5,523 |
| m4/ | | 03-May-2024 | - | 1,809 | 1,492 |
| perf/ | | 03-May-2024 | - | 15,626 | 14,661 |
| src/ | | 03-May-2024 | - | 125,942 | 88,347 |
| subprojects/ | | 03-May-2024 | - | 112 | 97 |
| test/ | | 03-May-2024 | - | 40,108 | 34,342 |
| util/ | | 03-May-2024 | - | 5,603 | 4,220 |
| .clang-format | D | 03-May-2024 | 1 KiB | 39 | 36 |
| .codecov.yml | D | 03-May-2024 | 99 | 9 | 7 |
| .editorconfig | D | 03-May-2024 | 376 | 24 | 18 |
| AUTHORS | D | 03-May-2024 | 201 | 15 | 14 |
| Android.bp | D | 03-May-2024 | 6 KiB | 194 | 186 |
| BUILD.md | D | 03-May-2024 | 1.2 KiB | 28 | 17 |
| CMakeLists.txt | D | 03-May-2024 | 25 KiB | 755 | 637 |
| CONFIG.md | D | 03-May-2024 | 6.9 KiB | 151 | 110 |
| COPYING | D | 03-May-2024 | 1.8 KiB | 39 | 32 |
| METADATA | D | 03-May-2024 | 647 | 15 | 14 |
| MODULE_LICENSE_MIT | D | 03-May-2024 | 0 | | |
| Makefile.am | D | 03-May-2024 | 2.4 KiB | 97 | 74 |
| NEWS | D | 03-May-2024 | 78.5 KiB | 2,601 | 1,990 |
| NOTICE | D | 03-May-2024 | 1.7 KiB | 37 | 30 |
| OWNERS | D | 03-May-2024 | 73 | 5 | 4 |
| README | D | 03-May-2024 | 518 | 16 | 8 |
| README.android | D | 03-May-2024 | 717 | 18 | 15 |
| README.md | D | 03-May-2024 | 1.7 KiB | 34 | 21 |
| README.mingw.md | D | 03-May-2024 | 2.1 KiB | 48 | 36 |
| README.python.md | D | 03-May-2024 | 961 | 32 | 22 |
| README.version | D | 03-May-2024 | 125 | 4 | 3 |
| RELEASING.md | D | 03-May-2024 | 1.7 KiB | 38 | 23 |
| TESTING.md | D | 03-May-2024 | 1 KiB | 56 | 40 |
| TEST_MAPPING | D | 03-May-2024 | 67 | 8 | 7 |
| THANKS | D | 03-May-2024 | 129 | 8 | 7 |
| TODO | D | 03-May-2024 | 436 | 29 | 15 |
| autogen.sh | D | 03-May-2024 | 1.1 KiB | 49 | 33 |
| configure.ac | D | 03-May-2024 | 14.3 KiB | 485 | 422 |
| git.mk | D | 03-May-2024 | 12.3 KiB | 401 | 293 |
| harfbuzz.doap | D | 03-May-2024 | 775 | 25 | 21 |
| meson.build | D | 03-May-2024 | 12.4 KiB | 406 | 346 |
| meson_options.txt | D | 03-May-2024 | 2.1 KiB | 43 | 40 |
| mingw-configure.sh | D | 03-May-2024 | 757 | 29 | 24 |
| replace-enum-strings.cmake | D | 03-May-2024 | 352 | 21 | 17 |
README
README.android
README.mingw.md
1For the development of HarfBuzz, the Microsoft shaping technology, Uniscribe,
2as a widely used and tested shaper is used as more-or-less OpenType reference
3implementation and that specially is important where OpenType specification
4is or wasn't that clear. For having access to Uniscribe on Linux/macOS these
5steps are recommended:
6
7You want to follow the 32bit instructions. The 64bit equivalents are included
8for reference.
9
101. Install Wine.
11 - Fedora: `dnf install wine`.
12
132. Install `mingw-w64` compiler.
14 - Fedora, 32bit: `dnf install mingw32-gcc-c++`
15 - Fedora, 64bit: `dnf install mingw64-gcc-c++`
16 - Debian: `apt install g++-mingw-w64`
17 - Mac: `brew install mingw-w64`
18
193. If you have drank the `meson` koolaid, look at `.ci/build-win32.sh` to see how to
20 invoke `meson` now, or just run that script. Otherwise, here's how to use the
21 old trusty autotools instead:
22
23 a) Install dependencies.
24 - Fedora, 32bit: `dnf install mingw32-glib2 mingw32-cairo mingw32-freetype`
25 - Fedora, 64bit: `dnf install mingw64-glib2 mingw64-cairo mingw64-freetype`
26
27 b) Configure:
28 - `NOCONFIGURE=1 ./autogen.sh && mkdir winbuild && cd winbuild`
29 - 32bit: `../mingw-configure.sh i686`
30 - 64bit: `../mingw-configure.sh x86_64`
31
32Now you can use `hb-shape` by `(cd win32build/util && wine hb-shape.exe)`
33but if you like to shape with the Microsoft Uniscribe:
34
354. Bring a 32bit version of `usp10.dll` for yourself from `C:\Windows\SysWOW64\usp10.dll` of your
36 Windows installation (assuming you have a 64-bit installation, otherwise
37 `C:\Windows\System32\usp10.dll`) that it is not a DirectWrite proxy
38 ([for more info](https://en.wikipedia.org/wiki/Uniscribe)).
39 Rule of thumb, your `usp10.dll` should have a size more than 500kb, otherwise
40 it is designed to work with DirectWrite which Wine can't work with its original one.
41 You want a Uniscribe from Windows 7 or older.
42
43 Put the DLL in the folder you are going to run the next command,
44
455. `WINEDLLOVERRIDES="usp10=n" wine hb-shape.exe fontname.ttf -u 0061,0062,0063 --shaper=uniscribe`
46
47(`0061,0062,0063` means `abc`, use test/shaping/hb-unicode-decode to generate ones you need)
48
README.python.md
1To enable HarfBuzz bindings for Python among other languages, make sure
2you have latest version of gobject-introspection available. On Ubuntu,
3you can install that this way:
4
5```bash
6sudo apt-get install libgirepository1.0-dev
7```
8
9And then run `meson setup` and make sure that `Introspection` is reported
10enabled in output.
11
12Compile and install.
13
14Make sure you have the installation lib dir in `LD_LIBRARY_PATH`, as needed
15for the linker to find the library.
16
17Then make sure you also have `GI_TYPELIB_PATH` pointing to the resulting
18`$prefix/lib/girepository-*` directory.
19
20Make sure you have pygobject installed. Then check that the following
21import works in your Python interpreter:
22
23```python
24from gi.repository import HarfBuzz
25```
26
27If it does, you are ready to call HarfBuzz from Python! Congratulations.
28See [`src/sample.py`](src/sample.py).
29
30The Python API will change. Let us know on the mailing list if you are
31using it, and send lots of feedback.
32
README.version