¿Cómo averiguo qué fuente contiene cierto carácter especial?


19

Unicode contiene algunos "caracteres" especiales que la mayoría de las fuentes no pueden mostrar. Quiero usar uno de ellos, una cámara de video.

Parece que tal carácter existe de hecho, y tiene el punto de código U + 1F4F9. Cuando visito http://graphemica.com/%F0%9F%93%B9 , veo que se muestra tanto en la página web como en la barra de URL de Firefox. Así que supongo que tengo al menos una fuente en mi sistema que contiene el glifo.

la URL con el glifo de la cámara de video se muestra correctamente

Pero cuando lo pego en Inkscape, obtengo el cuadro vacío para un personaje desconocido, incluso si elijo una fuente que generalmente tiene muchos glifos, como Arial.

¿Cómo puedo saber cuál de las fuentes que he instalado puede mostrar el "carácter"?


Si no se reconoce la fuente (proporcionándole el cuadro vacío), es probable que no tenga la fuente instalada en su sistema. Por lo tanto, debe instalarlo antes de poder usarlo.
CharlieRB

@CharlieRB la fuente está instalada. No puedo elegir usar una fuente en Inkscape que no esté instalada. Simplemente no tiene este glifo muy raro.
Rumi P.

OKAY. Es posible que desee aclarar eso en su pregunta; que tienes la fuente instalada.
CharlieRB

1
Firefox puede usar su propia fuente en Windows 7 y versiones anteriores porque no hay fuente para emoji en esos sistemas. La fuente está <firefox>\fonts\EmojiOneMozilla.ttfinstalada y no está instalada globalmente
phuclv

Hay una pregunta similar que ha sido respondida aquí .
jdhao

Respuestas:



4

Entiendo completamente la pregunta ya que me encontré con el mismo problema:

Usted sabe que su computadora tiene la fuente instalada porque un programa muestra el contenido correctamente, pero otro programa muestra el mismo contenido como un cuadro en blanco porque no sabe qué fuente usar para mostrar correctamente. Y no desea desplazarse por todas las fuentes para encontrar una que contenga el carácter que desea.

Intente pegar el texto / símbolo copiado en un documento en blanco de Microsoft Word. El contenido debería aparecer correctamente si Word está configurado para mantener el formato de origen de forma predeterminada para el texto pegado. Si es así, seleccione el contenido y el menú de fuente de Word le mostrará la fuente de origen en su computadora que contiene el carácter necesario. De acuerdo, puede haber otros, pero al menos esta es una forma rápida y sucia de encontrar una fuente que sea adecuada.


En Linux, lo mismo se puede lograr con Writer.
Arthur Zennig

4

El siguiente script de Python imprimiría todas las fuentes que contienen un carácter (probado en mi caja de Linux).

import unicodedata
import os

fonts = []

for root,dirs,files in os.walk("/usr/share/fonts/"):
    for file in files:
       if file.endswith(".ttf"): fonts.append(os.path.join(root,file))


from fontTools.ttLib import TTFont

def char_in_font(unicode_char, font):
    for cmap in font['cmap'].tables:
        if cmap.isUnicode():
            if ord(unicode_char) in cmap.cmap:
                return True
    return False

def test(char):
    for fontpath in fonts:
        font = TTFont(fontpath)   # specify the path to the font in question
        if char_in_font(char, font):
            print(char + " "+ unicodedata.name(char) + " in " + fontpath) 

test(u"😺")
test(u"🐈")

En mi máquina, esto da:

😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-Bold.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-Oblique.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-BoldOblique.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-BoldOblique.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed-Bold.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed-Oblique.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed-BoldOblique.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
🐈 CAT  in /usr/share/fonts/truetype/noto/NotoSansSymbols2-Regular.ttf
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.