Currently we support DPI scaling by a integer factor. This commit
changes that to percentage so we can have scaling factors like
1.5x or 1.25x. This is useful with 2.7k monitors that are in
between standard DPI and HiDPI. Thresholding was adjusted to scale
to 1.5x when DPI is between 120 and 168 DPI.
The old method GetDPIScaleFactor has been changed to return a
float value insted of int. Sometimes it is however more accurate
to use GetDPIScalePercentage which was added in this commit.
Change-Id: Iaecee793ff3d5084d00adeebbcf5d7368c580882
Reviewed-on: https://gerrit.libreoffice.org/30379
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Sometimes we want to surpress automatic scaling and converting
for dark theme. This adds a loadFromResource function with
additional flags which makes this possible.
Change-Id: I893cee82ad6942644755f0c5b772fb5f073bbf00
Reviewed-on: https://gerrit.libreoffice.org/30341
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
We don't need to scale images for HiDPI mode anymore - this is now
done automatically when the image is loaded.
Change-Id: Ie285cf4d672f4c098a468d3f7560ee2700365b92
Reviewed-on: https://gerrit.libreoffice.org/30340
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Also resolves tdf#92248
This extends icon name resolving so that is in addition tries to
find an icon with the "svg" extension and load that instead of
stated (mostly "png") extension. If the filename extension is
"svg" we load the icon with the SVG filter instead.
This also adds icon scaling and conversion for HiDPI or when a
dark theme is wanted. If the SVG icon is available, we render it
at a higher resolution instead of scaling
As loading of SVG icons can be computatunally expensive, a icon
disk cache was added. This saves the rendered SVG as a PNG image
into the "cache" folder. The same caching is also used for HiDPI
and dark theme converted icons so we don't always scale or
convert the icons.
In addition some style changes and DRY fixes were made to the
ImplImageTree source code.
Change-Id: I9e421395a342ffe8da9facea7ea06e5db2778b26
Reviewed-on: https://gerrit.libreoffice.org/30339
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
Positioning relative to left or right margin in MS Word
works the same as the positioning relative to left or right
page border in LO Writer.
Change-Id: I476a5e9e76f766b7fb7f1c7f4a068af8bb3c8813
Reviewed-on: https://gerrit.libreoffice.org/30376
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Also remove conversion of both negative scales into rotation,
because it is handled by flip; use strict comparison instead of
approximate float less because it's correct here, and also because
basegfx::fTools::less ultimately uses rtl_math_approxEqual, which
description states: attention
approxEqual( value!=0.0, 0.0 ) _never_ yields true.
Unit test included.
Change-Id: Ia878fce360cf8aed539d95f2d4a1a3ad94379978
Reviewed-on: https://gerrit.libreoffice.org/30373
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Used mainly for traditional Mongolian. This has been disable since 2010
(shortly after the code was merged):
commit faf68cc756
Author: Mathias Bauer <mba@openoffice.org>
Date: Fri Jun 25 11:10:43 2010 +0200
CWS mongolianlayout: disable new direction until problems are fixed
No idea what the problems are, but lets enable it and see what happens
(the actual layout code have been enabled all the time and one can
always manually craft ODT files that use it anyway).
Change-Id: Id38d1735013d451f9fe116876483df3484dec051
Reviewed-on: https://gerrit.libreoffice.org/30364
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
Tested-by: Khaled Hosny <khaledhosny@eglug.org>
Changing /Allow_*Spacing_*Without_*Borders/I
to AllowPaddingWithoutBorders
related to tdf#103275 where "spacing to contents" is to be changed to
Padding. Rename this already in LO53 to simplify potential backports
and laying other groundwork for fixing this bug.
Also, I can easily see setting AllowPaddingWithoutBorders globally in 5.3
for the purpose of being able to share documents when
the UI in LO5.4 permits creation of padding without borders.
Otherwise older versions will display significantly different formatting.
Change-Id: I253173274f824a019ebc09a039c471d170c1be73
Reviewed-on: https://gerrit.libreoffice.org/30372
Reviewed-by: Justin Luth <justin_luth@sil.org>
Tested-by: Justin Luth <justin_luth@sil.org>
This attempt to prevent overflowing a 16-bit counter was obsoleted by
the conversion of SfxPoolItem's reference count to ULONG in 2001 or so.
Change-Id: Iafb6f151f68cbb84fda59bd134a7a4930f9a4d1f
Fixes the inconsistency between potentially 64-bit sal_uLong and
the max-value macros that are ~2^32.
Change-Id: I895c674819cf4766cb2c7441f670bc1305362a74
The DirectWrite rendering code wasn’t handling vertical text correctly
at least when used with CommonSalLayout. It has been fixed and now made
the default.
We are also doing all vertical text handling on our own, so loading
special vertical fonts on Windows is now disabled.
Change-Id: I10d150367fe59c77459bb1b813b6f31a0ff0c5d0
Reviewed-on: https://gerrit.libreoffice.org/30346
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
Tested-by: Khaled Hosny <khaledhosny@eglug.org>
If no borders were originally defined, the reset button was failing
to clear the last-selected border line.
Eg. page border, click on two of the borders, then hit reset. One border
remains defined, and didn't reset to the starting value of non-visible.
Because one border was still "selected", it became visible again as
SelStyleHdl_Impl reinitialized.
Change-Id: I2d20ae1e02816d5b30fe126572b54e7083114fc3
Reviewed-on: https://gerrit.libreoffice.org/30365
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Justin Luth <justin_luth@sil.org>
This is needed (but not enough) to verify PDF 1.5 signatures. What's
missing next is support for object streams.
Change-Id: I5afec0a77839ffabe0aaa07e367064210535a1a9
This adds support for cross-reference streams (which can be used instead
of plain-text cross-reference tables) + also one stream predictor.
The actual parsed data is still not used, though.
Change-Id: Ia806abd8a97636a1bd25dfdafea377b088800f00
fixes regression caused by d4743045a0.
see the documentation for VbaMacroAttacherBase, which indicates that
the macros are to be attached after all objects are finished loading.
Made attachMacros() public so it could be called separately since so
many things are inter-dependent in the logic flow.
Change-Id: I11f7f4a1a75d6f77a97e12e3359d6ea8a995f518
Reviewed-on: https://gerrit.libreoffice.org/30337
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Justin Luth <justin_luth@sil.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Regression from:
83d51e5e52
Partly revert the commit causes this regression.
I checked the related bugs (tdf#78590,tdf#80748)
intended to be fixed by this commit and reverting
this part does not bring back the corruption.
I guess something changed in frames' and text boxes'
import in the meantime, because this MergeMarks::IGNORE
is useless now.
Change-Id: If17776e8628561961c7ce2a2994e3fc609f75639
Reviewed-on: https://gerrit.libreoffice.org/30351
Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
Tested-by: Tamás Zolnai <tamas.zolnai@collabora.com>
...which had been broken since 5e9a2e9b0f "Check
each potential JRE location only once", as jfw_findAndSelectJRE calls
jfw_plugin_getAllJavaInfos on each vendor in turn, but that now only operates on
any items newly added by addAllJREInfos, so the first call to
jfw_plugin_getAllJavaInfos (with sVendor being "Sun Microsystems Inc."
unsuccesfully operated on all items, and the next call (with sVendor being
"Oracle Corporation") didn't see any further items to operate on.
So the quickfix (at least for any Java runtimes by Oracle) is to reorder the
vendors in javavendors_wnt.xml. The proper fix will be to reorder the code so
it obtains the list of all Java runtimes only once, and then matches that list
against the known vendors.
(Other plaforms appear not to be affected by this issue. Some
jvmfwk/distributions/OpenOfficeorg/javavendors_*.xml already sort Oracle first,
anyway. And e.g. on Linux, jfw_findAndSelectJRE typically already succeeds with
calling jfw_plugin_getJavaInfosFromPath and so doesn't reach the problematic
code.
Change-Id: Ied571ae1d4745d53ce0c8697d0f1b268e1aac407
We should never see any bitmap fonts now, so all the Courier stuff can
go away.
Since we never list the bitmap fonts in the first place, the old code
for replacing some of them with scalable equivalents never kicks in. We
instead implement PreMatchFontSubstitution hook for the same effect.
Change-Id: I54f3c068bcd64554ed3498f4ba5b0f76bbd38589
Reviewed-on: https://gerrit.libreoffice.org/30345
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>