diff --git a/options.js b/options.js index 2ced38b..f23339f 100644 --- a/options.js +++ b/options.js @@ -93,11 +93,17 @@ function defaults() default: 0, label: "Popup requires key" }); + settings.push({ + id: "strip_spaces", + kind: "checkbox", + default: true, + label: "Strip spaces (for when spaces find their way into Japanese text and it breaks word searching)" + }); settings.push({ id: "ignore_linebreaks", kind: "checkbox", default: true, - label: "Ignore hard line breaks (disable for text with preformatted linewraps)" + label: "Ignore hard line breaks (disable for text with preformatted linebreaks)" }); settings.push({ id: "ignore_divs", diff --git a/texthook.js b/texthook.js index ef7ec18..67ef634 100644 --- a/texthook.js +++ b/texthook.js @@ -42,6 +42,7 @@ reading_fontsize: 15, corner: 0, xoffset: 5, yoffset: 22, +strip_spaces: true, ignore_linebreaks: true, ignore_divs: false, sticky: false, @@ -1090,6 +1091,7 @@ async function settings_init() getvar("xoffset", 5); getvar("yoffset", 22); + getvar("strip_spaces", true); getvar("ignore_linebreaks", true); getvar("ignore_divs", false); getvar("sticky", false); @@ -1377,9 +1379,18 @@ function grab_text(textNode, offset, elemental) moreText = grab_more_text(textNode, -1) + moreText + grab_more_text(textNode); if(settings.ignore_linebreaks) + { text = text.replace(/\n/g, ""); - if(settings.ignore_linebreaks) moreText = moreText.replace(/\n/g, ""); + } + + if(settings.strip_spaces) + { + text = text.replace(/ /g, ""); + moreText = moreText.replace(/ /g, ""); + text = text.replace(/ /g, ""); + moreText = moreText.replace(/ /g, ""); + } let index = moreText.lastIndexOf(text);