~alcinnz/fontconfig-pure

ref: 73bb43f1c1ff72234fcc1c01a028af44c1c158e5 fontconfig-pure/README.md -rw-r--r-- 1.4 KiB
73bb43f1 — Adrian Cochrane Note bridging work. 1 year, 10 months ago
                                                                                
32350eb8 Adrian Cochrane
73bb43f1 Adrian Cochrane
32350eb8 Adrian Cochrane
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# FontConfig Pure
[Source Code](https://git.argonaut-constellation.org/~alcinnz/fontconfig-pure) [Issues](https://todo.argonaut-constellation.org/~alcinnz/fontconfig-pure) [Hackage](https://hackage.haskell.org/package/fontconfig-pure)

Pure-functional language bindings to [FontConfig](https://www.freedesktop.org/wiki/Software/fontconfig/). Mostly consists of conversions between common Haskell types & FontConfig's imperative C types.

Queries a database of fonts, both in-memory & on the local filesystem, to find the one most closely matching your desired font-family, style, & size. Includes bridges from [Haskell Stylist](https://hackage.haskell.org/package/stylist) and to both FreeType & (soon) Harfbuzz.

## Requirements
* FontConfig 2.13 or greater
* LibStdC++ (for Text dependency)
* Cabal

Cabal can install the rest.

## Use
Please see the Haddock documentation for API usage.

Contains a demo program in `Main.hs`, which can be run via `cabal run`, to query the system font database using standard FontConfig query syntax given in commandline arguments.

There's a tentative expansion with its own testscript which bridges over to Harfbuzz-Pure, & includes a testscript which renders "sphinx of black quartz judge my vow" using the best matching fontfile for your query. This is being held up until a new version of Haskell CSS Syntax is released to Hackage supporting UTF-8 Text.