Pergunta

Estou usando um pacote escrito sobre o Xelatex. Este pacote usa FontSpec Para especificar fontes para diferentes partes do seu texto: latim, não latina, modo de matemática, ...

O pacote vem com vários arquivos de amostra. Consegui Xelatex a maioria deles que depende de arquivos TTF ou OTF regulares. No entanto, um deles tenta definir a fonte de dígitos no modo de matemática para alguma fonte, diz "dígitos não latlatinos". Mas, a fonte não parece ser uma fonte comum. Existem dois arquivos no mesmo diretório chamado "não -latindigits.map" e "não -latindigits.tec". Teckit Usa esses arquivos de mapeamento para gerar fontes Tex. No entanto, por algum motivo, ele não cria os arquivos e o Xelatex emite a seguinte mensagem de erro.

 kpathsea: Invalid fontname `NonLatin Digits', contains ' '

 ! Font \zf@basefont="NonLatin Digits" at 10.0pt not loadable: Metric (TFM) file or
 installed font not found.

O programa KPathsea reclama do espaço em branco, mas a remoção do espaço em branco resolve o problema com o carregamento do arquivo TFM.

Alguma pista do que estou fazendo de errado?

Foi útil?

Solução

Qual é o nome do arquivo de fonte real? Recentemente, houve discussões na lista de correspondência Xetex, sobre um bug que impedia de carregar arquivos de fontes com espaços em seus nomes no Windows (procure-o em os arquivos). Se a alteração do nome do arquivo funcionar para você, você pode ter acabado de entrar nesse bug.

A invocação de KPathsea que você vê é apenas um efeito colateral: indica que a fonte não foi encontrada pelas bibliotecas do sistema que o Xetex usa no topo do sistema de pesquisa de fontes padrão do Tex, e o Xetex volta a procurar um arquivo TFM, mais formato básico de arquivo.

Teckit não tem nada a ver com fontes, converte caracteres em tempo real; No seu caso, acho que você pode usar um mapeamento para converter, digamos, números árabes para números indicados (para que você não precise inserir o último no seu arquivo de origem diretamente). Mas não gera fontes de forma alguma.

Outras dicas

Como outros mencionaram, você deve experimentar o XETEX e certifique -se de ter as fontes corretas instaladas. Use o comando xelatex no lugar de pdflatex, para ativar o uso de caracteres não latinos nos arquivos .tex.

Você não disse qual codificação de fonte você deseja, mas os dois a seguir devem funcionar muito bem: Linux Libertine e Computer Modern Unicode. Os nomes do pacote openSUSE são Linuxlibertine e cm-unicode; Espero que seja semelhante em outros sistemas.

Adicione o seguinte como as primeiras importações em seu documento:

\usepackage{xunicode,fontspec,xltxtra}
\usepackage[english]{polyglossia}
% EXAMPLE: \setotherlanguages{russian} % set as "other" so English hyphenation active

e adicione o seguinte depois de todas as outras importações (para que não sejam substituídas pelas importações de pacotes mais antigas),

\defaultfontfeatures{Mapping=tex-text,Scale=MatchLowercase}
\setromanfont{Linux Libertine O}
\setsansfont{Linux Biolinum O}
\setmonofont[Scale=0.9]{Courier New}

Ou, se você quiser fontes modernas do computador,

\setromanfont{CMU Serif}
\setsansfont{CMU Sans Serif}
\setmonofont{CMU Typewriter Text}

Com Xetex ou Xelatex, o Poitn é que você não precisa especificar fontes Tex, você deve usar as fontes do sistema.

Você deve postar o código e o preâmbulo das peças em que está recebendo um erro. Assim como HTML+CSS, diferentes distros Tex podem tornar as coisas um pouco diferentes uma da outra.

Minimamente, seu preâmbulo deve parecer algo assim:

 \documentclass[12pt,letterpaper]{article}

 \usepackage{fontspec}% provides font selecting commands
 \usepackage{xunicode}% provides unicode character macros
 \usepackage{xltxtra} % provides some fixes/extras

 \setromanfont[Mapping=tex-text]{Font Name}

O [mapeamento = texto tex] é particularmente importante ao carregar suas fontes.

Parsi Digits é uma fonte que você não possui e o erro, você está recebendo é porque não possui a fonte. Simplesmente substitua Parsi Digits' with another font and it all should go fine. \setdigitfont is a command that makes digits in math mode Persian and it can acceptEscala 'como uma opção.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top