Beamer 使用 Pandoc 和 Markdown 进行演示 - 使用 xelatex 作为 pdf 引擎无法正确显示大多数波斯字体

Beamer 使用 Pandoc 和 Markdown 进行演示 - 使用 xelatex 作为 pdf 引擎无法正确显示大多数波斯字体

我正在尝试创建一个演示使用,因为我用波斯语写,所以我需要使用--pdf-engine=xelatex

我有一个pres.md包含以下内容的文件:

---
dir: rtl
title: "روش پژوهش و ارائه"
author: "امیر شبانی"
date: "یک‌شنبه - ۸ دی ۱۳۹۸"
---

现在,如果我使用它BNazanin作为字体并使用此命令编译文件,

pandoc pres.md -t beamer -o pres.pdf --pdf-engine=xelatex -V mainfont="BNazanin"

一切正常,输出符合预期:

BNazanin 字体很好用

但如果我把它改成另一种字体,例如sahel,它将显得损坏:

Sahel 字体无法正常显示

如您所见,字体已被检测到,我可以验证它是否安装在我的系统上:

我的系统上安装了 Sahel 字体。

但它没有正常显示,而且似乎有“零宽度非连接符 (zero-width non joiner)“。例如,它显示 ا‌م‌ی‌ر 而不是 امیر。

我尝试过的其他字体:Shabnam、Vazir、Samim。它们都有同样的问题。有没有什么方法可以解决这个问题,这样我就可以使用像 Sahel 这样的字体了?

答案1

使用以下命令编译该文件:

pandoc pres.md -t beamer -o pres.pdf --pdf-engine=xelatex -V mainfont="Yas" -V lang:ar

输出:

在此处输入图片描述

文件测试.md

---
title: "روش پژوهش و ارائه"
author: "امیر شبانی"
date: "دو‌شنبه - ۹ دی ۱۳۹۸"
---

编译:

pandoc test.md -t beamer -o test.pdf --pdf-engine=xelatex -V mainfont="Yas" -V lang:ar -V dir:rtl

在此处输入图片描述

或者文件 exam.md

---
lang: ar
dir: rtl
title: "روش پژوهش و ارائه"
author: "امیر شبانی"
date: "یک‌شنبه - ۸ دی ۱۳۹۸"
---

编译:

pandoc exam.md -t beamer -o exam.pdf --pdf-engine=xelatex -V mainfont="Yas" 

相关内容