2017-07-05 4 views
0

私は、BaseFontを作成し、このベースフォントから他のアプリケーションフォントを取得するためにmyfont.otfフォントを使用します。IText:behinde getAscentPoint()は何ですか、私はカスタムフォントを使用している間に何を期待しますか?

私は

myfont.getBaseFont().getAscentPoint("Blabla",myfont.getSize()); 

を呼び出すと、私は戻って "0" を得ます。理由は何ですか?私はすでにthisthatのリンクを読んでいます。このような

public float getAscentPoint(String text, float fontSize) 
{ 
    return getAscent(text) * 0.001f * fontSize; 
} 

getAscent

答えて

0

getAscentPointは、このように実装されているあなたは "0"を取り戻す場合

public int getAscent(String text) { 
    int max = 0; 
    char chars[] = text.toCharArray(); 
    for (int k = 0; k < chars.length; ++k) { 
     int bbox[] = getCharBBox(chars[k]); 
     if (bbox != null && bbox[3] > max) 
      max = bbox[3]; 
    } 
    return max; 
} 

、したがって、これは

によって引き起こされる可能性が
  • fontSizeのパラメータ私が「myfont.otf」とドン」を持っていないようコール上部Yとの境界ボックスを有する「Blabla」の文字の0又は
  • どれも大きく0

座標なかっさmyfontがどのように作成されたかを知っていますが、あなたのケースにどれがあるかはわかりません。

関連する問題