If we didn’t find any known good position, not inserting Kashida at all
is better than inserting it randomly.
Change-Id: I075f8414b7f0a0aeb4d27d372c7eae51f4b5c37b
This code seems to follow the algorithm described in:
https://www.microsoft.com/middleeast/msdn/JustifyingText-CSS.aspx
But there seem to be a confusion due to the transliteration used there,
Haa can be the standard Arabic name for U+0647 ARABIC LETTER HEH or
U+062D ARABIC LETTER HAH. The code is using the later, but I’m pretty
sure it is the former given that the other character in this priority is
Teh Marbuta, which is a Heh-like character. Also before final Hah is a
bad place for kashida.
Change-Id: I9ad3fc432ac58f0e45c562a6b44ac5cbe751c3bf
Since we enable Graphite by default, this code was effectively setting
nMaxContext to 8 on macOS and 10 everywhere else. Does not look like a
huge difference, and an unnecessary one even since we use the same
layout engine everywhere now.
Change-Id: I6d2cc3a89ed2942c09e62f7637cec5b6db753a24
lcl_AddSpace determine the amount of space to distribute
to a portion based on its text length. Counting the number
of CJK characters prevent including codepoints that are not
visible, such as surrogate pairs or Unicode variance
selectors, by mistake.
Change-Id: Ia20a7f76ea1ea3c1f4638db865721eaa26a8c82c
Reviewed-on: https://gerrit.libreoffice.org/29616
Reviewed-by: Khaled Hosny <khaledhosny@eglug.org>
Tested-by: Khaled Hosny <khaledhosny@eglug.org>
I left a prefix on the names "Map" so that I would not have to re-arrange
each name too much, since I can't start identifiers with digits like "100thMM"
And remove RSC_EXTRAMAPUNIT, which doesn't seem to be doing anything anymore.
Change-Id: I5187824aa87e30caf5357b51b5384b5ab919d224
Reviewed-on: https://gerrit.libreoffice.org/29096
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
...which was introduced with 3ead3ad52f "Gradually
typed Link" to distinguish the new, typed versions from the old, untyped ones,
but is no longer necessary since 382eb1a23c
"remove untyped Link<>" removed the old versions.
Change-Id: I494025df486a16a45861fcd8192dfe0275b1103c
The SwTextFormatter::WhichFirstPortion() wants to create a new
SwFootnoteNumPortion for the first paragraph in every cell, because it
doesn't have mpPrev set and SwTextFrame::IsFootnoteNumFrame() is true,
and somehow this even causes an infinite loop in the bugdoc because
initially nothing more than the footnote number fits inside a line.
Just detect that it's inside a table and return false then.
Change-Id: I1f010f1242d53d9f99a4d3a4f6fc3cee65aa3958
Underline was broken because for every portion it calculate a
new underline font based on the following portion so that the
portions do not have consistent underline fonts. And worse the
last portion is never be treated as part of continuous underline.
Change-Id: I7a62d89d5b1031a0e7c5e0339f0c591e58dceb12
Reviewed-on: https://gerrit.libreoffice.org/28267
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mark Hung <marklh9@gmail.com>
The issue of 362d4f0cd4 "Explicitly mark
overriding destructors as 'virtual'" appears to no longer be a problem with
MSVC 2013.
(The little change in the rewriting code of compilerplugins/clang/override.cxx
was necessary to prevent an endless loop when adding "override" to
OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager();
in chart2/source/inc/LifeTime.hxx, getting stuck in the leading
OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that
isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.)
Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
including fixing a bug in SwXMLExport::exportDoc where it was ORing with
a constant from a different type: nsRedlineType_t::REDLINE_INSERT
Change-Id: I2bb154c9a35d106e64fd1a8b6e928d0384c9fafe
Since we already have isTextBox to identify a text box, this
just adds a call to SwFrameFormat::GetOtherTextBoxFormat() to
actually return the corresponding SwFrameFormat.
This gets rid off all the remaining occurences of the
SwFrameFormat / Textbox sets and maps.
Change-Id: Id5f05a1ff71e604658e7d8a0d0825f5671335b3f
Character borders were broken when it contains multiple scripts.
Merge borders on kern portions and draw its border as necessary.
Refer to correct previous portion so it decide whether it join
previous or next border correctly.
Change-Id: I881da36a5204ef627289ee799438c4ff915b00ef
Reviewed-on: https://gerrit.libreoffice.org/27652
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mark Hung <marklh9@gmail.com>
regression from...
commit b0c0a074a2
Date: Mon Apr 18 11:03:43 2016 +0200
clang-tidy clang-analyzer-deadcode.DeadStores
suspect that some of these may reveal latent bugs....
and restore method then removed by
commit 47f62540bd
Date: Thu May 19 10:31:47 2016 +0200
loplugin:unusedmethods in sw
Change-Id: I14826eecadbc1a74e408f8907eea8746debe4db4