web-dev-qa-db-ja.com

LibreOfficeのデフォルトのテキストエンコーディングを変更する方法

ドキュメントをテキストドキュメントとして保存するときにLibreOfficeで使用されるdefaultテキストエンコーディングを変更したい。この設定はどこにありますか?

私はそれをUTF-8にしたい[〜#〜]なし[〜#〜] BOMであると私は信じていますLibreOfficeではASCII/USと呼ばれています。

I do各プレーンファイルのエンコーディングを(理論的には実際に機能する場合)選択できるテキストエンコードオプションがあることを知っています。これには3つの問題があります。

  • それはきちんとはたらきません。つまりほとんどの場合、エンコーディングを選択できるポップアップは表示されず、テキストオプションを選択した場合と同様に保存されます。たぶん10回のトライアルに1回はポップアップが表示されます。
  • のみプレーンテキストファイルを編集し、LibreOfficeをスペルチェック(および単語のカウント)のみに使用します。これから書きたいすべてのファイルはUTF-8でエンコードされている必要がありますなし BOMなので、このオプションを手動で選択することで毎回時間を無駄にしないようにします。
  • UTF-8で正しくエンコードされたファイルがある場合なし BOMで、たとえば、次のようにして保存しようとします。 Ctrl+S 次に、ファイルはUTF-8としてファイルを保存するデフォルトのテキストエンコーディングを使用して自動的に保存されますwith BOMはファイルを破壊します。 LibreOfficeはファイルのエンコーディングを保持し、ファイルをUTF-8として保存する必要がありますなし BOM。毎回Save Asを使用する必要があるのは、時間の無駄です。
5
Bakuriu

エンコードオプションダイアログを表示するには、名前を付けて保存...に移動し、Edit filter settingsを確認します。

Save As ...の速度低下を回避するために、次のようなマクロを使用できます。

Sub SaveAsUtf8
    dim aUrl()
    dim fileProps(1) as new com.Sun.star.beans.PropertyValue
    fileProps(0).Name = "FilterName"
    fileProps(0).Name = "Text (encoded)"
    fileProps(1).Name = "FilterOptions"
    fileProps(1).Value ="UTF8,CRLF,Liberation Mono,en-US,"
    oDlg = createUnoService("com.Sun.star.ui.dialogs.FilePicker")
    oDlg.setMultiSelectionMode(false)
    oDlg.initialize(array(1))
    oDlg.execute
    aUrl = oDlg.getFiles()
    If UBound(aUrl) > -1 Then
        thisComponent.storeAsURL(aURL(0), fileProps())
    End If
End Sub

Tools -> Customizeに移動して、ホットキーまたはツールバーボタンに設定します。

グローバル変数を使用して、以前に使用した場所に保存するように変更できます。

BOMなしのUTF-8(ASCII/USと呼ばれていると思います)

いいえ、これはASCIIエンコードされたテキストを生成し、ほとんどのUnicode文字を破壊します。

LibreOfficeのBOMなしで保存できるフィルターオプションが表示されません。代わりに、BOMを削除できる iconv などのさまざまなコマンドラインツールがあります。

時間があれば、PythonまたはJavaマクロを作成してWriterドキュメントを読み取り、BOMなしでファイルに書き込むことをお勧めします。 Pythonコード、またはその2倍のJavaコード)のおそらく30行で実行できます。注:Basicでこれを実行することはお勧めしません貧弱なファイル処理機能。

4
Jim K