Unicode com PdfLaTeX

Unicode com PdfLaTeX

Eu gostaria que os símbolos da Alquimia funcionassem no PdfLaTeX. Não tenho acesso ao XeTeX ou LuaTex porque estou usando o Tex Writer no iPad. Aqui estão dois exemplos mínimos.

O primeiro funciona.

    \documentclass{article}
    \usepackage[T1]{fontenc}
    \usepackage{textcomp}
    \usepackage[utf8x]{inputenc}

    \begin{document}
    \unichar{"00E4}
    \unichar{"20AC}
    \end{document}

Este não compila:

    \documentclass{article}
    \usepackage[T1]{fontenc}
    \usepackage{textcomp}
    \usepackage[utf8x]{inputenc}

    \begin{document}
    \unichar{"00E4}
    \unichar{"1F701}
    \end{document}

Aqui está a mensagem de erro:

l.9 \unichar{"1F701}

? 
! Emergency stop.
 ...                                              

l.9 \unichar{"1F701}

Unicode character 128769 = U+1F701:
ALCHEMICAL SYMBOL FOR AIR
Character is not defined in uni-*.def files.
Enter I! to define the glyph.

Here is how much of TeX's memory you used:
 1717 strings out of 493024
 24829 string characters out of 6124273
 70825 words of memory out of 5000000
 5308 multiletter control sequences out of 15000+600000
 4403 words of font info for 15 fonts, out of 8000000 for 9000
 1141 hyphenation exceptions out of 8191
 23i,0n,17p,304b,478s stack positions out of 5000i,500n,10000p,200000b,80000s
!  ==> Fatal error occurred, no output PDF file produced!

Responder1

TeX é um compositor: seu trabalho é pegar glifos (formas) de uma fonte e decidir onde colocá-los em uma página. Portanto, as informações sobre essas formas precisam estar disponíveis para o TeX.

Para interpretar sua entrada, por padrão o TeX trata cada byte individualmente. Com \usepackage[utf8x]{inputenc}você você pode informar ao TeX que ele deve interpretar sequências de bytes como caracteres Unicode, conforme especificado pela codificação UTF-8. Por exemplo, quando você digita no arquivo, ele entenderá o que você quer dizero caractere Unicode U+20AC (SINAL EURO), pois o arquivo conterá os bytes correspondentes à codificação UTF-8 desse caractere. Isso equivale a inserir manualmente \unichar{"20AC}.

Mas entender que você pretendia um caractere Unicode específico não é suficiente: e daí? O TeX ainda precisa saber o que fazer com isso.

Por exemplo:

  • ä U+00E4 LETRA A PEQUENA LATINA COM DIÉRESEé definido texmf-dist/tex/latex/ucs/data/uni-0.defcomo \"a(o que o TeX sabe fazer)
  • SINAL DE EURO U+20ACé definido texmf-dist/tex/latex/ucs/data/uni-32.defcomo \ifx\euro\undefined\texteuro\else\euro\fique por sua vez é feito de alguma forma por meio de glifos disponíveis no TeX

O personagem que você deseja,SÍMBOLO ALQUÍMICO U+1F701 PARA AR

informação relacionada