Files
woff2/README.md
T
Frédéric Wang ed27db0b91 Add support for the CMake build system.
This brings various improvements to the current Makefile and intends to help
people to package WOFF2:

* Build and install static and shared libraries for encoder and decoder
* Install public headers
* Generate and install pc files for PkgConfig
* Build the woff2_* programs
* Build the fuzzer archives
* Specify a release version (0.0.1 is hardcoded for now)
* Build using a Brotli version installed on the system, instead of the git
  submodule
* Have some CANONICAL_PREFIXES and NOISY_LOGGING configuration options
2017-10-05 16:18:39 -07:00

72 lines
1.7 KiB
Markdown

This is a README for the font compression reference code. There are several
compression related modules in this repository.
brotli/ contains reference code for the Brotli byte-level compression
algorithm. Note that it is licensed under the MIT license.
src/ contains the C++ code for compressing and decompressing fonts.
# Build & Run
This document documents how to run the compression reference code. At this
writing, the code, while it is intended to produce a bytestream that can be
reconstructed into a working font, the reference decompression code is not
done, and the exact format of that bytestream is subject to change.
The build process depends on the g++ compiler.
## Build
On a standard Unix-style environment:
```
git clone --recursive https://github.com/google/woff2.git
cd woff2
make clean all
```
Alternatively, if Brotli is already installed on your system you can use CMake
to build executables and libraries:
```
git clone https://github.com/google/woff2.git
cd woff2
mkdir out
cd out
cmake ..
make
make install
```
By default, shared libraries are built. To use static linkage, do:
```
cd woff2
mkdir out-static
cmake -DBUILD_SHARED_LIBS=OFF ..
make
make install
```
## Run
Ensure the binaries from the build process are in your $PATH, then:
```
woff2_compress myfont.ttf
woff2_decompress myfont.woff2
```
# References
http://www.w3.org/TR/WOFF2/
http://www.w3.org/Submission/MTX/
Also please refer to documents (currently Google Docs):
WOFF Ultra Condensed file format: proposals and discussion of wire format
issues (PDF is in docs/ directory)
WIFF Ultra Condensed: more discussion of results and compression techniques.
This tool was used to prepare the data in that document.