• Home
Name Date Size #Lines LOC

..--

.ci/03-May-2024-8353

.circleci/03-May-2024-360298

docs/03-May-2024-3,4743,254

m4/03-May-2024-1,8091,492

src/03-May-2024-97,70269,553

test/03-May-2024-46,10742,177

util/03-May-2024-4,3993,279

.codecov.ymlD03-May-202484 86

.editorconfigD03-May-2024315 2216

.travis.ymlD03-May-20243.3 KiB9174

AUTHORSD03-May-2024156 1211

Android.bpD03-May-20244.1 KiB139133

BUILD.mdD03-May-20241.7 KiB5130

CMakeLists.txtD03-May-202429.8 KiB899753

COPYINGD03-May-20241.7 KiB3730

MODULE_LICENSE_MITD03-May-20240

Makefile.amD03-May-20242.1 KiB8758

NEWSD03-May-202464.1 KiB2,2151,662

NOTICED03-May-20241.7 KiB3730

OWNERSD03-May-202473 54

READMED03-May-20241.2 KiB1913

README.androidD03-May-2024717 1815

README.mdD03-May-20241.2 KiB1913

README.python.mdD03-May-20241 KiB3725

README.versionD03-May-2024125 43

README.wine.mdD03-May-20241.9 KiB4127

RELEASING.mdD03-May-20244 KiB11487

THANKSD03-May-2024106 87

TODOD03-May-2024436 2915

appveyor.ymlD03-May-20243.2 KiB7153

autogen.shD03-May-20241.1 KiB4933

azure-pipelines.ymlD03-May-2024709 2219

configure.acD03-May-202417.1 KiB550481

git.mkD03-May-202412.3 KiB401293

harfbuzz.doapD03-May-2024775 2521

mingw32.shD03-May-2024548 2316

mingw64.shD03-May-2024550 2316

replace-enum-strings.cmakeD03-May-2024352 2117

README

README.android

1Harfbuzz
2
3HOW TO UPDATE
4* Check out external/harfbuzz to <checkout_dir>
5  ex: git clone https://android.googlesource.com/platform/external/harfbuzz_ng
6* Locate the commit you'd like to move.
7  ex: for 1.7.4: https://github.com/harfbuzz/harfbuzz/commit/007a2a4317227b8fb4c764c590203c85fc3da5fd
8* In <checkout_dir>, run git merge <commit_sha>
9  i.e. git merge 007a2a4317227b8fb4c764c590203c85fc3da5fd
10* Upload the changes.
11  ex: git push origin HEAD:refs/for/master
12* Gerrit will run the text related tests.
13
14NOTE:
15 Since Chromium updates Harfbuzz more frequently, you can check the following URL for their changes
16 and latest merges.
17 https://chromium.googlesource.com/chromium/src/+log/master/third_party/harfbuzz-ng
18

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 enabled then in the final report.
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.
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

1URL: https://github.com/harfbuzz/harfbuzz/commit/4941e95f10fe0fe658752134a42b58896fb19c42
2Version: 2.3.0
3BugComponent: 25699
4

README.wine.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.
8
92. And `mingw-w64` compiler.
10   With `brew` on macOS, you can have it like `brew install mingw-w64`
11
123. Download and put [this](https://drive.google.com/open?id=0B3_fQkxDZZXXbWltRGd5bjVrUDQ)
13   on your `~/.local/i686-w64-mingw32`.
14
154. Replace all the instances of `/home/behdad/.local/i586-mingw32msvc`
16   and `/home/behdad/.local/i686-w64-mingw32` with `<$HOME>/.local/i686-w64-mingw32`
17   on that folder. (`<$HOME>` replace it with `/home/XXX` or `/Users/XXX` on macOS)
18
19   Probably you shouldn't replace the ones are inside binaries.
20
215. `NOCONFIGURE=1 ./autogen.sh && mkdir winbuild && cd winbuild`
22
236. `../mingw32.sh --with-uniscribe && cd ..`
24
257. `make -Cwinbuild`
26
27Now you can use hb-shape using `wine winbuild/util/hb-shape.exe` but if you like to
28to use the original Uniscribe,
29
308. Bring a 32bit version of `usp10.dll` for yourself from `C:\Windows\SysWOW64\usp10.dll` of your
31   Windows installation (assuming you have a 64-bit installation, otherwise `C:\Windows\System32\usp10.dll`)
32   that it is not a DirectWrite proxy ([for more info](https://en.wikipedia.org/wiki/Uniscribe)).
33   Rule of thumb, your `usp10.dll` should have a size more than 500kb, otherwise
34   it is designed to work with DirectWrite which Wine can't work with its original one.
35
36   Put the dll on the folder you are going to run the next command,
37
389. `WINEDLLOVERRIDES="usp10=n" wine winbuild/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