Рендеринг PDF из файла Markdown с использованием букв эмодзи с помощью Pandoc
Я хотел бы преобразовать текст уценки как:
This is a smile
В PDF с Emoji на нем. Чтобы было ясно, я хочу иметь возможность вставлять сам символ эмодзи в исходный текст, а не что-то вроде :smile:
,
Как я могу сделать это с Pandoc?
2 ответа
После первоначального прочтения ОП слишком поверхностно (упускать из виду его необходимость НЕ использовать :smile:
Друзья в его источнике Markdown), вот лучший ответ. Попробуйте один из них:
pandoc -o emoji.pdf --pdf-engine=lualatex -V mainfonts="DejaVu Sans"
pandoc -o emoji.pdf --pdf-engine=xelatex -V mainfonts="DejaVu Sans"
Если вы используете стандартный pdf-движок (pdflatex
), у вас ничего не получится, но вы получите ошибку вроде
! Package inputenc Error: Unicode character (U+1F600)
(inputenc) not set up for use with LaTeX.
Если вы не укажете mainfonts
param, вы получите предупреждение
[WARNING] Missing character: There is no (U+1F604) in font [lmroman10-regular]:+tlig;
для XeLaTeX и из
[WARNING] Missing character: There is no in font [lmroman10-regular]:mapping=tex-text;!
для LuaLaTeX. Хотя оба будут выпускать PDF, у них не будет смайликов там, где вы этого хотели.
Попробуйте заменить :smile:
с HTML вот так:
This is a smile <img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f604.png"/>