Fix bug #7998 and related issues:

- 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
This commit is contained in:
Georg Baum 2012-01-31 20:49:49 +00:00
parent 72f56d7309
commit f483fb8e9d
2 changed files with 16 additions and 12 deletions

View File

@ -1581,17 +1581,17 @@
0x2004 "\\;" "" "" "\\;" "" # THREE-PER-EM SPACE
0x2005 "\\:" "" "" "\\:" "" # FOUR-PER-EM SPACE
0x2006 "\\," "" "" "\\," "" # SIX-PER-EM SPACE
#0x2007 "" "" "" "" "" # FIGURE SPACE
#0x2008 "" "" "" "" "" # PUNCTUATION SPACE
0x2009 "\\," "" "" "\\," "" # THIN SPACE
#0x200a "" "" "" "" "" # HAIR SPACE
#0x200b "" "" "" "" "" # ZERO WIDTH SPACE
#0x200c "" "" "" "" "" # ZERO WIDTH NON-JOINER
0x2007 "\\LyXFigureSpace" "\\newcommand*\\LyXFigureSpace{\\hphantom{0}}" "" "\\LyXFigureSpace" "\\newcommand*\\LyXFigureSpace{\\hphantom{0}}" # FIGURE SPACE
0x2008 "\\LyXPunctSpace" "\\newcommand*\\LyXPunctSpace{\\hphantom{,}}" "" "\\LyXPunctSpace" "\\newcommand*\\LyXPunctSpace{\\hphantom{,}}" # PUNCTUATION SPACE
0x2009 "\\LyXThinSpace" "\\newcommand*\\LyXThinSpace{\\,\\hspace{0pt}}" "" "\\LyXThinSpace" "\\newcommand*\\LyXThinSpace{\\,\\hspace{0pt}}" # THIN SPACE
0x200a "\\LyXHairSpace" "\\newcommand*\\LyXHairSpace{\\hspace{1pt}}" "" "\\LyXHairSpace" "\\newcommand*\\LyXHairSpace{\\hspace{1pt}}" # HAIR SPACE
0x200b "\\LyXZeroWidthSpace" "\\newcommand*\\LyXZeroWidthSpace{\\hspace{0pt}}" "" "\\LyXZeroWidthSpace" "\\newcommand*\\LyXZeroWidthSpace{\\hspace{0pt}}" # ZERO WIDTH SPACE
0x200c "\\textcompwordmark" "" "" "" "" # ZERO WIDTH NON-JOINER
#0x200d "" "" "" "" "" # ZERO WIDTH JOINER
#0x200e "" "" "" "" "" # LEFT-TO-RIGHT MARK
#0x200f "" "" "" "" "" # RIGHT-TO-LEFT MARK
0x2010 "-" "" "" "" "" # HYPHEN # identic in LaTeX to FIGURE DASH
#0x2011 "" "" "" "" "" # NON-BREAKING HYPHEN
0x2011 "\\nobreakdash-" "amsmath" "" "" "" # NON-BREAKING HYPHEN
0x2012 "-" "" "" # FIGURE DASH
0x2013 "\\textendash" "" "" # EN DASH
0x2014 "\\textemdash" "" "" # EM DASH
@ -1606,7 +1606,7 @@
0x201c "\\textquotedblleft" "" "" # LEFT DOUBLE QUOTATION MARK
0x201d "\\textquotedblright" "" "" # RIGHT DOUBLE QUOTATION MARK
0x201e "\\quotedblbase" "" "" # DOUBLE LOW-9 QUOTATION MARK
#0x201f "" "" "" # DOUBLE LOW-REVERSED-9 QUOTATION MARK
#0x201f "" "" "" # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
0x2020 "\\dag" "" "" "\\dagger" "" # DAGGER
0x2021 "\\ddag" "" "" "\\ddagger" "" # DOUBLE DAGGER
0x2022 "\\textbullet" "textcomp" "" # BULLET
@ -1622,7 +1622,7 @@
#0x202c "" "" "" "" "" # POP DIRECTIONAL FORMATTING
#0x202d "" "" "" "" "" # LEFT-TO-RIGHT OVERRIDE
#0x202e "" "" "" "" "" # RIGHT-TO-LEFT OVERRIDE
#0x202f "" "" "" "" "" # NARROW NO-BREAK SPACE
0x202f "\\," "" "" "\\," "" # NARROW NO-BREAK SPACE
0x2030 "\\textperthousand" "textcomp" "" # PER MILLE SIGN
0x2031 "\\textpertenthousand" "textcomp" "" # PER TEN THOUSAND SIGN
0x2032 "\\textasciiacute" "textcomp" "" "\\prime" "" # PRIME

View File

@ -243,8 +243,10 @@ int InsetSpecialChar::plaintext(odocstream & os, OutputParams const &) const
{
switch (kind_) {
case HYPHENATION:
case LIGATURE_BREAK:
return 0;
case LIGATURE_BREAK:
os.put(0x200c);
return 1;
case END_OF_SENTENCE:
os << '.';
return 1;
@ -258,7 +260,7 @@ int InsetSpecialChar::plaintext(odocstream & os, OutputParams const &) const
os << '/';
return 1;
case NOBREAKDASH:
os << '-';
os.put(0x2011);
return 1;
}
return 0;
@ -295,7 +297,9 @@ docstring InsetSpecialChar::xhtml(XHTMLStream & xs, OutputParams const &) const
{
switch (kind_) {
case HYPHENATION:
break;
case LIGATURE_BREAK:
xs << XHTMLStream::ESCAPE_NONE << "&#8204;";
break;
case END_OF_SENTENCE:
xs << '.';
@ -310,7 +314,7 @@ docstring InsetSpecialChar::xhtml(XHTMLStream & xs, OutputParams const &) const
xs << XHTMLStream::ESCAPE_NONE << "&frasl;";
break;
case NOBREAKDASH:
xs << '-';
xs << XHTMLStream::ESCAPE_NONE << "&#8209;";
break;
}
return docstring();