LinuxForum.Fans
Тема

Типографика в Libre Office Writer

Автор: Rizado 35 сообщений 10126 просмотров
#295101
rizado написал:
[quote=karl_muenhgausen]Скопипастить не?

Прошу прощения, но Вы не поняли вопроса :) .
Требуется не использование средств автозамены (о которых я, поверьте, знаю и которые у меня настроены), а именно автоматическое форматирование текста при вводе.[/quote]

Вы искренне верите, что кроме автозамены (ну, пусть, пробел_дефис_пробел на em dash) существуют операционные системы и текстовые редакторы с искусственным интеллектом, который за Вас будет знать, какой именно символ Вы имели ввиду при наборе? Спешу разочаровать. Это не к комьютерам, это в Хогвартс.

#295109
karl_muenhgausen написал:
Вы искренне верите, что кроме автозамены (ну, пусть, пробел_дефис_пробел на em dash) существуют операционные системы и текстовые редакторы с искусственным интеллектом, который за Вас будет знать, какой именно символ Вы имели ввиду при наборе? Спешу разочаровать. Это не к комьютерам, это в Хогвартс.

Не верю :) . Мне нужно именно короткое тире по всему тексту, и при этом не хочу пользоваться автозаменой "--". Word это делает идеально, вот и спросил, можно ли такое же сделать во Writer.

#295112

Если соберётесь править грязным хаком виндовый бинарник, там это выглядит примерно так:

text

?FnChgToEnEmDash@SvxAutoCorrect@@QAEEAAV push        028 ;'('
.1009A61A: B8C2AF0F10                     mov         eax,0100FAFC2 --1
.1009A61F: E807080400                     call       .0100DAE2B --2
.1009A624: 8BF1                           mov         esi,ecx
.1009A626: 8975E4                         mov         [ebp][-01C],esi
.1009A629: 33FF                           xor         edi,edi
.1009A62B: 897DEC                         mov         [ebp][-014],edi
.1009A62E: FF7518                         push        d,[ebp][018]
.1009A631: C645F300                       mov         b,[ebp][-00D],0
.1009A635: E8EBFFF7FF                     call        ?GetCharClass@SvxAutoCorrect@@QAEAAVCharClass@@G@Z --3
.1009A63A: 8945E0                         mov         [ebp][-020],eax
.1009A63D: 66397D18                       cmp         [ebp][018],di
.1009A641: 7515                           jnz        .01009A658 --4
.1009A643: 6A01                           push        1
.1009A645: E806ECFFFF                     call       .010099250 --5
.1009A64A: 8BC8                           mov         ecx,eax
.1009A64C: FF15BC931010                   call        LanguageTag::getLanguageType
.1009A652: 0FB7C0                         movzx       eax,ax
.1009A655: 894518                         mov         [ebp][018],eax
.1009A658: 66397E54                      4cmp         [esi][054],di
.1009A65C: 741A                           jz         .01009A678 --6
.1009A65E: B819040000                     mov         eax,000000419
.1009A663: 66394518                       cmp         [ebp][018],ax
.1009A667: 7409                           jz         .01009A672 --7
.1009A669: 83C009                         add         eax,9
.1009A66C: 66394518                       cmp         [ebp][018],ax
.1009A670: 7506                           jnz        .01009A678 --6
.1009A672: C645F201                      7mov         b,[ebp][-00E],1
.1009A676: EB04                           jmps       .01009A67C --8
.1009A678: C645F200                      6mov         b,[ebp][-00E],0
.1009A67C: 66397E56                      8cmp         [esi][056],di
.1009A680: 8B3DC8941010                   mov         edi,rtl_uString_newFromStr_WithLength --9
.1009A686: 8B5510                         mov         edx,[ebp][010]
.1009A689: 0F84DF040000                   jz         .01009AB6E --A

Собственно проверка на русский язык и присвоение bAlwaysUseEmDash значения TRUE :

text

.1009A65E: B819040000                     mov         eax,000000419
.1009A663: 66394518                       cmp         [ebp][018],ax
.1009A667: 7409                           jz         .01009A672 --7
...
.1009A672: C645F201                      7mov         b,[ebp][-00E],1

Достаточно инвертировать условие jz на jnz или jmps и вуаля...


PS. Уплата некоторого количества денег за труды по достижению интересующего результата рассматриваются в качестве "использования иных средств"?

#295117
bormant написал:
Если соберётесь править грязным хаком виндовый бинарник, там это выглядит примерно так:

Не собираюсь. Для винды есть Word, где всё работает. Да и Trial никто не отменял для 2010-й версии ;) . А под Linux буду разбираться сам, интересно знать изнутри.

#295139

А что мешает модифицировать под себя нужную раскладку клавиатуры и вводить нужные знаки, не пользуясь автозаменой и т. п.? Скажем, прописать:

