Age | Commit message (Collapse) | Author |
|
Change-Id: I6fdb00652bf3dd892b531b80c2bb621ff22e8717
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104475
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
A number of powerful functions using B2D polygons such as
OutputDevice::DrawPolyLineDirect() were used only if AA was enabled.
So e.g. dashing for an AA-ed polyline could be drawn directly
using the function, but with AA disabled had to be done manually
by a number of polygon operations. Which doesn't make much sense,
surely these powerful functions can also draw without AA if set so
(and indeed that's mostly the case). And DrawPolyLineDirect() even
had a flag to bypass the check.
So simply try to use B2D-based drawing whenever possible, AA or not.
The previous commit had already changed the naming of the AA option
to not include B2D in the name.
This seems to come from https://bz.apache.org/ooo/show_bug.cgi?id=88795,
which doesn't explain why AA only. There are other bugreports such as
https://bz.apache.org/ooo/show_bug.cgi?id=101491 and
https://bz.apache.org/ooo/show_bug.cgi?id=98289 that are related, but
there I cannot see any difference with this patch. And all unit tests
pass.
Change-Id: Ibb5938e8fff9b7452bac4bf12ed3e42fd3e5d645
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103354
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
This renames AntialiasingFlags::EnableB2dDraw to just Enable,
and the AntiAliasB2DDraw names to just AntiAlias. This is
in preparation for a second commit that will actually separate
the AA and B2D functionality of these flags.
Change-Id: I9cc215c5752dfabce41e00e19d9074fc8dc3d4de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103416
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
It passed "make check" on Linux
Change-Id: I5e2b4f37296b521b5e942a8e9f9caf2137e39172
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103456
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
This is basically just some refactoring. Most interestingly the
MacOS used to work with 257 glyphs. I couldn't find any
explaination for the 256 glyph limit. Sadly the PrintFontManager
is out of scope. That needs more inspection.
Change-Id: Ibfa0e905f5efeb7d4a609884d64b4ed2615a9d3d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102688
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Tested-by: Jenkins
|
|
Since removed code in the previous commit is primary used in
CreateFontSubset and GetGlyphWidths, you have a high chance, that
the CMAP was already used for displaying a font, so it's already
decoded and can be forwarded. Also the lookup should be faster in
general this way.
Change-Id: Icf4d8a1a84ff6ccdaccb7e870abe5df3837f9541
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102686
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Tested-by: Jenkins
|
|
Now that GetFontChatMap is a member of PhysicalFontFace, we can
copy the common part of both architectures into a SalGraphics
helper function.
Change-Id: Iad379ea690a1c5346b69b5042188506ccf575cc2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102684
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
This hides all members, which are needed to create a new TTF font
by calling vcl::CreateTTFromTTGlyphs, and adds an abstraction
to access individual font tables. This is needed, because Qt5
just allows access to the raw font based on font tables.
Change-Id: I74e34cf1aa2529a06ec5ec53aa2be751e58982ad
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100717
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I9500453c8964b774e4b0be41a7b2f1a8c28040b2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99138
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99183
Tested-by: Jenkins
|
|
Change-Id: I221351bdc43b48e714acca89bc84db007258299e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99115
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Only the grey palette with 256 colors means that pixel values map
directly to color values. Tdf#121120 has an image with 2-bit
palette where color index 1 is (255,255,255), but that means
the pixel value 1 cannot be just treated as color.
Change-Id: Ifbd953af7f291e4fb8032ea0f4c33c0514770856
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97283
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: Iae0a2966aa6394e16c2ba3d4155d90bac373472f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96118
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I414eaf0e61be09ccf12d04577c89dbcdb845f85f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96117
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ie26580277fa6d0734b8af1eb029e0883a3c6f886
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95064
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
For backends that do the object-to-device coordinates transformation
directly, it's necessary to also convert the size of line width.
But simply multiplying it with the matrix can also rotate the line
width "vector", making it e.g. negative. So don't use just the X
coordinate, use vector length for the transformation, which is ok.
In fact it doesn't even make sense to treat width as a vector, because
a width simply is not a vector (and for this reason it's also not
actually used).
Change-Id: I1241c9cb29155df105170d568a879ebc32b11a5f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93203
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Jenkins
|
|
Change-Id: I50a80014addf5fb6a3974139249f45f6a2e67d92
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92939
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Jenkins
|
|
Change-Id: I82d37d0277e324e269674ed40592026e0097fa33
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91027
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91031
Tested-by: Jenkins
|
|
1. We would like to call CTFontDescriptorCopyLocalizedAttribute function
simply.
We don't need to compare language settings of LibreOffice UI to OS lang-
uage settings.
This comparison was a way to save users from confusion, but it was bad
idea.
Because CTFontDescriptorCopyLocalizedAttribute function before macOS
Catalina returns RFC 3066 bis as a language tag, but LibreOffice and
macOS Catalina uses BCP 47 as a language tag.
CTFontDescriptorCopyLocalizedAttribute function use the language setting
for the operating system, therefore Users will change it if needed.
2. Fix font aliases on macOS Catalina
I added some entries because I notice that those doesn't working with
a Hiragino Sans font alias.
Change-Id: Ie05a96f45cba13a19fcc1b855bd908f397e585a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/81145
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
With the handover of transformations to line
draw calls it is no longer feasible to detect
and prepare LineWidth stuff when the old
office definition for hairlnes is used, a
line width of zero. It was managed in the
system-independent part, but now may have to
be prepared in logic and not discrete (pixel)
coordinates. To do so, find and cleanup all
places where 1/1.0 was used as hairline line
width. Adapt all seven graphic subsystems to
handle the line width == 0/0.0 cases
accordingly. Test as good as possible.
Change-Id: I2badc045474dcd51612e50597b8406a55d9dc863
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90057
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
and
cid#1458166 Dereference after null check
cid#1458167 Dereference after null check
Change-Id: I68dc7dc1bc78ed64795d353d5d0ffc15cc46b0c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88347
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I0dd153d1766d1f6a6da974a847e937edcd3399f0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88246
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
For more info and explanation including state of process
information and discussion(s) see task please.
Adding corrections for gerrit build
Change-Id: Ie10fb8093a86459dee80db5ab4355b47e46c1f8c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88130
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
OpenSymbol is crucial for Math; so it is not just some font that
could be used if present, but part of program resources. As such,
it must be available with other program resources, and not depend
on user preferences, like uninstallation of the font from system.
This patch puts it into program/resource/common/fonts, and adds
that path to the paths used for private fonts. This is in addition
to share/fonts/truetype, which is optional, and is usually absent
on most Linux and Windows installations (on Linux, it is usually
in a separate package installing it to system fonts; on Windows,
it is also installed to system by MSI).
Change-Id: Ibf5e12e70dacb62b965035645fc53e9d83cd8793
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86649
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Reviewed-by: Rene Engelhard <rene@debian.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
|
|
...with Clang 10 trunk:
> vcl/quartz/ctfonts.cxx:414:35: error: arithmetic between enumeration type 'FontWeight' and floating-point type 'double' is deprecated [-Werror,-Wdeprecated-enum-float-conversion]
> nInt = rint(WEIGHT_NORMAL + fWeight * ((WEIGHT_BLACK - WEIGHT_NORMAL)/0.68));
> ~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
etc. These computations had been introduced with
ea8422d42e838e7ddfeb8d9f77f3ecedecb29ce8 "Cherry-pick Core Text port from AOO",
and it looks like they indeed want to compute a suitable value in the
WEIGHT_THIN (=1), ..., WEIGHT_BLACK (=10) range of enum FontWeight, resp. the
WIDTH_ULRA_CONDENSED (=1), ..., WIDTH_ULTRA_EXPANDED (=9) range of enum
FontWidth (rather than, say, float values in the THIN = 50.0, ..., BLACK = 200.0
constants range of css.awt.FontWeight, resp. the ULTRACONDENSED = 50.0, ...,
ULTRAEXPANDED = 200.0 constants range of css.awt.FontWidth).
Change-Id: I054e4e215331f84cea03de681aa4b0fb7c12eef5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86176
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...with Clang 10 trunk:
> vcl/quartz/salgdicommon.cxx:1299:59: error: bitwise operation between different enumeration types ('CGImageAlphaInfo' and '(anonymous enum at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGImage.h:51:9)') is deprecated [-Werror,-Wdeprecated-anon-enum-enum-conversion]
> kCGImageAlphaNoneSkipFirst | kCGBitmapByteOrder32Big );
> ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~
<https://developer.apple.com/documentation/coregraphics/
1455939-cgbitmapcontextcreate> documents the "uint32_t bitmapInfo" parameter of
CGBitmapContextCreate as: "The constants for specifying the alpha channel
information are declared with the CGImageAlphaInfo type but can be passed to
this parameter safely. You can also pass the other constants associated with
the CGBitmapInfo type."
Change-Id: Idee410c65bd022a125a2f5a34cda007a8ca07580
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86175
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ia514e105d913b8cf77d4fe931deb6b559b3525d3
Reviewed-on: https://gerrit.libreoffice.org/84655
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
* OldEntry in fpicker/source/aqua/resourceprovider.mm was apparently unused ever
since it got introduced with 00657aef09d854c74fb426a935a3e8b1fc390bb0
"migrate to boost::gettext"
* impl_throwError is used from multiple TU,
connectivity/source/drivers/macab/MacabStatement.cxx just missed the relevant
#include
Change-Id: Iba131da57aa20085bb1c634ba9a3a59566070abd
Reviewed-on: https://gerrit.libreoffice.org/84653
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
This adds ReleaseFonts() calls to all destructors of SalGraphics
and TextRenderImpl derivated classes, which implement SetFont.
During destruction a base class can't call into derivated classes,
as these are already destructed, so we have to spread these calls
manually.
Change-Id: Ia57db04f7df665e5205212ce512119e2f60e3379
Reviewed-on: https://gerrit.libreoffice.org/82967
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I42d6546a9a400d8edb9ecef82614c6c88d4e6e83
Reviewed-on: https://gerrit.libreoffice.org/82806
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I7fff6af5e521318324df63b32d4be7b0e0f12771
Reviewed-on: https://gerrit.libreoffice.org/80803
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
none of our supported hardware uses these any more
Change-Id: Ic95d6df619a05df0bec1f5870596cb2bb3bcc6cb
Reviewed-on: https://gerrit.libreoffice.org/79476
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I8ac1f67999ccbb6c411359ac6fd4c473dc339d44
Reviewed-on: https://gerrit.libreoffice.org/79398
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I16aa2cdc3e92c3ea2661ebf0a528f72cbe193df9
Reviewed-on: https://gerrit.libreoffice.org/78716
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Remove the spurious "const" that dates back to a poor change in
9177329a425cf70b515d1f266132838894fe54c6 "vcl: FontCharMap to use intrusive_ptr
ImplFontCharMap":
> --- a/vcl/inc/quartz/salgdi.h
> +++ b/vcl/inc/quartz/salgdi.h
> @@ -73,7 +73,7 @@ public:
> CoreTextStyle* CreateTextStyle( const FontSelectPattern& ) const;
> int GetFontTable( const char pTagName[5], unsigned char* ) const;
>
> - const ImplFontCharMap* GetImplFontCharMap() const;
> + const ImplFontCharMapPtr GetImplFontCharMap() const;
> bool GetFontCapabilities(vcl::FontCapabilities &rFontCapabilities)
> const;
> bool HasChar( sal_uInt32 cChar ) const;
>
Change-Id: I6a533a917ec42513b0783332c35e0a6803504324
Reviewed-on: https://gerrit.libreoffice.org/78235
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Move getting UPEM and font tables to the functions and use HarfBuzz API
to get them. In the future we might stop reading the tables ourselves
and use HarfBuzz metrics API instead.
Change-Id: I3f4511628fd33200bae94cdcd96479ba3e6d2fba
Reviewed-on: https://gerrit.libreoffice.org/78081
Tested-by: Jenkins
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
|
|
Change-Id: Id4a0b460ba3c43e80b80ae6e2da9e40a6753e14c
Reviewed-on: https://gerrit.libreoffice.org/77965
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I2e2093ac3c8c6833b70d4932bc12a82a4483bde5
Reviewed-on: https://gerrit.libreoffice.org/76499
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
We don't need to pop the Core Graphics context state stack completely
before releasing the context. The code that tried to do that failed
anyway when the context was a "foreign" one (from doc_paintWindowDPI()
in core's init.cxx) thad had already been released there.
Also removed another apparently unnecessary ifndef for iOS.
Change-Id: Idcd1e6edd06ab259ec850fd66fcbabc3df0ae3af
Reviewed-on: https://gerrit.libreoffice.org/76263
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ifad405b05142ce61673f22ec3160f50314419ce7
Reviewed-on: https://gerrit.libreoffice.org/75680
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
This hides all the data, which shouldn't change after init. Real
const makes a lot of problems for copying, so this is the 2nd
option to just add getters for private data. While at it use
typed_flags for the GlyphItemFlags.
Change-Id: Ic1eeabe2398f6c30080fdd516285b72c620b11be
Reviewed-on: https://gerrit.libreoffice.org/75147
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Quikee agreed that they aren't really useful. Doing even the simplest
things causes such a huge amount of logging that it is questionable
whether anybody could have any use of it.
Parts of it might be useful to restore later, if need arises. Like the
mnContextStackDepth logging in vcl/inc/quartz/CGHelpers.hxx.
Change-Id: If635e6492a50e5955c56c54fa310e7c0ab2986ae
Reviewed-on: https://gerrit.libreoffice.org/73639
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
Change-Id: I404a8364a4c7f8d48533fb3c7757a5b7798de9d8
Reviewed-on: https://gerrit.libreoffice.org/73588
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Removing these few lines of code fixes the problem on iOS, and has no
apparent ill effect on macOS. But sure, I didn't check that thoroughly
on macOS, so in case this has a bad effect on macOS after all, need to
reinstate the few lines but make them #ifndef IOS.
(Still passes make check.)
Change-Id: I2380d010ba223a698acfe916fca4580a1502be98
|
|
Use same logic as in vcl/unx/generic/gdi/gdiimpl.cxx
Regression from 16091ff88aaab9ba9103c4e369bf79b97f431f40
See https://bugs.documentfoundation.org/show_bug.cgi?id=125506#c13
Thanks to Thorsten Wagner for pinpointing
Change-Id: I7a7a8c4b3355f5621ba1603939a3757cd03e7777
Reviewed-on: https://gerrit.libreoffice.org/73319
Tested-by: Jenkins
Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
|
|
Regression from b9fa01a8d1137a95af9865a3e47995734c40da6e
Change-Id: Ie4ab65966e274bff4d699b7cd4dc0fd47d26c558
Reviewed-on: https://gerrit.libreoffice.org/73249
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
|
|
The problem with latest macOS versions is that creating a graphic
context with window (NSGraphicsContext graphicsContextWithWindow:)
only works when actually drawing and otherwise it returns null.
This caused problems before in AquaVrtualDevice, but we also use
this when creating a device backing storage. This interestingly
caused slowdowns and eventual crash, but the backtrace looked
very misterious as it didn't crash because of a nullptr, but
it halted all drawing commands and it crashed because of that.
This changes the graphic context with a bitmap context, as it
was already done in VirtualDevice and use that instead. The
problem with a bitmap context is that we need to handle HiDPI
scaling by ourselves now.
LayerHolder was extended to store the scaling information of the
layer (and its underlaying bitmap context) and provides methods
that get the size of the layer in pixels or in scaling independent
points (which is just size in pixels multiplied by the scaling
factor).
An known issue is that VirtualDevice also needs to take scaling
into account, which it currently doesn't, so the text is still
blurry on a HiDPI screen, but that was already true previously
and is something that will be done in a different change.
Change-Id: I8e10c518ecba285125746bd20525c4cb5ca67279
Reviewed-on: https://gerrit.libreoffice.org/72663
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I87f5a1bc2c41c58cff747bbad82867d53ea92ce7
Reviewed-on: https://gerrit.libreoffice.org/72442
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I98f1723da170712e2f2c2a846e02954381376c7e
Reviewed-on: https://gerrit.libreoffice.org/72441
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: If5e27ea4049a76e560dd9823f335b86e2599d4cc
Reviewed-on: https://gerrit.libreoffice.org/72440
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I52539f6582d099ef80048d9a25266c88e1f6d783
Reviewed-on: https://gerrit.libreoffice.org/72439
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|