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"?>
|
||||
<!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
|
||||
|
||||
|
@ -50,7 +50,6 @@ Private Sub makerUpMenu
|
|||
advancedCleaningDialog.getControl("convertFontsToCharStyles").Label = getTranslation("advancedMenuconvertFontsToCharStyles")
|
||||
advancedCleaningDialog.getControl("fixBrokenCharBackTransparent").Label = getTranslation("fixBrokenCharBackTransparentMenuItem")
|
||||
advancedCleaningDialog.getControl("removeNotTransparentBackgrounds").Label = getTranslation("removeNotTransparentBackgrounds")
|
||||
advancedCleaningDialog.getControl("fixDiacriticKerning").Label = getTranslation("fixDiacriticKerning")
|
||||
advancedCleaningDialog.getControl("Cancel").Label = getTranslation("buttonCancel")
|
||||
advancedCleaningDialog.getControl("OK").Label = getTranslation("buttonOK")
|
||||
advancedCleaningDialog.getControl("buttonLoad").Label = getTranslation("buttonLoad")
|
||||
|
@ -59,7 +58,7 @@ Private Sub makerUpMenu
|
|||
advancedCleaningDialog.setVisible(true)
|
||||
Select Case advancedCleaningDialog.Execute()
|
||||
Case 1
|
||||
cleanAccordingTo(advancedCleaningDialog)
|
||||
cleanAccordingTo(dialog)
|
||||
Case 0
|
||||
End Select
|
||||
advancedCleaningDialog.dispose()
|
||||
|
@ -165,9 +164,7 @@ Private Sub cleanAccordingTo(dialog As Object)
|
|||
If dialog.getControl("removeNotTransparentBackgrounds").state = 1 Then
|
||||
fixColoredBackgroundInDoc()
|
||||
EndIf
|
||||
If dialog.getControl("fixDiacriticKerning").state = 1 Then
|
||||
fixDiacriticKerning()
|
||||
EndIf
|
||||
|
||||
|
||||
statusIndicator.end()
|
||||
saveAndreload()
|
||||
|
@ -206,8 +203,6 @@ Private Sub quietCleaning
|
|||
saveAndreload()
|
||||
statusIndicator = ThisComponent.getCurrentController.statusIndicator
|
||||
unicodeSymbolsConversion
|
||||
statusIndicator.Start(getTranslation("statusFixingDiacriticCharactersKerning"),100)
|
||||
fixDiacriticKerning
|
||||
statusIndicator.Start(getTranslation("statusCleaningManualFormatting"),100)
|
||||
cleanFormatting
|
||||
statusIndicator.Start(getTranslation("statusReplaceWhiteBackground"),100)
|
||||
|
@ -334,18 +329,12 @@ Private Sub unicodeSymbolsConversion
|
|||
'Extended latin-1 0080—00FF
|
||||
'Cyrillic unicode block range \u0400-\u04FF
|
||||
'Basic Latin \u0020-\u007E
|
||||
'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"
|
||||
'
|
||||
'
|
||||
'
|
||||
'Combining diacritical marks 0301 0304 0323 032e 0331 035f
|
||||
'General Punctuation \u2000-\u206f
|
||||
'Latin Extended A \u0100-\u017f
|
||||
'\u02bb Modifier Letter Turned Comma is in IPH Astra
|
||||
' 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 Presentation Forms-A fb50-fdff
|
||||
'Arabic Presentation Forms-B fe70-feff
|
||||
|
@ -470,24 +459,15 @@ Sub removeAllFields()
|
|||
field = fieldEnum.nextElement()
|
||||
field.dispose()
|
||||
Wend
|
||||
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 & "]"
|
||||
End sub
|
||||
|
||||
Private Sub fixFrequentMistakes
|
||||
Dim config As Object
|
||||
config = initRedactionConfiguration()
|
||||
Dim NBSP As String
|
||||
Dim space As String
|
||||
|
||||
Dim latinPlusCyrillicLettersRegExp As String
|
||||
latinPlusCyrillicLettersRegExp = "[\u0041-\u005a\u0061-\u007a\u0410-\u044f]"
|
||||
NBSP = " "
|
||||
space = " "
|
||||
'Не должно быть символов табуляции
|
||||
|
@ -504,21 +484,19 @@ Private Sub fixFrequentMistakes
|
|||
AskAndReplace("[:space:]+(?=[\.,;:?!\)\]\}»¡¿”’])","")
|
||||
'Не должно быть пробелов после скобок [({ и кавычек «„
|
||||
AskAndReplace("(?<=[\(\[\{«„])[:space:]","")
|
||||
'Между буквами среднее или длинное тире должно быть замененено на среднее и обрамлено пробелами
|
||||
AskAndReplace("(?<=" & RX_Letters_Dash & ")[—–]+(?=.)",NBSP & "–" & NBSP)
|
||||
AskAndReplace("(?<=.)[—–]+(?=" & RX_Letters_Dash & ")",NBSP & "–" & NBSP)
|
||||
'Между буквами дефисы-минусы, цифровые тире, средние тире и длинные тире заменяются на одно среднее тире
|
||||
AskAndReplace("(?<=" & RX_Letters_Dash & "[:space:])[-‒—−–]+(?=[:space:].)","–")
|
||||
AskAndReplace("(?<=.[:space:])[-‒—−–]+(?=[:space:]" & RX_Letters_Dash & ")","–")
|
||||
'Между буквами среднее тире должно обрамляться пробелами
|
||||
AskAndReplace("(?<=" & latinPlusCyrillicLettersRegExp & ")–(?=" & latinPlusCyrillicLettersRegExp & ")",NBSP & "–" & NBSP)
|
||||
'Между буквами дефис-минус, цифровое тире и длинное тире заменяется на среднее тире
|
||||
AskAndReplace("(?<=" & latinPlusCyrillicLettersRegExp & "[:space:])[-‒—−](?=[:space:]" & latinPlusCyrillicLettersRegExp & ")","–")
|
||||
'Между двумя цифрами и тире не долнжо быть пробелов. А также тире должно быть цифровым.
|
||||
'Также проверяем, что перед искомым тире нет DOI
|
||||
'''''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
|
||||
'между N. Y. не должно быть пробела
|
||||
|
@ -2123,67 +2101,4 @@ Function fixColoredBackgroundInDoc() As Boolean
|
|||
EndIf
|
||||
|
||||
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>
|
|
@ -1,10 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!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: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="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="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"/>
|
||||
|
@ -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="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: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"/>
|
||||
</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"/>
|
||||
|
@ -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="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: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: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:bulletinboard>
|
||||
</dlg:window>
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!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"
|
||||
Public Const redactionExtensionVersion = "0.10.11"
|
||||
Public Const redactionExtensionVersion = "0.10.0"
|
||||
Public Const template_name_monography = "Монография"
|
||||
Public Const template_name_pj = "Философский журнал"
|
||||
Public Const template_name_pq = "Вопросы философии"
|
||||
|
@ -10,13 +10,10 @@ Public Const template_name_hpe = "Историко-философский
|
|||
Public Const template_name_pr = "Философия религии"
|
||||
Public Const template_name_fnit = "Философия науки и техники"
|
||||
Public Const template_name_pa = "Философская антропология"
|
||||
Public Const template_name_pcr = "Проблемы цивилизационного развития"
|
||||
Public Const template_name_pcr = "Путь цивилизационного развития"
|
||||
Public Const template_name_eifn = "Эпистемология и философия науки"
|
||||
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 articles_path = "/templates/articles/"
|
||||
|
||||
Function initRedactionConfiguration()
|
||||
On Error Goto exceptionHandler
|
||||
|
@ -326,19 +323,16 @@ End Function
|
|||
|
||||
Function getTemplateNames() As Variant
|
||||
Dim names() As String
|
||||
' AddToArray(names, template_name_monography)
|
||||
AddToArray(names, template_name_monography)
|
||||
AddToArray(names, template_name_pq)
|
||||
AddToArray(names, template_name_hp)
|
||||
AddToArray(names, template_name_hpe)
|
||||
AddToArray(names, template_name_pr)
|
||||
AddToArray(names, template_name_fnit)
|
||||
AddToArray(names, template_name_pa)
|
||||
AddToArray(names, template_name_pj)
|
||||
AddToArray(names, template_name_pcr)
|
||||
AddToArray(names, template_name_eifn)
|
||||
AddToArray(names, template_name_et)
|
||||
AddToArray(names, template_name_ephe)
|
||||
AddToArray(names, template_name_iph_big)
|
||||
getTemplateNames = names
|
||||
End Function
|
||||
|
||||
|
@ -357,44 +351,14 @@ Function getTemplateFile(templateName As String) As String
|
|||
fileName = config.getPropertyValue("defaultTemplate")
|
||||
getTemplateFile = getTemplatePath() & "/" & fileName
|
||||
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
|
||||
getTemplateFile = extensionPath() & articles_path & "статья_фж.ott"
|
||||
getTemplateFile = extensionPath() & "/templates/articles/default_article_template_ru.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"
|
||||
Case template_name_eifn
|
||||
getTemplateFile = extensionPath() & "/templates/articles/статья_журнала_ЭиФН.ott"
|
||||
Exit Function
|
||||
Case Else
|
||||
getTemplateFile = extensionPath() & articles_path & "статья.ott"
|
||||
getTemplateFile = extensionPath() & "/templates/articles/default_article_template_ru.ott"
|
||||
Exit Function
|
||||
End Select
|
||||
End Function
|
||||
|
|
|
@ -344,12 +344,6 @@ Function getRussian(identifier As String) As String
|
|||
Case "templateChosen"
|
||||
getRussian = "Выбран шаблон"
|
||||
Exit Function
|
||||
Case "statusFixingDiacriticCharactersKerning"
|
||||
getRussian = "Исправляем комбинирование с диакритическими символами"
|
||||
Exit Function
|
||||
Case "fixDiacriticKerning"
|
||||
getRussian = "Исправить комбинирование с диакритическими символами"
|
||||
Exit Function
|
||||
Case Else
|
||||
getRussian = "Перевод не найден"
|
||||
End Select
|
||||
|
@ -676,12 +670,6 @@ Function getEnglish(identifier As String) As String
|
|||
Case "templateChosen"
|
||||
getEnglish = "Selected template"
|
||||
Exit Function
|
||||
Case "statusFixingDiacriticCharactersKerning"
|
||||
getEnglish = "Fixing the combination with diacritics "
|
||||
Exit Function
|
||||
Case "fixDiacriticKerning"
|
||||
getEnglish = "Fix combining with diacritic characters"
|
||||
Exit Function
|
||||
Case Else
|
||||
getEnglish = "No translation"
|
||||
End Select
|
||||
|
@ -1007,12 +995,6 @@ Function getCroatian(identifier As String) As String
|
|||
Case "templateChosen"
|
||||
getCroatian = "Izabrani šablon"
|
||||
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
|
||||
getCroatian = "No translation"
|
||||
End Select
|
||||
|
@ -1338,12 +1320,6 @@ Function getSerbian(identifier As String) As String
|
|||
Case "templateChosen"
|
||||
getSerbian = "Изабрани шаблон"
|
||||
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
|
||||
getSerbian = "No translation"
|
||||
End Select
|
||||
|
@ -1669,12 +1645,6 @@ Function getBosnian(identifier As String) As String
|
|||
Case "templateChosen"
|
||||
getBosnian = "Izabrani šablon"
|
||||
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
|
||||
getBosnian = "No translation"
|
||||
End Select
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!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
|
||||
|
||||
|
||||
|
@ -769,9 +770,11 @@ Sub fontReportButton
|
|||
Exit sub
|
||||
EndIf
|
||||
Dim FileName As String
|
||||
getCharsInFont(targetFontName)
|
||||
FileName = getCharsInFont(targetFontName)
|
||||
statusIndicator.end()
|
||||
|
||||
If FileName <> "" Then
|
||||
openReport(FileName)
|
||||
EndIf
|
||||
End Sub
|
||||
|
||||
Sub onSelectFont(oEvent)
|
||||
|
@ -911,7 +914,7 @@ Sub addToArray(xArray(),vNextElement)
|
|||
xArray(iUB) = vNextElement
|
||||
End Sub
|
||||
|
||||
Sub getCharsInFont(fontName As String)
|
||||
Function getCharsInFont(fontName As String) As String
|
||||
Dim resultArray() As String
|
||||
Dim pageNums() As Long
|
||||
Dim firstPages() As Long
|
||||
|
@ -997,30 +1000,43 @@ Sub getCharsInFont(fontName As String)
|
|||
EndIf
|
||||
Next j
|
||||
Next i
|
||||
If resultString <> "" Then
|
||||
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)
|
||||
resultString = ""
|
||||
For i = LBound(resultArray) To UBound(resultArray)
|
||||
newDocCursor.ParaStyleName = "Text body"
|
||||
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)
|
||||
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
|
||||
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
|
||||
MsgBox getTranslation("symbolsInFontNotFound1") & " " & fontName & " " & getTranslation("symbolsInFontNotFound2")
|
||||
getCharsInFont = ""
|
||||
Exit Function
|
||||
EndIf
|
||||
End Sub
|
||||
End Function
|
||||
|
||||
|
||||
Function findBadCharacters() As Boolean
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
apply plugin: 'java'
|
||||
task oxt(type: Zip) {
|
||||
dependsOn = [ 'setVersion','setVersionInBasicCode' ]
|
||||
archiveFileName = 'cleanAndValidate.oxt'
|
||||
destinationDirectory = file("./")
|
||||
archiveName 'cleanAndValidate.oxt'
|
||||
from './'
|
||||
include '*'
|
||||
include '*/*'
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
<description xmlns="http://openoffice.org/extensions/update/2006"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<identifier value="pro.litvinovg.Redaction"/>
|
||||
<version value="0.10.11" />
|
||||
<version value="0.9.37" />
|
||||
<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>
|
||||
<release-notes>
|
||||
<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"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<version value="0.10.11"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<version value="0.10.0"/>
|
||||
|
||||
|
||||
|
||||
|
@ -38,286 +23,156 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<display-name>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<name lang="en">Cleaning and validation documents for publishing in html and epub with pagination</name>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<name lang="ru">Чистка и проверка документов для издания в html и epub с сохранением пагинации</name>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</display-name>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<registration>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<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="ru" xlink:href="license_ru.txt"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</simple-license>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</registration>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<dependencies>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<OpenOffice.org-minimal-version dep:name="OpenOffice.org, LibreOffice 4.1 or later" value="4.1"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<update-information>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<src xlink:href="https://dev.litvinovg.pro/litvinovg/cleanandvalidate/-/raw/master/cleanandvalidate.update.xml"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</update-information>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<publisher>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<name lang="en" xlink:href="mailto:public@litvinovg.pro">Georgy Litvinov</name>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</publisher>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<release-notes>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<src lang="en" xlink:href="releasenotes.txt"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</release-notes>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<extension-description>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<src lang="ru" xlink:href="description/description_ru.txt"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<src lang="en" xlink:href="description/description_en.txt"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</extension-description>
|
||||
|
||||
|
||||
|
@ -325,53 +180,28 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<icon>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<default xlink:href="icons/addon_icon.svg"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<high-contrast xlink:href="icons/addon_icon.svg"/>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</icon>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</description>
|
||||
|
|
|
@ -1 +1 @@
|
|||
version=0.10.11
|
||||
version=0.10.0
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
The author of this extension is:
|
||||
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.
|
||||
|
||||
|
|
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