Changeset 846 for trunk/src/gui/painting/qprintengine_pdf.cpp
- Timestamp:
- May 5, 2011, 5:36:53 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/vendor/nokia/qt/4.7.2 (added) merged: 845 /branches/vendor/nokia/qt/current merged: 844 /branches/vendor/nokia/qt/4.6.3 removed
- Property svn:mergeinfo changed
-
trunk/src/gui/painting/qprintengine_pdf.cpp
r651 r846 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 201 0Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) … … 932 932 { 933 933 info = addXrefEntry(-1); 934 935 // The 'text string' type in PDF is encoded either as PDFDocEncoding, or 936 // Unicode UTF-16 with a Unicode byte order mark as the first character 937 // (0xfeff), with the high-order byte first. 938 QByteArray array("<<\n/Title (\xfe\xff"); 939 const ushort *utf16Title = title.utf16(); 940 for (int i=0; i < title.size(); ++i) { 941 array.append((*(utf16Title + i)) >> 8); 942 array.append((*(utf16Title + i)) & 0xff); 943 } 944 array.append(")\n/Creator (\xfe\xff"); 945 const ushort *utf16Creator = creator.utf16(); 946 for (int i=0; i < creator.size(); ++i) { 947 array.append((*(utf16Creator + i)) >> 8); 948 array.append((*(utf16Creator + i)) & 0xff); 949 } 950 array.append(")\n/Producer (Qt " QT_VERSION_STR " (C) 2010 Nokia Corporation and/or its subsidiary(-ies))\n"); 951 write(array); 952 934 xprintf("<<\n/Title "); 935 printString(title); 936 xprintf("\n/Creator "); 937 printString(creator); 938 xprintf("\n/Producer "); 939 printString(QString::fromLatin1("Qt " QT_VERSION_STR " (C) 2010 Nokia Corporation and/or its subsidiary(-ies)")); 953 940 QDateTime now = QDateTime::currentDateTime().toUTC(); 954 941 QTime t = now.time(); 955 942 QDate d = now.date(); 956 xprintf(" /CreationDate (D:%d%02d%02d%02d%02d%02d)\n",943 xprintf("\n/CreationDate (D:%d%02d%02d%02d%02d%02d)\n", 957 944 d.year(), 958 945 d.month(), … … 1231 1218 } 1232 1219 1220 void QPdfEnginePrivate::printString(const QString &string) { 1221 // The 'text string' type in PDF is encoded either as PDFDocEncoding, or 1222 // Unicode UTF-16 with a Unicode byte order mark as the first character 1223 // (0xfeff), with the high-order byte first. 1224 QByteArray array("(\xfe\xff"); 1225 const ushort *utf16 = string.utf16(); 1226 1227 for (int i=0; i < string.size(); ++i) { 1228 char part[2] = {char((*(utf16 + i)) >> 8), char((*(utf16 + i)) & 0xff)}; 1229 for(int j=0; j < 2; ++j) { 1230 if (part[j] == '(' || part[j] == ')' || part[j] == '\\') 1231 array.append('\\'); 1232 array.append(part[j]); 1233 } 1234 } 1235 array.append(")"); 1236 write(array); 1237 } 1238 1233 1239 QT_END_NAMESPACE 1234 1240
Note:
See TracChangeset
for help on using the changeset viewer.