Text portions of rotated text was exported with bad positions.
Text using font features was exported with non-portable font
names with colon, working only in LibreOffice correctly.
Fix these by converting the text to curve during the SVG export.
Change-Id: I3707aaa4143f583b988bbbe37b5eb741530cccba
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143668
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
Functions didn't work in arguments of several default
Logo commands (mostly turtle moving and setting).
A simple example, which resulted an error message:
FORWARD RANDOM 100
Regression from commit 740b99783b
"tdf#120413 LibreLogo: handle complex Logo expressions".
Change-Id: Icb4aece1a5b0343384ce179c27f170eef7d8938c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143642
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
It seems painting of the selection around
the turtle is not locked completely, so
hide the turtle to lock that, too, for 20%
or more speed up.
Note: the turtle is still visible, because it is
hidden after locking (until unlocking), but there
is no nore jiggering selection around it.
Change-Id: If6720f1e5b553b47b1b0352a5b9e70c73975c373
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143641
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
Speed up program execution by default partial
locking of repaint and custom locking of paint,
using UNO lockControllers().
– Default: speed up LABEL and TEXT by locking their repaint
during the various text operations, i.e. setting size and
text portion formatting changes were visible, and slow.
Locking while manipulating a shape was suggested by Noel Grandin.
– Custom: SLEEP command with negative argument calls lockControllers(),
SLEEP command with not negative argument (and program termination)
call unlockControllers(), so it's possible to lock program parts to
speed up program execution e.g. 3-4 times or more. For example:
; lock paint until program termination
SLEEP -1
program
or
; lock until SLEEP 0
SLEEP -1
commands_without_paint
SLEEP 0 ; unlock a single level and paint/repaint everything
– Add __get_time__() command to get the elapsed time from
program start for profiling.
Add unit tests.
Note: custom locking with SLEEP has known problems: not connected
lines, bad position of arc/pie, non-working CLEARSCREEN.
Note: The reported code is more than 32 times faster (4 sec vs 2.2 min)
with custom locking, also using the commented line to show not only
the result with 400 circle shapes, but the partial result with 100,
200 and 300 shapes, too:
SLEEP -1
REPEAT 400 [ CIRCLE 10 + REPCOUNT/10 FORWARD 5 + REPCOUNT/10 LEFT 10 ]
; IF REPCOUNT % 100 == 0 [ SLEEP 0 SLEEP -1 ] ; to show partial result
SLEEP 0
PRINT __get_time__()
Change-Id: I51f71b0143178e6d35ecced92a59525184392d17
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143640
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
– strike out: <s> or <del>
– superscript and subscript: <sup> and <sub> (using character formatting)
– text color:
– localized names, e.g. <red> (in English documents), <rouge> (in French documents)
– hexa or decimal codes: <FONTCOLOR 0x000000>, <FONTCOLOR 0> (localized "FONTCOLOR" is allowed)
– verbose form of the localized names: <FONTCOLOR RED>
– highlight color: <FILLCOLOR RED>, <FILLCOLOR 0xFF0000>, <FILLCOLOR 0> (localized "FILLCOLOR" is allowed)
– font name: e.g. <FONTFAMILY Linux Libertine G> (localized "FONTFAMILY" is allowed)
– font size: e.g. <FONTSIZE 12> (localized "FONTSIZE" is allowed)
– OpenType and Linux Libertine G/Biolinum G font features: <smcp>: small capitals,
<pnum>: proportional numbers, <sups: true superior, <sinf>: true subscript (scientific inferior) etc.,
– with arguments: <pnum=1>
– verbose form: <FONTFEATURE pnum=1>
Alternative names for bold and italic character formatting
– bold text: HTML: <b> or <strong>; localized LibreLogo: e.g. <bold>, <lihavointi> (in Finnish documents)
– italic: HTML: <i> or <em>; localized LibreLogo: e.g. <italic>, <kurzíva> (in Czech documents)
Add unit tests for the previous and new tags.
Follow-up to commit 89c3470633
"LibreLogo: add basic HTML formatting support to LABEL".
Change-Id: Ie14024cae62ec09de714af5db46132375b6101d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143639
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
Asturian (ast), Paraguayan Guaraní (gug), Sidamo (sid)
and Upper-Sorbian (hsb) localizations did't work despite
their existing localization stored in the language fallback
dictionary of LibreLogo.py, because their 3-letter language
identifiers with their country codes trimmed to 2-letter,
for example: "hsb-DE" -> "hs" instead of the correct "hsb".
Missing Upper-Sorbian support was reported by Michael Wolf.
Change-Id: I57aa6752d05452d1f8bb95ff91f4d4456dffcd80
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140796
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
It's possible to format character spans in text
of LABEL, as bold, italic and underline text
using HTML tags <B>, <I> and <U> and their
lowercase equivalents. For example,
LABEL '<i>Italic, <b>also bold</b></i> and <u>underline</u>.'
Use HTML "<" to avoid of the replacement. For example,
LABEL 'some <i>text</i>'
prints "some <i>text</i>" instead of "some text"
with italic "text" in it.
Change-Id: I70fd97763c6c488eba23c168a541b84cff0c90e4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132786
Tested-by: László Németh <nemeth@numbertext.org>
Reviewed-by: László Németh <nemeth@numbertext.org>
similar to PENTRANSPARENCY, but for
semi-transparent text.
See commit 6fafae4d10
(editeng: add UNO API for semi-transparent text)
Change-Id: I5813c0954a1bb7740b3e164a39db7611753183a5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97168
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
the logo changes were caused by
> Support of nested sets and set operations as in Unicode Technical Standard
> #18 might be added in the future. This would change the syntax, so to facilitate
> this change a FutureWarning will be raised in ambiguous cases for the time being.
> That includes sets starting with a literal '[' or containing literal character
> sequences '--', '&&', '~~', and '||'.
> To avoid a warning escape them with a backslash.
Change-Id: I4d48be3df2eaadf03a9d1f5750c0c94b3abbf674
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94191
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Python 2 support was retained for use with --enable-python=system
on RHEL7 and SLES. The time has arrived to remove it.
Some .py files that were imported from third parties are not changed to
enable easier replacement with updated versions if necessary.
solenv/gdb should continue to support Python 2.
bin/get-bugzilla-attachments-by-mimetype requires Python 2 to access
Launchpad.
Change-Id: I26414ae8e9f8402c90336af82020135685694217
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91697
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
in a FOR loop, by removing the range(x,,)-like double
commas in this case, too, during program compilation.
Previous empty (missing) argument of RANGE was checked
by the terminating comma, but it can be a white space
after it, as in the following example:
FOR i IN RANGE COUNT 'letter' [ PRINT i ]
Change-Id: I67d0a4f089be06f30003d1b979b8f1801dbfa2e9
Reviewed-on: https://gerrit.libreoffice.org/71263
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
In a build using the system Python during build (i.e., not using
--enable-python=fully-internal) on Fedora 29 (where /usr/bin/python3 is 3.7.1),
UITest_librelogo failed with
> ======================================================================
> FAIL: test_compile_librelogo (compile.LibreLogoCompileTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/data/sbergman/lo-system/core/sw/qa/uitest/librelogo/compile.py", line 128, in test_compile_librelogo
> self.assertEqual(test[1], re.sub(r'(\n| +\n)+', '\n', re.sub(r'\( ', '(', compiled)).strip())
> AssertionError: 'glob[52 chars]_#\n label(_y + _z)\n #_@L_i_N_e@_#\n#_@L_i_N_e@_#\nx(25, 26)' != 'glob[52 chars]_#\n label(_y + _z)\n #_@L_i_N_e@_#\n#_@L_i_N_e@_#\nx(25, ,26)'
> global x
> def x(_y, _z):
> __checkhalt__()
> #_@L_i_N_e@_#
> label(_y + _z)
> #_@L_i_N_e@_#
> #_@L_i_N_e@_#
> - x(25, 26)+ x(25, ,26)? +
>
>
> ----------------------------------------------------------------------
due to an upstream Python change discussed at
<https://bugs.python.org/issue34982#msg329418> "re.sub() different behavior in
3.7".
I am not sure that upstream change really makes sense, despite that being
explicitly confirmed in <https://bugs.python.org/issue34982#msg329420>. But
lets tweak our code to adapt to that anyway. (There may be further places in
LibreLogo.py that would need similar changes; I just fixed enough to make
UITest_librelogo succeed for me.)
Change-Id: I6c8f4b78f63953d582b88037fa56388b50af2b54
Reviewed-on: https://gerrit.libreoffice.org/63038
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Not sure about this, but just to catch the eye of the pro.
Git blame says 2012, so maybe it's really no more used
Change-Id: I737f3a1b2803f6ce98cb461350db18d06e0bf981
Reviewed-on: https://gerrit.libreoffice.org/62910
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: László Németh <nemeth@numbertext.org>
with Logo syntax, too.
Mutual recursion, for example drawing dragon curve (see in the
unit test of the commit) doesn't need Python syntax any more
to call the function before its definition.
Change-Id: I93426a8c5be394fb4f1203e0490f7fa8d8491597
Reviewed-on: https://gerrit.libreoffice.org/62926
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
Instead of the incomplete heuristic parenthesis expansion,
now expressions with Logo functions and with own
procedures are parsed completely, solving several issues
with complex Logo expressions. For example, now functions with
more than 1 argument don't need explicit parenthesization.
NOTE: to handle both Logo and Python syntaxes of function calls,
we differentiate the forms "f(x)" and "f (x)". The second form
is handled as Logo syntax, not the Python one:
f x*2 y z -> f(x*2, y, z)
f(x*2, x, z) -> f(x*2, y, z)
f (x*2) y z -> f((x*2), y, z)
so if you want to avoid of the following expansion:
sin 45 + cos 45 -> sin(45 + cos(45))
it's possible to use the following parenthesizations:
sin(45) + cos 45 -> sin(45) + cos(45)
(sin 45) + cos 45 -> (sin(45)) + cos(45)
but not
sin (45) + cos 45 -> sin((45) + cos(45))
Change-Id: Ib0602b47b8b678a352313f471599d44d6904ce17
Reviewed-on: https://gerrit.libreoffice.org/62901
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
button of the inputbox or messagebox dialog window, instead
of waiting for the next __checkhalt__() in a loop.
Change-Id: I1366ad06152e70321a21e78a626f7a89eb5a7ea0
Reviewed-on: https://gerrit.libreoffice.org/62900
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
(ASCII and typographical) and for enclosing quotes of string literals.
Change-Id: I3caf3b707afa1fb41ba3afe9ff12ebce7ce63847
Reviewed-on: https://gerrit.libreoffice.org/62384
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
for program running and command name expansion, and for following fixes:
tdf#106792: regression in line length and continuous line drawing
tdf#100941: line breaking by "magic wand"
tdf#120422: program lines are different paragraphs by "magic wand"
Also add function __is_alive__() to LibreLogo.py to check
LibreLogo program termination via XScript API.
Change-Id: If884b3fd608a6e8077be853eb2dd17fbdfff2011
Reviewed-on: https://gerrit.libreoffice.org/62263
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
Format program lines as paragraphs, instead of a single paragraph
with line breaks:
- basic debug feature "jump to the bad line" works after formatting
- fix 2-page editing area: page break before the LibreLogo program
Now formatting of program lines doesn't depend on the actual regular
expression setting of Search & Replace functionality of Writer,
so this is the intended fix for tdf#100941 "LibreLogo: 'magic wand'
icon inserts incorrect '\n' characters instead of paragraph breaks".
NOTE: setting also AlgorithmType, not only AlgorithmType2 prevents
crashing of LibreOffice at opening Search & Replace dialog after
usage of the "magic wand" icon.
partial revert of the commit b1a6d15768
Resolves: tdf#100941 LibreLogo: replace literal '\n' with newline
Change-Id: I34f581278fdae8d41967800d05662e37b731b59d
Reviewed-on: https://gerrit.libreoffice.org/61610
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: László Németh <nemeth@numbertext.org>
related to measurement changes, for example we got only
5.7 cm long line for "FORWARD 10cm", because the processed
value measured in 0.0100 mm instead of the correct twips
(pt/20 ~ 0.0176mm).
Note: only the line drawing was shorter, the turtle path
didn't change, so the turle could draw only dashed line
for multiple FORWARD or BACK, instead of a continuous one.
regression from
commit 36bade04d3
tdf106792 Get rid of SvxShapePolyPolygonBezier
Change-Id: I16d75dbdadef5af9c545abc86575490559b3d54c
Reviewed-on: https://gerrit.libreoffice.org/61145
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
Isn’t it better to just use the desired characters directly,
given that “\uHEX”-style references are so error-prone?
Change-Id: I307b1fad7a9e0a23a38925e3c84829f823decf6e
Bunch of these were setting C++ or Make modes and icky tabs...
Also, reportedly Emacs can figure out to enable python-mode
automatically.
Change-Id: I50072488fb92cb4d27aa3f74f717a28ae3967543
by simple SearchAlgorithms2's ABSOLUTE(=1), rather than using
SearchAlgorithms' REGEXP(=1).
BTW avoid RowDirection because it is for Calc only.
Change-Id: I50ab460110ed43befb3e378e94f4fda0f2777f4d
Reviewed-on: https://gerrit.libreoffice.org/27250
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
We don't have a mechanism to use different icon set for extensions; let's do
it at some stage, but until then, please let's not modify the icons to breeze
only.
This reverts commit 48ecae47a5.