6

Я иногда редактирую текст на языке телугу. Однако, когда я открываю файл (в кодировке UTF-8) в GNU emacs (версия 23.1.50.1 в Ubuntu Jaunty), текст отображается неправильно. Тот же текстовый файл, открытый в gedit, отображается правильно.

Вот фрагмент кода: ఇష్టమేమో ఉదయం అంటే ఇష్టమేమో rendred in gedit:

рендеринг телугу в гедит

И рендеринг Emacs того же текста:

рендеринг телугу в emacs

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

Есть ли способ исправить это? Возможно, настройка некоторых параметров в моей конфигурации? Есть идеи, пожалуйста?

2 ответа2

1

Gedit использует Pango, что дает ему доступ к расширенной функциональности текстового макета для индийских языков. Нет версии emacs, которая поддерживает Pango, поэтому нет способа это исправить.

0

Я столкнулся с той же проблемой в Гуджарати. Некоторое время я отлаживал это и, наконец, смог это исправить, убедившись, что установил m17n-lib и m17n-db.

Вот мой установочный скрипт:

  • Сценарий устанавливает m17n (lib и db) версии 1.8.0 по адресу $m17n_install_dir .
  • Таким образом, $m17n_install_dir должен быть единственным, что вам нужно изменить в этом скрипте.
#!/usr/bin/env bash

# http://www.nongnu.org/m17n/
# http://download.savannah.nongnu.org/releases/m17n/

# http://download.savannah.nongnu.org/releases/m17n/m17n-lib-1.8.0.tar.gz
# http://download.savannah.nongnu.org/releases/m17n/m17n-db-1.8.0.tar.gz
#
# Tue Aug 14 12:49:04 EDT 2018 - kmodi
# The m17n-db is *needed* for composites (like the "સ્તે" in
# Gujarati "નમસ્તે") to work correctly.
# Ref: https://lists.gnu.org/r/help-gnu-emacs/2018-08/msg00033.html

m17n_version="1.8.0"
m17n_install_dir="${STOW_PKGS_ROOT}/m17n/${m17n_version}"

./configure --prefix="${m17n_install_dir}"
make

mkdir -p "${m17n_install_dir}"
make install
echo ""

## * m17n-db *
m17n_db="m17n-db-${m17n_version}"
m17n_db_tar_gz="${m17n_db}.tar.gz"
echo "Downloading ${m17n_db_tar_gz} .."
if [[ -f "${m17n_db_tar_gz}" ]]
then
    rm -f "${m17n_db_tar_gz}"
fi
if [[ -d "${m17n_db}" ]]
then
    rm -rf "${m17n_db}"
fi

wget "http://download.savannah.nongnu.org/releases/m17n/${m17n_db_tar_gz}"
tar xf "${m17n_db_tar_gz}"

echo ""
echo "Installing ${m17n_db} .."
cd "${m17n_db}" || exit

# See the README about charmaps and glibc
#
# Tue Aug 14 12:17:13 EDT 2018 - kmodi
# Below code is adapted from the "./get-glibc.sh" script to use the
# glibc mirror on Github. The official URL for glibc download was
# timing out today. So using the mirror on Github.

# Original values:
# GLIBC_VERSION=2.3.2
# GLIBC_DOWNLOAD_URL=https://ftp.gnu.org/gnu/glibc
# charmap_dir="glibc-${GLIBC_VERSION}/localedata/charmaps"

GLIBC_VERSION=2.28
GLIBC_DOWNLOAD_URL=https://github.com/bminor/glibc/archive
charmap_dir="glibc-glibc-${GLIBC_VERSION}/localedata/charmaps" # Yes, it is "glibc-glibc-.."

echo "Downloading ${GLIBC_DOWNLOAD_URL}/glibc-${GLIBC_VERSION}.tar.gz .."
if wget "${GLIBC_DOWNLOAD_URL}/glibc-${GLIBC_VERSION}.tar.gz"
then
    echo "Extracting the \"charmaps\" directory .."
    if tar xfz "glibc-${GLIBC_VERSION}.tar.gz" "${charmap_dir}"
    then
        :
    else
        echo "!! Can't find the \"charmaps\" directory in the tar ball."
        exit 1
    fi
else
    echo "!! Downloading failed"
    exit 1
fi

./configure --prefix="${m17n_install_dir}" \
            --with-charmaps="${charmap_dir}"
make
make install

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .