2012-10-15 81 views
0

有沒有什麼辦法可以在運行時爲android修改字體或合併兩個字體文件。我需要爲字體添加一個字符支持。在運行時修改字體

因爲如果字體文件中不存在字符,設備將顯示該字符的正方形。

+0

參考以下鏈接: http://stackoverflow.com/questions/10892693/edit-ttf-font-file-to-add-in-missing-symbol – Syn3sthete

+0

我很好奇,想知道你爲什麼要考慮結合兩個字體文件?你以後需要添加多個角色嗎? – wschang

+0

不,我只需要添加一個字符支持 – Adem

回答

1

如果你知道哪些字符是你造成麻煩,那麼你可能想嘗試這樣的:這些字符的

  1. 查找位置,讓他們成爲I,J,K(等),並令N是完整字符串的大小。
  2. 然後做這樣的事情:

    String yourString = "Some Text Here"; // this is you string 
    Spannable spannable = new SpannableString(yourString); 
    // you can also iterate, instead of next few steps 
    // typeface1 and typeface2 are your two different font styles 
    spannable.setSpan(typeface1, 0, i-1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    spannable.setSpan(typeface2, i, i+1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    spannable.setSpan(typeface1, i+1, j-1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    spannable.setSpan(typeface2, j, j+1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    spannable.setSpan(typeface1, j+1, k-1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    spannable.setSpan(typeface2, k, k+1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // and so on 
    spannable.setSpan(typeface1, k+1, N, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    textview1.setText(spannable); // this is your textview and setting of font 
    

或者你可以創建你custome字樣,並把它應用到你想要的視圖。在那裏,你可以應用第一個字體的所有字符,但不能處理的字體除外。對於那些,你可以申請第二個。我不知道這有多可行。我會嘗試一下,讓你知道。

看看這是否有用。