Commit Graph

155 Commits

Author SHA1 Message Date
Günter Milde
15fd79201e lib/unicodesymbols tests and fixes.
Test unicodesymbols for most supported input encodings with Kornel's addition to ctests.

Add required "forces" to unicodesymbols:
* utf8x does not support all characters supported by LyX
* several 8-bit encodings map characters to math-mode commands - force replacement in text-mode so that LyX can wrap them in \\ensuremath.

Fix a misalignment (wrong replacements) in the Cyrillic Unicode block.

Use \\mathscr for Mathematical Script characters in Mathematical Alphanumeric Characters (in line with the characters in other unicode blocks.
2016-11-15 23:50:41 +01:00
Günter Milde
1805b41564 Fallback definitions for unicode paragraph/line break.
Convert characters 0x2028  LINE SEPARATOR and
0x2029 PARAGRAPH SEPARATOR to LaTeX equivalent.
(Just in case they slipped somehow into the source.)
2016-11-10 12:45:27 +01:00
Günter Milde
6674a91573 lib/unicodesymbols test update and fixes.
First run of Kornels patch for tests with all input encodings in lib/encodings.

Remove redundant sample files - keep only one sample and change the input encoding in the test script.

Put remaining failing test in "unreliableTests" for later sorting...
2016-11-09 21:15:14 +01:00
Günter Milde
6ff89c4b95 Do not convert \\\\textbackslash to 0x29f5.
Do not use REVERSE SOLIDUS OPERATOR for backwards conversion of
\\\\textbackslash in LyX and tex2lyx.

Both, \\\\ (005C REVERSE SOLIDUS = backslash) and 0x29f5 map to
\\\\textbackslash but 005c is the preferred back-transformation.

Otherwise, using \\\\ in "mathematical text" leads to literal 0x29f5 in the LyX
source which leads to "missing character" errors with non-TeX fonts.
2016-10-17 09:04:56 +02:00
Günter Milde
9c0f829d12 lib/unicodesymbols fixes and tests
Unicode blocks 125, 152, and 246
2016-10-11 00:38:17 +02:00
Günter Milde
52fbe6ea26 lib/unicodesymbols: fix test sample
The package "dictsym"provides symbols for maps and dictionaries.
Should it be used in unicodefonts or is it "too exotic"?
2016-10-08 22:48:13 +02:00
Günter Milde
efa844702c unicodesymbols fixes.
force=utf8 is required for most characters provided by add-on packgages
and (almost) all mathematical characters, because these are not
set up for inputencs utf8

unicodesymbols.py failed here (python 2.7 under Linux) before the simple fix
included in this commit.
2016-10-08 16:57:52 +02:00
Günter Milde
30c9c8e81a lib/unicodesymbols tests: add comments and remove spurious test samples. 2016-09-22 12:10:39 +02:00
Günter Milde
559c895130 lib/unicodesymbols: tests and fixes, Blocks 87 - 91
Also add more "stmaryrd" symbols.
2016-09-20 08:16:39 +02:00
Günter Milde
e82e48c44d lib/unicodesymbols: replace TABs. 2016-09-20 08:16:21 +02:00
Günter Milde
5156416279 lib/unicodesymbols tests and fixes: Block Dingbats. 2016-09-18 17:08:56 +02:00
Günter Milde
f957d32ed3 lib/unicodesymbols tests and fixes: Block Miscellaneous Symbols.
* add \Coffeecup and \Wheelchair

* add "force=utf8" where required

* uninvert tests: ctest works again after Kornel fixed the problem in 9f1b80a2af
2016-09-16 12:10:48 +02:00
Günter Milde
c79b7c1496 lib/unicodesymbols tests and fixes.
Blocks Box Drawing, Block Elements, Geometric Shapes.
2016-09-14 22:06:11 +02:00
Günter Milde
e08a372927 lib/unicodesymbols tests and fixes
* Test blocks Mathematical Symbols, Miscellaneous Technical, Control Pictures
* fix Fahrenheit symbol
* add force=utf8 where required
2016-09-13 22:08:24 +02:00
Günter Milde
e62d20fc01 lib/unicodesymbols fixes
"vdots" fails in text mode, if "mathdots" is loaded.

package "ascii": remove invalid command "\\ascii", let LyX terminate commands
2016-09-12 11:46:30 +02:00
Günter Milde
754cb3d18a Test and fix lib/unicodesymbols for Letterlike Symbols, Number Forms and Arrows blocks. 2016-09-10 22:43:57 +02:00
Günter Milde
99310b7e3f Fix export of Unicode characters (Unicode blocks <=72)
Fix problems revealed by hand-compiling an examining the test samples in autotests/export/Unicode-characters/:

* new definitions
* fixed definitions
* "force=utf8" when required
* some IPA symbols fail without the "extraipa" package
* fix direction of "textcommaaboveright"
2016-09-10 12:35:51 +02:00
Günter Milde
b9a47dff4e Test and fix lib/unicodesymbols for Latin, Greek, and Cyrillic. 2016-09-08 23:22:51 +02:00
Günter Milde
bc72b4602f Math definitions of Greek symbol variants for lib/unicodesymbols
+ test sample for Greek and Coptic Unicode block
2016-09-08 23:22:51 +02:00
Georg Baum
f69d11f97b Add more lib/symbols unicodemapping
There are still many math symbols in lib/symbols that lack a corresponding
entry in lib/unicodesymbols, although a clear mapping exists. This commit
adds some of them (not all yet). In the future we should probably move the
information from both files into one database.
2016-08-27 11:52:31 +02:00
Georg Baum
5b04b91d54 whitespace 2016-07-02 14:52:46 +02:00
Georg Baum
521c0cde3a Add some symbols from fontmath.ltx
These are all in lib/symbols, but we did not yet know the corresponding unicode
numbers. unicodesymbols does still not contain all symbols from lib/symbols.
2016-06-30 22:25:56 +02:00
Georg Baum
4df8117a9d Escape backslashes
The parser that reads unicodesymbols uses backslashes to escape quotes, so
every backslash that is part of a LaTeX command needs to be escaped as well.
There are more candidates in the greek and cyrillic sections, but I don't
know those commands, so I did not touch them.
2016-06-26 20:36:44 +02:00
Georg Baum
f35ed0c168 Improve \AA and \aa tex2lyx import
The lib/unicodesymbols part is based on work by Günter Milde:

Both, \r{A} and \AA (rsp. \r{a} and \aa) are equivalent standard LICR macros
for Aring/aring  as well as the deprecated "angstrom sign" character (212B).

However, with \AA for 212B and \r{A} for 00C5, tex2lyx converts \AA to the
deprecated "angstrom sign" which is missing in many fonts including the
Unicode version of Latin Modern.

I added the normalize_c() calls so that tex2lyx prefers the precomposed forms
(these are better editable in LyX) and the deprecated flag.
2016-01-08 21:06:24 +01:00
Günter Milde
e1a54ebbe4 Force replacement for U2015 (horizontal bar/quotation dash). 2015-12-14 23:53:39 +01:00
Günter Milde
1814739853 Fix #9770 (unicodesymbols for wasysym) 2015-10-28 11:35:25 +01:00
Günter Milde
d0af891eb2 Fix #9764, combining diacritical characters for line below (part 1).
Correct mappings in lib/unicodesymbols (see #9764 for details).
2015-10-19 18:34:48 +02:00
Günter Milde
268bd0075e Add LICR replacement for COMBINING MACRON BELOW. 2015-08-26 22:46:59 +02:00
Günter Milde
00e1936d81 unicodesymbols: "textgreek" must not be used together with "combining".
With the current code, this leads to output like "\\\\textgreek{\\\\~}"
which results in a LaTeX error as the accent macro \\\\~ expects an argument.
2015-08-13 10:55:04 +02:00
Günter Milde
3f6b034167 Fix Ticket #9607 (support comma below accent in unicodesymbols).
LaTeXFeatures defines \textcommabelow and \textcommaabove based on a 
generic \LyXTextAccent and declares TextCompositeCommands for the Baltic 
letters in the T1 font encoding, using \textcommaabove for the small letter g 
and \textcommabelow else.

This allows overwriting of the composite definition for other font encodings. 
Especially, it does not interfere with the polish/baltic font encoding L7x 
(supported by LatinModern and TeXGyre fonts)  that provides pre-composed 
glyphs.
2015-07-12 16:21:25 +02:00
Günter Milde
476a073c61 Greek subsript letters require "textgreek" flag.
Add the "textgreek" feature to entries for greek subscript letters
in "unicodesymbols".
2015-07-11 18:18:28 +02:00
Günter Milde
5a47e4bc70 Fix #9636 textgreek: restore compatibility with lgrenc.def.
Greek characters with perispomeni (tilde) accent were not properly shown
in the output document, because the "textgreek" feature re-defined \~ in
a way incompatible with lgrenc.def since version 0.8  (2013-05-13)
(package greek-fontenc).

The compatibility-definition is required for older versions of the font setup
(before the move of "lgrenc.def" from "babel" to "greek-fontenc").
It is now done with "ProvideTextCommand" to not overwrite the more complete
implementation in lgrenc.def.
With the compatibility definition, combined diacritics with tilde
must be input with the tilde first (e.g. \~>, not \>~).
"unicodesymbols" is changed accordingly.

Also, some LICRs for combining Greek diacritical characters were added to
Unicodesymbols.
2015-07-11 15:39:02 +02:00
Günter Milde
2a7deb802a Remove "notermination" flags from combining characters in "unicodesymbols".
This fixes bug #9615.

The "notermination" flag tells LyX, that terminating an LICR macro with {} is 
not necessary. This is normally the case for all macros with non-alphabetical
name (e.g. \{).

However, combining diacritical characters are converted to *accent macros*,
which expect an argument (the base character). 
In Unicode, the base character precedes the combining character, 
in LaTeX the combining character precedes the base character. 
LyX changes the order of the two characters to get this right,
e.g. "x" + "combining tilde" becomes "\~{x}". 

In the special case there is no preceding character (e.g. at the start of the 
document or a paragraph), Unicode shows the combining diacritical character
without base character.
The replacement is currently not "terminated" (e.g. "\~"), because of the 
"notermination=text" flags in "unicodesymbols". 
The accent macros take the *following* character as base character, which is
clearly not intended.
In case of a paragraph consisting of just one combining diacritical character,
LaTeX compilation fails with an error.

With the patch, LyX writes the accent macros with an empty argument,
e.g.  "\~{}", the output is similar to the view in the GUI with the diacritical 
character on its own, not on the follwoing character.
2015-07-09 11:54:37 +02:00
Georg Baum
f61555cf48 Improve alignment 2015-06-14 14:16:49 +02:00
Juergen Spitzmueller
ca1aea5427 Revert "remove unneeded notermination tags in unicodesymbols (bug #9615)"
This reverts commit a6fdc1196b.

The issue needs more discussion. See #9615.
2015-06-14 13:44:50 +02:00
Georg Baum
0cd7d1f699 Support very much greater/less than
This is bug #9612. The patch is from Günter Milde. He wrote:
The patch uses the "long" macro names (\llless and \gggtr) to minimize
name-clash probability. (There is, e.g., a name clash of \lll with Babel's
polish.ldf (cf. bug #6197))
2015-06-11 20:40:04 +02:00
Juergen Spitzmueller
a6fdc1196b remove unneeded notermination tags in unicodesymbols (bug #9615)
Patch by Guenter Milde
2015-06-11 11:14:01 +02:00
Juergen Spitzmueller
0c8019a903 consistent replacement for CEDILLA in unicodesymbols (bug #9614)
Patch by Guenter Milde
2015-06-11 11:11:26 +02:00
Georg Baum
507cc07c2d Add commented ASCII control pictures
The list was taken by a patch from Jürgen for bug #5704.
2015-05-08 22:00:40 +02:00
Juergen Spitzmueller
23e8db3e5c Fixes and additions to the textcyr macros in unicodesymbols
Patch by Guenter Milde.

See #8600.
2015-01-24 17:29:41 +01:00
Georg Baum
188dd74618 Add two missing unicodesymbols 2014-03-08 10:59:43 +01:00
Juergen Spitzmueller
30a01da78f Support (black) card suites in text mode (#8971) 2014-02-13 15:23:15 +01:00
Georg Baum
ee08aefeac Add some missing unicode math symbols
and fix wrong ones. This fixes the safe part of bug #8888. The symbols
provided by mdsymbol.sty have to wait, since mdsymbol.sty provides a huge
number of symbols, I don't have the time right now to process them all, and
a partial file format update does not make sense.
2013-12-11 20:58:28 +01:00
Juergen Spitzmueller
c2d076a640 Do not use 'unsafe' tipa shortcuts
Turns out they are, well, unsafe (i.e. conflict with existing 'core' macros).
2013-09-13 15:41:12 +02:00
Juergen Spitzmueller
4347046bb6 Bind unicode glyph 0x2026 to \dots
The macro is identical to \ldots in texted, but this way, tex2lyx can import both \ldots (as InsetSpecialChar) and \dots (as unicode glyph), while retaining the original distinction (which might get relevant with some special packages or via user redefinition of one of these macros).
2013-08-17 10:18:26 +02:00
Georg Baum
89b2c54c00 Fix wrong space symbols (#8729)
The main part of the fix (unicodesymbols) is from Jürgen. This commit fixes
tree problems:
- \; etc. were also used in text mode, but are math only
- all of those glyphs need to be forced with utf8
- actually, \; etc. are not the correct macros, since the encoded spaces are
  breakable, but the math spaces are all protected. The sapce symbols are not
  defined in the utf8 encodings.
2013-07-13 22:43:31 +02:00
Georg Baum
3a6441f38c Fix bug #8509: sigma in PDF bookmarks
The fix was provided by Günter Milde. Basically, the forced replacement is
only needed for the iso8859-7 encoding to circumvent its autosigma feature.
2013-03-04 21:54:15 +01:00
Georg Baum
9229f38ecf Fix LaTeX macro for symbol 0x02f7
\textsubtilde is a combining character (0x0330), but 0x02f7 is not.
Apart from the wrong LaTeX output, having the same command for two symbols
confuses texc2lyx.
2013-02-24 15:08:36 +01:00
Georg Baum
9f93983b61 Extend unicodesymbols force flag
As suggested by Günter Milde.
2013-02-19 22:19:10 +01:00
Georg Baum
0f268ef78d Clarify the force flag 2013-02-17 13:21:07 +01:00