Commit Graph

121 Commits

Author SHA1 Message Date
Udi Fogiel
7ccdc6edf5 fix nested uwave 2023-09-30 13:44:03 +02:00
Juergen Spitzmueller
315c2f132a Account for babel's bidi option (#12866)
bidi=bidi-{r,l} load the bidi package
2023-08-17 14:25:33 +02:00
Juergen Spitzmueller
b42e978080 Do not switch dir with numbers and babel in full unicode
Patch by Udi Fogiel
2023-04-10 15:31:26 +02:00
Juergen Spitzmueller
8917cb3cc8 luabidi's \\LR[E] needs to be embraced (possibly a LuaTeX bug)
without the grouping, trailing text disappears
2023-04-10 15:16:20 +02:00
Juergen Spitzmueller
0bb25ee3cd \R and \L are not defined in babel with Xe/LuaTeX 2022-12-23 10:07:41 +01:00
Kornel Benko
62ab563c25 FindAdv: Use private variable for_search
Using the new inline statements
	find_effective(), find_with_non_output(), find_with_deleted(),
	find_set_feature(), find_add_feature() and find_clean_features()
makes the code a slightly better readable.
2022-05-09 22:11:38 +02:00
Kornel Benko
cbe2f61396 FindAdv: Re-add 'size' to the list of possible ignored formats 2022-04-30 09:30:15 +02:00
Thibaut Cuvelier
997f0621c5 Rename LATEX debug level to OUTFILE and use it for DocBook, HTML, and XML messages. 2022-03-01 16:05:42 +01:00
Juergen Spitzmueller
cc4ed5e04b Do not try to pop from an empty stack 2022-02-04 17:23:52 +01:00
Juergen Spitzmueller
4487af367c Do not \cprotect \textcolor
Fixes #12034
2020-11-24 15:19:56 +01:00
Yuriy Skalko
d38eddb397 Match header/source function argument naming 2020-11-01 22:23:44 +02:00
Yuriy Skalko
65c88f0a0a Remove redundant const & for primitive types 2020-10-19 12:50:07 +03:00
Yuriy Skalko
fe85162a29 Refactoring 2020-10-05 14:55:00 +02:00
Enrico Forestieri
836300cd33 Revert "Correctly set font decorations for multipar insets"
This reverts commit 5791b8bff8.
2020-08-14 18:01:26 +02:00
Enrico Forestieri
5791b8bff8 Correctly set font decorations for multipar insets
Font decorations such as underline cannot be set for a whole inset
that allows paragraph breaks. This commit allows to still set the
font main properties for the whole inset but decorations are applied
to each paragraph inside the inset.
2020-08-14 12:04:23 +02:00
Juergen Spitzmueller
8bc76ad9bb \foreignlanguage does not play with \cprotect. 2020-08-14 09:00:48 +02:00
Juergen Spitzmueller
13b928d534 No need for catcode change here 2020-08-12 18:08:49 +02:00
Juergen Spitzmueller
49e8e3567c Font switches in \cprotect'ed context need to be \cprotect'ed themselves 2020-08-12 15:26:23 +02:00
Juergen Spitzmueller
1af67974ff Properly close and reopen font before insets with inheritFont() false 2020-08-12 11:04:17 +02:00
Juergen Spitzmueller
50b2120438 Use switches where possible around non-inheriting insets
Fixes rest of #8384
2020-07-29 16:25:19 +02:00
Juergen Spitzmueller
3b6fec3835 Do not terminate size switches in front of insets with InheritFont() false
and inherit the size.

