Age | Commit message (Collapse) | Author |
|
Recent code reorganization and macOS changes caused the iOS build to fail. This change fixes the build errors and updates the iOS code to use the same headless data structures as other headless builds.
Change-Id: I9c5329eb6376120d6789447f991c93eb9839d595
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146265
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
Change-Id: I4185a240a2ca6df1c92e86ff9950f86234d4ace8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146142
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
|
|
Skia does not work with a native print graphics contexts. I am not sure why but from what I can see, the Skia implementation drawing to a bitmap buffer. However, in an NSPrintOperation, the print view's backing buffer is CGPDFContext so even if this bug could be solved by blitting the Skia bitmap buffer, the printed PDF would not have selectable text so always disable Skia for print graphics contexts.
Change-Id: I214ba83b6e368af3ef51ea770b093612d04047a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143798
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Setting italic to that of the found font seems to prevent artificial
italic in PDF export. We want to keep the original select pattern
attributes so that we know we asked for italic font but got a non-italic
one.
Change-Id: I0cf400e86d802028dffdabbb98e35e3ee584626e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143339
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>
|
|
Change-Id: Ie8bab5d7653a22d0f56b4c859fb2260d96e655c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142998
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>
|
|
We create CFMutableDictionaryRef, store two items in it and only even
access one of them. Simplify the whole thing and skip the middleman.
Change-Id: Iefc6b2c2664b0ea92e231195390ce8cd0d8d9778
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142011
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>
|
|
Everywhere else we call them fonts.
Change-Id: I70ef5957e9fb4fd03588cf23a255480ad021e083
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142010
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>
|
|
Using unique_ptr here fixes a leak, which in turn was hiding
the fact that we don't manage the lifecycle of CTFontDescriptor
in CoreTextFontFace properly
Change-Id: I2ade5fae9a40ad0ebb10538488018941f3f285c0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140916
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The “system” font list is used for both actual system fonts and fonts we
add with AddTempDevFont(), so the caching makes loading embedded fonts
broken the first time the file is opened, requiring a next open without
closing the application.
The callers, I think, are careful not to call GetDevFontList() unless
they really want to refresh the font list, so the caching is probably
superfluous if not wrong.
Change-Id: Ie14cc473a64425fd5270bc65ffd61dea2d873cfe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140840
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>
|
|
Change-Id: I6f7c4508f7cef022eaf65a998cb242078d3771c6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140826
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>
|
|
It was used for subsetting, but we switched subsetting to a more generic
code path a while ago.
Change-Id: I6066b7697268e9444587d73810f9465488aa4740
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140825
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>
|
|
Change-Id: Iec8974d6fc67d9d599c5e92aa325225963da0021
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139459
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>
|
|
All subclasses are doing the same thing in slightly different ways, so
move it to the base class that we can now access font tables there.
Change-Id: I1f8827dbc345aa852e1f7aaaa4cb4615593289c8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139395
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>
|
|
All subclasses are doing the same thing in slightly different ways, so
move it to the base class that we can now access font tables there.
Also drop unused PhysicalFontFace::HasChar().
Change-Id: I77022b4dc3688de2788c18966f39f407a6abb730
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139340
Tested-by: Jenkins
Reviewed-by: خالد حسني <khaled@aliftype.com>
|
|
Always render glyphs with a mode suitable for rendering of
resolution-independent layout positions if we scale the text positions.
The idea being to typically continue to use the system defaults for font
settings for UI elements, but where we are rendering into application
canvases where there's a mapmode set then automatically use a good mode
to render that.
Change-Id: I0e5857e377da72ae1a2ede1d88d6408819fc9200
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138324
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
so another font can be attempted for the remainder
Change-Id: Ie2c67c7c63510d02c99f2377c0c43ed6050ccd86
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134131
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
AKA the "*nix SalData untangling" commit.
The original plan was to get rid of vcl/inc/saldatabasic.hxx and
even SalData for all the *nix backends. But after many backs and
forths, reinspecting the code and imagining the resulting code, I
decided against that plan. All these variants would have resulted
in reinterpret_cast calls, I wanted to prevent. And they would
have required larger renames for no benefit.
An other, related idea was to include all SalData implementations
in the vcl/inc/svdata.hxx header, but that seemed like an include
explosion, so was also dropped.
I tried to untangling iOS from using GenericUnixSalData, as it
doesn't use any of it's features. The new, minimal SalData should
be sufficient.
I'm leaving the easier drop of mpInstance from the Windows and
MacOSX backend as a minimal interesting EasyHack.
Change-Id: I5be01c1f42131a7e31cb30899392308e1e2de53b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128402
Tested-by: Jenkins
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
|
Change-Id: I1e572bd03387e1708fe75b90c2bce220b41c29e5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128409
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I20bbb0e252ffd09901f587599430e715dbe977b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128300
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I7bc8ee2e5e989e41fcc0b6f96c5b2b8f151cdd3d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127937
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
- tested PhysicalFontCollection, noted odd behaviour with search names
and normalization
- moved PhysicalFontCollection.hxx to vcl/inc/font
- moved PhysicalFontCollection into vcl::font namespace
Note that I needed to regenerate the pch file otherwise errors were
generated.
Change-Id: Ifa0c7b871c40687bd15002565d2f7a3e408218f8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122036
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
outdev.h is a hodge-podge of functions - font substitution and an
internal state struct for OutputDevice. I have split these into:
- font/fontsubstitution: FontSubstitution,
GlyphFallbackFontSubstitution.hxx and PreMatchFontSubstitution.hxx
(all three define pure virtual base classes for later reuse)
- font/DirectFontSubstitution.hxx: incorporates FontSubstEntry and
DirectFontSubstitution
- ImplOutDevData.hxx contains it's own class
Each fo the classes has been moved to the vcl::font namespace.
As outdev.h is now no longer, this has meant that I have had to
regenerate vcl/inc/pch/precompiled_vcl.hxx
Change-Id: Iaa92fa21271faff46f2a8a0f6488e01434c142db
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121997
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
- moved PhysicalFontFace.hxx to vcl/inc/font
- added PhysicalFontFace to vcl::font namespace
- had to regenerate precompiled_vcl.hxx
- tested PhysicalFontFace, with some extensive tests for
IsBetterMatch()
Change-Id: I860022ac244f8a827f6f9cb7ed9018c5d9c328cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121970
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: I2f01a8e67c52ece9b434777203aa9fbc9ac8be02
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122613
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
|
|
Change-Id: I29b9f54d24aece32949ac3ba916f1d6588cfd85f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120910
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Note that I did not try to refresh my memory of what anything of this
actually *means*, I just did a couple of quick edits to get past
compilation errors in vcl.
The build now proceeds until "No rule to make target
'/Volumes/TML13/lo/master-ios-debug/instdir_for_build/LibreOfficeDev.app/Contents/Frameworks/libgcc3_uno',
needed by
'/Volumes/TML13/lo/master-ios-debug/workdir_for_build/Executable/saxparser.run'."
Change-Id: I42e2d60bf691f99631b2700e45921824144df2d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120892
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
There may be still small problems (CJK needs checking), but this is
already usable.
Change-Id: Ic9381c22ca55d9e6320152ffebeae740fd90f796
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120810
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
It doesn't yet blit to screen, but the basics should be there.
Change-Id: I0f77b66756f578d84d0cee16cda00e7a2fea714f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120805
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
This change moves graphic rendering function under AquaSalGraphics
into a new AquaGraphicsBackend, which inherits from SalGraphicsImpl.
This is part of the refactoring to make it mandatory that a
SalGraphics always has a SalGraphicsImpl associated, which will
make it possible to simplify the SalGraphics interface and enable
the posibility to implement alernative graphic backends (Skia).
Common variables and attributes are moved to AquaSharedAttributes
and are shared between SalGraphics and SalGraphicsImpl.
Change-Id: Ie48da87002ec8e4011ba92fdc9170f3a86761517
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114701
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Change-Id: I123c4048d333cdc761582763d6ccb9c254e32bbb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114700
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
(1) Activate window scaling when at least one retina display is connected
(2) Remove environment variable VCL_MACOS_FORCE_WINDOW_SCALING
(3) Disable related unit tests unless bitmap scaling has been implemented
Change-Id: I218119a21e319e22bf17c609608724fce180f000
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111267
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
macOS"
This reverts commit f318b856ed055f1952276355f811153f6b29c93e.
It appears this reliably causes CppunitTest_vcl_backend_test to fail on macOS on
at least tb69, see e.g. <https://ci.libreoffice.org/job/gerrit_mac/82587/
consoleFull#-500134232d893063f-7f3d-4b7e-b56f-4e0f225817cd> and
<https://ci.libreoffice.org/job/gerrit_mac/82592/
consoleFull#-500134232d893063f-7f3d-4b7e-b56f-4e0f225817cd>,
[_RUN_____] BackendTest::testDrawBlendExtended
/Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/vcl/qa/cppunit/BackendTest.cxx:688:BackendTest::testDrawBlendExtended
equality assertion failed
- Expected: c[000080ff]
- Actual : c[ffffffff]
BackendTest::testDrawBlendExtended finished in: 1ms
[_RUN_____] BackendTest::testDrawAlphaBitmapMirrored
/Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/vcl/qa/cppunit/BackendTest.cxx:749:BackendTest::testDrawAlphaBitmapMirrored
equality assertion failed
- Expected: c[ff0000ff]
- Actual : c[000000ff]
BackendTest::testDrawAlphaBitmapMirrored finished in: 1ms
[_RUN_____] BackendTest::testTdf124848
/Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/vcl/qa/cppunit/BackendTest.cxx:808:BackendTest::testTdf124848
equality assertion failed
- Expected: c[000000ff]
- Actual : c[ffffffff]
And it also causes my local macOS 11.1 ARM64 build to consistently fail that
way, both the original patch set 1 (with the older parent) and the submitted
patch set 2 (with a newer parent).
Change-Id: I2c36fada271e8bc300b6caa19370d8e8bb1e7599
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110055
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Jenkins
|
|
(1) Activate window scaling when at least one retina display is connected
(2) Remove environment variable VCL_MACOS_FORCE_WINDOW_SCALING
Change-Id: If6926ace7238f2be4ae91290872dbb3dbf658221
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110002
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
(1) Remove hack to make application look as if being linked against SDK 10.13
(2) Use quad storage size on virtual devices for displaying on retina displays thereafter
(3) Apply workaround to downsample bitmaps from scaled layers (to be implemented)
(4) Disable dark mode (to be implemented)
(5) Provide new environment variables:
VCL_MACOS_FORCE_WINDOW_SCALING:
window scaling on non retina displays
VCL_MACOS_FORCE_DARK_MODE:
enable dark mode (macOS 10.14, iOS 13 and newer)
VCL_MACOS_USE_SYSTEM_APPEARANCE:
use light mode or dark mode (macOS 10.14, iOS 13 and newer) as configured by system preferences
Change-Id: I99877cd62a98cb91bcbf27af62b043c31c5f5fc9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109072
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
Change-Id: I53cfc0451dd67b7508d85050fbf262aafc361550
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108513
Tested-by: Tor Lillqvist <tml@collabora.com>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
|
|
Change-Id: I63892376154893a97e6b205b93c1682f66fd3064
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105756
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.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>
|
|
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>
|
|
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>
|
|
* 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: I7fff6af5e521318324df63b32d4be7b0e0f12771
Reviewed-on: https://gerrit.libreoffice.org/80803
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
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>
|
|
Change-Id: Id4a0b460ba3c43e80b80ae6e2da9e40a6753e14c
Reviewed-on: https://gerrit.libreoffice.org/77965
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
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>
|
|
Change-Id: I52539f6582d099ef80048d9a25266c88e1f6d783
Reviewed-on: https://gerrit.libreoffice.org/72439
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
|