Поддержка кодировки koi8-u различным программным обеспечением.

Здесь рассматривается использование различного программного обеспечения при работе с кодировкой koi8-u. Во многих случаях здесь упоминается кодировка koi8-r. Это вызвано тем, что кодировка koi8-u еще не принята как официальный стандарт, и не может поддерживаться большинством программных продуктов. В данном случае, существует близкая к koi8-u кодировка koi8-r, которая стандартизована в RFC-1489 и должна поддерживаться приложениями, работающими в Internet. Она является очень близкой к предлагаемому стандарту, и часто позволяет с минимальными измененеиями и доработками в конфигурации работать также с koi8-u.

Данный документ, в общем-то, "сырой", и требует доработки. Заранее прошу извинения за ошибки, которые Вы, возможно, здест встретите.


Проверка совместимости программного обеспечения с кодировками, и визуализация koi8-u.

  1. Просмотрите верхнюю часть кодовой таблицы koi8-u и сравните ее с тем, как ее интерпретирует ваш WWW-клиент.
  2. Проверьте, как ваш WWW-клиент обрабатывает строки <TITLE>.

  3. Выключите загрузку изображений в вашем WWW-клиенте и перейдите к этой странице теста, чтобы провериить, как ваш WWW-клиент отображает строки ALT в кодировке koi8-u (перезагрузите эту страницу несколько раз и пробовуйте захватывать текст ALT преред, загрузкой изображения). Если ваш WWW-клиент правильно поддерживает кодировку в ALT - вы увидите текст в данной кодировке (также как на изображении), иначе, вы увидите неразборчивый текст.

  4. Согласно интернационализации языка подготовки гипертекстовых документов (RFC2070), поле charset в заголовке HTTP-запроса должно отменять значение charset определенное через отметку <META ...>. Загрузите эту тестовую страницу с различным полем charsets в заголовке HTTP-запроса и метке МЕТА и посмотрите, то что в кокой кодовой таблице отображается техт в WWW-клиент. Если ваш WWW-клиент обрабатывает это правильно, - вы увидить текст koi8-r а не неразборчивый текст в кодировке cp1251. Не обращайте много внимания на экран но, однако, проверьте установки Document Encoding settings или Document Info, чтобы увидеть фактически установленную кодировку.

  5. Когда кириллица (koi8-r) установлена как Document Encoding, в более старых версиях Netscape Navigator'а (или когда это установлено как кодировка по умолчанию командой Set Default), наибольшее количество текстово ориентированных Java-аплетов выполняются неудачно - это выглядит как если значения <PARAM> не переданы в аплет вообще. NullPointerException становится наиболее частой ошибкой. Это может быть исправлено установкой Document Encoding в Western(Latin1).


Таблица сравнения WWW-клиентов на совместимость с koi8-r

Tests: Font Special Chars FORM Input Title ALT= text ACCEPT_
CHARSET
META charset= Text Java applets HTTP over META
Netscape 3.01 (MS Windows) (*) YesNoYesNoNoNoYesNoNo
Netscape 4.0b4 (MS Win95) Broken (1)YesYesYesYesBroken (2)YesYesNo
Netscape 3.01 (X11) (3*) YesNoNoYes (4)YesNoYesNoNo
Netscape 4.0b3 (X11) (5*) YesNoNoYes (4)YesBroken (2)YesBroken (6)No
MS Internet Explorer 4.0b1 YesYesYesYesYesNoYesYesYes
MS Internet Explorer 3.02 YesYesNoNoNoNoYesYesNo
Lynx 2.7.1 (6*) N/AYesYesYesYesYesYesN/AYes
Tango 2.5 YesYesYesYesYesNoYesN/AYes
Ariadna 1.2b3 Broken (7)YesYesYesN/ANoYesYesNo

(*) Требуются шрифты koi8-u:

(1) Допустимы только символы и специальные объекты HTML, другие символы отображаются неправильно.

(2) Только unalterable, iso-8859-1 и utf-8

(3) Требуется дополнительная нестандартная настройка

(4) Зависит от настроек Window Manager'а

(5) Java не может выполняться с определенными значениями системной переменной LANG (и соответствующими locale), например uk_UA.KOI8-U.

(6) Текст-ориентированные WWW-клиенты, в ваш терминал должны быть предварительно загружены соответствующие шрифты.

(7) Корректная работа только с буквами, специальные символы отображаются неправильно.


Как создавать и обрабатывать HTML-документы в koi8-u

Cуществует два метода определить, что ваш документ написан в специфическеской кодировке, типа koi8-u:

Если вы не используете ни один из их, ваш документ обрабатывается как Latin1 документ, то есть набор символов по умолчанию (ISO 8859-1) принимается согласно стандартам.

