Làm cách nào để tìm ra phông chữ nào chứa một ký tự đặc biệt nào đó?


19

Unicode chứa một vài "ký tự" đặc biệt không thể hiển thị bằng hầu hết các phông chữ. Tôi muốn sử dụng một trong số họ, một máy quay video.

Có vẻ như một nhân vật như vậy thực sự tồn tại và có mật mã U + 1F4F9. Khi tôi truy cập http://graphemica.com/%F0%9F%93%B9 , tôi thấy nó được hiển thị cả trên trang web và trong thanh URL của Firefox. Vì vậy, tôi giả sử rằng tôi có ít nhất một phông chữ trên hệ thống của mình có chứa glyph.

url với glyph camera video hiển thị chính xác

Nhưng khi tôi dán nó vào Inkscape, tôi nhận được ô trống cho một ký tự không xác định, ngay cả khi tôi chọn một phông chữ thường có nhiều glyphs, như Arial.

Làm cách nào để tìm ra phông chữ nào tôi đã cài đặt có thể hiển thị "ký tự"?


Nếu phông chữ không được nhận dạng (cung cấp cho bạn ô trống), có khả năng bạn không cài đặt phông chữ trên hệ thống của mình. Do đó, bạn cần phải cài đặt nó trước khi nó có thể được sử dụng.
CharlieRB

@CharlieRB phông chữ được cài đặt. Tôi không thể chọn sử dụng phông chữ trong Inkscape chưa được cài đặt. Nó chỉ không có glyph rất hiếm này.
Rumi P.

ĐƯỢC. Bạn có thể muốn làm rõ rằng trong câu hỏi của bạn; bạn đã cài đặt phông chữ
CharlieRB

1
Firefox có thể sử dụng phông chữ riêng trong Windows 7 và các phiên bản trước vì không có phông chữ cho biểu tượng cảm xúc trong các hệ thống đó. Phông chữ được <firefox>\fonts\EmojiOneMozilla.ttfcài đặt và không được cài đặt trên toàn cầu
phuclv

Có một câu hỏi tương tự đã được trả lời ở đây .
jdhao

Câu trả lời:


12

Hãy thử trang này: www.Fileformat.info

http://www.fileformat.info/info/unicode/char/1f4f9/fontsupport.htmlm

Ở đó bạn có thể truy vấn các ký tự Unicode và nhận danh sách các phông chữ hỗ trợ.


1
Và có vẻ như trang đó cũng có thể tìm kiếm phông chữ trên máy tính của bạn, với plugin Flash.
yellowantphil 16/2/2015

Cảm ơn bạn đã trả lời, tôi đã tìm kiếm một giải pháp cho lỗi hỗ trợ "Half OTF Half TTF" của tôi cho VS mãi mãi.
TaylorS

4

Tôi hoàn toàn hiểu câu hỏi khi tôi gặp vấn đề tương tự:

Bạn biết máy tính của bạn đã cài đặt phông chữ vì một chương trình hiển thị nội dung chính xác, nhưng một chương trình khác hiển thị cùng nội dung dưới dạng ô trống vì nó không biết sử dụng phông chữ nào để hiển thị đúng. Và bạn không muốn cuộn qua tất cả các phông chữ để tìm một phông chữ có chứa ký tự bạn muốn.

Hãy thử dán văn bản / biểu tượng được sao chép vào tài liệu Microsoft Word trống. Nội dung sẽ xuất hiện đúng nếu Word được đặt thành Giữ định dạng nguồn theo mặc định cho văn bản được dán. Nếu vậy, chọn nội dung và menu phông chữ Word sẽ hiển thị cho bạn phông chữ nguồn trên máy tính có chứa ký tự cần thiết. Cấp, có thể có những người khác, nhưng ít nhất đây là một cách nhanh chóng và bẩn để tìm một phông chữ có thể phù hợp.


Trong Linux, điều tương tự có thể được thực hiện với Writer.
Arthur Zennig

4

Tập lệnh Python sau sẽ in tất cả các phông chữ có chứa một ký tự (được thử nghiệm trên hộp Linux của tôi).

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"🐈")

Trên máy của tôi, điều này mang lại:

😺 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.