📄 kcharsets.cpp
字号:
#include "kcharsets.h"const KCharsetConversionResult & KCharsets::convertTag(const char * tag) { int l; return convertTag(tag,l);}typedef struct{ char *tag; char *conversion;}TagEntry;/* Some of these tags were contributed by Johannes Thoma <joe@mond.at>*/static TagEntry tag_list[] ={ { "&","&"}, { "&bull","*" }, { "©","\xA9" }, { "&emdash","-" }, { "&emsp"," " }, { "&endash","-" }, { "&ensp"," " }, { ">",">" }, { "&hellip","..." }, { "<","<" }, { " "," " }, { ""","\"" }, { "®","\xAE" }, { "&trade","(tm)" }, { "Æ", "\xc6" }, /* capital AE diphthong (ligature) */ { "Á", "\xc1" }, /* capital A, acute accent */ { "Â", "\xc2" }, /* capital A, circumflex accent */ { "À", "\xc0" }, /* capital A, grave accent */ { "Å", "\xc5" }, /* capital A, ring */ { "Ã", "\xc3" }, /* capital A, tilde */ { "Ä", "\xc4" }, /* capital A, dieresis or umlaut mark*/ { "Ç", "\xc7" }, /* capital C, cedilla */ { "Ð", "\xd0" }, /* capital Eth, Icelandic */ { "É", "\xc9" }, /* capital E, acute accent */ { "Ê", "\xca" }, /* capital E, circumflex accent */ { "È", "\xc8" }, /* capital E, grave accent */ { "Ë", "\xcb" }, /* capital E, dieresis or umlaut mark*/ { "Í", "\xcd" }, /* capital I, acute accent */ { "Î", "\xce" }, /* capital I, circumflex accent */ { "Ì", "\xcc" }, /* capital I, grave accent */ { "Ï", "\xcf" }, /* capital I, dieresis or umlaut mark*/ { "Ñ", "\xd1" }, /* capital N, tilde */ { "Ó", "\xd3" }, /* capital O, acute accent */ { "Ô", "\xd4" }, /* capital O, circumflex accent */ { "Ò", "\xd2" }, /* capital O, grave accent */ { "Ø", "\xd8" }, /* capital O, slash */ { "Õ", "\xd5" }, /* capital O, tilde */ { "Ö", "\xd6" }, /* capital O, dieresis or umlaut mark*/ { "Þ", "\xdd" }, /* capital THORN, Icelandic */ { "Ú", "\xda" }, /* capital U, acute accent */ { "Û", "\xdb" }, /* capital U, circumflex accent */ { "Ù", "\xd9" }, /* capital U, grave accent */ { "Ü", "\xdc" }, /* capital U, dieresis or umlaut mark*/ { "Ý", "\xdd" }, /* capital Y, acute accent */ { "á", "\xe1" }, /* small a, acute accent */ { "â", "\xe2" }, /* small a, circumflex accent */ { "æ", "\xe6" }, /* small ae diphthong (ligature) */ { "à", "\xe0" }, /* small a, grave accent */ { "å", "\xe5" }, /* small a, ring */ { "ã", "\xe3" }, /* small a, tilde */ { "ä", "\xe4" }, /* small a, dieresis or umlaut mark */ { "ç", "\xe7" }, /* small c, cedilla */ { "é", "\xe9" }, /* small e, acute accent */ { "ê", "\xea" }, /* small e, circumflex accent */ { "è", "\xe8" }, /* small e, grave accent */ { "ð", "\xf0" }, /* small eth, Icelandic */ { "ë", "\xeb" }, /* small e, dieresis or umlaut mark */ { "í", "\xed" }, /* small i, acute accent */ { "î", "\xee" }, /* small i, circumflex accent */ { "ì", "\xec" }, /* small i, grave accent */ { "ï", "\xef" }, /* small i, dieresis or umlaut mark */ { "ñ", "\xf1" }, /* small n, tilde */ { "ó", "\xf3" }, /* small o, acute accent */ { "ô", "\xf4" }, /* small o, circumflex accent */ { "ò", "\xf2" }, /* small o, grave accent */ { "ø", "\xf8" }, /* small o, slash */ { "õ", "\xf5" }, /* small o, tilde */ { "ö", "\xf6" }, /* small o, dieresis or umlaut mark */ { "ß", "\xdf" }, /* small sharp s, German (szligature)-> */ { "þ", "\xfe" }, /* small thorn, Icelandic */ { "ú", "\xfa" }, /* small u, acute accent */ { "û", "\xfb" }, /* small u, circumflex accent */ { "ù", "\xf9" }, /* small u, grave accent */ { "ü", "\xfc" }, /* small u, dieresis or umlaut mark */ { "ý", "\xfd" }, /* small y, acute accent */ { "ÿ", "\xff" }, /* small y, dieresis or umlaut mark */ { "&","&" }, // must be last entry in table { NULL,NULL }};const KCharsetConversionResult & KCharsets::convertTag(const char * tag, int & len) { char buf[8]; int count,taglen; // check tag for number if(*(tag + 1) == '#') { buf[0] = atoi(tag + 2); buf[1] = 0x00; m_Result.setResult(buf); len = strlen(tag); } // scan list for tag else { count = 0; while(tag_list[count].tag != NULL) { taglen = strlen(tag_list[count].tag); if(strncmp(tag,tag_list[count].tag,taglen) == 0) { m_Result.setResult(tag_list[count].conversion); len = taglen; break; } ++count; } // no matching tag - substitute a space code if(tag_list[count].tag == NULL) { m_Result.setResult(" "); len = strlen(tag); } } //printf("KCharSet: \"%s\" = \"%s\"",tag,(char*)m_Result); getchar(); // return result and exit return(m_Result);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -