curly_quotes now considers EM_DASH to be a space, so it uses an open quote after it.

Fixes #33

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1449 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
twanvl
2010-07-21 18:23:57 +00:00
parent f8c7961c03
commit f88d92acab
2 changed files with 7 additions and 18 deletions
+2 -17
View File
@@ -453,22 +453,8 @@ text_filter :=
replace@(
match: "\\[[SCTQXYZIWUBRG0-9/|]+\\]",
replace: {"<sym>" + mana_filter_t() + "</sym>"} ) +
# step 6a : curly double quotes
replace@(
match: "[[.quotation-mark.]]|“",
in_context: "[“][A-Za-z,.!?+$<>:;-— 0-9\\\\]*<match>",
replace: "”" )+
replace@(
match: "[[.quotation-mark.]]",
replace: "“" )+
# step 6b : curly single quotes
replace@(
match: "' | ",
in_context: "[][A-Za-z,.!?+$<>:;-— 0-9\\\\]*<match>",
replace: " " )+
replace@(
match: " '",
replace: " " )+
# step 6 : curly quotes
curly_quotes +
# step 7 : ???
replace@(
match: "[(]([^)\n]|[(][^)\n]*[)])*[)]?",
@@ -480,7 +466,6 @@ text_filter :=
+ "([[:lower:]])" # match this
+ "(?![)])", # not followed by this
replace: { _1 + to_upper(_2) }) +
#curly_quotes +
# step 9 : spellcheck
{ if set.mark_errors then
check_spelling(
+5 -1
View File
@@ -607,6 +607,10 @@ void check_tagged(const String& str, bool check_balance) {
// ----------------------------------------------------------------------------- : Other utilities
bool is_space_like(Char c) {
return isSpace(c) || c == _('(') || c == _('[') || c == _('{') || c == EN_DASH || c == EM_DASH;
}
String curly_quotes(String str, bool curl) {
bool open = true, in_tag = false;
FOR_EACH(c, str) {
@@ -620,7 +624,7 @@ String curly_quotes(String str, bool curl) {
in_tag = false;
} else if (!in_tag) {
// Also allow double-nesting of quotes
open = isSpace(c) || c == _('(') || c == _('[');
open = is_space_like(c);
}
}
return str;