FONTAINE
1.0
|
00001 // 00002 // The Fontaine Font Analysis Project 00003 // 00004 // Copyright (c) 2009 by Edward H. Trager 00005 // All Rights Reserved 00006 // 00007 // Released under the GNU GPL version 2.0 or later. 00008 // 00009 00010 00011 // 00012 // FXHTMLR.h -- Basic XHTML Report 00013 // 00014 00015 #ifndef FXHTMLR_INCLUDED 00016 #define FXHTMLR_INCLUDED 00017 00018 #include <string> 00019 #include <sstream> 00020 #include "MLR.h" 00021 00022 class FontSentenceParameters{ 00023 public: 00024 std::string commonName; 00025 std::string nativeName; 00026 std::string supportLevel; 00027 std::string percentCoverage; 00028 00029 void clear(void){ 00030 00031 commonName.clear(); 00032 nativeName.clear(); 00033 supportLevel.clear(); 00034 percentCoverage.clear(); 00035 00036 }; 00037 00038 }; 00039 00040 class FXHTMLR : public MLR { 00041 00042 protected: 00043 00044 std::string _startTag; 00045 std::string _keyValuePairTag; 00046 std::string _startListTag; 00047 std::string _listItemTag; 00048 00049 FontSentenceParameters _fsp; 00050 00051 std::ostringstream _introSection; 00052 std::ostringstream _iconSection; 00053 std::ostringstream _expandedSection; 00054 00055 public: 00056 00057 FXHTMLR(); 00058 00059 void startRoot(void); 00060 void endRoot(void); 00061 00062 void startList(const std::string &key); 00063 void addKeyValuePairToList(const std::string &key,const std::string &value); 00064 void endList(const std::string &key); 00065 00066 void start(const std::string &key); 00067 void addKeyValuePair(const std::string &key,const std::string &value); 00068 void end(const std::string &key); 00069 00070 void startList(const char *key); 00071 void addKeyValuePairToList(const char *key,const char *value); 00072 void endList(const char *key); 00073 00074 void start(const char *key); 00075 void addKeyValuePair(const char *key,const char *value); 00076 void end(const char *key); 00077 00078 void setStartTag(const std::string &s); 00079 void setKeyValuePairTag(const std::string &s); 00080 void setStartListTag(const std::string &s); 00081 void setListItemTag(const std::string &s); 00082 // const char * versions: 00083 void setStartTag(const char *s); 00084 void setKeyValuePairTag(const char *s); 00085 void setStartListTag(const char *s); 00086 void setListItemTag(const char *s); 00087 00088 }; 00089 00090 #endif 00091