10#ifndef INCLUDED_EPUBFONTMANAGER_H
11#define INCLUDED_EPUBFONTMANAGER_H
13#include <unordered_map>
14#include <unordered_set>
16#include <boost/functional/hash.hpp>
18#include <librevenge/librevenge.h>
40 std::size_t
operator()(
const librevenge::RVNGBinaryData &data)
const;
45 bool operator()(
const librevenge::RVNGBinaryData &left,
const librevenge::RVNGBinaryData &right)
const;
48 typedef std::unordered_map<librevenge::RVNGBinaryData, EPUBPath, BinaryDataHash, BinaryDataEqual>
MapType_t;
49 typedef std::unordered_set<EPUBCSSProperties, boost::hash<EPUBCSSProperties>>
SetType_t;
54 void insert(
const librevenge::RVNGPropertyList &propertyList,
const EPUBPath &path);
56 void writeTo(EPUBPackage &package);
Definition EPUBCSSContent.h:24
Definition EPUBCounter.h:17
Manages embedded fonts.
Definition EPUBFontManager.h:33
std::unordered_set< EPUBCSSProperties, boost::hash< EPUBCSSProperties > > SetType_t
Definition EPUBFontManager.h:49
EPUBCounter m_number
Definition EPUBFontManager.h:68
EPUBFontManager & operator=(const EPUBFontManager &)
EPUBManifest & m_manifest
Definition EPUBFontManager.h:65
void writeTo(EPUBPackage &package)
Definition EPUBFontManager.cpp:134
void insert(const librevenge::RVNGPropertyList &propertyList, const EPUBPath &path)
Definition EPUBFontManager.cpp:76
MapType_t m_map
Font filename -> content map.
Definition EPUBFontManager.h:67
EPUBFontManager(const EPUBFontManager &)
SetType_t m_set
Set of font properties.
Definition EPUBFontManager.h:70
void extractFontProperties(librevenge::RVNGPropertyList const &pList, EPUBCSSProperties &cssProps) const
convert a property list into a CSS property map
Definition EPUBFontManager.cpp:118
void send(EPUBCSSContent &out)
send the data to the sink
Definition EPUBFontManager.cpp:144
std::unordered_map< librevenge::RVNGBinaryData, EPUBPath, BinaryDataHash, BinaryDataEqual > MapType_t
Definition EPUBFontManager.h:48
Definition EPUBManifest.h:24
Representation of a path in the package.
Definition EPUBPath.h:22
Definition EPUBBinaryContent.cpp:15
std::map< std::string, std::string > EPUBCSSProperties
Definition EPUBCSSProperties.h:21
Definition EPUBFontManager.h:44
bool operator()(const librevenge::RVNGBinaryData &left, const librevenge::RVNGBinaryData &right) const
Definition EPUBFontManager.cpp:58
Definition EPUBFontManager.h:39
std::size_t operator()(const librevenge::RVNGBinaryData &data) const
Definition EPUBFontManager.cpp:47