diff options
Diffstat (limited to 'Build/source/texk/lcdf-typetools/lcdf-typetools-2.104/mmpfb/myfont.hh')
-rw-r--r-- | Build/source/texk/lcdf-typetools/lcdf-typetools-2.104/mmpfb/myfont.hh | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Build/source/texk/lcdf-typetools/lcdf-typetools-2.104/mmpfb/myfont.hh b/Build/source/texk/lcdf-typetools/lcdf-typetools-2.104/mmpfb/myfont.hh new file mode 100644 index 00000000000..ffe35668f94 --- /dev/null +++ b/Build/source/texk/lcdf-typetools/lcdf-typetools-2.104/mmpfb/myfont.hh @@ -0,0 +1,31 @@ +#ifndef MYFONT_HH +#define MYFONT_HH +#include <efont/t1font.hh> +namespace Efont { class MultipleMasterSpace; } +class ErrorHandler; + +class MyFont : public Efont::Type1Font { public: + + MyFont(Efont::Type1Reader &); + ~MyFont(); + + bool set_design_vector(Efont::MultipleMasterSpace *, const Vector<double> &, ErrorHandler * = 0); + + void interpolate_dicts(bool force_integers, ErrorHandler *); + void interpolate_charstrings(int precision, ErrorHandler * = 0); + + private: + + typedef Vector<double> NumVector; + + int _nmasters; + Vector<double> _weight_vector; + + void interpolate_dict_int(PermString, Dict, ErrorHandler *); + void interpolate_dict_num(PermString, Dict, bool round_integer = false); + void interpolate_dict_numvec(PermString, Dict, int round_mode = 0, bool executable = false); + void kill_def(Efont::Type1Definition *, int which_dict = -1); + +}; + +#endif |