Filewatcher File Search
FTP Search
  
Directory 
  
Content Search 
   
pkg://howto-russian-7.2-1.noarch.rpm:1958150/usr/share/doc/HOWTO/translations/ru/html/Cyrillic-HOWTO/Cyrillic-HOWTO-10.html  info  downloads

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.6">
 <TITLE>The Linux Cyrillic HOWTO: Совместимость</TITLE>
 <LINK HREF="Cyrillic-HOWTO-11.html" REL=next>
 <LINK HREF="Cyrillic-HOWTO-9.html" REL=previous>
 <LINK HREF="Cyrillic-HOWTO.html#toc10" REL=contents>
</HEAD>
<BODY>
<A HREF="Cyrillic-HOWTO-11.html">Next</A>
<A HREF="Cyrillic-HOWTO-9.html">Previous</A>
<A HREF="Cyrillic-HOWTO.html#toc10">Contents</A>
<HR>
<H2><A NAME="s10">10. Совместимость</A></H2>

<P>
<!--
Кириллица!совместимость
-->
<P>Следовать стандарту это еще не все. В реальной жизни надо обеспечить еще 
и обратную совместимость. В нашем случае, это означает, что наши
настройки не должны препятствовать созданию данных, с помощью
других кодировок, отличных от стандартной. Это могут быть данные
в <B>Alt (cp866)</B> или в <B>cp1251</B>.  Также должна быть возможность
запускать русскоязычные программы из MS-DOS. 
<P>В большинстве случаев (кроме HTTP), достаточно обеспечить конвертацию данных
в <B>KOI8-R</B>. Если мы говорим о данных с простой структурной организацией,
то это просто - смотрите раздел 
<A HREF="#conversion">Символьная перекодировка</A>.
<P>
<P>Другое дело это данные с определенной структурой. В этом случае действия
не так тривиальны. Я попробую описать стандартные подходы для решения
этой проблемы.
<P>
<H2><A NAME="mime"></A> <A NAME="ss10.1">10.1 MIME-based data compatibility</A>
</H2>

<H2><A NAME="mime"></A> <A NAME="ss10.2">10.2 Совместимость данных в MIME формате</A>
</H2>

<P>
<!--
Кириллица!совместимость!MIME формат
-->
<P><B>MIME</B> формат - стандартное архитектурно независимое представление
данных. Первоначально это представление данных было разработано для
письменных сообщений, а сейчас его используют и в других местах. Стандарт
MIME определяет формат, который открыт для расширений и позволяет
поддержку и работу со специфическими данными. Например, если я послал
письмо, содержащее <B>MIME объект</B> <CODE>video/mpeg</CODE> типа (MPEG файлы),
моя программа приема электронных сообщений автоматически декодирует его
и запустит MPEG проигрыватель.
<P>Большинство  UNIX программ, предлагающих MIME сервис, для этих целей
используют пакет <CODE>metamail</CODE>, который содержит набор утилит
и файлов данных для работы с объектами MIME.  Несколько файлов конфигурации
(<CODE>/etc/mailcap</CODE> - для системной настройки и <CODE>~/.mailcap</CODE> -
для пользовательской настройки) определяют директивы для  работы с объектами
MIME различных типов.
<P>Поэтому, если вы получили поток  MIME данных, содержащий текст в одной
из устаревших кодировок, вы можите определить соответствующие MIME-директивы
для конвертации такого текста в KOI8.
<P>Ниже перечислены MIME-законы, которые описывают правила работы с
обычными текстами и текстами в richtext формате, использующих
не особенно нужные (устаревшие) кодировки, описанные выше. Вы можете
вставить эти директивы в один из файлов конфигурации MIME.
<P>Обратите внимание: Эти директивы используют пакет <CODE>translit</CODE>,
для того, чтобы производить само преобразование. Для более
полной информации об этой программе и для информации по перекодировки
смотрите раздел 
<A HREF="#conversion">Символьная перекодировка</A>.
<P>
<PRE>
text/plain; translit -t cp1251-koi8.rus &lt; %s; test=test \
    "`echo %{charset} | tr '[A-Z]' '[a-z]'`"  = cp1251; copiousoutput

text/richtext; translit -t cp1251-koi8.rus &lt; %s; test=test \
    "`echo %{charset} | tr '[A-Z]' '[a-z]'`"  = cp1251; copiousoutput

