Compare commits
No commits in common. "master" and "0.10.5" have entirely different histories.
27 changed files with 107 additions and 415 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 mark96
|
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Clean" script:language="StarBasic">Sub mark87
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
@ -50,7 +50,6 @@ 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")
|
||||||
|
@ -59,7 +58,7 @@ Private Sub makerUpMenu
|
||||||
advancedCleaningDialog.setVisible(true)
|
advancedCleaningDialog.setVisible(true)
|
||||||
Select Case advancedCleaningDialog.Execute()
|
Select Case advancedCleaningDialog.Execute()
|
||||||
Case 1
|
Case 1
|
||||||
cleanAccordingTo(advancedCleaningDialog)
|
cleanAccordingTo(dialog)
|
||||||
Case 0
|
Case 0
|
||||||
End Select
|
End Select
|
||||||
advancedCleaningDialog.dispose()
|
advancedCleaningDialog.dispose()
|
||||||
|
@ -165,9 +164,7 @@ 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()
|
||||||
|
@ -206,8 +203,6 @@ 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)
|
||||||
|
@ -334,18 +329,12 @@ 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 0303 0323 032e 0331 035f
|
'Combining diacritical marks 0301 0304 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\u02bb\u0100-\u017f" & combiningDiacritic_Astra & extendedLatinA_Astra &"]+",RAtts)
|
unicodeConversionEverywhere("[\u0020-\u007f\u0080-\u00ff\u0400-\u04ff\u2000-\u206f\u2100-\u214f\u0301\u0304\u0323\u032e\u0331\u0341\u035f\u02bb\u0100-\u017f]+",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
|
||||||
|
@ -470,24 +459,15 @@ 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 = " "
|
||||||
'Не должно быть символов табуляции
|
'Не должно быть символов табуляции
|
||||||
|
@ -504,21 +484,19 @@ Private Sub fixFrequentMistakes
|
||||||
AskAndReplace("[:space:]+(?=[\.,;:?!\)\]\}»¡¿”’])","")
|
AskAndReplace("[:space:]+(?=[\.,;:?!\)\]\}»¡¿”’])","")
|
||||||
'Не должно быть пробелов после скобок [({ и кавычек «„
|
'Не должно быть пробелов после скобок [({ и кавычек «„
|
||||||
AskAndReplace("(?<=[\(\[\{«„])[:space:]","")
|
AskAndReplace("(?<=[\(\[\{«„])[:space:]","")
|
||||||
'Между буквами среднее или длинное тире должно быть замененено на среднее и обрамлено пробелами
|
'Между буквами среднее тире должно обрамляться пробелами
|
||||||
AskAndReplace("(?<=" & RX_Letters_Dash & ")[—–]+(?=.)",NBSP & "–" & NBSP)
|
AskAndReplace("(?<=" & latinPlusCyrillicLettersRegExp & ")–(?=" & latinPlusCyrillicLettersRegExp & ")",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("(?<=[" & RX_Roman_numbers & "])(?:[:space:])?[-‒–—−]+(?:[:space:])?(?=[" & RX_Roman_numbers & "])","–")
|
AskAndReplace("(?<=[MDCLXVI])(?:[:space:])?[-‒–—−](?:[:space:])?(?=[MDCLXVI])","–")
|
||||||
'Между буквой и угловой открывающейся скобкой должен быть пробел
|
'Между буквой и угловой открывающейся скобкой должен быть пробел
|
||||||
AskAndReplace("(?<=" & RX_Letters & ")<(?=…>)",space & "<")
|
AskAndReplace("(?<=" & latinPlusCyrillicLettersRegExp & ")<(?=…>)",space & "<")
|
||||||
'Между угловой закрывающейся скобкой и буквой должен быть пробел
|
'Между угловой закрывающейся скобкой и буквой должен быть пробел
|
||||||
AskAndReplace("(?<=<…)>(?=" & RX_Letters & ")",">" & space)
|
AskAndReplace("(?<=<…)>(?=" & latinPlusCyrillicLettersRegExp & ")",">" & space)
|
||||||
|
|
||||||
If config.getPropertyValue("fixes_russian_iph") = "true" Then
|
If config.getPropertyValue("fixes_russian_iph") = "true" Then
|
||||||
'между N. Y. не должно быть пробела
|
'между N. Y. не должно быть пробела
|
||||||
|
@ -2123,67 +2101,4 @@ 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="285" 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="265" 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="271" 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="251" 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="271" 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="251" 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="271" dlg:width="65" dlg:height="12" dlg:value="loadTemplate">
|
<dlg:button dlg:id="buttonLoad" dlg:tab-index="18" dlg:left="158" dlg:top="251" 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,7 +30,6 @@
|
||||||
<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="251" 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="231" 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.11"
|
Public Const redactionExtensionVersion = "0.10.0"
|
||||||
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,13 +10,10 @@ 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
|
||||||
|
@ -326,19 +323,16 @@ 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
|
||||||
|
|
||||||
|
@ -357,44 +351,14 @@ 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_eifn
|
|
||||||
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
|
Case template_name_pj
|
||||||
getTemplateFile = extensionPath() & articles_path & "статья_фж.ott"
|
getTemplateFile = extensionPath() & "/templates/articles/default_article_template_ru.ott"
|
||||||
Exit Function
|
Exit Function
|
||||||
Case template_name_et
|
Case template_name_eifn
|
||||||
getTemplateFile = extensionPath() & articles_path & "статья_эм.ott"
|
getTemplateFile = extensionPath() & "/templates/articles/статья_журнала_ЭиФН.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() & articles_path & "статья.ott"
|
getTemplateFile = extensionPath() & "/templates/articles/default_article_template_ru.ott"
|
||||||
Exit Function
|
Exit Function
|
||||||
End Select
|
End Select
|
||||||
End Function
|
End Function
|
||||||
|
|
|
@ -344,12 +344,6 @@ 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
|
||||||
|
@ -676,12 +670,6 @@ 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
|
||||||
|
@ -1007,12 +995,6 @@ 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
|
||||||
|
@ -1338,12 +1320,6 @@ 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
|
||||||
|
@ -1669,12 +1645,6 @@ 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,6 +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="Validation" script:language="StarBasic">Sub markval31
|
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Validation" script:language="StarBasic">Sub markval30
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
@ -769,9 +770,11 @@ Sub fontReportButton
|
||||||
Exit sub
|
Exit sub
|
||||||
EndIf
|
EndIf
|
||||||
Dim FileName As String
|
Dim FileName As String
|
||||||
getCharsInFont(targetFontName)
|
FileName = getCharsInFont(targetFontName)
|
||||||
statusIndicator.end()
|
statusIndicator.end()
|
||||||
|
If FileName <> "" Then
|
||||||
|
openReport(FileName)
|
||||||
|
EndIf
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub onSelectFont(oEvent)
|
Sub onSelectFont(oEvent)
|
||||||
|
@ -911,7 +914,7 @@ Sub addToArray(xArray(),vNextElement)
|
||||||
xArray(iUB) = vNextElement
|
xArray(iUB) = vNextElement
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub getCharsInFont(fontName As String)
|
Function getCharsInFont(fontName As String) 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
|
||||||
|
@ -997,30 +1000,43 @@ Sub getCharsInFont(fontName As String)
|
||||||
EndIf
|
EndIf
|
||||||
Next j
|
Next j
|
||||||
Next i
|
Next i
|
||||||
If resultString <> "" Then
|
resultString = ""
|
||||||
Dim newDocCursor As Object
|
|
||||||
Dim newDoc As Object
|
|
||||||
newDoc = starDesktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, Array())
|
|
||||||
newDocCursor = newDoc.getCurrentController().getViewCursor()
|
|
||||||
newDocCursor.String = getTranslation("symbolsInFontHeading") & " " & fontName
|
|
||||||
newDocCursor.ParaStyleName = "Heading 1"
|
|
||||||
newDocCursor.collapseToEnd()
|
|
||||||
newDocCursor.Text.insertControlCharacter(newDocCursor.End,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False)
|
|
||||||
For i = LBound(resultArray) To UBound(resultArray)
|
For i = LBound(resultArray) To UBound(resultArray)
|
||||||
newDocCursor.ParaStyleName = "Text body"
|
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)
|
||||||
newDocCursor.String = "https://unicode-table.com/ru/" & resultArray(i)
|
|
||||||
newDocCursor.HyperLinkURL = "https://unicode-table.com/ru/" & resultArray(i)
|
|
||||||
newDocCursor.collapseToEnd()
|
|
||||||
newDocCursor.String = " " & getTranslation("charFirstPage") & " " & pageNums(i)
|
|
||||||
newDocCursor.collapseToEnd()
|
|
||||||
newDocCursor.Text.insertControlCharacter(newDocCursor.End,com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK,False)
|
|
||||||
Next i
|
Next i
|
||||||
Exit Sub
|
|
||||||
|
If resultString <> "" Then
|
||||||
|
'MsgBox "Символы в шрифте "& fontName &Chr(10)&resultString
|
||||||
|
Dim FileName As String 'Holds the file name
|
||||||
|
Dim n As Integer 'Holds the file number
|
||||||
|
Dim f As Integer 'Index variable
|
||||||
|
Dim s As String 'Temporary string for input
|
||||||
|
Dim fileaccess As Object
|
||||||
|
Dim outtextstream As Object
|
||||||
|
Dim out As Object
|
||||||
|
|
||||||
|
Dim sTemp$
|
||||||
|
GlobalScope.BasicLibraries.loadLibrary("Tools")
|
||||||
|
path=DirectoryNameoutofPath(ThisComponent.getURL(),"/")
|
||||||
|
FileName = path & "/symbolsInFont" & fontName & ".html"
|
||||||
|
'n = FreeFile() 'Next free file number
|
||||||
|
'Open FileName For Output Access Read Write As #n 'Open for read/write
|
||||||
|
fileaccess = createUnoService ("com.sun.star.ucb.SimpleFileAccess")
|
||||||
|
outtextstream = createUnoService ("com.sun.star.io.TextOutputStream")
|
||||||
|
outtextstream.setEncoding( "UTF-8" )
|
||||||
|
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 Sub
|
End Function
|
||||||
|
|
||||||
|
|
||||||
Function findBadCharacters() As Boolean
|
Function findBadCharacters() As Boolean
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
apply plugin: 'java'
|
|
||||||
task oxt(type: Zip) {
|
task oxt(type: Zip) {
|
||||||
dependsOn = [ 'setVersion','setVersionInBasicCode' ]
|
dependsOn = [ 'setVersion','setVersionInBasicCode' ]
|
||||||
archiveFileName = 'cleanAndValidate.oxt'
|
archiveName '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.10.11" />
|
<version value="0.9.37" />
|
||||||
<update-download>
|
<update-download>
|
||||||
<src xlink:href="https://dev.litvinovg.pro/litvinovg/cleanandvalidate/uploads/330066acb026243a8a0eab002de1a1f3/cleanAndValidate.oxt" />
|
<src xlink:href="https://dev.litvinovg.pro/litvinovg/cleanandvalidate/uploads/1e0dc8e6899835eca2ba546c22725eba/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,28 +5,13 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<identifier value="pro.litvinovg.Redaction"/>
|
<identifier value="pro.litvinovg.Redaction"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<version value="0.10.0"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<version value="0.10.11"/>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -38,286 +23,156 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<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>
|
||||||
|
|
||||||
|
|
||||||
|
@ -325,53 +180,28 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<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.11
|
version=0.10.0
|
||||||
|
|
|
@ -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 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.
|
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.
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
|
|
BIN
templates/articles/default article template_ru.ott
Normal file
BIN
templates/articles/default article template_ru.ott
Normal file
Binary file not shown.
BIN
templates/articles/default_article_template_ru.ott
Normal file
BIN
templates/articles/default_article_template_ru.ott
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
templates/articles/статья_журнала_ЭиФН.ott
Normal file
BIN
templates/articles/статья_журнала_ЭиФН.ott
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
translations.ods
BIN
translations.ods
Binary file not shown.
Loading…
Add table
Reference in a new issue