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.
\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.
There were found with -dbg mathed ans entering a math inset.
I kept the AMS versions, except leadsto, which is only an approximation in AMS.
hbar was simply defined twice with identical definitions.
The stmaryrd package adds support for lots of math symbols, using a font
designed to accompany the computer modern fonts. The changes in detail:
- Fix generate_symbols_list.py to work with stmaryrd.sty. It loooks like it
was automatically translated from a perl version and never used.
- Generate the new symbols in lib/symbols using generate_symbols_list.py and
add some manual adjustments
- Generate stmary10.ttf by a simple ttf export from stmary10.sfd with fontforge
- Add license info for stmary10.ttf
- Create a test file with all symbols from stmaryrd.sty. Actually it would be
nice to have this for the other fonts as well.
- The mechanics: lyx2lyx, tex2lyx, font machinery etc.
Math commands need it as well as text commands. At the same time, this
further unifies the checking for termination and fixes cases of wrong
output (e.g. for 0x2005).
- 0x200c is equivalent to \textcompwordmark
- 0x2011 is equivalent to \nobreakdash-
- 0x2009 is a breakable thin space (the old definition was non-breakable)
- 0x202f is a non-breakable thin space
- add spaces 0x2007, 0x2008, 0x200a and 0x200b
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40694 a592a061-630c-0410-9148-cb99ea01b6c8
The clash can however still happen if those packages are both loaded for other symbols.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39885 a592a061-630c-0410-9148-cb99ea01b6c8
Now you can also require a|b|c, and if any of the features is already used,
no other one will be loaded. The first feature wins if none is already used.
This is required for a part of bug #7811.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39884 a592a061-630c-0410-9148-cb99ea01b6c8
Essentially, it is not true that Cyrillic characters in math are to be typeset
in italic by default, and LyX already permits to style them as desired.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28981 a592a061-630c-0410-9148-cb99ea01b6c8
Cyrillic formatted text in mathmode
If some other letters from some script need to be typeset in italic,
it will suffice adding the flag "mathalpha" to the unicodesymbols file.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28731 a592a061-630c-0410-9148-cb99ea01b6c8
- Fix the output of some Greek characters (rest of bug 5239).
Patch by Günter Milde.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28374 a592a061-630c-0410-9148-cb99ea01b6c8
They should have been part of the initial commit, but I overlooked them.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28355 a592a061-630c-0410-9148-cb99ea01b6c8
- "force" tipa glyphs to prevent inputenc errors with utf8.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26972 a592a061-630c-0410-9148-cb99ea01b6c8
- force some greek glyphs that are not properly supported by inputenc (part of bug 5239)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26774 a592a061-630c-0410-9148-cb99ea01b6c8
for entering math accents, such that an umlauted A is translated as \ddot{A},
for example.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26577 a592a061-630c-0410-9148-cb99ea01b6c8
- build an exception list of characters that must be output as LaTeX command in any case
(except in utf8-plain). I.e., the utf8 encodings now also honour the "force" flag.
* lib/unicodesymbols:
- add "force" flag to combine characters. Fixes rest of bug 4946.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25361 a592a061-630c-0410-9148-cb99ea01b6c8
unicodesymbols file. When the command for a mode is not specified, the
other one is used (taking care that it also works in the "wrong" mode).
This allows to avoid the \lyxmathsym macro when a native math command
is available. Patch from Georg, modifications to the unicodesymbols
file by me.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25061 a592a061-630c-0410-9148-cb99ea01b6c8
- add tipx to simplefeatures. Tipx is a subpackage of tipa.
* lib/unicodesymbols:
- correct some glyphs, which are included in tipx, not tipa.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22771 a592a061-630c-0410-9148-cb99ea01b6c8
necessary to mark them in the proper language for typesetting.
* src/Paragraph.cpp
(Paragraph::Pimpl::knownLangChars): new method.
(Paragraph::Pimpl::simpleTeXSpecialChars): output proper
latex code for greek and cyrillic chars.
* src/LaTeXFeatures.cpp: add textgreek and textcyr features.
* src/Encoding.{cpp,h}
(Encodings::isKnownLangChar): new method.
* lib/unicodesymbols: add greek and cyrillic alphabetic chars.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@20931 a592a061-630c-0410-9148-cb99ea01b6c8
- remove incorrect sign for information
- add some character supported by the ascii-package
- added some letterlike symbols
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18585 a592a061-630c-0410-9148-cb99ea01b6c8
- add dingbats
- add geometrical shapes
- add the missing card suit symbols
- use Herbert's solution for the "℅" character
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18544 a592a061-630c-0410-9148-cb99ea01b6c8
read from a text file.
* src/encoding.[Ch]
(Encoding::latexChar): New, output a character to LaTeX
(Encoding::validate): New, add needed preamble stuff for a character
(Encodings::read): Read new unicodesymbols file
(Encodings::isCombiningChar): New, is a character a combining char?
* src/paragraph_pimpl.C
(isEncoding): Delete, no longer needed
(getEncoding): New, get the real encoding of a font
(Paragraph::Pimpl::latexSurrogatePair): New, output a surrogate pair
to LaTeX
(Paragraph::Pimpl::simpleTeXBlanks): Use latexSurrogatePair if needed
(Paragraph::Pimpl::simpleTeXSpecialChars): Ditto, and replace several
hardcoded characters with a call of encoding.latexChar()
(Paragraph::Pimpl::validate): replace several hardcoded characters
with a call of encoding.validate()
* src/support/debugstream.h
(basic_debugstream::disable): New, disable the stream completely
(basic_debugstream::enable): New, reenable the stream
* src/lyx_main.[Ch]: Adjust to changes above
* src/paragraph.C: Ditto
* lib/unicodesymbols: New file with UCS4 -> LaTeX command mapping.
It is far from complete yet, but contains most accents on latin
characters.
* lib/Makefile.am: add lib/unicodesymbols
* development/scons/scons_manifest.py: ditto
* development/tools/unicodesymbols.py: Helper script to update
lib/unicodesymbols with new symbols
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16920 a592a061-630c-0410-9148-cb99ea01b6c8