text/plain; translit -t alt-koi8.rus &lt; %s; test=test \
    "`echo %{charset} | tr '[A-Z]' '[a-z]'`"  = cp866; copiousoutput

text/richtext; translit -t alt-koi8.rus &lt; %s; test=test \
    "`echo %{charset} | tr '[A-Z]' '[a-z]'`"  = cp866; copiousoutput

text/plain; translit -t alt-koi8.rus &lt; %s; test=test \
    "`echo %{charset} | tr '[A-Z]' '[a-z]'`"  = alt; copiousoutput

text/richtext; translit -t alt-koi8.rus &lt; %s; test=test \
    "`echo %{charset} | tr '[A-Z]' '[a-z]'`"  = alt; copiousoutput
</PRE>
<P>Достаточно, это работает только в случае обычного текст. Бинарные
файлы данных должны сами отрабатывать данные в различных кодировках
(По крайней мере, это должны делать программы, создавшие их). Поэтому
если вы послали файл Microsoft Word в кодировке <B>cp1251</B>,
то с этим должна разобраться программа, в которой вы читаете этот текст
(Например M$ Word или Applix Words).
<P>К несчастью действительная ситуация далека от идеала. Много программных
продуктов имеют собственные идеи по поводу того, как использовать
MIME. До недавнего времени Microsoft Mail использовал испорченный
механизм работы с MIME. Хотя и Netscape Navigator/Communicator
клиент отправки/приема сообщений известен тем, что шлет текст письма
в <B>cp1251</B>, а его заголовок в <EM>charset=koi8-r</EM> кодировки
и наоборот.
<P>
<H2><A NAME="conversion"></A> <A NAME="ss10.3">10.3 Символьная перекодировка</A>
</H2>

<P>
<!--
Cyrillic!compatibility!character conversion
-->
<P>В Internet можно найти множество программ, перекодирующих кириллические
тексты. Каждая из них имеет свою изюминку и отличается степенью
поддержки кириллицы.
<P>С моей точки зрения утилиты должны быть стандартными. В нашем, частном,
случае такой "стандартной" утилитой является <CODE>GNU recode</CODE>. К несчастью
версия, которая "обитает" на официальном GNU сайте (3.4) пока не поддерживает
кириллицу (только <B>ISO-8859-5</B>). Я сделал набор таблиц перекодировки
для <B>KOI8-R</B>, <B>Alt</B>, и <B>cp1251</B> и послал их <CODE>recode</CODE> - координатору.
Он обещал обеспечить поддержку кириллицы в следующем релизе программы.
Как только это случится, то я перепишу этот параграф, для того чтобы
рекомендовать
<CODE>GNU recode</CODE>, как стандартную утилиту перекодировки для кириллицы.
<P>Тем временем,  я  пока  рекомендую  пакет   
<A HREF="ftp://ftp.osc.edu/pub/russian/translit/translit.tar.Z">translit</A>.    Он
поддерживает много популярных кодировок и  даже  способен  создавать
TeX файлы (см. раздел 
<A HREF="Cyrillic-HOWTO-7.html#tex">tex</A>
) на русском языке.  Кроме  того,  для
пользователей RedHat существует RPMка - 
<A HREF="ftp://ftp.redhat.com/pub/contrib/i386/translit-1.03-1.i386.rpm">RPM package</A>.
<P>Для других программ преобразования - загляните на страничку 
<A HREF="http://www.siber.com/sib/russify/">SovInformBureau</A>
или на  
<A HREF="ftp://ftp.funet.fi/pub/culture/russian/comp/converters/">ftp.funet.fi</A>. Вы даже можете использовать специальную моду
для  <CODE>emacs</CODE> (Смотрите раздел 
<A HREF="Cyrillic-HOWTO-4.html#emacs">Emacs и XEmacs</A>).
<P>
<P>
<H2><A NAME="win_fs"></A> <A NAME="ss10.4">10.4 Кириллические имена файлов в файловой системе M$ Windows</A>
</H2>

<P>
<!--
Кириллицы!Файловая система M$ Windows
-->
<P>Windows имеет возможность давать имена файлов в кодировке Unicode,
поэтому пользователи могут давать осмысленные имена своим файлам.
Linux, однако не дает полной поддержки для Unicode, поэтому если вы
монтируете диск Windows <EM>VFAT</EM>, то вы увидите что подобные имена
состоят из вопросительных знаков и прочего мусора.
<P>Эдесь указан путь как получить правильное преобразование:
<P>
<OL>
<LI>Убедитесь, что ваше ядро скомпилирована с поддержкой  codepage
(в частности с поддержкой кодовых страниц 866 и KOI8-R)
</LI>
<LI>Добавьте следующие опции при выполнении mount команды  <CODE>mount</CODE>:

<PRE>
codepage=866,iocharset=koi8-r
</PRE>

</LI>
</OL>
<P>Для подробностей смотрите <CODE>Documentation/filesystems/vfat.txt</CODE>
в исходниках ядра Linux.
<P>
<P>
<H2><A NAME="dosemu"></A> <A NAME="ss10.5">10.5 Поддержка кириллицы в  DOS эмуляторе</A>
</H2>

<P>
<!--
Кириллица!DOS эмулятор
-->
<P>Это, видимо, единственный программный продукт, которые требует
присутствия <CODE>Alt</CODE> кодировки. Основанием является то, что <CODE>Alt</CODE>-
это родная кириллическая кодовая страница DOS. Большенство программ,
работающих в DOS с кириллицей ориентированы на <CODE>Alt</CODE>.
<P>Для  консольной  версии  (<CODE>dos</CODE>)  вы  должны  загрузить    только
клавиатуру и экранный драйвер.  Большинство драйверов  DOS  будет
прекрасно работать.  Я лично использую <CODE>rk</CODE>  драйвер  А.  Страхова,
который работает  и  для  консоли,  и  X  версии <CODE>dosemu</CODE>.  Другая
альтернатива  это <CODE>r</CODE>  драйвер  Вадима  Курлянда.    Он    прекрасно
настраивается и поддерживает много кодировок в том числе,  <CODE>Alt</CODE>  и
<CODE>KOI8</CODE>. Однако он не будет работать для X Windows (по крайней  мере
версия 1.14, которую я использую, (Примечание переводчика: сейчас есть
версия 2.0 этого драйвера и его развитие прекращено).
<P>Оба  русификатора  можно  найти  на  большинстве    Российских
Internet архивах, например на 
<A HREF="ftp://ftp.kiae.su/pub/cyrillic/msdos">ftp архиве Курчатовского  Института Ядерной Физики</A>.
<P>Для  Xовых  версии <CODE>dosemu</CODE>  вы    должны    установить
соответствующий X шрифт.  Алексей Богданов прислал мне такой шрифт
по электронной почте.  Это - родной  шрифт  <CODE>vga</CODE>  из  дистрибутива
<CODE>dosemu</CODE>, измененный для <CODE>Alt</CODE> кодировки.  К сожалению я не знаю, кто
автор этого шрифта и где его официальная страничка. Я помещу этот шрифт
в мой каталог на 
<A HREF="!!!">авторской страничке</A><P>Для установки шрифтов для  <CODE>dosemu</CODE> вы должны
To setup the font for <CODE>dosemu</CODE> you should
<P>
<UL>
<LI>Сделайте этот шрифт доступным X. серверу, как это сделать описано в
<A HREF="Cyrillic-HOWTO-3.html#xfonts">Настройка шрифтов X Windows</A>.
</LI>
<LI>Прикрутитe  этот  шрифт к  <CODE>dosemu</CODE>.  Если  шрифт  только  заменяет
первоначальный шрифт <CODE>vga</CODE>,  то  он  будет  опознан  по  умолчанию.
Иначе, вы должны описать его в <CODE>/etc/dosemu.conf</CODE>::

<PRE>
# Font to use (without filename extensions). For example:
X { updatefreq 8 title "MS DOS" icon_name "xdos" font "vga-alt"}
</PRE>

</LI>
</UL>
<P>И  в  заключение,  вы  должны  загрузить  драйвер   клавиатуры.
Обратите внимание, вам не нужны  экранные  драйверы  в  X  окне.
Не все драйверы будут работать,  но по  крайней  мере
два из них будут: <CODE>rk</CODE> А. Страхова, и <CODE>cyrkeyb</CODE> Pete Kvitek.
<P>
<P>
<HR>
<A HREF="Cyrillic-HOWTO-11.html">Next</A>
<A HREF="Cyrillic-HOWTO-9.html">Previous</A>
<A HREF="Cyrillic-HOWTO.html#toc10">Contents</A>
</BODY>
</HTML>
Results 1 - 1
Help - FTP Sites List - Software Dir.
Searching half a billion files worldwide
© 1997-2009 MARUHN Internet Solutions