2014-03-19 106 views
1

我想獲取字體文件名稱時,唯一的信息是字體的'postscript'名稱。 (強調:字體的名稱是postscript而不是字體)。
例如我有以下附言名稱:TimesNewRomanPSMT。
保存在註冊表中的真實姓名是:Times New Roman(TrueType)。
有沒有從給定的附註名稱獲取該名稱的方法?

我在這裏看到了類似的帖子裏面留下unaswered: C# get font from postscript name從字體的postscript名稱中獲取字體的文件名

我編碼在C++,所以我不會被編碼語言的限制。 我目前正在爲Windows編碼,但它應該是兼容的,或者至少有MacOS替代代碼

+0

「Postscript name」的來源是什麼?你怎麼能確定它與安裝的字體有關? –

+0

我會解釋一下。當我使用Adobe的After Effects SDK時,我會得到這個名字。當我遍歷我知道的文本是'Times New Roman(True Type)'時,我得到了這個名字,但是Adobe說他們公開的字體名稱是該字體的後期腳本名稱,它是'TimesNewRomanPSMT'。經過很多論壇,我發現上面提到的相關問題,它們有相同的困境。 – radato

+0

ps名稱的來源是當我使用Adobe AfterEffects SDK時。我遍歷一個文本對象(稱爲「文本層」),從sdk接收的字體是'TimesNewRomanPSMT'。 Adobe在他們的文檔中聲明這是該字體的ps名稱。字體是:'Times New Roman(True Type)' – radato

回答

0

我有C++代碼來從給定的字體文件檢查標題的字體名...然而,一些字體失敗我測試了(說90%的作品)。我認爲最簡單的方法是用十六進制編輯器打開字體文件並在其中搜索字體名稱。如果您擔心註冊表,您可以重新註冊字體名稱,如下面的示例:

reg add「HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Fonts」/ v「Arial Bold」/ t REG_SZ/d arialbd.ttf

+0

你能分享一下代碼嗎? – radato

相關問題