• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..12-Nov-2020-

.ci/H12-Nov-2020-10165

.circleci/H12-Nov-2020-292266

docs/H03-May-2022-4,2474,005

m4/H12-Nov-2020-1,8091,492

meson-cc-tests/H12-Nov-2020-1611

perf/H12-Nov-2020-2610

src/H12-Nov-2020-110,89478,796

subprojects/H12-Nov-2020-4435

util/H12-Nov-2020-4,6733,482

.clang-formatH A D07-Nov-20201 KiB3936

.codecov.ymlH A D07-Nov-202084 86

.editorconfigH A D07-Nov-2020376 2418

.travis.ymlH A D07-Nov-20202.4 KiB7968

AUTHORSH A D07-Nov-2020201 1514

BUILD.mdH A D07-Nov-20201.4 KiB4827

CONFIG.mdH A D07-Nov-20207 KiB152111

COPYINGH A D07-Nov-20201.8 KiB3932

Makefile.amH A D07-Nov-20203.1 KiB11588

NEWSH A D07-Nov-202067.8 KiB2,3321,757

READMEH A D12-Nov-20201.9 KiB3522

README.mdH A D07-Nov-20201.9 KiB3522

README.mingw.mdH A D07-Nov-20202.4 KiB4935

README.python.mdH A D07-Nov-20201.1 KiB3725

RELEASING.mdH A D07-Nov-20203.1 KiB7353

TESTING.mdH A D07-Nov-20202.1 KiB8662

THANKSH A D07-Nov-2020129 87

TODOH A D07-Nov-2020436 2915

appveyor.ymlH A D07-Nov-20202.4 KiB6147

autogen.shH A D07-Nov-20201.1 KiB4933

configure.acH A D07-Nov-202016.9 KiB543478

git.mkH A D07-Nov-202012.3 KiB401293

harfbuzz.doapH A D07-Nov-2020775 2521

meson.buildH A D07-Nov-202010.2 KiB339285

mingw-configure.shH A D07-Nov-2020757 2924

mingw-ldd.pyH A D07-Nov-20201.5 KiB5839

mingw32.shH A D07-Nov-202062 31

mingw64.shH A D07-Nov-202064 31

replace-enum-strings.cmakeH A D07-Nov-2020332 2117

README

1[![Travis Build Status](https://travis-ci.org/harfbuzz/harfbuzz.svg?branch=master)](https://travis-ci.org/harfbuzz/harfbuzz)
2[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/0t0flrxpstj9lb9w?svg=true&branch=master)](https://ci.appveyor.com/project/harfbuzz/harfbuzz)
3[![CircleCI Build Status](https://circleci.com/gh/harfbuzz/harfbuzz/tree/master.svg?style=svg)](https://circleci.com/gh/harfbuzz/harfbuzz/tree/master)
4[![OSS-Fuzz Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/harfbuzz.svg)](https://oss-fuzz-build-logs.storage.googleapis.com/index.html)
5[![Coverity Code Health](https://img.shields.io/coverity/scan/5450.svg)](https://scan.coverity.com/projects/behdad-harfbuzz)
6[![Codacy Code Health](https://api.codacy.com/project/badge/Grade/f17f1708783c447488bc8dd317150eaa)](https://app.codacy.com/app/behdad/harfbuzz)
7[![Codecov Code Coverage](https://codecov.io/gh/harfbuzz/harfbuzz/branch/master/graph/badge.svg)](https://codecov.io/gh/harfbuzz/harfbuzz)
8[![Coverals Code Coverage](https://img.shields.io/coveralls/harfbuzz/harfbuzz.svg)](https://coveralls.io/r/harfbuzz/harfbuzz)
9[![Packaging status](https://repology.org/badge/tiny-repos/harfbuzz.svg)](https://repology.org/project/harfbuzz/versions)
10[ABI Tracker](http://abi-laboratory.pro/tracker/timeline/harfbuzz/)
11
12This is HarfBuzz, a text shaping library.
13
14For bug reports, mailing list, and other information please visit:
15
16  http://harfbuzz.org/
17
18For license information, see [COPYING](COPYING).
19
20For build information, see [BUILD.md](BUILD.md).
21
22For custom configurations, see [CONFIG.md](CONFIG.md).
23
24For test execution, see [TESTING.md](TESTING.md).
25
26Documentation: https://harfbuzz.github.io
27
28
29<details>
30  <summary>Packaging status of HarfBuzz</summary>
31
32[![Packaging status](https://repology.org/badge/vertical-allrepos/harfbuzz.svg?header=harfbuzz)](https://repology.org/project/harfbuzz/versions)
33
34</details>
35

README.md

1[![Travis Build Status](https://travis-ci.org/harfbuzz/harfbuzz.svg?branch=master)](https://travis-ci.org/harfbuzz/harfbuzz)
2[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/0t0flrxpstj9lb9w?svg=true&branch=master)](https://ci.appveyor.com/project/harfbuzz/harfbuzz)
3[![CircleCI Build Status](https://circleci.com/gh/harfbuzz/harfbuzz/tree/master.svg?style=svg)](https://circleci.com/gh/harfbuzz/harfbuzz/tree/master)
4[![OSS-Fuzz Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/harfbuzz.svg)](https://oss-fuzz-build-logs.storage.googleapis.com/index.html)
5[![Coverity Code Health](https://img.shields.io/coverity/scan/5450.svg)](https://scan.coverity.com/projects/behdad-harfbuzz)
6[![Codacy Code Health](https://api.codacy.com/project/badge/Grade/f17f1708783c447488bc8dd317150eaa)](https://app.codacy.com/app/behdad/harfbuzz)
7[![Codecov Code Coverage](https://codecov.io/gh/harfbuzz/harfbuzz/branch/master/graph/badge.svg)](https://codecov.io/gh/harfbuzz/harfbuzz)
8[![Coverals Code Coverage](https://img.shields.io/coveralls/harfbuzz/harfbuzz.svg)](https://coveralls.io/r/harfbuzz/harfbuzz)
9[![Packaging status](https://repology.org/badge/tiny-repos/harfbuzz.svg)](https://repology.org/project/harfbuzz/versions)
10[ABI Tracker](http://abi-laboratory.pro/tracker/timeline/harfbuzz/)
11
12This is HarfBuzz, a text shaping library.
13
14For bug reports, mailing list, and other information please visit:
15
16  http://harfbuzz.org/
17
18For license information, see [COPYING](COPYING).
19
20For build information, see [BUILD.md](BUILD.md).
21
22For custom configurations, see [CONFIG.md](CONFIG.md).
23
24For test execution, see [TESTING.md](TESTING.md).
25
26Documentation: https://harfbuzz.github.io
27
28
29<details>
30  <summary>Packaging status of HarfBuzz</summary>
31
32[![Packaging status](https://repology.org/badge/vertical-allrepos/harfbuzz.svg?header=harfbuzz)](https://repology.org/project/harfbuzz/versions)
33
34</details>
35

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