00001 00002 // 00003 // This file is part of the MADELINE 2 program 00004 // written by Edward H. Trager and Ritu Khanna 00005 // Copyright (c) 2005 by the 00006 // Regents of the University of Michigan. 00007 // All Rights Reserved. 00008 // 00009 // The latest version of this program is available from: 00010 // 00011 // http://eyegene.ophthy.med.umich.edu/madeline/ 00012 // 00013 // Released under the GNU General Public License. 00014 // A copy of the GPL is included in the distribution 00015 // package of this software, or see: 00016 // 00017 // http://www.gnu.org/copyleft/ 00018 // 00019 // ... for licensing details. 00020 // 00022 00023 #ifndef UNICODESCRIPT_INCLUDED 00024 #define UNICODESCRIPT_INCLUDED 00025 00026 #include "ScriptCodes.h" 00027 #include <string> 00028 00030 // 00031 // UnicodeScript 00032 // 00033 // NOTE: The sample string is to be used with font metrics 00034 // classes and should therefore have sample characters 00035 // with maximum ascent and maximum descent. Characters with 00036 // maximum width and minimum width might also be relevant. 00037 // 00039 class UnicodeScript{ 00040 public: 00041 00042 UnicodeScript(); 00043 UnicodeScript(SCRIPTCODE scriptCode,const std::string englishName, std::string nativeName, const std::string sampleFontMetricsString); 00044 00045 std::string getSample(void) const; 00046 std::string getEnglishName(void) const; 00047 std::string getNativeName(void) const; 00048 00049 // 00050 // Comparator: 00051 // 00052 struct compare 00053 { 00054 bool operator()(const UnicodeScript & m1, const UnicodeScript & m2) const 00055 { 00056 return m1._scriptCode < m2._scriptCode ; 00057 } 00058 }; 00059 00060 00061 private: 00062 00063 SCRIPTCODE _scriptCode; 00064 std::string _englishName; 00065 std::string _nativeName; 00066 std::string _sampleFontMetricsString; 00067 00068 }; 00069 00070 #endif