Como alterar a codificação de texto padrão do LibreOffice?

2

Eu quero alterar a codificação de texto padrão usada pelo LibreOffice ao salvar um documento como um documento de texto. Onde posso encontrar essa configuração?

Eu quero que seja UTF-8 SEM o BOM, que eu acredito ser chamado ASCII / US no LibreOffice.

Eu faço saber que existe uma opção de codificação de texto onde você pode (em teoria, se realmente funcionou) escolher a codificação de cada arquivo simples. Eu tenho três problemas com isso:

  • Não funciona corretamente. Ou seja na maioria das vezes não mostra nenhum popup onde você pode escolher a codificação e apenas salva como se você tivesse escolhido a opção Text. Talvez uma vez em dez tentativas mostre o pop-up.
  • Eu apenas edito arquivos de texto simples e uso o LibreOffice apenas para verificação ortográfica (e contagem de palavras). Todos os arquivos que eu sempre irei escrever devem ser codificados com UTF-8 sem a BOM, então eu gostaria de evitar perder tempo toda vez selecionando manualmente esta opção.
  • Se eu tenho um arquivo codificado corretamente em UTF-8 sem a BOM, e então tento salvá-lo usando, por exemplo, Ctrl + S o arquivo será salvo automaticamente usando a codificação padrão Text que salva o arquivo como BOM UTF-8 com , que quebra o arquivo. O LibreOffice deve preservar a codificação do arquivo e salvar o arquivo como UTF-8 sem a BOM. Ter que usar Salvar como todas as vezes é uma verdadeira perda de tempo.
por Bakuriu 18.07.2016 / 12:54

1 resposta

3

Para mostrar a caixa de diálogo de opções de codificação, vá para Salvar como ... e verifique Edit filter settings .

Para evitar a lentidão de Salvar como ... , você pode usar uma macro assim:

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

Defina-o como um botão de atalho ou da barra de ferramentas, indo para Tools -> Customize .

Ele pode ser modificado para usar uma variável global e salvar no local usado anteriormente.

UTF-8 WITHOUT the BOM, which I believe is called ASCII/US

Não, isso produz texto codificado em ASCII, o que destruirá a maioria dos caracteres Unicode.

Não vejo nenhuma opção de filtro que possa salvar sem um BOM no LibreOffice. Em vez disso, existem várias ferramentas de linha de comando, como iconv que pode remover a lista de materiais.

Se você tiver algum tempo, a melhor solução pode ser criar uma macro Python ou Java para ler o documento do Writer e gravar em um arquivo sem a BOM. Isso poderia ser feito em talvez 30 linhas de código Python, ou o dobro do código Java. Nota: Eu não recomendaria fazer isso no Basic por causa de suas más funções de manipulação de arquivos.

    
por 19.07.2016 / 01:47