- qDebug() << dictReader->readString(offset, len);
- return dictReader->readString(offset, len);
+// W & P Dont know whether mDictionary would ever handle binary stardict format
+// to be honest dont see any kind of adventages (can't find any binary dict)
+ /*
+ }
+ else if(mode == 'W') {
+ result += "<key>" + key + "</key>";
+ if(!last) {
+ QByteArray tmp ;
+ tmp.append(*(it++));
+ tmp.append(*(it++));
+ tmp.append(*(it++));
+ tmp.append(*(it));
+ result += read(it++, end, (qint32)qFromBigEndian(*(qint32*)tmp.data()));
+ } else
+ result += read(it++, end);
+ } else if(mode == 'P') {
+ result += "<key>" + key + "</key>";
+ if(!last) {
+ QByteArray tmp ;
+ tmp.append(*(it++));
+ tmp.append(*(it++));
+ tmp.append(*(it++));
+ tmp.append(*(it));
+ result += read(it++, end, (qint32)qFromBigEndian(*(qint32*)tmp.data()));
+ } else
+ result += read(it++, end);
+ } */
+ return result;
+}
+
+
+QString StarDictPlugin::format(QByteArray raw, QString mode,QString key) {
+ QString result;
+ if(mode == "") {
+ for(QByteArray::iterator it = raw.begin(); it != raw.end(); it++) {
+ char tmp = *(++it);
+ result += interpret(--it, raw.end(), tmp, key);
+ }
+ } else {
+ QByteArray::iterator it = raw.begin();
+ foreach(QChar tmp, mode) {
+ result += interpret(it, raw.end(), tmp, key);
+ }
+ }
+ return result;