00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __GU_FontStream_h__
00024 #define __GU_FontStream_h__
00025
00026 #include "GU_API.h"
00027 #include <iostream.h>
00028 #include "GU_Font.h"
00029
00030 class GU_API GU_FontStream {
00031 public:
00032 char *load(UT_IStream &is);
00033 int get(char &c) {
00034 if (idx < size)
00035 {
00036 c = p[idx++]; return 1;
00037 }
00038 else return 0;
00039 };
00040
00041 void put(char c) { if (idx) p[--idx] = c; };
00042
00043 void eexecDecode(void);
00044 void decodeByte(char &plain, unsigned short &key);
00045
00046 GU_FONT_TYPE getFontType(void) { return myFontType; };
00047 GU_Font *allocateFont();
00048
00049 private:
00050
00051 char *p;
00052 int idx, size, macLength;
00053
00054 char myAsciiFlag;
00055 char myMacFlag;
00056
00057 void checkAscii(void);
00058 void getMacLength(void);
00059 int readHexPair(char &result);
00060
00061 GU_FONT_TYPE myFontType;
00062 GU_Font *myFont;
00063 };
00064
00065
00066 #endif