Ignore:
Timestamp:
May 5, 2011, 5:36:53 AM (14 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/gui/painting/qprintengine_pdf.cpp

    r651 r846  
    11/****************************************************************************
    22**
    3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
    44** All rights reserved.
    55** Contact: Nokia Corporation (qt-info@nokia.com)
     
    932932{
    933933    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)"));
    953940    QDateTime now = QDateTime::currentDateTime().toUTC();
    954941    QTime t = now.time();
    955942    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",
    957944            d.year(),
    958945            d.month(),
     
    12311218}
    12321219
     1220void 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
    12331239QT_END_NAMESPACE
    12341240
Note: See TracChangeset for help on using the changeset viewer.