[Libreoffice-commits] core.git: tdf#89870: Add config option for layout engine
Stephan Bergmann
sbergman at redhat.com
Fri Nov 4 10:12:59 UTC 2016
On 11/03/2016 06:23 PM, Khaled Hosny wrote:
> commit 6324efd70dfa8c6be84cba1fa29658e3373cbbe3
> Author: Khaled Hosny <khaledhosny at eglug.org>
> Date: Thu Nov 3 19:21:01 2016 +0200
>
> tdf#89870: Add config option for layout engine
>
> The env variable takes precedence.
Do we really need this? I've read through
<https://bugs.documentfoundation.org/show_bug.cgi?id=89870#c28> and
following, but I'm not too convinced.
* How long will we keep supporting the old code? "Forever", or do we
have a clear idea when to drop it?
* Who exactly is the perceived audience of setting that configuration
option, vs. setting the environment variable?
We shouldn't light-heartedly fill the configuration with unnecessary
entries.
And the use of a string ("new" vs. "old", instead of a bool or an
integer enumeration), presumably intended to make manually editing it in
the advanced configuration options pane easier, solves that usability
issue in the wrong way IMO.
> Change-Id: I273ec867725dd012b005d49fbfaa1dc27203c021
>
> diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
> index e8a9fae..0e645ad 100644
> --- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
> +++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
> @@ -851,6 +851,13 @@
> <info>
> <desc>Contains settings for VCL.</desc>
> </info>
> + <prop oor:name="TextLayoutEngine" oor:type="xs:string" oor:nillable="false">
> + <info>
> + <desc>Specifies which text layout engine should be use. Possible
> + values are ("old", "new").</desc>
> + </info>
> + <value>new</value>
> + </prop>
> <prop oor:name="UseOpenGL" oor:type="xs:boolean" oor:nillable="false">
> <info>
> <desc>Specifies if OpenGL rendering should be used in VCL backends
> diff --git a/vcl/source/gdi/sallayout.cxx b/vcl/source/gdi/sallayout.cxx
> index 2e09aaf..ef9bbc0 100644
> --- a/vcl/source/gdi/sallayout.cxx
> +++ b/vcl/source/gdi/sallayout.cxx
> @@ -34,6 +34,8 @@
>
> #include <i18nlangtag/lang.h>
>
> +#include <officecfg/Office/Common.hxx>
> +
> #include <tools/debug.hxx>
> #include <vcl/svapp.hxx>
>
> @@ -770,7 +772,8 @@ bool SalLayout::IsSpacingGlyph( sal_GlyphId nGlyph )
>
> bool SalLayout::UseCommonLayout()
> {
> - static bool bUse = getenv("SAL_NO_COMMON_LAYOUT") == nullptr;
> + static bool bUse = (getenv("SAL_NO_COMMON_LAYOUT") == nullptr) &&
> + (officecfg::Office::Common::VCL::TextLayoutEngine::get() == "new");
> return bUse;
> }
>
More information about the LibreOffice
mailing list