Как изменить кодировку текста по умолчанию в LibreOffice?
Я хочу изменить кодировку текста по умолчанию, используемую LibreOffice при сохранении документа как текстового документа. Где я могу найти этот параметр?
Я хочу, чтобы это был UTF-8 БЕЗ спецификации, которая, как мне кажется, называется ASCII/US в LibreOffice.
Я знаю, что есть опция "Кодированный текст", где вы можете (теоретически, если это действительно работает) выбрать кодировку каждого простого файла. У меня есть три проблемы с этим:
- Это не работает должным образом. Т.е. большую часть времени он не показывает всплывающее окно, в котором вы можете выбрать кодировку, а просто сохраняет, как если бы вы выбрали опцию Text. Возможно один раз в десяти испытаниях это показывает всплывающее окно.
- Я редактирую только текстовые файлы и использую LibreOffice только для проверки орфографии (и подсчета слов). Все файлы, которые я когда-либо захочу записать, должны быть в кодировке UTF-8 без спецификации, поэтому я бы хотел избежать потери времени каждый раз, вручную выбирая эту опцию.
- Если у меня есть файл, правильно закодированный в UTF-8 без BOM, и я затем пытаюсь сохранить его, например, с помощью Ctrl + S, тогда файл будет автоматически сохранен с использованием кодировки Text по умолчанию, которая сохраняет файл как UTF-8. с спецификацией, которая разбивает файл. LibreOffice должен сохранить кодировку файла и сохранить файл как UTF-8 без спецификации. Необходимость использовать Save As каждый раз - это пустая трата времени.
1 ответ
Чтобы открыть диалоговое окно параметров кодирования, перейдите в " Сохранить как..." и проверьте 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
,
Его можно изменить, чтобы использовать глобальную переменную и сохранить в ранее используемом местоположении.
UTF-8 без спецификации, которая, как я считаю, называется ASCII/US
Нет, это создает ASCII-кодированный текст, который уничтожает большинство символов Юникода.
Я не вижу каких-либо опций фильтра, которые можно сохранить без спецификации из LibreOffice. Вместо этого есть различные инструменты командной строки, такие как iconv, которые могут удалить спецификацию.
Если у вас есть время, лучшим решением может быть создание макроса Python или Java для чтения документа Writer и записи в файл без спецификации. Это может быть сделано, возможно, в 30 строках кода Python или в два раза больше кода Java. Примечание: я бы не рекомендовал делать это в Basic из-за плохих функций обработки файлов.