Localização das fontes truetype

17

Eu gostaria de criar um pequeno script que instala algumas fontes TrueType no sistema do usuário. Na minha máquina Ubuntu as fontes truetype estão localizadas em /usr/share/fonts/truetype . No entanto, não tenho certeza se esse local é o mesmo em todas as máquinas. Existe uma maneira de descobrir onde as fontes truetypes são armazenadas em qualquer sistema Linux?

Atualizar
Após algumas pesquisas, descobri que o caminho usr/share/fonts/truetype está especificado no arquivo XML /etc/fonts/fonts.conf . É um arquivo XML, portanto, posso usar o XPath para obter o diretório:

xpath -q -e 'fontconfig/dir[1]/text()[1]' /etc/fonts/fonts.conf

No entanto, não sei se esse arquivo existirá em todos (ou na maioria) dos sistemas Linux.

    
por StackedCrooked 05.05.2010 / 15:55

4 respostas

16

Todas as fontes localizadas em qualquer subdiretório de /usr/share/fonts e ~/.fonts são verificadas e adicionadas à coleção que você pode usar. Assim, enquanto a sua fonte estiver dentro de um desses dois diretórios, esta localização é a mesma para quase todas as grandes distribuições Linux.

Atualização:

A propósito, eu posso confirmar que o arquivo fonts.conf está presente no Fedora e no Ubuntu (e seus derivados: Xubuntu, Lubuntu, Linux Mint, Cinnammon, Peppermint OS, Fedora e todos os seus spins, para mencionar alguns). / p>     

por 29.06.2014 / 23:13
1

No Fedora o caminho da pasta é /home/{user}/.local/share/fonts

você pode copiar / colar arquivos de fontes aqui.

    
por 22.01.2018 / 10:39
0

Talvez você possa considerar criar um pacote com suas fontes. É um pouco trabalhoso criar os arquivos de descrição de pacotes e as regras de criação. Mas você ganha a capacidade de atualizar e desinstalar gratuitamente. Para o Ubuntu, você deve criar arquivos .deb.

    
por 05.05.2010 / 17:21
-1

Todas as distribuições são diferentes, é melhor definir um caminho padrão e permitir que o usuário selecione entre o padrão e o personalizado.

Editar:

Na minha opinião, você tem três soluções porque não há nenhuma variável ou função de ambiente para isso.

  1. Defina um caminho padrão e permita que o usuário selecione entre o padrão e um personalizado.
  2. Como o dtrosset disse, você poderia criar pacotes com suas fontes para as diferentes distribuições.
  3. Você poderia usar if / elif / else e test -e para determinar se os diferentes caminhos do servidor de fontes existem. Se não houver ninguém, mostre o caminho padrão e deixe o usuário selecionar entre ele e um personalizado.

Ex:

DEFAULT="$home/.fonts/"
UBUNTU_XFSTT="/usr/share/fonts/truetype/"
RHL52_XFS="/usr/X11R6/lib/X11/fonts/ttfonts/"
RHL6_XFSTT="/usr/X11R6/lib/X11/fonts/"
DEBIAN_XFSTT="/usr/share/fonts/truetype/"

#Test if directory exist
if test -e ${UBUNTU_XFSTT} ; then
    echo ${UBUNTU_XFSTT}
elif test -e ${RHL52_XFS} ; then
    echo ${RHL52_XFS}
elif test -e ${RHL6_XFSTT} ; then
    echo ${RHL6_XFSTT}
elif test -e ${DEBIAN_XFSTT} ; then
    echo ${DEBIAN_XFSTT}
else
    echo ${DEFAULT}
fi

P.S. Essa é apenas a minha opinião ...

    
por 05.05.2010 / 16:30

Tags