emacs 中的泰卢固语(unicode)字体渲染

emacs 中的泰卢固语(unicode)字体渲染

我有时会用泰卢固语编辑文本。但是,当我在 GNU emacs(Ubuntu Jaunty 上的 23.1.50.1 版本)中打开文件(UTF-8 编码)时,文本呈现不正确。在 gedit 中打开的相同文本文件呈现正确。

以下是一个片段:在 gedit 中呈现的 ప్రకృతికి ఉదయం అంటే ఇష్టమేమో:

gedit 中的泰卢固语文本渲染

并且,emacs 渲染相同的文本:

在 Emacs 中渲染泰卢固语文本

无论字形在哪里需要合成(不确定这是否是正确的词),emacs(或它使用的任何库)都无法正确执行。

有什么办法可以解决这个问题吗?也许可以调整配置中的某些设置?有什么想法吗?

答案1

gedit 使用 Pango,这使其能够访问印度语的高级文本布局功能。没有支持 Pango 的 emacs 版本,因此无法修复此问题。

答案2

我在古吉拉特语中遇到了同样的问题。我调试了一段时间,最后终于通过确保安装了这两个来解决这个问题m17n-libm17n-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

相关内容