|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| .ci/ | | 03-May-2024 | - | 101 | 65 |
| .circleci/ | | 03-May-2024 | - | 346 | 271 |
| docs/ | | 03-May-2024 | - | 5,290 | 5,013 |
| m4/ | | 03-May-2024 | - | 1,809 | 1,492 |
| src/ | | 03-May-2024 | - | 106,562 | 75,353 |
| test/ | | 03-May-2024 | - | 30,070 | 25,769 |
| util/ | | 03-May-2024 | - | 4,547 | 3,376 |
| .clang-format | D | 03-May-2024 | 1 KiB | 39 | 36 |
| .codecov.yml | D | 03-May-2024 | 84 | 8 | 6 |
| .editorconfig | D | 03-May-2024 | 334 | 22 | 16 |
| .travis.yml | D | 03-May-2024 | 2.4 KiB | 79 | 63 |
| AUTHORS | D | 03-May-2024 | 201 | 15 | 14 |
| Android.bp | D | 03-May-2024 | 6 KiB | 193 | 185 |
| BUILD.md | D | 03-May-2024 | 1.7 KiB | 51 | 30 |
| CMakeLists.txt | D | 03-May-2024 | 27.6 KiB | 821 | 697 |
| CONFIG.md | D | 03-May-2024 | 7 KiB | 152 | 111 |
| COPYING | D | 03-May-2024 | 1.7 KiB | 38 | 31 |
| METADATA | D | 03-May-2024 | 610 | 15 | 14 |
| MODULE_LICENSE_MIT | D | 03-May-2024 | 0 | | |
| Makefile.am | D | 03-May-2024 | 2.8 KiB | 104 | 77 |
| NEWS | D | 03-May-2024 | 67.8 KiB | 2,332 | 1,757 |
| NOTICE | D | 03-May-2024 | 1.7 KiB | 37 | 30 |
| OWNERS | D | 03-May-2024 | 73 | 5 | 4 |
| README | D | 03-May-2024 | 1.9 KiB | 35 | 22 |
| README.android | D | 03-May-2024 | 717 | 18 | 15 |
| README.md | D | 03-May-2024 | 1.9 KiB | 35 | 22 |
| README.mingw.md | D | 03-May-2024 | 2.4 KiB | 49 | 35 |
| README.python.md | D | 03-May-2024 | 1.1 KiB | 37 | 25 |
| README.version | D | 03-May-2024 | 125 | 4 | 3 |
| RELEASING.md | D | 03-May-2024 | 3.1 KiB | 73 | 53 |
| TESTING.md | D | 03-May-2024 | 2.2 KiB | 87 | 64 |
| 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 |
| appveyor.yml | D | 03-May-2024 | 3.4 KiB | 94 | 52 |
| autogen.sh | D | 03-May-2024 | 1.1 KiB | 49 | 33 |
| azure-pipelines.yml | D | 03-May-2024 | 709 | 22 | 19 |
| configure.ac | D | 03-May-2024 | 16.9 KiB | 543 | 478 |
| git.mk | D | 03-May-2024 | 12.3 KiB | 401 | 293 |
| harfbuzz.doap | D | 03-May-2024 | 775 | 25 | 21 |
| mingw-configure.sh | D | 03-May-2024 | 757 | 29 | 24 |
| mingw-ldd.py | D | 03-May-2024 | 1.6 KiB | 59 | 40 |
| mingw32.sh | D | 03-May-2024 | 62 | 3 | 1 |
| mingw64.sh | D | 03-May-2024 | 64 | 3 | 1 |
| 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
71. Install Wine from your favorite package manager. On Fedora that's `dnf install wine`.
8
92. And `mingw-w64` compiler.
10 With `brew` on macOS, you can have it like `brew install mingw-w64`.
11 On Fedora, with `dnf install mingw32-gcc-c++`, or `dnf install mingw64-gcc-c++` for the
12 64-bit Windows.
13
143. Install cross-compiled dependency packages. Alternatively see [^1] below.
15 On Fedora that would be `dnf install mingw32-glib2 mingw32-cairo mingw32-freetype`
16 for 32-bit, or `dnf install mingw64-glib2 mingw64-cairo mingw64-freetype` for 64-bit.
17
185. `NOCONFIGURE=1 ./autogen.sh && mkdir winbuild && cd winbuild`
19
206. Run `../mingw32.sh` for 32-bit build, or `../mingw64.sh` for 64-bit. This configures
21 HarfBuzz for cross-compiling. It enables Uniscribe backend as well.
22
237. `make`
24
25Now you can use hb-shape using `wine util/hb-shape.exe` but if you like to shape with
26the Microsoft Uniscribe,
27
288. Bring a 32bit version of `usp10.dll` for yourself from `C:\Windows\SysWOW64\usp10.dll` of your
29 Windows installation (assuming you have a 64-bit installation, otherwise
30 `C:\Windows\System32\usp10.dll`) that it is not a DirectWrite proxy
31 ([for more info](https://en.wikipedia.org/wiki/Uniscribe)).
32 Rule of thumb, your `usp10.dll` should have a size more than 500kb, otherwise
33 it is designed to work with DirectWrite which Wine can't work with its original one.
34 You want a Uniscribe from Windows 7 or older.
35
36 Put the DLL in the folder you are going to run the next command,
37
389. `WINEDLLOVERRIDES="usp10=n" wine util/hb-shape.exe fontname.ttf -u 0061,0062,0063 --shaper=uniscribe`
39
40(`0061,0062,0063` means `abc`, use test/shaping/hb-unicode-decode to generate ones you need)
41
42
43[^1] Download and put [this](https://drive.google.com/open?id=0B3_fQkxDZZXXbWltRGd5bjVrUDQ)
44 in your `~/.local/i686-w64-mingw32`. Then replace all the instances of
45 `/home/behdad/.local/i586-mingw32msvc` and `/home/behdad/.local/i686-w64-mingw32`
46 with `<$HOME>/.local/i686-w64-mingw32` on that folder.
47 (`<$HOME>` replace it with `/home/XXX` or `/Users/XXX` on macOS)
48 You shouldn't replace the instances of those inside binary files.
49
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 `autogen.sh` (if building from git), and then:
10
11```bash
12./configure --with-gobject --enable-introspection
13```
14
15Make sure that gobject-introspection is reported enabled then in the `configure` script output.
16
17Compile and install.
18
19Make sure you have the installation lib dir in `LD_LIBRARY_PATH`, as needed
20for the linker to find the library.
21
22Then make sure you also have `GI_TYPELIB_PATH` pointing to the resulting
23`$prefix/lib/girepository-*` directory.
24
25Make sure you have pygobject installed. Then check that the following
26import works in your Python interpreter:
27
28```python
29from gi.repository import HarfBuzz
30```
31
32If it does, you are ready to call HarfBuzz from Python! Congratulations.
33See [`src/sample.py`](src/sample.py).
34
35The Python API will change. Let us know on the mailing list if you are
36using it, and send lots of feedback.
37
README.version