mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-26 11:16:55 +00:00
* insets/InsetQuotes.cpp (displayString): reenable quote display code
(but use a table-based solution instead of the old code). git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24871 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
3e92432049
commit
09093f41d8
@ -54,6 +54,12 @@ char const * const times_char = "sd";
|
|||||||
// List of known quote chars
|
// List of known quote chars
|
||||||
char const * const quote_char = ",'`<>";
|
char const * const quote_char = ",'`<>";
|
||||||
|
|
||||||
|
// Unicode characters needed by each quote type
|
||||||
|
char_type const display_quote_char[2][5] = {
|
||||||
|
{ 0x201a, 0x2019, 0x2018, 0x2039, 0x203a},
|
||||||
|
{ 0x201e, 0x201d, 0x201c, 0x00ab, 0x00bb}
|
||||||
|
};
|
||||||
|
|
||||||
// Index of chars used for the quote. Index is [side, language]
|
// Index of chars used for the quote. Index is [side, language]
|
||||||
int quote_index[2][6] = {
|
int quote_index[2][6] = {
|
||||||
{ 2, 1, 0, 0, 3, 4 }, // "'',,<>"
|
{ 2, 1, 0, 0, 3, 4 }, // "'',,<>"
|
||||||
@ -181,38 +187,8 @@ void InsetQuotes::parseString(string const & s)
|
|||||||
docstring InsetQuotes::displayString() const
|
docstring InsetQuotes::displayString() const
|
||||||
{
|
{
|
||||||
Language const * loclang = buffer().params().language;
|
Language const * loclang = buffer().params().language;
|
||||||
string disp;
|
int const index = quote_index[side_][language_];
|
||||||
disp += quote_char[quote_index[side_][language_]];
|
docstring retdisp = docstring(1, display_quote_char[times_][index]);
|
||||||
if (times_ == DoubleQuotes)
|
|
||||||
disp += disp;
|
|
||||||
|
|
||||||
|
|
||||||
docstring retdisp;
|
|
||||||
if (disp == "<<")
|
|
||||||
retdisp = docstring(1, 0x00ab); //'«';
|
|
||||||
else if (disp == ">>")
|
|
||||||
retdisp = docstring(1, 0x00bb); //'»';
|
|
||||||
#if 0
|
|
||||||
// The below are supposed to work, but something fails.
|
|
||||||
else if (disp == ",,")
|
|
||||||
retdisp = docstring(1, 0x201e);
|
|
||||||
else if (disp == "''")
|
|
||||||
retdisp == docstring(1, 0x201d);
|
|
||||||
else if (disp == "``")
|
|
||||||
retdisp == docstring(1, 0x201c);
|
|
||||||
else if (disp == "<")
|
|
||||||
retdisp = docstring(1, 0x2039);
|
|
||||||
else if (disp == ">")
|
|
||||||
retdisp = docstring(1, 0x203a);
|
|
||||||
else if (disp == ",")
|
|
||||||
retdisp = docstring(1, 0x201a);
|
|
||||||
else if (disp == "'")
|
|
||||||
retdisp = docstring(1, 0x2019);
|
|
||||||
else if (disp == "`")
|
|
||||||
retdisp = docstring(1, 0x2018);
|
|
||||||
#endif
|
|
||||||
else
|
|
||||||
retdisp = from_ascii(disp);
|
|
||||||
|
|
||||||
// in french, spaces are added inside double quotes
|
// in french, spaces are added inside double quotes
|
||||||
if (times_ == DoubleQuotes && prefixIs(loclang->code(), "fr")) {
|
if (times_ == DoubleQuotes && prefixIs(loclang->code(), "fr")) {
|
||||||
|
Loading…
Reference in New Issue
Block a user