Замечание: Большинство людей никогда не беспокоятся о том, чтобы следовать стандартам написания HTML-документов в кириллице, много из которых, написанных в кодировке koi8 или cp1251, или не имеют атрибута charset, или он установлен неправильно. В результате чего WWW-клиенты, которые придерживаются стандартов, могут отображать такие документы, используя кодировку Latin1 (ISO 8859-1), что делает текст полностью нечитабельным. Это не вина WWW-клиента. В этом случае рекомедуется обратиться к автору HTML-документа, и попросить его привести их в соответствие со стандартами, используя один из методов, описанных здесь.



[Win3.x Logo]

Windows 3.x

Как правильно настроить Win3.11 для работы с koi8-u:

Шрифты:

Замечание: Хотя все шрифты ниже - Win3.1 совместимые, возможно также их использование и в WFW3.11 и в Windows95. В отличие от истинных кириллических шрифтов Windows кодировки cp1251, кириллица в этих шрифтах размещаются в диапазоне кодов 128-255 вместо их позиций Unicode.

После их загрузки и разархивирования, добавьте эти шрифты в Windows, используя стандартную процедуру, то есть через Control Panel -> Fonts.

Применимое программное обеспечение:


Настройка программного обеспечения:


[Win95 Logo]

Windows 95

Для стандартного Windows95, удостоверьтесь что вы установили многоязыковую поддержку. В группе Control Panel -> Add/Remove Programs, выберите "Windows Setup" и удостоверьтесь, что установлена MultiLanguage Support. Этот пункт включен в поставку версии PanEuropian, и устанавливается по умолчанию. То же касается и Русской версии Windows95. (В стандартной американской версии требуется ее доустановка. а в версию, поставляемую на дискетах она не включена совсем. Так, если вы установили систему с дискет, загрузите указанный модуль многоязыковой поддержки с сервера Microsoft). Затем, выберите Русский в Control Panel -> Regional Setting.

Windows95 предъявляет более строгие требования к шрифтам. Для нормальной работы требуется наличие всех вариантов шрифтов (жирный, курсив, жирный курсив), и если присутствуют только нормальные варианты шрифта - на местах использования несуществующих вариантов отображаются пробелы.


Применимое программное обеспечение:

Этот список включает только 32-битное программное обеспечение. Так как 16-битное программное обеспечение имеет тенденцию работать под Windows95, смотрите также соответствующий раздел Win3.x данного документа. Для большинства 16-битного программного обеспечения, переделка GDI.EXE для koi8-r также работает через псевдонимы win.ini.


