mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-10 04:57:00 -04:00
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:
@@ -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(
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user