|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| docs/ | H | 03-May-2022 | - | 6,987 | 6,485 |
| m4/ | H | 03-May-2022 | - | 10,983 | 9,779 |
| src/ | H | 03-May-2022 | - | 110,248 | 78,731 |
| test/ | H | 03-May-2022 | - | 24,478 | 19,416 |
| util/ | H | 03-May-2022 | - | 5,072 | 3,928 |
| AUTHORS | H A D | 09-Jan-2020 | 201 | 15 | 14 |
| BUILD.md | H A D | 09-Jan-2020 | 1.7 KiB | 51 | 30 |
| CONFIG.md | H A D | 09-Jan-2020 | 7 KiB | 152 | 111 |
| COPYING | H A D | 09-Jan-2020 | 1.7 KiB | 38 | 31 |
| ChangeLog | H A D | 09-Jan-2020 | 3.8 MiB | 117,513 | 83,098 |
| INSTALL | H A D | 09-Jan-2020 | 15.4 KiB | 369 | 287 |
| Makefile.am | H A D | 09-Jan-2020 | 2.8 KiB | 104 | 77 |
| Makefile.in | H A D | 09-Jan-2020 | 30.4 KiB | 996 | 879 |
| NEWS | H A D | 09-Jan-2020 | 67.8 KiB | 2,332 | 1,757 |
| README | H A D | 09-Jan-2020 | 1.9 KiB | 35 | 22 |
| README.md | H A D | 09-Jan-2020 | 1.9 KiB | 35 | 22 |
| README.mingw.md | H A D | 09-Jan-2020 | 2.4 KiB | 49 | 35 |
| README.python.md | H A D | 09-Jan-2020 | 1.1 KiB | 37 | 25 |
| RELEASING.md | H A D | 09-Jan-2020 | 3.1 KiB | 73 | 53 |
| TESTING.md | H A D | 09-Jan-2020 | 2.2 KiB | 87 | 64 |
| THANKS | H A D | 09-Jan-2020 | 129 | 8 | 7 |
| TODO | H A D | 09-Jan-2020 | 436 | 29 | 15 |
| aclocal.m4 | H A D | 09-Jan-2020 | 59 KiB | 1,647 | 1,481 |
| ar-lib | H A D | 09-Jan-2020 | 5.7 KiB | 271 | 210 |
| autogen.sh | H A D | 09-Jan-2020 | 1.1 KiB | 49 | 33 |
| compile | H A D | 09-Jan-2020 | 7.2 KiB | 349 | 259 |
| config.guess | H A D | 09-Jan-2020 | 43.1 KiB | 1,477 | 1,284 |
| config.h.in | H A D | 09-Jan-2020 | 4.6 KiB | 188 | 126 |
| config.sub | H A D | 09-Jan-2020 | 35.6 KiB | 1,834 | 1,690 |
| configure | H A D | 09-Jan-2020 | 742.2 KiB | 24,723 | 20,939 |
| configure.ac | H A D | 09-Jan-2020 | 16.9 KiB | 543 | 478 |
| depcomp | H A D | 09-Jan-2020 | 23 KiB | 792 | 502 |
| gtk-doc.make | H A D | 09-Jan-2020 | 10.5 KiB | 322 | 275 |
| harfbuzz.doap | H A D | 09-Jan-2020 | 775 | 25 | 21 |
| install-sh | H A D | 09-Jan-2020 | 15 KiB | 519 | 337 |
| ltmain.sh | H A D | 09-Jan-2020 | 316.6 KiB | 11,150 | 7,980 |
| mingw-configure.sh | H A D | 09-Jan-2020 | 757 | 29 | 24 |
| mingw-ldd.py | H A D | 09-Jan-2020 | 1.6 KiB | 59 | 40 |
| mingw32.sh | H A D | 09-Jan-2020 | 62 | 3 | 1 |
| mingw64.sh | H A D | 09-Jan-2020 | 64 | 3 | 1 |
| missing | H A D | 09-Jan-2020 | 6.7 KiB | 216 | 143 |
| replace-enum-strings.cmake | H A D | 09-Jan-2020 | 352 | 21 | 17 |
| test-driver | H A D | 09-Jan-2020 | 4.5 KiB | 149 | 87 |
README
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