summaryrefslogtreecommitdiffstats
path: root/vcl/generic/glyphs
Commit message (Collapse)AuthorAgeFilesLines
* vcl: move all glyph files from generic to unxChris Sherlock2016-01-115-1542/+0
| | | | | | | | | | | | All the files in glyph are only used by Unix based systems, with the exception of OS X. Therefore, it's not really "generic" as in "used across all platforms" but is generic as in "used in all Unix-based systems". Change-Id: Id89c09df74f0ddafee5c88c55bac4c35f9b23ef8 Reviewed-on: https://gerrit.libreoffice.org/21312 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
* vcl: rename gcach_ftyp.{cxx|hxx} to freetype_glyphcache.{cxx|hxx}Chris Sherlock2016-01-113-3/+3
| | | | | | | Change-Id: If17c0c36108c2437accba105e11a93a009d2c91f Reviewed-on: https://gerrit.libreoffice.org/21311 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
* vcl: promote ImplFontAttributes to FontAttributesChris Sherlock2016-01-101-1/+1
| | | | | | | | | | | | | ImplFontAttributes is no longer merely a pImpl (or "compilation firewall", take your pick) but is a fully fledged class in its own right that is used by a number of classes, including FontSelectPattern, LogicalFontInstance and PhysicalFontFace. Thus I'm "promoting" the use of this class in the codebase. Change-Id: I26866080a64796978d1c25efbcd16e3e6f94aaa5 Reviewed-on: https://gerrit.libreoffice.org/21305 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
* vcl: move some Freetype stuff away from the "generic" folderChris Sherlock2016-01-095-1714/+3
| | | | | | | | | | | | Freetype is definitely not "generic" code. It is only used for Unix platforms, but is not used for OS X which has it's own font/glyph/text system called CoreText and that is implemented elsewhere in our codebase. Change-Id: I30b2756d2cd9a81b6f746988685295d25ba1de44 Reviewed-on: https://gerrit.libreoffice.org/21286 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
* vcl: Rename class ImplFTSFontData to FreetypeFontFaceChris Sherlock2016-01-092-7/+7
| | | | | | | | | | | | | | ImplFTSFontData derives from PhysicalFontFace, and implements the mechanisms specified therein. It's not actually a "data" class, but also implements a factory function that creates a LogicalFontInstance object via Freetype. I believe the "S" in "FTS" stands for "Server", which is a misnomer as Freetype is a font renderer, not a font server. Change-Id: Ibacc4bf3f850ddfb37016ea2e3e088279b1b1ba1 Reviewed-on: https://gerrit.libreoffice.org/21285 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
* vcl: Rename ImplServerFontEntry to ServerFontInstanceChris Sherlock2016-01-092-5/+5
| | | | | | | | | | | I want to keep this class in line with the naming of the base class. ImplServerFontEntry derives from LogicalFontInstance, so the name ServerFontInstance is a better fit. Change-Id: I2d2e3919634c2aaa8e5d6d63b0bf718dec18c336 Reviewed-on: https://gerrit.libreoffice.org/21284 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
* vcl: change ImplFontEntry to LogicalFontInstanceChris Sherlock2016-01-083-7/+7
| | | | | | | | | | There is a TODO in the code that suggests to do this, when I looked at the collaboration diagram on Doxygen things made a LOT more sense. Change-Id: If335498bb70872ffa5738cc5c17660faec84c35e Reviewed-on: https://gerrit.libreoffice.org/21257 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
* vcl: rename outfont.hxx to fontentry.hxxChris Sherlock2016-01-072-2/+2
| | | | | | | Change-Id: I174a7a87d68958d0a5dd7c3e0f35294f0d020eb1 Reviewed-on: https://gerrit.libreoffice.org/21189 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
* vcl: FtFont{Info|File} renamed to FreetypeFont{Info|Type}Chris Sherlock2016-01-072-43/+43
| | | | Change-Id: I91621a177f27200c9d3413dd4953d5292a2ac15b
* vcl: split classes out of metric.hxxChris Sherlock2016-01-041-0/+3
| | | | | | | Change-Id: Id3b155abec7b7a2ff43d0a35e98709f5ee51c6b9 Reviewed-on: https://gerrit.libreoffice.org/21069 Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
* vcl: split out ImplFontAttributes into own headerChris Sherlock2016-01-032-0/+3
| | | | | | | Change-Id: I74cde57e328047ac149593c5bb065d7a6066941d Reviewed-on: https://gerrit.libreoffice.org/21056 Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
* vcl: rename variables from metric names to font attribute namesChris Sherlock2016-01-031-1/+1
| | | | | | | Change-Id: Ib0a3d82af858304bf63a20bcb30b8de741491935 Reviewed-on: https://gerrit.libreoffice.org/21054 Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
* vcl: merge ImplFontMetricData with ImplFontAttributesChris Sherlock2016-01-031-1/+1
| | | | | | | Change-Id: Ia2fe20559745e705667f23cdd73cbe50c6371aaa Reviewed-on: https://gerrit.libreoffice.org/21053 Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
* vcl: convert ImplFontMetricData to accessor functionsChris Sherlock2016-01-032-33/+33
| | | | | | | | | | | | | | | | | Changed private variables to use accessor functions in ImplFontMetric. It turns out there are some variables that are redundant as they are already in ImplFontAttributes. These are: - meFamilyType - mbDevice I also needed to change ImplFontMetric::GetSlant() to GetSlantType() as the names conflicted. Change-Id: Ic06a374fb929e3b2ffb18a6c66577c526c3b31a7 Reviewed-on: https://gerrit.libreoffice.org/21050 Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
* vcl: remove poor-man's RTTI in PhysicalFontFaceChris Sherlock2016-01-012-2/+1
| | | | | | | | | | | | | | | | | | | | | The *only* things relying on the in-built magic number are PDFFontCache and PDFWriterImpl. PDFWriterImpl::emitBuiltinFont has as its first parameter a const PhysicalFontFace*, but this is only called upon by PDFWriterImpl::emitFonts, which instantiates an ImplPdfBuiltinFontData object from a built-in font map... so basically it is always guaranteed to get a ImplPdfBuiltinFontData object. ImplPdfBuiltinFontData derives from PhysicalFontFace, so to prevent the need to check the class being used is a ImplPdfBuiltinFontData, just make emitBuiltinFont require as it's first parameter ImplPdfBuiltinFontData! Unfortunately, we can't get around RTTI completely, because PDFFontCache::FontIdentifier requires a way of distinguishing between two different PhysicalFontFaces... Change-Id: I74c8cd294580bbecd12dd2427ac405f97a7e7f7e Reviewed-on: https://gerrit.libreoffice.org/21030 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
* vcl: merge ImplDevFontAttributes with ImplFontAttributesChris Sherlock2015-12-313-8/+8
| | | | | | | | | | | | | ImplFontAttributes handles device independent data, whilst ImplDevFontAttributes handles device dependent data. However, there is no real reason for the divide in classes, and in fact I'm not at all a fan of using a pImpl directly - sort of defeats the purpose of having one! Change-Id: I2db22727e3479b14e3bc37dfad9136703bbdeb13 Reviewed-on: https://gerrit.libreoffice.org/21018 Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
* vcl: create accessor functions for ImplDevFontAttributesChris Sherlock2015-12-311-4/+4
| | | | | | | Change-Id: I0494a1db1a1e5c164bd5da2d0a221a8db6c494d6 Reviewed-on: https://gerrit.libreoffice.org/21016 Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com> Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
* Resolves: #i126753# fix invalid parse of GSUB table for OpenType fontsTsutomu Uchino2015-12-271-0/+1
| | | | | | (cherry picked from commit 9396ecb77711fb7da043f9865f9803a12d830daa) Change-Id: Ib34aa2310d83afec83b4a85f1661b763415159ed
* loplugin:unnecessaryvirtualNoel Grandin2015-12-241-8/+4
| | | | | | | | | | | and unwind some apparently now unused VCL OpenGL and GlyphCachePeer stuff. Change-Id: Ic85302d4e1ad4056dabc49c97a608891052e3167 Reviewed-on: https://gerrit.libreoffice.org/20920 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
* Get rid of :: prefix for basegfx in include/vcl and vclTor Lillqvist2015-12-151-1/+1
| | | | | | | | | We already used it without the :: prefix, in many cases in the same files even. It is nice to have some consistency. I was not bored enough to do it everywhere. Change-Id: Ic8ac5bd9b4b2c02c41e5ea937a3d9477824f21cf
* Disable code not needed with new HarfBuzz versionsKhaled Hosny2015-11-271-6/+18
| | | | | | | Change-Id: I0526e2375f41f708ea26b5b81731a59de51825b7 Reviewed-on: https://gerrit.libreoffice.org/20229 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
* tdf#91288 Does not display traditional Chinese variant ofMark Hung2015-11-261-1/+3
| | | | | | | | | | | | | | | | Noto fonts correctly. LanguageTag()::getLanguage() would always return "zh" despite traditional Chinese were choose. hb_language_from_string() requires iso639-3 language tag except for Chinese, so we use use Bcp47() language tag for Chinese to differ zh-CN and the others. Change-Id: I6700a79a9c49a97d840b430def77741912935f72 Reviewed-on: https://gerrit.libreoffice.org/20027 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
* loplugin:unusedfields in vcl/Noel Grandin2015-11-242-8/+0
| | | | | | | | | and remove the unused SALEVENT_MOUSEACTIVATE stuff Change-Id: Ieb85872eca68621c6a7be47ff5dbea12f7690507 Reviewed-on: https://gerrit.libreoffice.org/20140 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
* Remove recently unused codeKhaled Hosny2015-11-241-23/+0
| | | | Change-Id: I47a28fa127bd84527c0d6d96a7d06a5932b29305
* Do all svp text rendering with cairoCaolán McNamara2015-11-232-523/+0
| | | | | | | | | | enabling us to delete a whole pile of foo For android we patch cairo, which is internal in that case, to swap the rgb components so that cairo then matches the OpenGL GL_RGBA format so we can use it there where we don't have GL_BGRA support. Change-Id: I25e34889c7b7263438b143dd2a2ad882fb0f190a
* Add ImplFontMetricData::mbTrueTypeFontTor Lillqvist2015-11-191-1/+2
| | | | | | | Indicates that the font truly is a TrueType one (FT_IS_SFNT in FreeType, TMPF_TRUETYPE in Win32). Change-Id: Ic9dbf5e5239ae2ca597c454091fc36073a3b19cc
* Don't assume sal_Unicode is unsigned shortStephan Bergmann2015-11-171-1/+3
| | | | Change-Id: I3266bb049be3a9b558b68b40d741efdcab2eb759
* loplugin:nullptr (automatic rewrite)Stephan Bergmann2015-11-105-72/+72
| | | | Change-Id: I05e89f9896170d4df3d1377549ea074f06b884a0
* loplugin:defaultparamsStephan Bergmann2015-10-201-1/+1
| | | | Change-Id: I3e5ee77b51eb8e1207d3f95e6a1d9d8272532ba6
* Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann2015-10-123-5/+5
| | | | Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
* afl-eventtesting: creating OUString from super long sal_Unicode* is slowCaolán McNamara2015-10-072-9/+10
| | | | | | | | | | | | the mpStr and mnLength arguments are always created from an OUString and the OUString aRun(rArgs.mpStr); creates a duplicate of the original string. Its way faster to pass the original OUString around instead. Change-Id: I3de0cc31654eb215362548b6aee435f9c0c3c9db Reviewed-on: https://gerrit.libreoffice.org/19221 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
* loplugin:mergeclassesNoel Grandin2015-10-071-2/+2
| | | | Change-Id: If8fabc79f4cbef6fc0d164bbe2f6136f1d1f00af
* loplugin:unusedmethods in vclNoel Grandin2015-10-022-7/+3
| | | | | | | Change-Id: Ib404310761fd555b033ab6594ba8636d37f23463 Reviewed-on: https://gerrit.libreoffice.org/19074 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
* remove old standalone Sun bug numbersNoel Grandin2015-10-011-1/+1
| | | | | | | | | | | | | | | Sun bug numbers without any accompanying text are completely useless. Fixed with git grep -lP '//\s*#\d+#\s*$' | xargs perl -i -ne'/\/\/\s*#\d+#\s*$/d or print' And then hand-checking the result to restore places where it deleted code. And then some more grepping and hand-editing to kill the others. Change-Id: Ia96ce4466db8bb8da363ebf41f0ae7f45f28bf29 Reviewed-on: https://gerrit.libreoffice.org/19023 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
* loplugin:removeunusedmethods, remove unused stuffNoel Grandin2015-09-291-4/+0
| | | | Change-Id: I35456b2a3ad2a84a1d045f09cdfb29e4c19b8350
* remove unused #include <sal/alloca.h>Michael Stahl2015-09-291-1/+0
| | | | Change-Id: I490841fd2c526e4ca6d6c94cc7b9dba318c932a1
* clang-analyzer-deadcode.DeadStoresStephan Bergmann2015-09-071-1/+0
| | | | | | | ...needlessly added with 6d96720fd51ca4710c9ffef3db68ac13678f5bed "#98991# fix CJKV vertical glyph rotation, avoid obsolete FT helper functions" Change-Id: Ic0311ca8ae2b4c7d33c42f7fecaae4c95c24500a
* clang-analyzer-deadcode.DeadStoresStephan Bergmann2015-09-071-1/+1
| | | | | | | ...ever since its inception with a949f50ce969b1f8d018d2913c0d86cfcec4e72a "implemented GetGlyphOutline()" Change-Id: I4591ac5c3d42053b3caa9d68bb12ad02dc319b66
* clang-analyzer-deadcode.DeadStoresStephan Bergmann2015-09-071-1/+1
| | | | | | | ...ever since its inception with 2d1f08d63942666c0094904f50ba8c512ab69b9d "CWS-TOOLING: integrate CWS otf01" Change-Id: I92ec60f5704e632126f3ba98140c520ae5c9e784
* clang-analyzer-deadcode.DeadStoresStephan Bergmann2015-09-071-1/+0
| | | | | | | ...ever since its inception with 5624be5a3520a16d57724064e16df3722d728010 "CWS-TOOLING: integrate CWS graphite01" Change-Id: Ib530362efe1b52f43a2a25e531cce9326001044d
* clang-analyzer-deadcode.DeadStoresStephan Bergmann2015-09-071-1/+1
| | | | | | | ...ever since its inception with d9bf8cb9c3f087115f72ba371e1291fd0eba3818 "add serverside font feature" Change-Id: I430b457dbf278be3299883ba0fac09a6b68c5d67
* fixes a memory leak that appeared in tdf#93392 valgrind traceDennis Francis2015-08-251-0/+2
| | | | | | | | Change-Id: Ifd4c6594d50ff63235e75049bc7ab8bc79606fc8 Reviewed-on: https://gerrit.libreoffice.org/17880 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
* Put Polygon from tools under tools:: namespaceNorbert Thiebaud2015-08-171-1/+1
| | | | | | | | | | Polygon is one of these names that Clash with some system objects A similar work has been done earlier with PolyPolygon. Change-Id: Icf2217cb2906292b7275760f1a16be0e150312f5 Reviewed-on: https://gerrit.libreoffice.org/17789 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
* Fix tdf#40091 and tdf#40335 text layout issues.Mark Hung2015-08-161-0/+3
| | | | | | | | | | | | | | | | | | | tdf#40091 Vertical writing inferior to MS Word tdf#40335 Using Right-to-left (vertical) for text, the characters overlap each other. Cursor is placed at the half of the character. It seems that current implementation use HarfBuzz OpenType layout API hb_buffer_get_glyph_positions() to layout the text, however instead of setting text direction to HB_DIRECTION_TTB, it uses HB_DIRECTION_LTR as its direction and rotates each CJK glyph to simulate the HB_DIRECTION_TTB. However the API use font width to position each glyph no matter whether the glyph will be rotated or not. Change-Id: Ie35238dd92218f8c4463c0ae1d356ad8609c5f48 Reviewed-on: https://gerrit.libreoffice.org/17774 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
* Move fix for tdf#89231 to a better placeKhaled Hosny2015-08-011-6/+4
| | | | | | | The Unicode to glyph id callback function is the natural and simpler place for that kind of check. Change-Id: I0e9fa131dcffa5063277f029e391eede7417c72b
* Revert "Revert "WaE: comparison of integers of different signs""Michael Stahl2015-07-141-2/+4
| | | | | | | | This reverts commit e60f6ac2492f7780f55e0d336966d78097a4b396. The "width" field is "int" in freetype 2.4.8 and "unsigned int" in 2.5.5 Change-Id: I4f7cc2bcf715890a85b956a5bf59667f634f31b5
* Revert "WaE: comparison of integers of different signs"Michael Stahl2015-07-141-2/+2
| | | | | | | This is pointless, the GCC warning was fixed in the previous commit and FT_Bitmap.width is of type "unsigned int" already. This reverts commit bc4a2d7ce9d4417f9d6cd58505d4ea3e959b1354.
* remove some unnecessary typedefs to pointerNoel Grandin2015-06-301-6/+4
| | | | | | | | | that were really not helping make the code any clearer. Found with a search git grep -P 'typedef\s+\w+\s*\*\s*\w+\;' and manual inspection Change-Id: I6a5c031e9e060ad3623a7586ec8a8cc4fe6252e9
* loplugin:cstylecast: deal with remaining pointer castsStephan Bergmann2015-06-083-4/+4
| | | | Change-Id: I07bf1403e6b992807541a499b786d47f835b2f81
* loplugin:redundantcast: const_cast to same typeStephan Bergmann2015-05-291-6/+2
| | | | Change-Id: I610fd4cf9339fd5c18eb77e7c94ffd0f99e9b125