2011-05-08 80 views
0

我在其中包含一些文本的軟件應用程序內部有一個文本框控件。該軟件使用的是其他地方不存在的自定義字體,僅針對該程序。我沒有它的來源或訪問它的創作者。現在,我想將該文本複製到記事本或MS文本中,但是當我執行文本時,除非將字處理器的字體更改爲軟件正在使用的字體(寫入文本的字體),否則不可讀。所以我希望文本在任何地方都可讀,而不是依賴於特定的字體。那有可能嗎?更改文本錯誤的字體

我是c#程序員。這裏是不可讀的文本的例子:

ý¶† ±øõœ ­ý¶† –ý¾‡¨ ÿ†°†¬ ­ñð‡ì úÞ±¶ Ä쇤 ½±」 
à¥ì ±øõœ þ·ñœ­Œ Ý稆­Œ ô±º±」 (.ì) 
[þü‡íý‘†õø] 
ý¶† 
[þ¶­ñùì ïõéÎ] 
±øõœ ­ý¶† ‡º±」 
[þíýº] 
ý¶† 
[úð‡ýì‡Î —‡¤çȾ†] ÿ¬.¹†.ë† °­©ì ÿû¬‡ì ²† þÎõð.ÿ¬.¹†.ë†" 

有趣的是,它在幾乎所有的字體顯示出來這樣除了文本原始寫入與一個。順便說一句,文本是阿拉伯文,我測試文本的所有字體都支持阿拉伯文字符。現在

如果我一些文字,在字體包括英語和阿拉伯語的記事本,然後的字體更改爲其他字體它看起來不錯和工作正常了!所以只有在文字爲粘貼進入文字處理器時纔會出現問題。

編輯:我想我找到了問題!自定義字體是一種光柵字體(位圖字體),它有一個.fon擴展名,在下面的線程中,有人想將位圖字體轉換爲ttf,因爲他在打印文檔時遇到問題。我想複製和粘貼,所以也許我必須轉換字體?

討論: how to convert a bitmap font .fon into a truetype font ttf

任何形式的幫助實在是讚賞。 謝謝。

+0

更多詳情。文本以何種方式無法讀取? – 2011-05-08 11:02:20

回答

1

任何形式的幫助真的很感激。

如果我看到我的superuser.com回答這個問題本來是:

您可以從字體A文本的字體更改爲Arial。

例如在Microsoft Word

  1. 打開替換對話框(編輯>>更換或按Ctrl + H)
  2. 確保沒有文本在查找內容或替換爲框中指定
  3. 單擊查找內容框,然後單擊格式(如果看不到格式按鈕,請單擊更多以展開搜索選項)
  4. 從彈出列表中選擇字體
  5. 在查找字體對話框中,選擇該文本格式選項,你想更換
  6. 單擊確定
  7. 單擊替換爲框中
  8. 單擊格式
  9. 選擇從彈出列表
  10. 在替換字體對話框中字體,選擇新你想文本格式選項適用
  11. 單擊確定
  12. 單擊全部替換
  13. 單擊確定
  14. 單擊關閉

(從http://wordprocessing.about.com/cs/quicktips/qt/fontreplace.htm

順便說一句:如果文檔使用的樣式,它實際上是更容易更改字體。出於這個原因,我嘗試總是使用樣式,而不是直接將字體應用於文本。

如果你是不是指的Word文檔,請修改你的問題說用什麼軟件來創建文本 - 或者什麼文件格式的文本存儲在

既然你問。我慢慢推斷你可能正在編寫一些程序,用一些未指定的編程語言。我建議你編輯你的問題,並指定你正在使用的編程語言,並給出一些示例代碼來說明問題。

例如,在Java中,你可以做這樣的事情

 
    JLabel label = new JLabel("hello world"); 
    label.setFont(new Font("Arial", Font.PLAIN, 12)); 
0

這聽起來非常彷彿原始程序的作者已經發明瞭自己的字符編碼,並提供了字體去用它。也許開發工具僅限於ANSI文本,開發人員提出了這種極端的解決方案。

通過在自定義 字體中寫入一些英文文本來檢驗假設,看看是否出現阿拉伯文 字符。

如果是這樣,那麼你將不得不計算出編碼是什麼,並逐字符轉換字符串。

+0

當你在字體中鍵入字符如ý[†]時會發生什麼? – 2011-05-08 16:22:26

+0

如果我將鍵盤更改爲阿拉伯語,然後在記事本中輸入阿拉伯字符a​​pear,如果我將其更改爲EN並鍵入英文字符將會變成apear。如果我輸入¶¶[þ¶我正確地用阿拉伯文的字符。 – jason 2011-05-09 05:31:48

+0

如果ý†[þ¶顯示爲阿拉伯字符,那麼這個字體並不意味着我的回答是正確的? – 2011-05-09 06:07:57