Renderowanie PDF z pliku Markdown z dosłownymi znakami emoji za pomocą Pandoc

2

Chciałbym przekonwertować tekst przeceniony, taki jak:

This is a smile 😀

Do pliku PDF z emoji na nim. Żeby było jasne, chcę mieć możliwość wstawienia samego znaku emoji do tekstu źródłowego, a nie czegoś takiego :smile:.

Jak mogę to zrobić w Pandoc?

hsribei
źródło

Odpowiedzi:

1

Spróbuj zastąpić :smile: z HTML w ten sposób:

This is a smile <img src="https://assets-cdn.github.com/images/icons/emoji/unicode/1f604.png"/>
Adam J Limbert
źródło
1
Rzecz w tym, że mam już źródła z dosłownym emoji i staram się nie zastępować ich niczym, ale znaki Unicode są poprawnie renderowane bezpośrednio.
hsribei
0

Po wstępnym przeczytaniu OP zbyt powierzchownie (pomijając jego potrzebę NIE posługiwać się :smile: & amp; przyjaciele w jego źródle Markdown), tutaj jest lepsza odpowiedź. Spróbuj jednego z nich:

pandoc -o emoji.pdf --pdf-engine=lualatex -V mainfonts="DejaVu Sans"
pandoc -o emoji.pdf --pdf-engine=xelatex  -V mainfonts="DejaVu Sans"

Jeśli używasz domyślnego silnika pdf ( pdflatex ), nie uda ci się, ale pojawi się błąd

 ! Package inputenc Error: Unicode character 😀 (U+1F600)
 (inputenc)                not set up for use with LaTeX.

Jeśli nie określisz mainfonts param, dostaniesz ostrzeżenie

 [WARNING] Missing character: There is no 😄 (U+1F604) in font [lmroman10-regular]:+tlig;

dla XeLaTeX i

 [WARNING] Missing character: There is no 😄 in font [lmroman10-regular]:mapping=tex-text;!

dla LuaLaTeX. Podczas gdy oba będą produkować PDF, nie będą miały emoji tam, gdzie chcesz.

Kurt Pfeifle
źródło