Настройка Программного Обеспечения:

  • Microsoft Main и News: чтобы cконфигурировать необходимо только установить:
    Mail->Options->Send->Plain Text->Settings->MIME->Encode text using: в "None". Разрешение 8-го бита в символов в заголовках в том же самом окне не должно проверяться для полной согласованности стандартов.


    [X Logo]

    X Window

    Шрифты:

    Обычное место для этих шрифтов -

    /usr/X11R6/lib/X11/fonts/cyrillic/koi8-u

    но если вы не можете изменять системные директории, поместите их в любой директорий. Система должна сначала обращаться в этот директорий в списка FontPath, (смотрите /etc/XF86Config или подобный ему файл конфигурации в вашем варианте X11), если вы устанавливаете шрифты в системном директории, или наберите команду:

    xset+ fp koi8-u

    чтобы добывить их локально в конфигурацию системы.

    Для проверки, стоит ли данный директорий первым в списке, используйте команду:

    xset q

    Locales:

    Для koi8-u пока не существует locale. До его подготовки можно использовать существующий locale для koi8-r.

    • X11R5 NLS Распакуйте его в /usr/{X386, X11R6,... }/lib/X11/. Это необходимо для того, чтобы в Netscape мог быть способен вырезать и вставляют русский текст. Если вы не можете изменять системные директории, поместите это в любой каталог и в этом случае установите системную переменную XNLSPATH так, чтобы она указывала на этот директорий.

    • X11R6 Locale. Распакуйте это в /usr/X11R6/lib/X11/locale. Это не нужно для XFree86 3.2, так как оно уже включено в стандартную поставку.

    Клавиатура:

    В XFree86 3.2 уже заложена возможность работы с различными кодировками, такими, как koi8-u. В файле /usr/X11R6/include/X11/keysymdef.h определены имена всех необходимых символов, но работы с ними через клавиатуру не стандартно не предусмотрена. Возможно два способа сделать возможной работу с кодировкой koi8-u.

    • С использованием Xkb.

      В этом случае вам необходимо произвести следующие дейстия:

      1. Перезаписать файлы:
        /usr/X11R6/lib/X11/xkb/keymap/xfree86
        /usr/X11R6/lib/X11/xkb/keymap.dir
      2. Добавить файл:
        /usr/X11R6/lib/X11/xkb/symbols/ua
      3. В файле /etc/XF86Config:

        Закоментировать строку:
        XkbDisable

      4. Заменить соответствующую строку на:
        "xfree86(ua)"

    • C использованием Xmodmap

      Здесь приведен файл .Xmodmap-ua, который переопределяет клавши для работы в koi8-u. Данная раскладка клавиатуры пока не стандартизована, но она уже используется во FreeBSD. Обычное расположение для файла .Xmodmap - директорий:
      /usr/X11R6/lib/X11/xinit
      Вы можете расположить данный файл в указанном директории, или в любом другом, если вам не даны полномочия изменять системные директории. В таком случае, вам необходимо, например, в файле .xinitrc вписать следующую строку:
      usermodmap=$HOME/.Xmodmap-ua
      соответственно, расположив этот файл у себя в "home"-директории. При этом строка
      XkbDisable
      файла /etc/XF86Config
      должна быть раскоментирована.

      Замечание: В версии XFree86 3.1.2 применим только метод с использованием Xmodmap. Одновременно оба метода для разных пользователей одной системы одновременно использованы быть не могут. Явный признак ошибочного использования их одновременно - некорректная работа некоторых клавиш в основном цифровой клавиатуры.
      Метод с Xkb потенциально более удобен для возможных доработок, которые могут позволить работать с несколькими раскладками клавиатуры (более двух, как это реализовано в данном варианте /usr/X11R6/lib/X11/xkb/symbols/ua

      Кроме того, для работы Netscape в директории /usr/X11R6/lib/X11/nls должны присутствовать файлы данного архива


      Применимое программное обеспечение:

      • WWW-клиенты:

        • Netscape3.01 (X11) (пытается поддерживать koi8-r)
          Netscape Gold (HTML редактор) работает хорошо с koi8-r. См. также, как настроить Netscape для работы с KOI8-R

        • Netscape 4.0b3 (X11) (пытается поддерживать koi8-r) См. также как устанавливать Netscape4.0 для работы с koi8-r

      • Электронная почта:

        • XF-Mail (Пользовательский почтовый агент, основанный на X-Forms, поддерживает MIME/POP/SMTP/IMAP4/XFaces, KOI8-R )


      MS-DOS

      Настройка Программного Обеспечения:


    UNIX

    [FreeBSD Logo]

    FreeBSD

    Для работы с koi8-u во FreeBSD существует комплект необходимых файлов, подготовленный Игорем Свиридовым Он включает в себя locale LC_CTYPE. До разработки соответствующего koi8-u рекомендуется использовать аналогичный LC_COLLATE из локализации для koi8-r Шрифты из данного комплекта соответствуют кодировке ruscii а файлом,управляющим выводом на экран, осуществляется перекодировка в соответствиикодировке koi8-u.

    В оригинальном комплекте, предлагаемом Свиридовым содержатся также скрипты для доустановки их в стартовые скрипты системы, которые приводят в рабочее состояние шрифты и клавиатуру koi8-u. Видимо, это было сделано для более старых версий FreeBSD. Однако, после копирования всех необходимых файлов достаточно произвести следующие изменения в файлах системной конфигурации:

    1. Добывить в файл /etc/sysconfig строки (или заменить ими существующие):

    2. Добывить в файл /etc/csh.login строку:
      [ -f .locale ] || setenv LANG uk_UA.KOI8-U

    Linux

    Для работы с koi8-u в Linux существует пакет, подготовленный Игорем Романенко при помощи Андрея Блохинцева, Игоря Свиридова, Руслана Белкина, Станислава Вороного и Дмитрия Кохманюка.


    Применимое программное обеспечение:

    • WWW-клиетны:

    • Newsreaders:

      • TIN1.3
        Алфавитно-цифровой агент новостей, для работы с koi8-u требуется только установить переменную окружения setenv MM_CHARSET в koi8-u)

    • Электронная почта:

      • ELM-2.4ME + (расширенная версия почтового агента Elm, поддерживает MIME, PGP, и так далее)

        Настройка:
        В файле

        ~/.elm/elmrc
        установите:
        charset = KOI8-R
        displaycharset = KOI8-R

      • Pine3.96
        Пользовательский агент почты/новостей, имеет большие возмжности, в том числе поддержка удаленного почтового ящика, и т.д.
        Видят также Pine.

        Настройка Pine: в режиме (S)ETUP -> (C)ONFIGURE устанавлите enable-8bit-esmtp-negotiations, enable-8bit-nntp-posting и pass-control-character-as-is.
        Затем, установите caracter-set в koi8-u, и сохраните установки.
        Замечание: этот метод работает только с ESMTP-совместимыми sendmail.