|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| .ci/ | | 12-May-2024 | - | 114 | 88 |
| .circleci/ | | 12-May-2024 | - | 177 | 156 |
| .github/workflows/ | | 12-May-2024 | - | 213 | 168 |
| docs/ | | 12-May-2024 | - | 5,593 | 5,293 |
| m4/ | | 12-May-2024 | - | 1,809 | 1,492 |
| perf/ | | 12-May-2024 | - | 15,626 | 14,661 |
| src/ | | 12-May-2024 | - | 121,035 | 84,579 |
| subprojects/ | | 12-May-2024 | - | 103 | 85 |
| test/ | | 12-May-2024 | - | 34,758 | 29,436 |
| util/ | | 12-May-2024 | - | 4,965 | 3,721 |
| .clang-format | D | 12-May-2024 | 1 KiB | 39 | 36 |
| .codecov.yml | D | 12-May-2024 | 84 | 8 | 6 |
| .editorconfig | D | 12-May-2024 | 376 | 24 | 18 |
| AUTHORS | D | 12-May-2024 | 201 | 15 | 14 |
| BUILD.gn | D | 12-May-2024 | 4 KiB | 102 | 99 |
| BUILD.md | D | 12-May-2024 | 1.2 KiB | 28 | 17 |
| CMakeLists.txt | D | 12-May-2024 | 24.7 KiB | 745 | 627 |
| CONFIG.md | D | 12-May-2024 | 6.9 KiB | 151 | 110 |
| COPYING | D | 12-May-2024 | 1.8 KiB | 39 | 32 |
| Makefile.am | D | 12-May-2024 | 2.3 KiB | 97 | 74 |
| NEWS | D | 12-May-2024 | 73.4 KiB | 2,467 | 1,872 |
| OAT.xml | D | 12-May-2024 | 5.2 KiB | 81 | 26 |
| README | D | 01-Jan-1970 | 0 | | |
| README.OpenSource | D | 12-May-2024 | 625 | 11 | 11 |
| README.md | D | 12-May-2024 | 1.8 KiB | 34 | 21 |
| README.mingw.md | D | 12-May-2024 | 2.1 KiB | 48 | 36 |
| README.python.md | D | 12-May-2024 | 961 | 32 | 22 |
| RELEASING.md | D | 12-May-2024 | 1.9 KiB | 45 | 30 |
| TESTING.md | D | 12-May-2024 | 1 KiB | 56 | 40 |
| THANKS | D | 12-May-2024 | 129 | 8 | 7 |
| TODO | D | 12-May-2024 | 436 | 29 | 15 |
| autogen.sh | D | 12-May-2024 | 1.1 KiB | 49 | 33 |
| bundle.json | D | 12-May-2024 | 997 | 33 | 33 |
| configure.ac | D | 12-May-2024 | 14.3 KiB | 485 | 422 |
| git.mk | D | 12-May-2024 | 12.3 KiB | 401 | 293 |
| harfbuzz.doap | D | 12-May-2024 | 775 | 25 | 21 |
| meson.build | D | 12-May-2024 | 12.5 KiB | 409 | 348 |
| meson_options.txt | D | 12-May-2024 | 1.9 KiB | 39 | 36 |
| mingw-configure.sh | D | 12-May-2024 | 757 | 29 | 24 |
| replace-enum-strings.cmake | D | 12-May-2024 | 352 | 21 | 17 |
README.OpenSource
1[
2 {
3 "Name" : "harfbuzz",
4 "License" : "MIT License",
5 "License File" : "COPYING",
6 "Version Number" : "2.8.1",
7 "Owner" : "liyujia4@huawei.com",
8 "Upstream URL" : "https://github.com/harfbuzz/harfbuzz/releases/tag/2.8.1",
9 "Description" : "HarfBuzz is a text shaping engine. It primarily supports OpenType, but also Apple Advanced Typography. HarfBuzz is used in Android, Chrome, ChromeOS, Firefox, GNOME, GTK+, KDE, LibreOffice, OpenJDK, PlayStation, Qt, XeTeX, and other places."
10 }
11]
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