• Skip to content
  • Skip to link menu
KDE 4.1 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

Sonnet

parseucd.cpp

Go to the documentation of this file.
00001 
00022 #include <QtCore/QDebug>
00023 #include <QtCore/QFile>
00024 #include <QtCore/QHash>
00025 #include <QtCore/QRegExp>
00026 #include <QtCore/QString>
00027 #include <QtCore/QStringList>
00028 #include <QtCore/QTextStream>
00029 
00030 int main()
00031 {
00032     QString str;
00033     QTextStream in(stdin);
00034 
00035     QFile sout;
00036     sout.open(stdout, QIODevice::WriteOnly);
00037     QDataStream out(&sout);
00038 
00039     bool ok,ok2;
00040     QHash<quint32,quint8> data;
00041     QHash<qint8,QString> catalog;
00042 
00043     while ( ok )
00044     {
00045         QString line = in.readLine();
00046         ok =  !in.atEnd();
00047 
00048         if ( line.isEmpty() || line.startsWith('#') )
00049             continue;
00050 
00051         QRegExp rx(";");
00052         int split = rx.indexIn(line);
00053 
00054         QString catagoryString = line.right( line.size() - split - 1 ).simplified();
00055 
00056         qint8 catagory = catalog.key(catagoryString);
00057         if(!catagory)
00058         {
00059             catalog[ catagory = catalog.size()+1 ] = catagoryString;
00060         }
00061 
00062         QString codes = line.left( split ).simplified();
00063         QStringList codeList = codes.split ( ".." );
00064 
00065         quint32 start = codeList.at(0).toInt(&ok2, 16);
00066         quint32 end = (codeList.size() == 2) ? codeList.at(1).toInt(&ok2, 16) : start;
00067         for (quint32 code = start; code<=end; ++code)
00068         {
00069             data.insert( code, catagory );
00070             qDebug() << "[" << catagory << "] " << code;
00071         }
00072     }
00073 
00074     out << catalog << data;
00075 }

Sonnet

Skip menu "Sonnet"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • KIO
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal