123456789101112131415161718192021222324252627282930313233343536373839 |
- /* Copyright 2013 Google Inc. All Rights Reserved.
- Distributed under MIT license.
- See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
- */
- /* Functions for normalizing fonts. Since the WOFF 2.0 decoder creates font
- files in normalized form, the WOFF 2.0 conversion is guaranteed to be
- lossless (in a bitwise sense) only for normalized font files. */
- #ifndef WOFF2_NORMALIZE_H_
- #define WOFF2_NORMALIZE_H_
- namespace woff2 {
- struct Font;
- struct FontCollection;
- // Changes the offset fields of the table headers so that the data for the
- // tables will be written in order of increasing tag values, without any gaps
- // other than the 4-byte padding.
- bool NormalizeOffsets(Font* font);
- // Changes the checksum fields of the table headers and the checksum field of
- // the head table so that it matches the current data.
- bool FixChecksums(Font* font);
- // Parses each of the glyphs in the font and writes them again to the glyf
- // table in normalized form, as defined by the StoreGlyph() function. Changes
- // the loca table accordigly.
- bool NormalizeGlyphs(Font* font);
- // Performs all of the normalization steps above.
- bool NormalizeFont(Font* font);
- bool NormalizeFontCollection(FontCollection* font_collection);
- } // namespace woff2
- #endif // WOFF2_NORMALIZE_H_
|