我想写一个像wordle.net这样的APP。
这是一个示例图像。 https://github.com/danbernier/WordCram/raw/master/wordcram.png
我需要获取字体字形和文字大纲。然后做交叉测试。
我知道如何用Java。
public class WordShaper {
private FontRenderContext frc = new FontRenderContext(null, true, true);
private Shape makeShape(String word, Font font) {
char[] chars = word.toCharArray();
// TODO hmm: this doesn't render newlines. Hrm. If your word text is "foo\nbar", you get "foobar".
GlyphVector gv = font.layoutGlyphVector(frc, chars, 0, chars.length,
this.rightToLeft ? Font.LAYOUT_RIGHT_TO_LEFT : Font.LAYOUT_LEFT_TO_RIGHT);
return gv.getOutline();
}
}
此功能来自wordcram.org
但Android没有类FontRenderContext,GlyphVector和Shape。
我的问题是:
感谢。
答案 0 :(得分:0)
我找到了解决方案。我使用freetype来获取每个角色的字形,然后将它们组合起来。所以我得到了一个单词的字形。这是一个bmp文件。我写了一个jni lib来使用bmp文件。
我没有找到任何可以在Android平台上用Java做这项工作的解决方案。