diff options
| author | jghali <jghali@11d20701-8431-0410-a711-e3c959e3b870> | 2012-08-03 22:33:53 +0000 |
|---|---|---|
| committer | jghali <jghali@11d20701-8431-0410-a711-e3c959e3b870> | 2012-08-03 22:33:53 +0000 |
| commit | 092996ccb67d5d9897a757ac78aa43996a75dd93 (patch) | |
| tree | 7bbb9f0978221cbb39b6c84e3dca7dd5ab620b13 /scribus/pdflib_core.cpp | |
| parent | 7d5ed2f76d11a6b0ad428e69680c4d4d6f444cc5 (diff) | |
| download | scribus-092996ccb67d5d9897a757ac78aa43996a75dd93.tar.gz scribus-092996ccb67d5d9897a757ac78aa43996a75dd93.tar.xz scribus-092996ccb67d5d9897a757ac78aa43996a75dd93.zip | |
#10999: Speed up some loops for very long text in many linked frames
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17750 11d20701-8431-0410-a711-e3c959e3b870
Diffstat (limited to 'scribus/pdflib_core.cpp')
| -rw-r--r-- | scribus/pdflib_core.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/scribus/pdflib_core.cpp b/scribus/pdflib_core.cpp index 6a652cb..9018b7f 100644 --- a/scribus/pdflib_core.cpp +++ b/scribus/pdflib_core.cpp @@ -933,7 +933,9 @@ bool PDFLibCore::PDF_Begin_Doc(const QString& fn, SCFonts &AllFonts, QMap<QStrin ReallyUsed.insert(pgit->itemText.defaultStyle().charStyle().font().replacementName(), DocFonts[pgit->itemText.defaultStyle().charStyle().font().replacementName()]); } } - for (uint e = 0; e < static_cast<uint>(pgit->itemText.length()); ++e) + uint start = pgit->isTextFrame() ? (uint) pgit->firstInFrame() : 0; + uint stop = pgit->isTextFrame() ? (uint) pgit->lastInFrame() + 1 : (uint) pgit->itemText.length(); + for (uint e = start; e < stop; ++e) { ReallyUsed.insert(pgit->itemText.charStyle(e).font().replacementName(), DocFonts[pgit->itemText.charStyle(e).font().replacementName()]); } @@ -957,7 +959,9 @@ bool PDFLibCore::PDF_Begin_Doc(const QString& fn, SCFonts &AllFonts, QMap<QStrin ReallyUsed.insert(pgit->itemText.defaultStyle().charStyle().font().replacementName(), DocFonts[pgit->itemText.defaultStyle().charStyle().font().replacementName()]); } } - for (uint e = 0; e < static_cast<uint>(pgit->itemText.length()); ++e) + uint start = pgit->isTextFrame() ? (uint) pgit->firstInFrame() : 0; + uint stop = pgit->isTextFrame() ? (uint) pgit->lastInFrame() + 1 : (uint) pgit->itemText.length(); + for (uint e = start; e < stop; ++e) { ReallyUsed.insert(pgit->itemText.charStyle(e).font().replacementName(), DocFonts[pgit->itemText.charStyle(e).font().replacementName()]); } @@ -981,7 +985,9 @@ bool PDFLibCore::PDF_Begin_Doc(const QString& fn, SCFonts &AllFonts, QMap<QStrin ReallyUsed.insert(pgit->itemText.defaultStyle().charStyle().font().replacementName(), DocFonts[pgit->itemText.defaultStyle().charStyle().font().replacementName()]); } } - for (uint e = 0; e < static_cast<uint>(pgit->itemText.length()); ++e) + uint start = pgit->isTextFrame() ? (uint) pgit->firstInFrame() : 0; + uint stop = pgit->isTextFrame() ? (uint) pgit->lastInFrame() + 1 : (uint) pgit->itemText.length(); + for (uint e = start; e < stop; ++e) { ReallyUsed.insert(pgit->itemText.charStyle(e).font().replacementName(), DocFonts[pgit->itemText.charStyle(e).font().replacementName()]); } @@ -1011,7 +1017,9 @@ bool PDFLibCore::PDF_Begin_Doc(const QString& fn, SCFonts &AllFonts, QMap<QStrin ReallyUsed.insert(pgit->itemText.defaultStyle().charStyle().font().replacementName(), DocFonts[pgit->itemText.defaultStyle().charStyle().font().replacementName()]); } } - for (uint e = 0; e < static_cast<uint>(pgit->itemText.length()); ++e) + uint start = pgit->isTextFrame() ? (uint) pgit->firstInFrame() : 0; + uint stop = pgit->isTextFrame() ? (uint) pgit->lastInFrame() + 1 : (uint) pgit->itemText.length(); + for (uint e = start; e < stop; ++e) { ReallyUsed.insert(pgit->itemText.charStyle(e).font().replacementName(), DocFonts[pgit->itemText.charStyle(e).font().replacementName()]); } |
