¿Forma independiente de la plataforma para obtener el directorio de fuentes?

¿Forma independiente de la plataforma para obtener el directorio de fuentes?

Este va a ser uno de esos problemas 'simples' que podría tener una solución exagerada dependiendo de para qué necesite esta información.

Tendré que disculparme por las respuestas más vagas de Linux, ya que la administración de fuentes en las distribuciones de Linux no es consistente y puede ser muy configurable, puede verse influenciada por el entorno de escritorio, puede servirse de forma remota, etc.

Comprobación del entorno

Puede consultar varias plataformas mediante el uso de macros definidas para entornos específicos.

  • Windows - #if defined(_WIN32)
    • _WIN32 está definido para Windows de 32 y 64 bits.
  • Mac OSX - #if defined(_APPLE_) && defined(_MACH_)
    • _APPLE_ está definido para todas las computadoras Apple, y _MACH_ se define si el sistema admite llamadas al sistema Mach, a la MacOSX
  • Linux (genérico) - #if defined(linux) || defined(__linux)

Ubicaciones del directorio de fuentes

  • Ventanas
    • En Windows más reciente que 3.1, el directorio de fuentes se encuentra en %WINDIR%\fonts .
  • Mac OS X
    • Mac OSX tiene varios directorios de fuentes
      • /System/Library/Fonts - Fuentes necesarias para el sistema. No los toque.
      • /Library/Fonts - Fuentes adicionales que pueden ser utilizadas por todos los usuarios. Aquí es generalmente donde van las fuentes si van a ser utilizadas por otras aplicaciones.
      • ~/Library/Fonts - Fuentes específicas para cada usuario.
      • /Network/Library/Fonts - Fuentes compartidas para usuarios en una red.
  • Linux
    • Como se mencionó anteriormente, es posible que una distribución de Linux no tenga directorios de fuentes específicos. Recuerdo haber lidiado con este problema hace un tiempo, ya que las distribuciones de Linux no utilizan ninguna gestión de fuentes específica.
    • Podría haber un XFS (X Font Server) sirviendo fuentes de forma remota.
    • Las ubicaciones más comunes para las fuentes en las distribuciones de Linux son /usr/share/fonts , /usr/local/share/fonts y ~/.fonts específico del usuario
    • Algunos sistemas pueden tener directorios de fuentes configurados en el archivo /etc/fonts/fonts.conf o /etc/fonts/local.conf .

Recursos:

  • Mac OS X:Ubicaciones de fuentes
  • Cómo instalar o eliminar una fuente en Windows
  • Proyecto de macros C/C++ predefinido
  • Configuración de fuentes:Arch Linux Wiki
  • Fuentes:Ubuntu Linux Wiki
  • Fuentes:GNU/Debian Linux Wiki
  • Fuentes:documentación de CentOS 5 (también se aplica a Red Hat Enterprise Linux 5)
  • Sistema de servidor de fuentes X