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.
This commit is contained in:
Günter Milde 2015-07-09 11:54:37 +02:00
parent 301e003db0
commit 2a7deb802a

View File

@ -668,15 +668,15 @@
#
# Combining diacritical marks
#
0x0300 "\\`" "" "combining,force,notermination=text" "" "" # COMBINING GRAVE ACCENT
0x0301 "\\'" "" "combining,force,notermination=text" "" "" # COMBINING ACUTE ACCENT
0x0302 "\\^" "" "combining,force,notermination=text" "" "" # COMBINING CIRCUMFLEX ACCENT
0x0303 "\\~" "" "combining,force,notermination=text" "" "" # COMBINING TILDE
0x0304 "\\=" "" "combining,force,notermination=text" "" "" # COMBINING MACRON
0x0300 "\\`" "" "combining,force" "" "" # COMBINING GRAVE ACCENT
0x0301 "\\'" "" "combining,force" "" "" # COMBINING ACUTE ACCENT
0x0302 "\\^" "" "combining,force" "" "" # COMBINING CIRCUMFLEX ACCENT
0x0303 "\\~" "" "combining,force" "" "" # COMBINING TILDE
0x0304 "\\=" "" "combining,force" "" "" # COMBINING MACRON
#0x0305 "" "" "combining,force" # COMBINING OVERLINE
0x0306 "\\u" "" "combining,force" # COMBINING BREVE
0x0307 "\\." "" "combining,force,notermination=text" "" "" # COMBINING DOT ABOVE
0x0308 "\\\"" "" "combining,force,notermination=text" "" "" # COMBINING DIAERESIS
0x0307 "\\." "" "combining,force" "" "" # COMBINING DOT ABOVE
0x0308 "\\\"" "" "combining,force" "" "" # COMBINING DIAERESIS
#0x0309 "" "" "combining,force" # COMBINING HOOK ABOVE
0x030a "\\r" "" "combining,force" # COMBINING RING ABOVE
0x030b "\\H" "" "combining,force" # COMBINING DOUBLE ACUTE ACCENT
@ -734,7 +734,7 @@
#0x033f "" "" "combining,force" # COMBINING DOUBLE OVERLINE
#0x0340 "" "" "combining,force" # COMBINING GRAVE TONE MARK
#0x0341 "" "" "combining,force" # COMBINING ACUTE TONE MARK
0x0342 "\\~" "textgreek" "combining,force,notermination=text" "" "" # COMBINING GREEK PERISPOMENI
0x0342 "\\~" "textgreek" "combining,force" "" "" # COMBINING GREEK PERISPOMENI
#0x0343 "" "" "combining,force" # COMBINING GREEK KORONIS
#0x0344 "" "" "combining,force" # COMBINING GREEK DIALYTIKA TONOS
#0x0345 "" "" "combining,force" # COMBINING GREEK YPOGEGRAMMENI