This reduces formatting clutter (#8384) in table and fixes some wrongly
set sizes (#9923, #9285) in tables.
2020-07-15 09:11:05 +02:00
Enrico Forestieri
85ac309eed Amend 5a80f7bb
Was missing these.
2020-06-12 11:50:58 +02:00
Juergen Spitzmueller
f9999039ac Strip polyglossia options from pdf string
Fixes #11813
2020-04-05 15:23:22 +02:00
Richard Kimberly Heck
9afc001fc5 Fix warnings 2020-02-29 00:21:00 -05:00
Günter Milde
c5596da758 Fix export with Japanese (platex) and non-TeX fonts.
Revert a change in c83765163f that inserts a spurious "}".
2019-08-21 12:33:13 +02:00
Juergen Spitzmueller
04bd57a86a Factor out test for bidi package (= XeTeX + polyglossia) 2019-07-11 10:31:10 +02:00
Juergen Spitzmueller
1d0929b5d9 Proper number ordering with luabidi
As opposed to bidi (XeTeX), luabidi (LuaTeX) does no automatic reordering,
so we need to use \\LR{}
2019-07-11 09:54:28 +02:00
Jean-Marc Lasgouttes
2b1515a936 Rename LM_ST_* to *_STYLE and FONT_SIZE_* to *_SIZE
This makes code more uniform. This is typically something that is done
at end of cycle to limit backport issues later.
2019-06-14 17:05:49 +02:00
Günter Milde
c83765163f CJK package is never used with non-TeX fonts.
Prepare for languages that use CJK with TeX fonts and Polyglossia
with non-TeX fonts.

Korean is already supported by Polyglossia,
LyX support will follow (file version change).
2019-05-26 01:45:35 +02:00
Jean-Marc Lasgouttes
c3f10df95d Move the stateText code for FontInfo to FontInfo class.
The first parameter of Font::stateText is now optional.
2019-05-10 10:45:40 +02:00
Jean-Marc Lasgouttes
cfb8b214d1 Treat math style a bit more like other font features
While math style (scriptstyle,...) is not really something that can be
set, it is useful for text subscripts and superscripts and therefore
it makes sense to handle it in some places.

With this change, style is still not a first class feature, but good
enough for now. In particular, it is taken into account in update().
2019-03-22 16:19:05 +01:00
Juergen Spitzmueller
dbe963a1ef Fix copy/paste error spotted by coverity. 2019-02-18 15:14:16 +01:00
Juergen Spitzmueller
154b4fdece Give textstyle-apply a history
The last 20 applications are saved now and accessible both via the lfun
(textstyle-apply n) and the toolbar (via button menu)

Fixes: #7133

This also changes the default icon and toolbar position of the action,
as requested in #11427
2018-12-26 15:46:14 +01:00
Juergen Spitzmueller
057d83d8ae Handle null pointer 2018-12-26 14:38:02 +01:00
Juergen Spitzmueller
114ebf00c4 Fix nesting problem with numbers in RTL text
\textcolor must precede any \beginL

Fixes: #6283
2018-07-21 15:50:35 +02:00
Juergen Spitzmueller
57dc817581 Add \nospellcheck font property
This revives a ten year old idea (and patch) by Dov.

You can now mark in the character dialog text and exclude it from spell
checking.

Fixes: #1042

File format change

Remaining issue: The instant spell checking marks are not immediately
removed, but only after some editing.
2018-05-06 19:48:21 +02:00
Juergen Spitzmueller
9fd94a2dd0 Fixes for nested ulem commands
1. \uuline must be on top of \sout
2. \uwave in \xout needs a hack to compile
2018-05-04 19:32:38 +02:00
Juergen Spitzmueller
00d4144352 No manual intervention needed for polyglossia (bidi) and RTL numbers.
See https://tex.stackexchange.com/a/256837/19291
2018-02-26 17:06:31 +01:00
Juergen Spitzmueller
9a1eeb8cbb Properly handle color none.
Fixes: #5870
2018-01-03 13:20:05 +01:00
Christian Ridderström
e30f3d76d2 Bulk cleanup/fix incorrect annotation at the end of namespaces.
This commit does a bulk fix of incorrect annotations (comments) at the
end of namespaces.

The commit was generated by initially running clang-format, and then
from the diff of the result extracting the hunks corresponding to
fixes of namespace comments. The changes being applied and all the
results have been manually reviewed. The source code successfully
builds on macOS.

Further details on the steps below, in case they're of interest to
someone else in the future.

1. Checkout a fresh and up to date version of src/

    git pull && git checkout -- src && git status src

2. Ensure there's a suitable .clang-format in place, i.e. with options
   to fix the comment at the end of namespaces, including:

    FixNamespaceComments:                           true
    SpacesBeforeTrailingComments:                   1

and that clang-format is >= 5.0.0, by doing e.g.:

    clang-format -dump-config | grep Comments:
    clang-format --version

3. Apply clang-format to the source:

    clang-format -i $(find src -name "*.cpp" -or -name "*.h")

4. Create and filter out hunks related to fixing the namespace

    git diff -U0 src > tmp.patch
    grepdiff '^} // namespace' --output-matching=hunk tmp.patch  > fix_namespace.patch

5. Filter out hunks corresponding to simple fixes into to a separate patch:

    pcregrep -M -e '^diff[^\n]+\nindex[^\n]+\n--- [^\n]+\n\+\+\+ [^\n]+\n'  \
        -e '^@@ -[0-9]+ \+[0-9]+ @@[^\n]*\n-\}[^\n]*\n\+\}[^\n]*\n'         \
        fix_namespace.patch > fix_namespace_simple.patch

6. Manually review the simple patch and then apply it, after first
   restoring the source.

    git checkout -- src
    patch -p1 < fix_namespace_simple.path

7. Manually review the (simple) changes and then stage the changes

    git diff src
    git add src

8. Again apply clang-format and filter out hunks related to any
   remaining fixes to the namespace, this time filter with more
   context. There will be fewer hunks as all the simple cases have
   already been handled:

    clang-format -i $(find src -name "*.cpp" -or -name "*.h")
    git diff src > tmp.patch
    grepdiff '^} // namespace' --output-matching=hunk tmp.patch  > fix_namespace2.patch

9. Manually review/edit the resulting patch file to remove hunks for files
   which need to be dealt with manually, noting the file names and
   line numbers. Then restore files to as before applying clang-format
   and apply the patch:

    git checkout src
    patch -p1 < fix_namespace2.patch

10. Manually fix the files noted in the previous step. Stage files,
    review changes and commit.
2017-07-23 13:11:54 +02:00
Richard Heck
75bfed5507 Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
Enrico Forestieri
71f532db4b Do not output a \par inside a local language switch command 2017-06-04 03:14:14 +02:00
Enrico Forestieri
55bbd67cde Fix bugs #10650 and #9598 2017-06-03 17:26:05 +02:00
Enrico Forestieri
2a5bb7ab67 Fix bug #10685
Make sure to properly nest \begin{lang} and \end{lang} tags even
when no language package is selected. In this case, LyX assumes
that babel is being used, so the language names might be wrong
if the user arranged for using polyglossia in the preamble.
Nevertheless, we assure that the produced output is syntactically
correct, so that by adding proper preamble code a correct output
is still possible.
2017-05-30 17:57:37 +02:00
Uwe Stöhr
e575e7eebd Add support to cross out characters
- adds support for the command \xout of the LateX package ulem
- fileformat change
2017-04-05 00:01:19 +02:00
Juergen Spitzmueller
e83e64c447 Do not output bidi direction macros in passthru context
Part of #10434.
2016-10-21 10:40:19 +02:00
Enrico Forestieri
7e3494c293 Also track local language switches
Until now this was not done for essentially two reasons. The first
one is that local switches are used for short text insertions, so that
they are unlikely crossing environment boundaries. The second one
is that if we have to close a language at the end of an environment
we would be missing the right termination command. As this last
issue can be overcome by simply storing in the stack the current
nest level with a sign denoting the kind of switch, there is no
reason anymore not to track also local languages switches.
Also factor out some commonly used constructs in order to improve
readability.
2016-09-27 23:00:29 +02:00
Enrico Forestieri
4508a7f855 No need to clutter runparams... 2016-09-25 08:56:12 +02:00
Enrico Forestieri
8c14d9e041 Correctly track opened polyglossia languages
A language switch may also occur outside of output_latex.cpp, apparently.
2016-09-25 08:20:34 +02:00
Guillaume Munch
670efa8f64 Rationalise includes
Modifying TexRow.h or texstream.h no longer triggers the recompilation of the
complete source tree.
2016-07-04 02:42:17 +02:00