summaryrefslogtreecommitdiffstats
path: root/src/gui/text/qfontengine_s60.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix broken S60 buildJiang Jiang2010-09-021-1/+6
| | | | Reviewed-by: Liang Qi
* Keep mirrored char handling consistent between some font enginesJiang Jiang2010-09-021-1/+1
| | | | | | | | | | | | Mirrored character subsitution should be used in right-to-left text direction unless the font is a symbol font. This patch will keep this behavior consistent between FreeType, QPF and S60 font engines. For Mac font engines, the shaping process is delegated to Core Text or ATSUI, so we don't do mirrored char handling by ourselves. Task-number: QTBUG-3852 Reviewed-by: Lars Knoll
* Correct last right bearing in boundingBox(glyphs)Jiang Jiang2010-08-271-1/+1
| | | | | | | | | | | | | | | | | | Commit 07880542ecc479807c23c5646d263135240822ff introduced regression to QFontMetrics::boundingRect and QTextEngine::boundingBox on FT, XLFD and QPF font engine. Because on these platforms, rightBearing of the last glyphs is already removed from the width returned in glyph_metrics_t. Subtracting that rightBearing twice will cause the resulting boundingBox smaller than expected. This patch fix this by removing last right bearing accounting code from generic QTextEngine::boundingBox, instead, we put it into font engines that need them: QFontEngineWin, QCoreTextFontEngine, QFontEngineMac, QFontEngineS60 and QFontEngineQWS. So that the resulting width should be correct on all platforms without introducing any performance penalties. Task-number: QTBUG-6854, QTBUG-12950 Reviewed-by: Eskil
* Merge remote branch 'origin/4.6' into 4.7-from-4.6Rohan McGovern2010-07-291-1/+4
|\ | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/webkit/VERSION src/3rdparty/webkit/WebKit/qt/ChangeLog src/gui/itemviews/qlistview.cpp tests/auto/qlistview/tst_qlistview.cpp tests/auto/qnetworkreply/test/test.pro tests/auto/qsocks5socketengine/qsocks5socketengine.pro
| * Workaround for QTBUG-8013: Do not return an ascent of 0Alessandro Portale2010-07-271-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Symbian's CFont::FontMaxAscent() returns in some cases an incorrect value of 0. That usually happens (for some font sizes) if a stroke based font is the main system font. We were able to reproduce it on some S60 3.2 devices with a chinese language pack installed. This patch will test if CFont::FontMaxAscent() returns 0. And if so, it alculates an ascent taht makes more sense. Task-number: QTBUG-8013 Reviewed-by: Liang Qi
* | Remove qMemCopy() usage from all .cpp files of Qt itself.Robin Burchell2010-07-181-2/+2
| | | | | | | | | | | | | | | | This is (supposedly) more efficient as the compiler can optimise it to a builtin, per Thiago. Merge-request: 2430 Reviewed-by: Andreas Kling <andreas.kling@nokia.com>
* | Prospective S60 build fixSimon Hausmann2010-06-131-1/+1
| | | | | | | | | | | | QS60Data::screenDevice() has moved from being process global to being thread local, therefore it must be accessed through the S60 macro that returns the thread-local data.
* | Retrieve proper glyph outlines from Symbian^4Alessandro Portale2010-06-071-2/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Up until Symbian^4, the Symbian font Api does not provide access to the vector data of glyphs. In order to make QPainterPath::addText() and transformed text rendering work, Qt falls back to a workaound: Tracing the bitmap of a rasterized glyph. That is neither performant nor is the result of good quality. Symbian^4 will add Api that returns glyph outlines encoded as SVG paths. The code in this commit essentially parses the SVG path and returns a QPainterPath. The parsing part took some ideas from QSvg, and is implemented in a very reduced way. Task-number: QT-809 Reviewed-by: Aleksandar Sasha Babic
* | Using Symbian's future font table getter ApiAlessandro Portale2010-06-031-12/+66
|/ | | | | | | | | | | | | | | | | | | | | Qt requires raw access to the font tables of used fonts, for a variety of reasons. Until Symbian^4, it is/was not possible to access the font tables of the fonts which are stored in Symbians Font and Bitmap Server. That's why Qt for Symbian's FontDataBase created an own TFontStore where it loaded in all installed fonts. While accessing the font tables via the own TFontStore it still uses the rasterization and metrics from the FBS, which has public Api for those things. However, loading all fonts in the own TFontStore for each Qt Gui process slows down the program startup. Symbian's future font table setter Api is very welcome and this implemets it's usage. This patch lets Qt use the new font API on Symbain^4. The font tables are retrieved via RFontTable. Task-number: QT-2746 Reviewed-by: Jason Barron
* Removing unused code.Alessandro Portale2010-04-301-24/+1
| | | | | | | MOpenFontShapingExtension was not used. Cleaning up and reducing delta between branches Reviewed-by: Aleksandar Sasha Babic
* Renaming a few unexported, private symbolsAlessandro Portale2010-04-281-12/+12
| | | | | | | | That reduces the delta between 4.6/4.7 and a patch that I am pre- paring for Symbian^4. The renaming will help me a lot when main- taining font issues on 4.6 and 4.7 and different Symbian versions. Reviewed-by: trustme
* Removed inneccessary QGlyphLayout::offsets initialization.Alessandro Portale2010-04-211-2/+2
| | | | Reviewed-by: lars
* Fix mirrored characters for RTL text in SymbianAlessandro Portale2010-04-211-1/+3
| | | | | | | | | | | For RTL text rendering (Arabic, Hebrew), we need certain characters to be mirrored, such as brackets. This patch fixes QFontEngineS60::stringToCMap to use QChar::mirroredChar for RTL text. Task-number: QT-3299 Reviewed-by: lars
* Implementing QFontEngineS60::getSfntTableData()Alessandro Portale2010-04-051-0/+30
| | | | | | | | | | | | | That function was not yet implementing. Its absense caused some Harfbuzz based shaping not to happen. See Robert DeWolf's comment on task QTBUG-5857 Since QFontEngineS60 is private implementation and generally not exported, no symbols need to be added to the .def files for this patch. Task-number: QTBUG-5857 Reviewed-by: trustme
* Make compileThomas Zander2010-02-101-1/+1
| | | | Reviewed-By: Alessandro Portale
* Fixed text rendering via scaled QPainter on rasterPaintEngine / SymbianAlessandro Portale2010-02-011-16/+52
| | | | | | | | | | | | | | | | | | | | | | | | | Text rendering in Qt for Symbian looks very bad on a scaled QPainter. Instead of simply using a Symbian font with the right size it followed the code path that is usually used for "tricky transformation": Use the glyph outlines and rasterize them in Qt as QPainterPath. That's slow and especially ugly on Symbian since we do not (yet) get the glyph outlines from Symbian. This patch adds QFontEngineS60::setFontScale() so that QFontEngineS60 has one additional native font handle with the scaled size. The raster paint engine will call that function in case that the painter is scaled. Since we already have QFontEngineS60 specific code in the raster paint engine, this patch did not have to add #ifdefs. http://bugreports.qt.nokia.com/browse/QTBUG-7614 Task-number: QTBUG-7614 Reviewed-by: Jason Barron modified: gui/painting/qpaintengine_raster.cpp modified: gui/text/qfontengine_s60.cpp modified: gui/text/qfontengine_s60_p.h
* Merge branch '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2010-01-121-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.6-integration * '4.6' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (73 commits) doc: update snippets for QtScript function expressions Prevent a crash when creating an inputContext from the QApplication dtor. QNAM HTTP Code: Cache socket state inside ensureConnection() tst_qhttpnetworkconnection: Test also HEAD in some tests tst_qhttpnetworkconnection: Relax condition in getMultipleWithPriorities QNAM HTTP Code: When starting new request, prefer connected sockets. typo fix Added the 'framecapture' WebKit example to the default build. Fix code example fix typo in qreadwritelock's documentation QNAM HTTP: Don't call d_func() so often QNAM HTTP: Fix readBuffer maximum size. QNAM HTTP: Optimize eatWhitespace() QNAM HTTP: Check if socket already tries to connect. network internals: fix build on S60 [syncqt] Make -separate-module work with WebKit's directory structure doc: Corrected explanation of when append() does nothing. doc: Added clarification about allocating space for the 0 terminator. Add a way to access the normalised URL in QUrl. [syncqt] Make it possible to synchronize headers for a separate module ...
| * Update copyright year to 2010Jason McDonald2010-01-061-1/+1
| | | | | | | | Reviewed-by: Trust Me
* | Fix for QTBUG-6408 QFontEngineS60::QFontEngineS60 called hundreds ofJani Hautakangas2010-01-111-29/+7
|/ | | | | | | | | | times, taking up to 1ms each call. Use S60->ScreenDevice() to get/release fonts instead of create a new screen device each time. Task-number: QTBUG-6408 Reviewed-by: Jason Barron
* Fix typo in license headerAlessandro Portale2009-11-121-1/+1
| | | | | | The word 'module' was missing. Reviewed-By: TrustMe
* Introduce native Symbian bitmap support to QPixmapJani Hautakangas2009-09-181-5/+10
| | | | | | | | | This is done to reduce heap consumption and to give a possibility to share bitmaps across process. QPixmap maps to Symbian CFbsBitmap which is stored in Symbian font and bitmap server. Reviewed-by: Jason Barron
* Getting text widget OOM tests working in Symbianmread2009-09-091-1/+1
| | | | | | | | | | | | | | There is one actual bug fix, checking for null pointer return. The exception safety test code now initialises the fonts system. The S60 fonts system does not survive OOM testing without this. Otherwise some duplicate tests are removed and code tidied up. Reviewed-by: Liang Qi Reviewed-by: Harald Fernengel Reviewed-by: Alessandro Portale
* Update license headers again.Jason McDonald2009-09-091-4/+4
| | | | Reviewed-by: Trust Me
* Update tech preview license header for files that are new in 4.6.Jason McDonald2009-08-311-13/+13
| | | | Reviewed-by: Trust Me
* Deleting the CFontStore without a crashmread2009-08-281-1/+8
| | | | | | | CFontStore deletion crashes if there are any open fonts in it. These are now all deleted before the store is deleted. Reviewed-by: aportale
* Changed names and URLs to reflect name change.axis2009-08-191-1/+1
| | | | RevBy: Trust me
* Changing names of Symbian leave <-> qt throw translation functionsmread2009-08-131-2/+2
| | | | due to http://qt-reviews.europe.nokia.com/r/67/
* Update license headers according to commit 858c70f768e.axis2009-08-061-3/+3
| | | | RevBy: Trust me
* Replaced $MODULE$ with hardcoded module names.axis2009-08-061-1/+1
| | | | RevBy: Trust me
* Squashed commit of the topic/exceptions branch.Harald Fernengel2009-08-031-4/+4
| | | | | Contains some smaller fixes and renaming of macros. Looks big, but isn't scary at all ;)
* Removed unused static data from Qt.axis2009-07-061-2/+0
| | | | This saves memory and prevents warnings from RVCT.
* Merge branch 'master' of git@scm.dev.troll.no:qt/qt-s60-publicAlessandro Portale2009-06-031-1/+31
|\
| * Fixed incorrect headers.axis2009-06-031-1/+31
| |
* | Fixed QFontEngineS60::boundingBox. It was actually returning the tightAlessandro Portale2009-06-031-20/+7
|/ | | | bounding rect, before.
* Set the vertical advance of glyph metrics to zero.Jason Barron2009-05-181-1/+1
| | | | | | | The OpenVG paint engine uses this value as the escapement of the glyph and setting this to the vertical advance results in the text being laid out in a declining staircase fashion. All other font engines seem to set the vertical advance to zero so do the same here as well.
* Fixed namespace issues, now works on Symbian under namespaceJanne Koskinen2009-05-111-0/+2
|
* Long live Qt for S60!axis2009-04-241-0/+307