我有几个.DOC
格式的文件,其中包括英文和梵文(梵文)中的单词。我正在使用LibreOffice Writer:
Version: 5.1.4.2
Build ID: 1:5.1.4-0ubuntu1
Locale: en-US (en_GB.UTF-8)
默认字体为Liberation Serif
,我喜欢并希望继续使用,但有些梵语/梵文字样无法正确显示。有些字体可以正确显示梵文/梵文字,例如Akshar Unicode
。因此,无法正确显示的字词,我将字体更改为Akshar Unicode
,方法是突出显示每个字词,不正确的字词,然后将字体从Liberation Serif
更改为Akshar Unicode
,这是一项繁琐的工作。效率低下的方法。
是否有更有效的方法来更改某些字词的字体?
到目前为止,我尝试了两种方法,这两种方法似乎都无法更改搜索结果的字体或替换文字:
[CTRL] + [H]
以使用Find & Replace
工具。Alternate searching 1.4.1
,这是一个类似于Find & Replace
的工具,但更复杂。理想情况下,Find & Replace
工具可以更改搜索结果或替换文字的字体。
答案 0 :(得分:0)
以下宏选择文档中任何位置的当前所选单词。然后它设置字体。
Sub ChangeFontOfWords
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
oSels = ThisComponent.getCurrentSelection()
oSel = oSels.getByIndex(0)
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "SearchItem.SearchString"
args1(0).Value = oSel.getText()
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "CharFontName.FamilyName"
args2(0).Value = "Akshar Unicode"
dispatcher.executeDispatch(document, ".uno:CharFontName", "", 0, args2())
End Sub
要使用它,请双击一个单词以将其选中,然后运行该宏。为方便起见,请转到Tools -> Customize
并设置热键或工具栏按钮以运行宏。