Age | Commit message (Collapse) | Author |
|
in CoreText
by doing the calculation before CTLineDraw() updates the text position.
Requesting the update early is possible because that update region is
not used until AquaSalInstance::Yield().
(cherry picked from commit ee042661b996fd00d5504caf4f4be60f77bf880f)
Conflicts:
vcl/aqua/source/gdi/ctlayout.cxx
Change-Id: I317a2068071a2f6d33f34c81e104e30beedc33db
|
|
in the CoreText engine
the concept of an extra-width per code-unit was obsolete at least since apps
supported unicode with its different normalization forms, diacritical marks,
surrogate-pairs, non-printing characters such as ZWJ/ZWNJ/RLM, etc. so of
course modern engines like CoreText don't aid this typographical crime.
The fix here extends the CTLayout::GetTextBreak() method to handle the obsolete
semantic of per code-unit extra-widths by successively approximating the number
of involved code-units.
(cherry picked from commit a9b9ceff86f35be1eeff5f251d24e338db760a1e)
Conflicts:
vcl/aqua/source/gdi/ctlayout.cxx
Change-Id: I52a7f7488a9e8a303ed7271df2a24a3c85098ce3
|
|
for CoreText-layouted text
(cherry picked from commit 42f9768f771457c53a9f1e6a3581b2df9856401f)
Conflicts:
vcl/aqua/source/gdi/ctfonts.cxx
vcl/aqua/source/gdi/ctfonts.hxx
vcl/aqua/source/gdi/ctlayout.cxx
vcl/source/gdi/outdev3.cxx
Change-Id: Ie2685ab80ca87ea72e25f18d02f883fb36c24a36
|
|
Change-Id: Ie60e0b64a2d9d8a045cb3c59fc781d6f9b2808a0
|
|
Change-Id: I4b3724159be64609f1e88b63ccd9275d164fcb3e
Reviewed-on: https://gerrit.libreoffice.org/9426
Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
|
|
When using current method, early version of CoreText crashes internally.
Change-Id: Id451d72ac26e4777b61f5d3fec6d4b046c46a749
Reviewed-on: https://gerrit.libreoffice.org/9180
Tested-by: David Tardon <dtardon@redhat.com>
Reviewed-by: David Tardon <dtardon@redhat.com>
|
|
Change-Id: I07981a63a30ac3d610be03e736188a6539884f01
|
|
Change-Id: Ifb6a924759b8a3a7f459f2335144ca4dda434cb9
|
|
Change-Id: I277d9e2f385b712001385e115b22f6fbb8106ae5
Reviewed-on: https://gerrit.libreoffice.org/8790
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
|
|
Change-Id: I7060802164989c2797d4abea29a378eaa3a54b41
|
|
GetNextGlyphs could only deal with 1 glyph at the time
and was recalculing a lot of thing while iterating on the glyphs
This is not just a performance issue.. the notiong of keeping
per run glyphs information will be useful to re-establish the
proper support of glyphs display positionning by SetDXArray()
which today is completely ignored, in favor or letting
CoreText spread the extra free space itself.
Change-Id: Ib267c3e490619b650d4149f4b15b5758802942ba
Reviewed-on: https://gerrit.libreoffice.org/8879
Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
|
|
prefer 4dba6f5837539746293ef6808ea39a764ab7654d "fdo#67370: Hyphens are not
visible in tagged PDF"
This reverts commit 8214c1d6156c90cbf259b15cf1c8e15ea1c70daf.
|
|
to meet Writer+EEng expectations
(cherry picked from commit c7243848547b19a3b237f18629b809d93ee821c4)
Conflicts:
vcl/aqua/source/gdi/ctlayout.cxx
Change-Id: If580bcb517695ae1c94657ac9348ad36eda37e9d
|
|
We add a new DrawTextSpecial() virtual to SalLayout
that allows to attempt to delegate font effects
to the underlying native graphic system.
The function return false if it was not capable of handling the effect,
true otherwise.
Right now only Outline Font effect on Coretext is actually handled that way.
OutPutDevice is augmented to attempt to delegate the font decoration
work, if the task was not handled properly it fallback on the generic code.
Note: ideally these effects should really be part of the FontSelector
info that is given during layoutting, and the layout should
indicate which of these decorations it was able to manage natively
but that is a much bigger architectural change.. this will do for now.
Change-Id: I5eb1a15e985cc3f234ec3dee899f349f309b42cb
Reviewed-on: https://gerrit.libreoffice.org/8599
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
|
|
adapted from be899f92ba and 9581d8a5a9 by Herbert Dürr
Change-Id: I24a1e3773764e94bce74c50a83a2cf202b468dda
|
|
in CTLayout::FillDXArry()
Change-Id: I8ee83068d71275874e4af364df253251dfb41c8c
|
|
When adding SAL_OVERRIDE to the member functions marked virtual, I
found one that was not an override of anything, and actually not used
at all: GetGlyphOutlines().
Change-Id: I3e56caa6262b2f21f7f47e3851ab0e07bbc4b642
|
|
Conflicts:
vcl/source/app/settings.cxx
vcl/source/window/dockmgr.cxx
vcl/source/window/dockwin.cxx
vcl/source/window/floatwin.cxx
vcl/source/window/toolbox2.cxx
Change-Id: Ie67681549a76e77064b09d4b5bf80fe4c6010341
Reviewed-on: https://gerrit.libreoffice.org/8339
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
|
|
Using the central definition adds consistency and cleans up many ad hoc
declarations. The type sal_GlyphId will become a class in the future so
that its bitfield operations etc. can then be isolated into nice methods.
(cherry picked from commit c0a84ad10964fb7a65b6239cbe1cef8698b5d17b)
Conflicts:
vcl/aqua/source/gdi/salatslayout.cxx
vcl/aqua/source/gdi/salgdi.cxx
vcl/generic/glyphs/gcach_ftyp.cxx
vcl/generic/print/genpspgraphics.cxx
vcl/generic/print/glyphset.cxx
vcl/generic/print/glyphset.hxx
vcl/headless/svptext.cxx
vcl/inc/generic/genpspgraphics.h
vcl/inc/generic/glyphcache.hxx
vcl/inc/os2/salgdi.h
vcl/inc/quartz/salgdi.h
vcl/inc/salgdi.hxx
vcl/inc/sallayout.hxx
vcl/inc/unx/salgdi.h
vcl/inc/vcl/fontmanager.hxx
vcl/inc/win/salgdi.h
vcl/os2/source/gdi/os2layout.cxx
vcl/os2/source/gdi/salgdi3.cxx
vcl/source/gdi/pdfwriter_impl.cxx
vcl/source/gdi/sallayout.cxx
vcl/source/glyphs/gcach_ftyp.hxx
vcl/source/glyphs/gcach_layout.cxx
vcl/source/glyphs/glyphcache.cxx
vcl/source/glyphs/graphite_layout.cxx
vcl/unx/generic/fontmanager/fontmanager.cxx
vcl/unx/generic/gdi/gcach_xpeer.cxx
vcl/unx/generic/gdi/gcach_xpeer.hxx
vcl/unx/generic/gdi/salgdi3.cxx
vcl/unx/generic/gdi/xrender_peer.hxx
vcl/unx/headless/svpgdi.hxx
vcl/unx/headless/svppspgraphics.cxx
vcl/unx/headless/svppspgraphics.hxx
vcl/win/source/gdi/salgdi3.cxx
vcl/win/source/gdi/winlayout.cxx
Change-Id: Ic629131950360e2df4c15db30d6a5362193c6330
|
|
Just use the same simple trick as for OS X in
OutputDevice::ImplLayout().
Thanks to Khaled Hosny for pointing out this.
This reverts commit 9aba69e8cc034526c53f6135a41fc62dc3c5dce3.
Change-Id: I27ba92ef8ebd1ebdb9eb74f670d8170649078881
|
|
The eventual text colour is not known yet when LayoutText() is
called. So we need to re-do the layout and justification in DrawText()
in case we have a text colour.
For some reason this is needed only on iOS. On OS X, the original code
manages to display coloured text correctly. But then, on iOS a virtual
device is used, and who knows what other strange things going on. Some
of the scary warnings printed make you a tad unsure everything is
working correcly... (Like "SdrPageView::DrawLayer: Creating temporary
SdrPageWindow (ObjectContact), this should never be needed (!)")
Change-Id: Ide99c163dea0f758a373c8dab9c54681ff57f624
|
|
Now with the ATSUI code gone is a good time for some
re-organisation. Get rid of "aqua" in file names and the separate
"coretext" folders. CoreText is all we use now for OS X (and has
always been so for iOS), so no need for a "coretext" folder, we can
keep the CoreText-using code under "quartz". Keep OS X -specific code
in "osx". Ditto for headers.
Keep "Aqua" as part of class names for now, though.
This is also preparation for planned further unification between OS X
and iOS code.
Change-Id: Ic60bd73fea4ab98183e7c8a09c7d3f66b9a34223
|