diff --git a/IPHRedaction/Clean.xba b/IPHRedaction/Clean.xba index ec440be..13bcb0d 100644 --- a/IPHRedaction/Clean.xba +++ b/IPHRedaction/Clean.xba @@ -17,11 +17,65 @@ disposeAllBookmarks fixTableWidth fixDrawingAnchors + fixFrequentMistakes loadArticleStyles statusIndicator.end() saveAndreload() End Sub +Private Sub fixFrequentMistakes + Dim NBSP As String + Dim space As String + NBSP = " " + space = " " + 'Не должно быть символов табуляции + AskAndReplace("\t","") + 'Не должно быть подряд больше одного пробела + AskAndReplace("(?<=[:space:])[:space:]+","") + 'Не должно быть ни одного пробела в начале абзацев + AskAndReplace("^[:space:]+","") + 'Не должно быть пробелов в конце абзацев + AskAndReplace("[:space:]+$","") + 'Не должно быть пустых абзацев + AskAndReplace("^$","") + 'Не должно быть пробелов перед знаками пунктуации .,;:?!)]}»¡¿”‘’ + AskAndReplace("[:space:]+(?=[\.,;:?!\)\]\}»¡¿”‘’])","") + 'Между словом том и цифрой должен быть неразрывный пробел, а не обычный + AskAndReplace("(?<=\b[тТ](ом|\.))\ (?=[:digit:])",NBSP) + 'Между словом серия и цифрой должен быть неразрывный пробел, а не обычный + AskAndReplace("(?<=\b[сС](ерия|\.))\ +(?=[:digit:])",NBSP) + 'Между словом часть и цифрой должен быть неразрывный пробел, а не обычный + AskAndReplace("(?<=\b[чЧ](асть|\.))\ +(?=[:digit:])",NBSP) + 'Между числом и "г." должен быть неразрывный пробел, а не обычный + AskAndReplace("(?<=[0-9])[:space:]*г(?=\.)",NBSP & "г") + 'Между инициалами и Фамилией должен быть неразрывный пробел, а не обычный + AskAndReplace("(?<=[:upper:]\.[:space:][:upper:]\.)\ (?=[:upper:][:lower:]+)",NBSP) + 'Между Фамилией и инициалами должен быть неразрывный пробел, а не обычный + AskAndReplace("(?<=[:upper:][:lower:]{1,30})\ (?=[:upper:]\.[:space:][:upper:]\.)",NBSP) + + 'Не должно быть пробелов после скобок [({ и кавычек «„ + AskAndReplace("(?<=[\(\[\{«„])[:space:]","") + 'Между "и" и "т." должен быть неразрывный пробел, а не обычный + AskAndReplace("(?<=\bи)\ (?=т\.)",NBSP) + 'Между "т." и "е./н./д./п./к." должен быть неразрывный пробел, а не обычный + AskAndReplace("(?<=\bт)\.\ ?(?=[ендпк]\.)","." & NBSP) + + 'Между буквами среднее тире должно обрамляться пробелами + AskAndReplace("(?<=[:alpha:])–(?=[:alpha:])",NBSP & "–" & NBSP) + 'Между буквами дефис-минус, цифровое тире и длинное тире заменяется на среднее тире + AskAndReplace("(?<=[:alpha:][:space:])[-‒—](?=[:space:][:alpha:])","–") + 'Между двумя цифрами и тире между ними не долнжо быть пробелов. А также тире должно быть цифровым + AskAndReplace("(?<=[:digit:])(?:[:space:])?[-‒–—](?:[:space:])?(?=[:digit:])","‒") + + 'Между двумя римскими цифрами и тире между ними не долнжо быть пробелов. А также тире должно быть средним + AskAndReplace("(?<=[MDCLXVI])(?:[:space:])?[-‒–—](?:[:space:])?(?=[MDCLXVI])","–") + + 'Между буквой и угловой открывающейся скобкой должен быть пробел + AskAndReplace("(?<=[:alpha:])<(?=…>)",space & "<") + 'Между угловой закрывающейся скобкой и буквой должен быть пробел + AskAndReplace("(?<=<…)>(?=[:alpha:])",">" & space) +End Sub + Private Sub loadArticleStyles Dim dispatcher as object Dim fileePath As String diff --git a/IPHRedaction/Validation.xba b/IPHRedaction/Validation.xba index 3f335d9..18fa2ae 100644 --- a/IPHRedaction/Validation.xba +++ b/IPHRedaction/Validation.xba @@ -1,6 +1,6 @@ -Sub markY +Sub markYX End Sub diff --git a/license/license_en.txt b/license/license_en.txt deleted file mode 100644 index 0438ca6..0000000 --- a/license/license_en.txt +++ /dev/null @@ -1,10 +0,0 @@ -The author of this extension is: - Georgy Litvinov (public@litvinovg.pro) -Copyright 2019. - -This library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, version 3 of the License. - -This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License along with this library. If not, see . - diff --git a/license/license_ru.txt b/license/license_ru.txt deleted file mode 100644 index 4f09405..0000000 --- a/license/license_ru.txt +++ /dev/null @@ -1,7 +0,0 @@ -Автор расширения: - Георгий Литвинов (public@litvinovg.pro) -Copyright 2019. - -Это расширение является свободным программным обеспечением, вы можете распространять и/или модифицировать его в соответствии с лицензией GNU Lesser General Public License версии 3.0, опубликованной Free Software Foundation. - -Это расширение распространяется в надежде, что оно будет полезным, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемых гарантий КОММЕРЧЕСКОЙ ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. См. GNU Lesser General Public License для более детальной информации: http://www.gnu.org/licenses/ diff --git a/redaction.oxt b/redaction.oxt index c950731..f300c40 100644 Binary files a/redaction.oxt and b/redaction.oxt differ