[oodisc] M-dash
Alexej Kryukov
akrioukov на newmail.ru
Пн Дек 13 14:05:05 MSK 2004
On Sunday 12 December 2004 22:57, Sergey Kuznetsov wrote:
>
> Сколько я ни пытался это сделать в разных версиях OOo, результат
> каждый раз оказывался непредсказуемым. В версиях 1.0.x, к
> примеру, первые 2 дефиса заменялись на endash, а после него
> оставался 3-й :-)
Что ж, вполне логичное поведение. Однажды наступив на эти
грабли, легко сообразить, что в качестве исходной строки
для emdash надо задавать не три дефиса, а endash + дефис.
> В 1.1.x это исправилось, но все равно: в
> некоторых местах OOo заменяет эти комбинации (я экспериментировал
> с разным числом дефисом, неразрывными и обычными пробелами и
> т.п.) на тире, а в некоторых нет. И никакой видимой
> закономерности нет. Прям как в Вениках :-)
Закономерность в том, что после комбинации, подлежащей замене,
надо набрать пробел либо знак препинания. Механизм, конечно,
не очень хорошо подходит для endash в цифровых диапазонах,
но уж с длинным тире никаких проблем возникать не должно
(и не возникло, сколько я ни экспериментировал). Другое
дело, что в реальной работе я привык вместо этого пользоваться
механизмом Compose.
> > используемого драйвера клавиатуры (Alt+0151 в Винде или
> > <Compose Key>--- в Linux.
>
> А вот это уже _очень_ интересно. Просветите, что за возможности
> <Compose Key>?
Ну, сначала надо повесить Multi_key на какую-то клавишу (есть выбор
между Menu, RAlt и RWin). Например:
Option "XkbOptions" "grp:lwin_toggle,grp_led:scroll,compose:menu"
Правда, Multi_key -- это всего лишь некий условный код, который
принято использовать в качестве префикса для комбинаций, имеющих
специальное значение. Сами комбинации определяются в файле Compose
для текущей локали. Загвоздка в том, что в традиционной практике
русификации механизму Compose значения не придавалось, так что
для кириллических локалей этот файл девственно пуст. Посему у
нас два выбора:
1) всегда запускать OOo в локали UTF-8;
2) взять файл /usr/X11R6/lib/X11/locale/en_US.UTF-8/Compose
и переделать его в локаленезависимый. Для этого, оказывается,
нужно всего лишь открыть файл в редакторе и уничтожить (напр.
поиском с помощью регекспов) все закавыченные строки.
Дальше опять же два варианта, что с этим файлом делать:
а) в X 4.3 подкладываем его к нужной нам локали;
б) в X 4.4/X.org переименовываем его в .XCompose и кладем
в домашний каталог.
Файл, естественно, можно править по своему усмотрению, но
по умолчанию emdash будет набираться как <Multi_key><-><-><->,
а endash -- как <Multi_key><-><-><.>.
А вообще см. документацию к X 4.4/X.org (ключевое слово --
Compose).
--
Regards,
Alexej Kryukov <akrioukov at newmail dot ru>
Moscow State University
Historical Faculty
Подробная информация о списке рассылки Oo-discuss