Hi, I have submitted a patch for review:
https://gerrit.libreoffice.org/3521 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/21/3521/1 Allow switching between HarfBuzz and LE at runtime Using the env variable SAL_USE_HARFBUZZ. Change-Id: If83d4e0e6b9e9a06481840661d51fff6af35b3ae --- M vcl/generic/glyphs/gcach_layout.cxx 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/vcl/generic/glyphs/gcach_layout.cxx b/vcl/generic/glyphs/gcach_layout.cxx index 1848ab0..032a396 100644 --- a/vcl/generic/glyphs/gcach_layout.cxx +++ b/vcl/generic/glyphs/gcach_layout.cxx @@ -35,12 +35,11 @@ #include <hb-ft.h> #include <hb-icu.h> #include <hb-ot.h> -#else +#endif // ENABLE_HARFBUZZ #include <layout/LayoutEngine.h> #include <layout/LEFontInstance.h> #include <layout/LELanguages.h> #include <layout/LEScripts.h> -#endif // ENABLE_HARFBUZZ #include <unicode/uscript.h> #include <unicode/ubidi.h> @@ -110,7 +109,6 @@ return lcl_CharIsJoiner(cChar) || U16_IS_TRAIL(cChar); } -#if ENABLE_HARFBUZZ class HbLayoutEngine : public ServerFontLayoutEngine { private: @@ -132,6 +130,7 @@ ServerFont& rFont = rLayout.GetServerFont(); FT_Face aFace = rFont.GetFtFace(); +#if ENABLE_HARFBUZZ // allocate temporary arrays, note: round to even int nGlyphCapacity = (3 * (rArgs.mnEndCharPos - rArgs.mnMinCharPos) | 15) + 1; @@ -263,10 +262,10 @@ if((rArgs.mpDXArray || rArgs.mnLayoutWidth) && ((meScriptCode == USCRIPT_ARABIC) || (meScriptCode == USCRIPT_SYRIAC))) rArgs.mnFlags |= SAL_LAYOUT_KASHIDA_JUSTIFICATON; +#endif // ENABLE_HARFBUZZ return true; } -#else // ======================================================================= // bridge to ICU LayoutEngine // ======================================================================= @@ -929,19 +928,21 @@ return true; } -#endif // ENABLE_HARFBUZZ // ======================================================================= ServerFontLayoutEngine* ServerFont::GetLayoutEngine() { + const char* pUseHarfBuzz = getenv( "SAL_USE_HARFBUZZ" ); // find best layout engine for font, platform, script and language - if (!mpLayoutEngine) + if (!mpLayoutEngine) { #if ENABLE_HARFBUZZ - mpLayoutEngine = new HbLayoutEngine(*this); -#else - mpLayoutEngine = new IcuLayoutEngine(*this); + if (pUseHarfBuzz) + mpLayoutEngine = new HbLayoutEngine(*this); + else #endif // ENABLE_HARFBUZZ + mpLayoutEngine = new IcuLayoutEngine(*this); + } return mpLayoutEngine; } -- To view, visit https://gerrit.libreoffice.org/3521 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If83d4e0e6b9e9a06481840661d51fff6af35b3ae Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Khaled Hosny <khaledho...@eglug.org> _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice