我正在开发一个应用程序,其中普通文本转换为盲文文本,之后我希望将转换后的文本打印成pdf。
目前,我刚刚使用盲文自定义字体
转换了文字tvTo.setText(edFrom.getText().toString());
Typeface font = Typeface.createFromAsset(getAssets(), "braille_outline.ttf");
tvTo.setTypeface(font);
现在,当我想要打印此文本时,我刚刚做了
String toPrint = tvTo.getText().toString();
但这导致普通文本而不是转换后的字体字体。
任何帮助将不胜感激。 感谢
答案 0 :(得分:1)
toString返回一个字符串。字符串只是字符数组(基本上),它们没有字体信息。 getText()返回一个字符序列,可以包含设置字体和其他样式的spannables。如果需要跟踪字体,则需要在该级别上工作。我不确定getText是否会默认返回已设置字体的spannable,但您可以轻松地将文本放入TypefaceSpan。
答案 1 :(得分:1)
我对生成PDF一无所知。但我不认为TextView会帮助你。相反,要将文本直接绘制到位图,可以在Paint上设置字体:
TextPaint textPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
textPaint.setTypeface(font);
然后在Canvas
上绘制文字,如果它很短:
canvas.drawText(string, 0, 0, textPaint)
如果它更长并且您需要换行,请使用StaticLayout
并将其绘制到画布上。 http://developer.android.com/reference/android/text/StaticLayout.html