text
    key    <AE11> {    [        minus,    underscore,        emdash,    endash]    }; 

И вводить тире с помощью ShiftLvl3+-, а ndash — с помощью Shift+ShiftLvl3+-.

«Заметки на полях клавиатуры» в помощь.

#295142
"gabix" написал:
А что мешает модифицировать под себя нужную раскладку клавиатуры и вводить нужные знаки, не пользуясь автозаменой и т. п.? Скажем, прописать:

key <AE11> { [ minus, underscore, emdash, endash] };

И вводить тире с помощью ShiftLvl3+-, а ndash — с помощью Shift+ShiftLvl3+-.

до здравствую новые велосипеды, а почему бы не использовать комбинацию из 10 или 20 клавиш?

#295143
"i2ks" написал:
до здравствую новые велосипеды, а почему бы не использовать комбинацию из 10 или 20 клавиш?

:D
Лучше, в дополнение к клаве, ещё три педали под стол!

#295149
gabix написал:
А что мешает модифицировать под себя нужную раскладку клавиатуры и вводить нужные знаки, не пользуясь автозаменой и т. п.?

Нафига? Вроде Compose никто не отменял.

#295155
"karl_muenhgausen" написал:
Вроде Compose никто не отменял.

Да на здоровье. Только с Compose это будет три последовательных нажатия по одной клавише (типа Compose - -), а с ShiftLvl3 — одновременное нажатие двух (трёх) клавиш. Мне это удобнее, тем более что под Compose могу выделить только что-то периферийное типа ScrollLock, для часто используемых символов неудобно.

#295157
"gabix" написал:
Только с Compose это будет три последовательных нажатия по одной клавише (типа Compose - -), а с ShiftLvl3 — одновременное нажатие двух (трёх) клавиш.

Я привык, на «автомате» ввожу ;)
Наверное, не до конца понял проблему: у меня в LibreOffice ввод двух подряд обычных дефисов даёт «короткое» тире; когда же мне надо ввести «длинное» тире, я использую Compose

#295221
-=Serj=- написал:
[quote="i2ks"]до здравствую новые велосипеды, а почему бы не использовать комбинацию из 10 или 20 клавиш?

:D
Лучше, в дополнение к клаве, ещё три педали под стол![/quote]
Для того, кто учился в музшколе на фортепиано, это как раз не проблема ;) .

Lupo Alberto написал:

Наверное, не до конца понял проблему

Проблема в том, чтобы сделать на одном компьютере (лично мой) такой же ввод, как и на остальных, где мне приходится работать, и не только мне. По этой причине перенастраивать остальные компьютеры не получится.
Или же, как я убедился, сделать это нереально, и для работы придётся использовать Word.

Почему не подходит автозамена? Потому, что при относительно не маленькой скорости набора текста (порядка 400 знаков в минуту) достаточно сложно на ходу вспоминать все варианты автозамены и автоформатирования. Да и привык, что такие мелочи программа делает за меня и именно в нужном мне варианте.

P.S. При более чем 10-летней работе с Word-ом тоже "на автомате" всё набираю уже.

#295224
rizado написал:
При более чем 10-летней работе с Word-ом тоже "на автомате" всё набираю уже.

То есть, ключевое слово не Ворд, а опыт работы. В Ворде тоже автозамена, поверьте. Просто интерфейс немного другой. Чесслово, за 22 года (начиная с Word for Windows 2) я в этом убедился.

#295226
karl_muenhgausen написал:
То есть, ключевое слово не Ворд, а опыт работы. В Ворде тоже автозамена, поверьте. Просто интерфейс немного другой. Чесслово, за 22 года (начиная с Word for Windows 2) я в этом убедился.

Если для Вас это критически важно, пусть будет так :) . Вторая причина - однообразие на всех используемых компьютерах.

Дело в том, что вопрос изначально был поставлен однозначно - как сделать именно такой вариант? И хочется без патчей файлов, чтобы обновления ставились. А по какой причине - не столь важно.

#295295

rizado,
вот не понимаю вас, хоть убейте...
С одной стороны продекларировали цель: "Хочу тонзилэктомию только ректально везде и всегда", получили внятное направление, дающее именно желаемый результат.
Теперь сокрушаетесь, что с "точкой входа" что-то не так :[ Вы б, честное слово, определились уже как-то с соотношением желаний и их воплощений, а то на анекдот начинает походить:
-- Рыбка, хочу, чтобы было много воды, хочу быть белым, хочу чтобы передо мной все время раздевались женщины.
-- ...
(q)

#388165

А вариант не подходит просто в автозамену добавить правило - на короткое тире.
Вроде работает как в Word или я что-то не догоняю.

Правда правила с -- и --- не работают при этом.

Не надо дублировать сообщения из темы в ЛС. Я и здесь прочитаю.

// Rizado

Войдите или зарегистрируйтесь, чтобы ответить.