我有时会用泰卢固语编辑文本。但是,当我在 GNU emacs(Ubuntu Jaunty 上的 23.1.50.1 版本)中打开文件(UTF-8 编码)时,文本呈现不正确。在 gedit 中打开的相同文本文件呈现正确。
以下是一个片段:在 gedit 中呈现的 ప్రకృతికి ఉదయం అంటే ఇష్టమేమో:
并且,emacs 渲染相同的文本:
无论字形在哪里需要合成(不确定这是否是正确的词),emacs(或它使用的任何库)都无法正确执行。
有什么办法可以解决这个问题吗?也许可以调整配置中的某些设置?有什么想法吗?
答案1
gedit 使用 Pango,这使其能够访问印度语的高级文本布局功能。没有支持 Pango 的 emacs 版本,因此无法修复此问题。
答案2
我在古吉拉特语中遇到了同样的问题。我调试了一段时间,最后终于通过确保安装了这两个来解决这个问题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