如何从Android中的TTF文件中读取字距对表

我目前正在使用从TTF文件加载的外部(非标准)字体在Canvas上绘制文本。 我想为我正在显示的文本启用字距调整。

我想知道的是,是否有可能使用Android API从字体中读取字距调整对。

我想知道的是,是否有可能使用Android API从字体中读取字距调整对。

没有公共API可以从TTF文件中读取字距调整对。 但是,我从Apache FOP中提取了相关代码,您可以使用此库读取字距调整对。

用法示例:

 TTFFile file = TTFFile.open(getAssets().open("fonts/font.ttf")); Map> kerning = file.getKerning(); 

您还可以检索其他元数据。 例:

 TTFFile ttfFile = TTFFile.open(new File("/system/fonts/Roboto-Regular.ttf")); String name = ttfFile.getFullName(); // "Roboto Regular" String family = ttfFile.getSubFamilyName(); // "Regular" int fontWeight = ttfFile.getWeightClass(); // 400 String copyright = ttfFile.getCopyrightNotice(); // "Font data copyright Google 2014" 

我想为我正在显示的文本启用字距调整。

看到:

如何在Android TextView中调整文本字距调整?

setLetterSpacing(浮点)