Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/dvi/dvilib/dl-vffont.hh
diff options
context:
space:
mode:
Diffstat (limited to 'dvi/dvilib/dl-vffont.hh')
-rwxr-xr-xdvi/dvilib/dl-vffont.hh17
1 files changed, 12 insertions, 5 deletions
diff --git a/dvi/dvilib/dl-vffont.hh b/dvi/dvilib/dl-vffont.hh
index 185e4a9..fff490b 100755
--- a/dvi/dvilib/dl-vffont.hh
+++ b/dvi/dvilib/dl-vffont.hh
@@ -7,33 +7,41 @@
namespace DviLib {
- class VfChar : public AbstractCharacter {
+ class VfChar : public AbstractCharacter
+ {
public:
int tfm_width;
DviProgram *program;
+ DviFontMap *fontmap;
int character_code;
virtual void paint (DviRuntime& runtime)
{
runtime.push();
+ runtime.fontmap (fontmap);
+ runtime.font_num (0);
+ cout << "vfchar (" << (int)fontmap << ')' << " " << character_code << endl;
program->execute (runtime); // FIXME push, pop, etc.
runtime.pop();
}
virtual int get_tfm_width () { return tfm_width; }
};
- class VfFontPreamble : public RefCounted {
+ class VfFontPreamble : public RefCounted
+ {
public:
string comment;
uint checksum;
uint design_size;
- vector <DviFontdefinition *> fontdefinitions;
+ DviFontMap *fontmap;
};
- class VfFont : public AbstractFont {
+ class VfFont : public AbstractFont
+ {
VfFontPreamble *preamble;
map <int, VfChar *> chars;
int at_size;
+ void fixup_fontmap (DviFontMap *fontmap);
public:
VfFont (AbstractLoader& l, int at_size);
virtual VfChar *get_char (int ccode)
@@ -46,7 +54,6 @@ namespace DviLib {
}
virtual int get_at_size ()
{
- /* FIXME (what is the correct thing to do here?) */
return at_size;
}
virtual ~VfFont () {}