このフォントを Androidにインポートしたいと考えています。アプリを国際化しようとしていますが、このフォントには必要な文字がいくつか含まれています。
これは、xml とアプリの両方でボタンを作成するために使用したコードの一部です。
<Button
android:id="@+id/btn_example
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="@string/example"
android:background="@android:color/transparent"
android:textSize="38sp"
android:padding="0dp"
android:textColor="@android:color/white"/>
@Override
protected void onCreate(Bundle savedInstanceState){
........
Typeface tf= Typeface.createFromAsset(getAssets(), fonts/OpenSans.ttf);
Button button = (Button)findViewById(R.id.btn_example);
button.setTypeface(tf);
.......
}
ただし、Android は、フォントが配置されると想定される場所よりも低い位置にフォントをレンダリングするようです。
幼稚園の裏地付きの用紙の 1 つを取り上げて、Android デバイスがフォントをレンダリングする方法を書かなければならないとしたら、その用紙の一番下の行よりも文字の中央を下に書いたと思います。
私の質問は、なぜ、どのようにこれを解決するのですか?