Compare commits
18 commits
Author | SHA1 | Date | |
---|---|---|---|
1d95cee96c | |||
4d70244041 | |||
5e9a36bbfd | |||
7e8fd76cb3 | |||
3123de95c8 | |||
8bef4474ae | |||
907c483775 | |||
6100d5d40e | |||
535e91d860 | |||
c0ecae410c | |||
0736f72257 | |||
2fa3ce3c86 | |||
fd074a02ab | |||
c1d12fb739 | |||
bbe0157ea2 | |||
4c4b9221df | |||
d5b3b4c9e8 | |||
9e5a5efa59 |
27 changed files with 415 additions and 107 deletions
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
||||||
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Clean" script:language="StarBasic">Sub mark87
|
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Clean" script:language="StarBasic">Sub mark96
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
@ -50,6 +50,7 @@ Private Sub makerUpMenu
|
||||||
advancedCleaningDialog.getControl("convertFontsToCharStyles").Label = getTranslation("advancedMenuconvertFontsToCharStyles")
|
advancedCleaningDialog.getControl("convertFontsToCharStyles").Label = getTranslation("advancedMenuconvertFontsToCharStyles")
|
||||||
advancedCleaningDialog.getControl("fixBrokenCharBackTransparent").Label = getTranslation("fixBrokenCharBackTransparentMenuItem")
|
advancedCleaningDialog.getControl("fixBrokenCharBackTransparent").Label = getTranslation("fixBrokenCharBackTransparentMenuItem")
|
||||||
advancedCleaningDialog.getControl("removeNotTransparentBackgrounds").Label = getTranslation("removeNotTransparentBackgrounds")
|
advancedCleaningDialog.getControl("removeNotTransparentBackgrounds").Label = getTranslation("removeNotTransparentBackgrounds")
|
||||||
|
advancedCleaningDialog.getControl("fixDiacriticKerning").Label = getTranslation("fixDiacriticKerning")
|
||||||
advancedCleaningDialog.getControl("Cancel").Label = getTranslation("buttonCancel")
|
advancedCleaningDialog.getControl("Cancel").Label = getTranslation("buttonCancel")
|
||||||
advancedCleaningDialog.getControl("OK").Label = getTranslation("buttonOK")
|
advancedCleaningDialog.getControl("OK").Label = getTranslation("buttonOK")
|
||||||
advancedCleaningDialog.getControl("buttonLoad").Label = getTranslation("buttonLoad")
|
advancedCleaningDialog.getControl("buttonLoad").Label = getTranslation("buttonLoad")
|
||||||
|
@ -58,7 +59,7 @@ Private Sub makerUpMenu
|
||||||
advancedCleaningDialog.setVisible(true)
|
advancedCleaningDialog.setVisible(true)
|
||||||
Select Case advancedCleaningDialog.Execute()
|
Select Case advancedCleaningDialog.Execute()
|
||||||
Case 1
|
Case 1
|
||||||
cleanAccordingTo(dialog)
|
cleanAccordingTo(advancedCleaningDialog)
|
||||||
Case 0
|
Case 0
|
||||||
End Select
|
End Select
|
||||||
advancedCleaningDialog.dispose()
|
advancedCleaningDialog.dispose()
|
||||||
|
@ -164,7 +165,9 @@ Private Sub cleanAccordingTo(dialog As Object)
|
||||||
If dialog.getControl("removeNotTransparentBackgrounds").state = 1 Then
|
If dialog.getControl("removeNotTransparentBackgrounds").state = 1 Then
|
||||||
fixColoredBackgroundInDoc()
|
fixColoredBackgroundInDoc()
|
||||||
EndIf
|
EndIf
|
||||||
|
If dialog.getControl("fixDiacriticKerning").state = 1 Then
|
||||||
|
fixDiacriticKerning()
|
||||||
|
EndIf
|
||||||
|
|
||||||
statusIndicator.end()
|
statusIndicator.end()
|
||||||
saveAndreload()
|
saveAndreload()
|
||||||
|
@ -203,6 +206,8 @@ Private Sub quietCleaning
|
||||||
saveAndreload()
|
saveAndreload()
|
||||||
statusIndicator = ThisComponent.getCurrentController.statusIndicator
|
statusIndicator = ThisComponent.getCurrentController.statusIndicator
|
||||||
unicodeSymbolsConversion
|
unicodeSymbolsConversion
|
||||||
|
statusIndicator.Start(getTranslation("statusFixingDiacriticCharactersKerning"),100)
|
||||||
|
fixDiacriticKerning
|
||||||
statusIndicator.Start(getTranslation("statusCleaningManualFormatting"),100)
|
statusIndicator.Start(getTranslation("statusCleaningManualFormatting"),100)
|
||||||
cleanFormatting
|
cleanFormatting
|
||||||
statusIndicator.Start(getTranslation("statusReplaceWhiteBackground"),100)
|
statusIndicator.Start(getTranslation("statusReplaceWhiteBackground"),100)
|
||||||
|
@ -329,12 +334,18 @@ Private Sub unicodeSymbolsConversion
|
||||||
'Extended latin-1 0080—00FF
|
'Extended latin-1 0080—00FF
|
||||||
'Cyrillic unicode block range \u0400-\u04FF
|
'Cyrillic unicode block range \u0400-\u04FF
|
||||||
'Basic Latin \u0020-\u007E
|
'Basic Latin \u0020-\u007E
|
||||||
'Combining diacritical marks 0301 0304 0323 032e 0331 035f
|
'Combining diacritical marks 0301 0304 0303 0323 032e 0331 035f
|
||||||
|
combiningDiacritic_Astra = "\u0301\u0303\u0304\u0308\u0323\u032e\u0331\u0341\u035f"
|
||||||
|
Dim extendedLatinA_Astra As String
|
||||||
|
extendedLatinA_Astra = "\u1e15\u1e17\u1e53\u0129\u0169"
|
||||||
|
'
|
||||||
|
'
|
||||||
|
'
|
||||||
'General Punctuation \u2000-\u206f
|
'General Punctuation \u2000-\u206f
|
||||||
'Latin Extended A \u0100-\u017f
|
'Latin Extended A \u0100-\u017f
|
||||||
'\u02bb Modifier Letter Turned Comma is in IPH Astra
|
'\u02bb Modifier Letter Turned Comma is in IPH Astra
|
||||||
' unicodeConversionEverywhere("[\u0020-\u007F]+",RAtts)
|
' unicodeConversionEverywhere("[\u0020-\u007F]+",RAtts)
|
||||||
unicodeConversionEverywhere("[\u0020-\u007f\u0080-\u00ff\u0400-\u04ff\u2000-\u206f\u2100-\u214f\u0301\u0304\u0323\u032e\u0331\u0341\u035f\u02bb\u0100-\u017f]+",RAtts)
|
unicodeConversionEverywhere("[\u0020-\u007f\u0080-\u00ff\u0400-\u04ff\u2000-\u206f\u2100-\u214f\u02bb\u0100-\u017f" & combiningDiacritic_Astra & extendedLatinA_Astra &"]+",RAtts)
|
||||||
'Arabic Scheherazade
|
'Arabic Scheherazade
|
||||||
'Arabic Presentation Forms-A fb50-fdff
|
'Arabic Presentation Forms-A fb50-fdff
|
||||||
'Arabic Presentation Forms-B fe70-feff
|
'Arabic Presentation Forms-B fe70-feff
|
||||||
|
@ -459,15 +470,24 @@ Sub removeAllFields()
|
||||||
field = fieldEnum.nextElement()
|
field = fieldEnum.nextElement()
|
||||||
field.dispose()
|
field.dispose()
|
||||||
Wend
|
Wend
|
||||||
End sub
|
End Sub
|
||||||
|
|
||||||
|
Public Const RX_Greek_letters = "\u0388-\u03ce"
|
||||||
|
Public Const RX_Latin_up_alphabet = "\u0041-\u005a"
|
||||||
|
Public Const RX_Latin_low_alphabet = "\u0061-\u007a"
|
||||||
|
Public Const RX_Cyrillic_alphabet = "\u0410-\u044f"
|
||||||
|
Public Const RX_Comma = "\u002c"
|
||||||
|
Public Const RX_Digits = "\u0030-\u0039"
|
||||||
|
Public Const RX_Roman_numbers = "MDCLXVI"
|
||||||
|
Public Const RX_Letters_Dash = "[" & RX_Latin_up_alphabet & RX_Latin_low_alphabet & RX_Cyrillic_alphabet & RX_Greek_letters & "]"
|
||||||
|
Public Const RX_Letters = "[" & RX_Latin_up_alphabet & RX_Latin_low_alphabet & RX_Cyrillic_alphabet & RX_Greek_letters & "]"
|
||||||
|
|
||||||
Private Sub fixFrequentMistakes
|
Private Sub fixFrequentMistakes
|
||||||
Dim config As Object
|
Dim config As Object
|
||||||
config = initRedactionConfiguration()
|
config = initRedactionConfiguration()
|
||||||
Dim NBSP As String
|
Dim NBSP As String
|
||||||
Dim space As String
|
Dim space As String
|
||||||
Dim latinPlusCyrillicLettersRegExp As String
|
|
||||||
latinPlusCyrillicLettersRegExp = "[\u0041-\u005a\u0061-\u007a\u0410-\u044f]"
|
|
||||||
NBSP = " "
|
NBSP = " "
|
||||||
space = " "
|
space = " "
|
||||||
'Не должно быть символов табуляции
|
'Не должно быть символов табуляции
|
||||||
|
@ -484,19 +504,21 @@ Private Sub fixFrequentMistakes
|
||||||
AskAndReplace("[:space:]+(?=[\.,;:?!\)\]\}»¡¿”’])","")
|
AskAndReplace("[:space:]+(?=[\.,;:?!\)\]\}»¡¿”’])","")
|
||||||
'Не должно быть пробелов после скобок [({ и кавычек «„
|
'Не должно быть пробелов после скобок [({ и кавычек «„
|
||||||
AskAndReplace("(?<=[\(\[\{«„])[:space:]","")
|
AskAndReplace("(?<=[\(\[\{«„])[:space:]","")
|
||||||
'Между буквами среднее тире должно обрамляться пробелами
|
'Между буквами среднее или длинное тире должно быть замененено на среднее и обрамлено пробелами
|
||||||
AskAndReplace("(?<=" & latinPlusCyrillicLettersRegExp & ")–(?=" & latinPlusCyrillicLettersRegExp & ")",NBSP & "–" & NBSP)
|
AskAndReplace("(?<=" & RX_Letters_Dash & ")[—–]+(?=.)",NBSP & "–" & NBSP)
|
||||||
'Между буквами дефис-минус, цифровое тире и длинное тире заменяется на среднее тире
|
AskAndReplace("(?<=.)[—–]+(?=" & RX_Letters_Dash & ")",NBSP & "–" & NBSP)
|
||||||
AskAndReplace("(?<=" & latinPlusCyrillicLettersRegExp & "[:space:])[-‒—−](?=[:space:]" & latinPlusCyrillicLettersRegExp & ")","–")
|
'Между буквами дефисы-минусы, цифровые тире, средние тире и длинные тире заменяются на одно среднее тире
|
||||||
|
AskAndReplace("(?<=" & RX_Letters_Dash & "[:space:])[-‒—−–]+(?=[:space:].)","–")
|
||||||
|
AskAndReplace("(?<=.[:space:])[-‒—−–]+(?=[:space:]" & RX_Letters_Dash & ")","–")
|
||||||
'Между двумя цифрами и тире не долнжо быть пробелов. А также тире должно быть цифровым.
|
'Между двумя цифрами и тире не долнжо быть пробелов. А также тире должно быть цифровым.
|
||||||
'Также проверяем, что перед искомым тире нет DOI
|
'Также проверяем, что перед искомым тире нет DOI
|
||||||
'''''AskAndReplace("(?<!DOI[0-9. /XVI:-‒–—−-]{1,50})(?<=[:digit:])(?:[:space:])?[-‒–—−](?:[:space:])?(?=[:digit:])","‒")
|
'''''AskAndReplace("(?<!DOI[0-9. /XVI:-‒–—−-]{1,50})(?<=[:digit:])(?:[:space:])?[-‒–—−](?:[:space:])?(?=[:digit:])","‒")
|
||||||
'Между двумя римскими цифрами и тире между ними не долнжо быть пробелов. А также тире должно быть средним
|
'Между двумя римскими цифрами и тире между ними не долнжо быть пробелов. А также тире должно быть средним
|
||||||
AskAndReplace("(?<=[MDCLXVI])(?:[:space:])?[-‒–—−](?:[:space:])?(?=[MDCLXVI])","–")
|
AskAndReplace("(?<=[" & RX_Roman_numbers & "])(?:[:space:])?[-‒–—−]+(?:[:space:])?(?=[" & RX_Roman_numbers & "])","–")
|
||||||
'Между буквой и угловой открывающейся скобкой должен быть пробел
|
'Между буквой и угловой открывающейся скобкой должен быть пробел
|
||||||
AskAndReplace("(?<=" & latinPlusCyrillicLettersRegExp & ")<(?=…>)",space & "<")
|
AskAndReplace("(?<=" & RX_Letters & ")<(?=…>)",space & "<")
|
||||||
'Между угловой закрывающейся скобкой и буквой должен быть пробел
|
'Между угловой закрывающейся скобкой и буквой должен быть пробел
|
||||||
AskAndReplace("(?<=<…)>(?=" & latinPlusCyrillicLettersRegExp & ")",">" & space)
|
AskAndReplace("(?<=<…)>(?=" & RX_Letters & ")",">" & space)
|
||||||
|
|
||||||
If config.getPropertyValue("fixes_russian_iph") = "true" Then
|
If config.getPropertyValue("fixes_russian_iph") = "true" Then
|
||||||
'между N. Y. не должно быть пробела
|
'между N. Y. не должно быть пробела
|
||||||
|
@ -2101,4 +2123,67 @@ Function fixColoredBackgroundInDoc() As Boolean
|
||||||
EndIf
|
EndIf
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
Sub fixDiacriticKerning
|
||||||
|
Dim oSearch As Object
|
||||||
|
Dim oFound As Object
|
||||||
|
Dim oPara As Object
|
||||||
|
oSearch = ThisComponent.createSearchDescriptor()
|
||||||
|
oSearch.SearchString = "[\u0300-\u036F]"
|
||||||
|
oSearch.SearchRegularExpression=True
|
||||||
|
oSearch.searchAll=True
|
||||||
|
oFound = ThisComponent.findFirst(oSearch)
|
||||||
|
Do While Not IsNull(oFound)
|
||||||
|
oPara = oFound.TextParagraph
|
||||||
|
fixDiacriticKerningInPara(oPara)
|
||||||
|
oFound = ThisComponent.findNext(oFound.End, oSearch)
|
||||||
|
Loop
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub fixDiacriticKerningInPara(oPara As Object)
|
||||||
|
Dim paraEnum As Object
|
||||||
|
Dim portion As Object
|
||||||
|
Dim prevPortion As Object
|
||||||
|
paraEnum = oPara.createEnumeration
|
||||||
|
If paraEnum.hasMoreElements Then
|
||||||
|
prevPortion = paraEnum.nextElement
|
||||||
|
While paraEnum.hasMoreElements
|
||||||
|
portion = paraEnum.nextElement
|
||||||
|
While isFirstCharDiacritic(portion)
|
||||||
|
moveFirstCharacter(portion, prevPortion)
|
||||||
|
Wend
|
||||||
|
prevPortion = portion
|
||||||
|
Wend
|
||||||
|
EndIf
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Function isFirstCharDiacritic(portion As Object) As Boolean
|
||||||
|
isFirstCharDiacritic = false
|
||||||
|
Dim portionText As String
|
||||||
|
Dim diaLowBound As Long
|
||||||
|
Dim diaHighBound As Long
|
||||||
|
Dim charNum As Long
|
||||||
|
diaLowBound = 768
|
||||||
|
diaHighBound = 879
|
||||||
|
portionText = portion.String
|
||||||
|
If Len(portionText) = 0 Then
|
||||||
|
Exit Function
|
||||||
|
EndIf
|
||||||
|
charNum = Asc(portionText)
|
||||||
|
If charNum >= diaLowBound And charNum <= diaHighBound Then
|
||||||
|
isFirstCharDiacritic = true
|
||||||
|
EndIf
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Sub moveFirstCharacter(portion As Object, prevPortion As Object)
|
||||||
|
Dim prevEnd As Object
|
||||||
|
Dim nextStart As Object
|
||||||
|
prevEnd = prevPortion.getEnd()
|
||||||
|
prevEnd.String = Left(portion.String,1)
|
||||||
|
nextStart = portion.Text.createTextCursorByRange(portion.Start)
|
||||||
|
nextStart.goRight(1,true)
|
||||||
|
nextStart.setString("")
|
||||||
|
End Sub
|
||||||
|
|
||||||
</script:module>
|
</script:module>
|
|
@ -1,10 +1,10 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
|
<!DOCTYPE dlg:window PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "dialog.dtd">
|
||||||
<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="CleaningDialog" dlg:left="107" dlg:top="22" dlg:width="237" dlg:height="265" dlg:help-text="&21.CleaningDialog.HelpText" dlg:closeable="true" dlg:moveable="true" dlg:title="&22.CleaningDialog.Title">
|
<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="CleaningDialog" dlg:left="107" dlg:top="22" dlg:width="237" dlg:height="285" dlg:help-text="&21.CleaningDialog.HelpText" dlg:closeable="true" dlg:moveable="true" dlg:title="&22.CleaningDialog.Title">
|
||||||
<dlg:bulletinboard>
|
<dlg:bulletinboard>
|
||||||
<dlg:button dlg:id="Cancel" dlg:tab-index="0" dlg:left="28" dlg:top="251" dlg:width="40" dlg:height="12" dlg:value="Отмена" dlg:button-type="cancel"/>
|
<dlg:button dlg:id="Cancel" dlg:tab-index="0" dlg:left="28" dlg:top="271" dlg:width="40" dlg:height="12" dlg:value="Отмена" dlg:button-type="cancel"/>
|
||||||
<dlg:button dlg:id="CommandButton1" dlg:tab-index="1" dlg:left="24" dlg:top="180" dlg:width="2" dlg:height="0" dlg:value="CommandButton1"/>
|
<dlg:button dlg:id="CommandButton1" dlg:tab-index="1" dlg:left="24" dlg:top="180" dlg:width="2" dlg:height="0" dlg:value="CommandButton1"/>
|
||||||
<dlg:button dlg:id="OK" dlg:tab-index="2" dlg:left="92" dlg:top="251" dlg:width="40" dlg:height="12" dlg:value="OK" dlg:button-type="ok"/>
|
<dlg:button dlg:id="OK" dlg:tab-index="2" dlg:left="92" dlg:top="271" dlg:width="40" dlg:height="12" dlg:value="OK" dlg:button-type="ok"/>
|
||||||
<dlg:checkbox dlg:id="fontsInStyles" dlg:tab-index="3" dlg:left="11" dlg:top="10" dlg:width="218" dlg:height="7" dlg:value="Заменить названия шрифтов в стилях" dlg:checked="false"/>
|
<dlg:checkbox dlg:id="fontsInStyles" dlg:tab-index="3" dlg:left="11" dlg:top="10" dlg:width="218" dlg:height="7" dlg:value="Заменить названия шрифтов в стилях" dlg:checked="false"/>
|
||||||
<dlg:checkbox dlg:id="removeLinks" dlg:tab-index="6" dlg:left="11" dlg:top="60" dlg:width="218" dlg:height="7" dlg:value="Удалить гиперссылки" dlg:checked="false"/>
|
<dlg:checkbox dlg:id="removeLinks" dlg:tab-index="6" dlg:left="11" dlg:top="60" dlg:width="218" dlg:height="7" dlg:value="Удалить гиперссылки" dlg:checked="false"/>
|
||||||
<dlg:checkbox dlg:id="cleanFormatting" dlg:tab-index="5" dlg:left="11" dlg:top="30" dlg:width="218" dlg:height="7" dlg:value="Очистить форматирование" dlg:checked="false"/>
|
<dlg:checkbox dlg:id="cleanFormatting" dlg:tab-index="5" dlg:left="11" dlg:top="30" dlg:width="218" dlg:height="7" dlg:value="Очистить форматирование" dlg:checked="false"/>
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
<dlg:checkbox dlg:id="removeManualPageBreaks" dlg:tab-index="15" dlg:left="11" dlg:top="160" dlg:width="218" dlg:height="7" dlg:value="Удалить все разрывы страниц" dlg:checked="false"/>
|
<dlg:checkbox dlg:id="removeManualPageBreaks" dlg:tab-index="15" dlg:left="11" dlg:top="160" dlg:width="218" dlg:height="7" dlg:value="Удалить все разрывы страниц" dlg:checked="false"/>
|
||||||
<dlg:checkbox dlg:id="replaceWhiteBackground" dlg:tab-index="16" dlg:left="11" dlg:top="40" dlg:width="218" dlg:height="7" dlg:value="Заменить белый фон символов на прозрачный" dlg:checked="false"/>
|
<dlg:checkbox dlg:id="replaceWhiteBackground" dlg:tab-index="16" dlg:left="11" dlg:top="40" dlg:width="218" dlg:height="7" dlg:value="Заменить белый фон символов на прозрачный" dlg:checked="false"/>
|
||||||
<dlg:checkbox dlg:id="removeBasic" dlg:tab-index="17" dlg:left="11" dlg:top="170" dlg:width="218" dlg:height="7" dlg:value="Удалить макросы" dlg:checked="false"/>
|
<dlg:checkbox dlg:id="removeBasic" dlg:tab-index="17" dlg:left="11" dlg:top="170" dlg:width="218" dlg:height="7" dlg:value="Удалить макросы" dlg:checked="false"/>
|
||||||
<dlg:button dlg:id="buttonLoad" dlg:tab-index="18" dlg:left="158" dlg:top="251" dlg:width="65" dlg:height="12" dlg:value="loadTemplate">
|
<dlg:button dlg:id="buttonLoad" dlg:tab-index="18" dlg:left="158" dlg:top="271" dlg:width="65" dlg:height="12" dlg:value="loadTemplate">
|
||||||
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Redaction.Configuration.configureStyleFileDialog?language=Basic&location=application" script:language="Script"/>
|
<script:event script:event-name="on-performaction" script:macro-name="vnd.sun.star.script:Redaction.Configuration.configureStyleFileDialog?language=Basic&location=application" script:language="Script"/>
|
||||||
</dlg:button>
|
</dlg:button>
|
||||||
<dlg:checkbox dlg:id="removeAllFields" dlg:tab-index="19" dlg:left="11" dlg:top="180" dlg:width="218" dlg:height="7" dlg:value="Удалить все поля" dlg:checked="false"/>
|
<dlg:checkbox dlg:id="removeAllFields" dlg:tab-index="19" dlg:left="11" dlg:top="180" dlg:width="218" dlg:height="7" dlg:value="Удалить все поля" dlg:checked="false"/>
|
||||||
|
@ -30,6 +30,7 @@
|
||||||
<dlg:checkbox dlg:id="convertFontsToCharStyles" dlg:tab-index="23" dlg:left="11" dlg:top="210" dlg:width="218" dlg:height="7" dlg:value="Конвертировать шрифты в стили символов" dlg:checked="false"/>
|
<dlg:checkbox dlg:id="convertFontsToCharStyles" dlg:tab-index="23" dlg:left="11" dlg:top="210" dlg:width="218" dlg:height="7" dlg:value="Конвертировать шрифты в стили символов" dlg:checked="false"/>
|
||||||
<dlg:checkbox dlg:id="fixBrokenCharBackTransparent" dlg:tab-index="24" dlg:left="11" dlg:top="220" dlg:width="218" dlg:height="7" dlg:value="fixBrokenCharBackTransparent" dlg:checked="false"/>
|
<dlg:checkbox dlg:id="fixBrokenCharBackTransparent" dlg:tab-index="24" dlg:left="11" dlg:top="220" dlg:width="218" dlg:height="7" dlg:value="fixBrokenCharBackTransparent" dlg:checked="false"/>
|
||||||
<dlg:checkbox dlg:id="removeNotTransparentBackgrounds" dlg:tab-index="25" dlg:left="11" dlg:top="50" dlg:width="218" dlg:height="7" dlg:value="Удалить непрозрачные фоны в тексте" dlg:checked="false"/>
|
<dlg:checkbox dlg:id="removeNotTransparentBackgrounds" dlg:tab-index="25" dlg:left="11" dlg:top="50" dlg:width="218" dlg:height="7" dlg:value="Удалить непрозрачные фоны в тексте" dlg:checked="false"/>
|
||||||
<dlg:text dlg:id="description" dlg:tab-index="26" dlg:left="11" dlg:top="231" dlg:width="217" dlg:height="16" dlg:value="Label1" dlg:multiline="true"/>
|
<dlg:text dlg:id="description" dlg:tab-index="26" dlg:left="11" dlg:top="251" dlg:width="217" dlg:height="16" dlg:value="Label1" dlg:multiline="true"/>
|
||||||
|
<dlg:checkbox dlg:id="fixDiacriticKerning" dlg:tab-index="27" dlg:left="11" dlg:top="230" dlg:width="218" dlg:height="7" dlg:value="Fix diacritic kerning" dlg:checked="false"/>
|
||||||
</dlg:bulletinboard>
|
</dlg:bulletinboard>
|
||||||
</dlg:window>
|
</dlg:window>
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
||||||
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Configuration" script:language="StarBasic" script:moduleType="normal">Public Const redactionExtensionName = "cleanAndValidate"
|
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Configuration" script:language="StarBasic" script:moduleType="normal">Public Const redactionExtensionName = "cleanAndValidate"
|
||||||
Public Const redactionExtensionVersion = "0.10.0"
|
Public Const redactionExtensionVersion = "0.10.11"
|
||||||
Public Const template_name_monography = "Монография"
|
Public Const template_name_monography = "Монография"
|
||||||
Public Const template_name_pj = "Философский журнал"
|
Public Const template_name_pj = "Философский журнал"
|
||||||
Public Const template_name_pq = "Вопросы философии"
|
Public Const template_name_pq = "Вопросы философии"
|
||||||
|
@ -10,10 +10,13 @@ Public Const template_name_hpe = "Историко-философский
|
||||||
Public Const template_name_pr = "Философия религии"
|
Public Const template_name_pr = "Философия религии"
|
||||||
Public Const template_name_fnit = "Философия науки и техники"
|
Public Const template_name_fnit = "Философия науки и техники"
|
||||||
Public Const template_name_pa = "Философская антропология"
|
Public Const template_name_pa = "Философская антропология"
|
||||||
Public Const template_name_pcr = "Путь цивилизационного развития"
|
Public Const template_name_pcr = "Проблемы цивилизационного развития"
|
||||||
Public Const template_name_eifn = "Эпистемология и философия науки"
|
Public Const template_name_eifn = "Эпистемология и философия науки"
|
||||||
Public Const template_name_et = "Этическая мысль"
|
Public Const template_name_et = "Этическая мысль"
|
||||||
|
Public Const template_name_ephe = "Электронная философская энциклопедия"
|
||||||
|
Public Const template_name_iph_big = "Большой формат издания"
|
||||||
Public Const template_manual = "custom_selected_template"
|
Public Const template_manual = "custom_selected_template"
|
||||||
|
Public Const articles_path = "/templates/articles/"
|
||||||
|
|
||||||
Function initRedactionConfiguration()
|
Function initRedactionConfiguration()
|
||||||
On Error Goto exceptionHandler
|
On Error Goto exceptionHandler
|
||||||
|
@ -323,16 +326,19 @@ End Function
|
||||||
|
|
||||||
Function getTemplateNames() As Variant
|
Function getTemplateNames() As Variant
|
||||||
Dim names() As String
|
Dim names() As String
|
||||||
AddToArray(names, template_name_monography)
|
' AddToArray(names, template_name_monography)
|
||||||
AddToArray(names, template_name_pq)
|
AddToArray(names, template_name_pq)
|
||||||
AddToArray(names, template_name_hp)
|
AddToArray(names, template_name_hp)
|
||||||
AddToArray(names, template_name_hpe)
|
AddToArray(names, template_name_hpe)
|
||||||
AddToArray(names, template_name_pr)
|
AddToArray(names, template_name_pr)
|
||||||
AddToArray(names, template_name_fnit)
|
AddToArray(names, template_name_fnit)
|
||||||
AddToArray(names, template_name_pa)
|
AddToArray(names, template_name_pa)
|
||||||
|
AddToArray(names, template_name_pj)
|
||||||
AddToArray(names, template_name_pcr)
|
AddToArray(names, template_name_pcr)
|
||||||
AddToArray(names, template_name_eifn)
|
AddToArray(names, template_name_eifn)
|
||||||
AddToArray(names, template_name_et)
|
AddToArray(names, template_name_et)
|
||||||
|
AddToArray(names, template_name_ephe)
|
||||||
|
AddToArray(names, template_name_iph_big)
|
||||||
getTemplateNames = names
|
getTemplateNames = names
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
@ -351,14 +357,44 @@ Function getTemplateFile(templateName As String) As String
|
||||||
fileName = config.getPropertyValue("defaultTemplate")
|
fileName = config.getPropertyValue("defaultTemplate")
|
||||||
getTemplateFile = getTemplatePath() & "/" & fileName
|
getTemplateFile = getTemplatePath() & "/" & fileName
|
||||||
Exit Function
|
Exit Function
|
||||||
Case template_name_pj
|
|
||||||
getTemplateFile = extensionPath() & "/templates/articles/default_article_template_ru.ott"
|
|
||||||
Exit Function
|
|
||||||
Case template_name_eifn
|
Case template_name_eifn
|
||||||
getTemplateFile = extensionPath() & "/templates/articles/статья_журнала_ЭиФН.ott"
|
getTemplateFile = extensionPath() & articles_path & "статья_эифн.ott"
|
||||||
|
Exit Function
|
||||||
|
Case template_name_fnit
|
||||||
|
getTemplateFile = extensionPath() & articles_path & "статья_фнит.ott"
|
||||||
|
Exit Function
|
||||||
|
Case template_name_pa
|
||||||
|
getTemplateFile = extensionPath() & articles_path & "статья_фа.ott"
|
||||||
|
Exit Function
|
||||||
|
Case template_name_pj
|
||||||
|
getTemplateFile = extensionPath() & articles_path & "статья_фж.ott"
|
||||||
|
Exit Function
|
||||||
|
Case template_name_et
|
||||||
|
getTemplateFile = extensionPath() & articles_path & "статья_эм.ott"
|
||||||
|
Exit Function
|
||||||
|
Case template_name_pq
|
||||||
|
getTemplateFile = extensionPath() & articles_path & "статья_вф.ott"
|
||||||
|
Exit Function
|
||||||
|
Case template_name_pr
|
||||||
|
getTemplateFile = extensionPath() & articles_path & "статья_фр.ott"
|
||||||
|
Exit Function
|
||||||
|
Case template_name_pcr
|
||||||
|
getTemplateFile = extensionPath() & articles_path & "статья_пцр.ott"
|
||||||
|
Exit Function
|
||||||
|
Case template_name_hp
|
||||||
|
getTemplateFile = extensionPath() & articles_path & "статья_иф.ott"
|
||||||
|
Exit Function
|
||||||
|
Case template_name_hpe
|
||||||
|
getTemplateFile = extensionPath() & articles_path & "статья_ифе.ott"
|
||||||
|
Exit Function
|
||||||
|
Case template_name_ephe
|
||||||
|
getTemplateFile = extensionPath() & articles_path & "статья_эфэ.ott"
|
||||||
|
Exit Function
|
||||||
|
Case template_name_iph_big
|
||||||
|
getTemplateFile = extensionPath() & "/templates/books/большой_формат_для_архива.ott"
|
||||||
Exit Function
|
Exit Function
|
||||||
Case Else
|
Case Else
|
||||||
getTemplateFile = extensionPath() & "/templates/articles/default_article_template_ru.ott"
|
getTemplateFile = extensionPath() & articles_path & "статья.ott"
|
||||||
Exit Function
|
Exit Function
|
||||||
End Select
|
End Select
|
||||||
End Function
|
End Function
|
||||||
|
|
|
@ -344,6 +344,12 @@ Function getRussian(identifier As String) As String
|
||||||
Case "templateChosen"
|
Case "templateChosen"
|
||||||
getRussian = "Выбран шаблон"
|
getRussian = "Выбран шаблон"
|
||||||
Exit Function
|
Exit Function
|
||||||
|
Case "statusFixingDiacriticCharactersKerning"
|
||||||
|
getRussian = "Исправляем комбинирование с диакритическими символами"
|
||||||
|
Exit Function
|
||||||
|
Case "fixDiacriticKerning"
|
||||||
|
getRussian = "Исправить комбинирование с диакритическими символами"
|
||||||
|
Exit Function
|
||||||
Case Else
|
Case Else
|
||||||
getRussian = "Перевод не найден"
|
getRussian = "Перевод не найден"
|
||||||
End Select
|
End Select
|
||||||
|
@ -670,6 +676,12 @@ Function getEnglish(identifier As String) As String
|
||||||
Case "templateChosen"
|
Case "templateChosen"
|
||||||
getEnglish = "Selected template"
|
getEnglish = "Selected template"
|
||||||
Exit Function
|
Exit Function
|
||||||
|
Case "statusFixingDiacriticCharactersKerning"
|
||||||
|
getEnglish = "Fixing the combination with diacritics "
|
||||||
|
Exit Function
|
||||||
|
Case "fixDiacriticKerning"
|
||||||
|
getEnglish = "Fix combining with diacritic characters"
|
||||||
|
Exit Function
|
||||||
Case Else
|
Case Else
|
||||||
getEnglish = "No translation"
|
getEnglish = "No translation"
|
||||||
End Select
|
End Select
|
||||||
|
@ -995,6 +1007,12 @@ Function getCroatian(identifier As String) As String
|
||||||
Case "templateChosen"
|
Case "templateChosen"
|
||||||
getCroatian = "Izabrani šablon"
|
getCroatian = "Izabrani šablon"
|
||||||
Exit Function
|
Exit Function
|
||||||
|
Case "statusFixingDiacriticCharactersKerning"
|
||||||
|
getCroatian = "Popravljanje kombinacije s dijakritičkim znakovima"
|
||||||
|
Exit Function
|
||||||
|
Case "fixDiacriticKerning"
|
||||||
|
getCroatian = "Ispravite kombiniranje s naglašenim likovima"
|
||||||
|
Exit Function
|
||||||
Case Else
|
Case Else
|
||||||
getCroatian = "No translation"
|
getCroatian = "No translation"
|
||||||
End Select
|
End Select
|
||||||
|
@ -1320,6 +1338,12 @@ Function getSerbian(identifier As String) As String
|
||||||
Case "templateChosen"
|
Case "templateChosen"
|
||||||
getSerbian = "Изабрани шаблон"
|
getSerbian = "Изабрани шаблон"
|
||||||
Exit Function
|
Exit Function
|
||||||
|
Case "statusFixingDiacriticCharactersKerning"
|
||||||
|
getSerbian = "Ispravljanje kombinacije sa dijakritičkim znacima "
|
||||||
|
Exit Function
|
||||||
|
Case "fixDiacriticKerning"
|
||||||
|
getSerbian = "Ispravite kombiniranje s naglašenim likovima"
|
||||||
|
Exit Function
|
||||||
Case Else
|
Case Else
|
||||||
getSerbian = "No translation"
|
getSerbian = "No translation"
|
||||||
End Select
|
End Select
|
||||||
|
@ -1645,6 +1669,12 @@ Function getBosnian(identifier As String) As String
|
||||||
Case "templateChosen"
|
Case "templateChosen"
|
||||||
getBosnian = "Izabrani šablon"
|
getBosnian = "Izabrani šablon"
|
||||||
Exit Function
|
Exit Function
|
||||||
|
Case "statusFixingDiacriticCharactersKerning"
|
||||||
|
getBosnian = "Popravljanje kombinacije s dijakritičkim znakovima"
|
||||||
|
Exit Function
|
||||||
|
Case "fixDiacriticKerning"
|
||||||
|
getBosnian = "Ispravite kombiniranje s naglašenim likovima"
|
||||||
|
Exit Function
|
||||||
Case Else
|
Case Else
|
||||||
getBosnian = "No translation"
|
getBosnian = "No translation"
|
||||||
End Select
|
End Select
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
||||||
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Validation" script:language="StarBasic">Sub markval30
|
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Validation" script:language="StarBasic">Sub markval31
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
@ -770,11 +769,9 @@ Sub fontReportButton
|
||||||
Exit sub
|
Exit sub
|
||||||
EndIf
|
EndIf
|
||||||
Dim FileName As String
|
Dim FileName As String
|
||||||
FileName = getCharsInFont(targetFontName)
|
getCharsInFont(targetFontName)
|
||||||
statusIndicator.end()
|
statusIndicator.end()
|
||||||
If FileName <> "" Then
|
|
||||||
openReport(FileName)
|
|
||||||
EndIf
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub onSelectFont(oEvent)
|
Sub onSelectFont(oEvent)
|
||||||
|
@ -914,7 +911,7 @@ Sub addToArray(xArray(),vNextElement)
|
||||||
xArray(iUB) = vNextElement
|
xArray(iUB) = vNextElement
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Function getCharsInFont(fontName As String) As String
|
Sub getCharsInFont(fontName As String)
|
||||||
Dim resultArray() As String
|
Dim resultArray() As String
|
||||||
Dim pageNums() As Long
|
Dim pageNums() As Long
|
||||||
Dim firstPages() As Long
|
Dim firstPages() As Long
|
||||||
|
@ -1000,43 +997,30 @@ Function getCharsInFont(fontName As String) As String
|
||||||
EndIf
|
EndIf
|
||||||
Next j
|
Next j
|
||||||
Next i
|
Next i
|
||||||
resultString = ""
|
|
||||||
For i = LBound(resultArray) To UBound(resultArray)
|
|
||||||
resultString = resultString & "<a href='https://unicode-table.com/ru/" & resultArray(i) & "'" & ">https://unicode-table.com/ru/" & resultArray(i) & "</a> " & getTranslation("charFirstPage") & " " & pageNums(i) & "<br>" & Chr(10)
|
|
||||||
Next i
|
|
||||||
|
|
||||||
If resultString <> "" Then
|
If resultString <> "" Then
|
||||||
'MsgBox "Символы в шрифте "& fontName &Chr(10)&resultString
|
Dim newDocCursor As Object
|
||||||
Dim FileName As String 'Holds the file name
|
Dim newDoc As Object
|
||||||
Dim n As Integer 'Holds the file number
|
newDoc = starDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, Array())
|
||||||
Dim f As Integer 'Index variable
|
newDocCursor = newDoc.getCurrentController().getViewCursor()
|
||||||
Dim s As String 'Temporary string for input
|
newDocCursor.String = getTranslation("symbolsInFontHeading") & " " & fontName
|
||||||
Dim fileaccess As Object
|
newDocCursor.ParaStyleName = "Heading 1"
|
||||||
Dim outtextstream As Object
|
newDocCursor.collapseToEnd()
|
||||||
Dim out As Object
|
newDocCursor.Text.insertControlCharacter(newDocCursor.End,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False)
|
||||||
|
For i = LBound(resultArray) To UBound(resultArray)
|
||||||
Dim sTemp$
|
newDocCursor.ParaStyleName = "Text body"
|
||||||
GlobalScope.BasicLibraries.loadLibrary("Tools")
|
newDocCursor.String = "https://unicode-table.com/ru/" & resultArray(i)
|
||||||
path=DirectoryNameoutofPath(ThisComponent.getURL(),"/")
|
newDocCursor.HyperLinkURL = "https://unicode-table.com/ru/" & resultArray(i)
|
||||||
FileName = path & "/symbolsInFont" & fontName & ".html"
|
newDocCursor.collapseToEnd()
|
||||||
'n = FreeFile() 'Next free file number
|
newDocCursor.String = " " & getTranslation("charFirstPage") & " " & pageNums(i)
|
||||||
'Open FileName For Output Access Read Write As #n 'Open for read/write
|
newDocCursor.collapseToEnd()
|
||||||
fileaccess = createUnoService ("com.sun.star.ucb.SimpleFileAccess")
|
newDocCursor.Text.insertControlCharacter(newDocCursor.End,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False)
|
||||||
outtextstream = createUnoService ("com.sun.star.io.TextOutputStream")
|
Next i
|
||||||
outtextstream.setEncoding( "UTF-8" )
|
Exit Sub
|
||||||
out = fileaccess.openFileWrite( FileName )
|
|
||||||
outtextstream.setOutputStream( out )
|
|
||||||
outtextstream.writeString( "<html><head><title>" & getTranslation("symbolsInFontHeading") & " "& fontName & "</title></head><body><h2>" & getTranslation("symbolsInFontHeading") & " "& fontName &":</h2>"&resultString &"</body></html>" )
|
|
||||||
outtextstream.closeOutput()
|
|
||||||
getCharsInFont = FileName
|
|
||||||
Exit Function
|
|
||||||
|
|
||||||
Else
|
Else
|
||||||
MsgBox getTranslation("symbolsInFontNotFound1") & " " & fontName & " " & getTranslation("symbolsInFontNotFound2")
|
MsgBox getTranslation("symbolsInFontNotFound1") & " " & fontName & " " & getTranslation("symbolsInFontNotFound2")
|
||||||
getCharsInFont = ""
|
|
||||||
Exit Function
|
|
||||||
EndIf
|
EndIf
|
||||||
End Function
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
Function findBadCharacters() As Boolean
|
Function findBadCharacters() As Boolean
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
|
apply plugin: 'java'
|
||||||
task oxt(type: Zip) {
|
task oxt(type: Zip) {
|
||||||
dependsOn = [ 'setVersion','setVersionInBasicCode' ]
|
dependsOn = [ 'setVersion','setVersionInBasicCode' ]
|
||||||
archiveName 'cleanAndValidate.oxt'
|
archiveFileName = 'cleanAndValidate.oxt'
|
||||||
|
destinationDirectory = file("./")
|
||||||
from './'
|
from './'
|
||||||
include '*'
|
include '*'
|
||||||
include '*/*'
|
include '*/*'
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
<description xmlns="http://openoffice.org/extensions/update/2006"
|
<description xmlns="http://openoffice.org/extensions/update/2006"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
<identifier value="pro.litvinovg.Redaction"/>
|
<identifier value="pro.litvinovg.Redaction"/>
|
||||||
<version value="0.9.37" />
|
<version value="0.10.11" />
|
||||||
<update-download>
|
<update-download>
|
||||||
<src xlink:href="https://dev.litvinovg.pro/litvinovg/cleanandvalidate/uploads/1e0dc8e6899835eca2ba546c22725eba/cleanAndValidate.oxt" />
|
<src xlink:href="https://dev.litvinovg.pro/litvinovg/cleanandvalidate/uploads/330066acb026243a8a0eab002de1a1f3/cleanAndValidate.oxt" />
|
||||||
</update-download>
|
</update-download>
|
||||||
<release-notes>
|
<release-notes>
|
||||||
<src xlink:href="https://dev.litvinovg.pro/litvinovg/cleanandvalidate/-/raw/master/releasenotes.txt" lang="en" />
|
<src xlink:href="https://dev.litvinovg.pro/litvinovg/cleanandvalidate/-/raw/master/releasenotes.txt" lang="en" />
|
||||||
|
|
172
description.xml
172
description.xml
|
@ -5,13 +5,28 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<identifier value="pro.litvinovg.Redaction"/>
|
<identifier value="pro.litvinovg.Redaction"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<version value="0.10.0"/>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<version value="0.10.11"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,156 +38,286 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<display-name>
|
<display-name>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<name lang="en">Cleaning and validation documents for publishing in html and epub with pagination</name>
|
<name lang="en">Cleaning and validation documents for publishing in html and epub with pagination</name>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<name lang="ru">Чистка и проверка документов для издания в html и epub с сохранением пагинации</name>
|
<name lang="ru">Чистка и проверка документов для издания в html и epub с сохранением пагинации</name>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</display-name>
|
</display-name>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<registration>
|
<registration>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<simple-license accept-by="admin" suppress-if-required="true" suppress-on-update="true">
|
<simple-license accept-by="admin" suppress-if-required="true" suppress-on-update="true">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<license-text lang="en" xlink:href="license_en.txt"/>
|
<license-text lang="en" xlink:href="license_en.txt"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<license-text lang="ru" xlink:href="license_ru.txt"/>
|
<license-text lang="ru" xlink:href="license_ru.txt"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</simple-license>
|
</simple-license>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</registration>
|
</registration>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<OpenOffice.org-minimal-version dep:name="OpenOffice.org, LibreOffice 4.1 or later" value="4.1"/>
|
<OpenOffice.org-minimal-version dep:name="OpenOffice.org, LibreOffice 4.1 or later" value="4.1"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<update-information>
|
<update-information>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<src xlink:href="https://dev.litvinovg.pro/litvinovg/cleanandvalidate/-/raw/master/cleanandvalidate.update.xml"/>
|
<src xlink:href="https://dev.litvinovg.pro/litvinovg/cleanandvalidate/-/raw/master/cleanandvalidate.update.xml"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</update-information>
|
</update-information>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<publisher>
|
<publisher>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<name lang="en" xlink:href="mailto:public@litvinovg.pro">Georgy Litvinov</name>
|
<name lang="en" xlink:href="mailto:public@litvinovg.pro">Georgy Litvinov</name>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</publisher>
|
</publisher>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<release-notes>
|
<release-notes>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<src lang="en" xlink:href="releasenotes.txt"/>
|
<src lang="en" xlink:href="releasenotes.txt"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</release-notes>
|
</release-notes>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<extension-description>
|
<extension-description>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<src lang="ru" xlink:href="description/description_ru.txt"/>
|
<src lang="ru" xlink:href="description/description_ru.txt"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<src lang="en" xlink:href="description/description_en.txt"/>
|
<src lang="en" xlink:href="description/description_en.txt"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</extension-description>
|
</extension-description>
|
||||||
|
|
||||||
|
|
||||||
|
@ -180,28 +325,53 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<icon>
|
<icon>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<default xlink:href="icons/addon_icon.svg"/>
|
<default xlink:href="icons/addon_icon.svg"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<high-contrast xlink:href="icons/addon_icon.svg"/>
|
<high-contrast xlink:href="icons/addon_icon.svg"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</icon>
|
</icon>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</description>
|
</description>
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
version=0.10.0
|
version=0.10.11
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
The author of this extension is:
|
The author of this extension is:
|
||||||
Georgy Litvinov (public@litvinovg.pro)
|
Georgy Litvinov (public@litvinovg.pro)
|
||||||
Copyright 20212121212121212121212121212121212121212121n 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.
|
Copyright 2021 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.
|
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.
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
BIN
templates/articles/статья.ott
Normal file
BIN
templates/articles/статья.ott
Normal file
Binary file not shown.
BIN
templates/articles/статья_вф.ott
Normal file
BIN
templates/articles/статья_вф.ott
Normal file
Binary file not shown.
Binary file not shown.
BIN
templates/articles/статья_иф.ott
Normal file
BIN
templates/articles/статья_иф.ott
Normal file
Binary file not shown.
BIN
templates/articles/статья_ифе.ott
Normal file
BIN
templates/articles/статья_ифе.ott
Normal file
Binary file not shown.
BIN
templates/articles/статья_пцр.ott
Normal file
BIN
templates/articles/статья_пцр.ott
Normal file
Binary file not shown.
BIN
templates/articles/статья_фа.ott
Normal file
BIN
templates/articles/статья_фа.ott
Normal file
Binary file not shown.
BIN
templates/articles/статья_фж.ott
Normal file
BIN
templates/articles/статья_фж.ott
Normal file
Binary file not shown.
BIN
templates/articles/статья_фнит.ott
Normal file
BIN
templates/articles/статья_фнит.ott
Normal file
Binary file not shown.
BIN
templates/articles/статья_фр.ott
Normal file
BIN
templates/articles/статья_фр.ott
Normal file
Binary file not shown.
BIN
templates/articles/статья_эифн.ott
Normal file
BIN
templates/articles/статья_эифн.ott
Normal file
Binary file not shown.
BIN
templates/articles/статья_эм.ott
Normal file
BIN
templates/articles/статья_эм.ott
Normal file
Binary file not shown.
BIN
templates/articles/статья_эфэ.ott
Normal file
BIN
templates/articles/статья_эфэ.ott
Normal file
Binary file not shown.
BIN
templates/books/большой_формат_для_архива.ott
Normal file
BIN
templates/books/большой_формат_для_архива.ott
Normal file
Binary file not shown.
BIN
translations.ods
BIN
translations.ods
Binary file not shown.
Loading…
Add table
Reference in a new issue