再谈ArcGIS Runtime SDK for Android中文标注无法显示的问题

1
分享 2015-11-29
关于离线geodatabase中文标注无法显示的问题,小编曾在《如何解决ArcGIS Runtime SDK for Android中文标注无法显示的问题》一文中进行了详细且完整的阐述。然而,在具体操作过程中,还是存在着诸多麻烦之处。今天呢,小编将再次探讨一下这一问题的解决。
我们晓得,通过向本机的操作系统中安装DroidSansFallback.ttf字体文件,当对mxd文档中对应图层的标注选择字体时,只能获得名为Droid Sans Fallback的字体,随后所生成的离线geodatabase的GDB_ServiceItem表中ItemInfo列的FontFamily属性值也只会等于“Droid Sans Fallback”,而非我们所希望的“DroidSansFallback.ttf”。肿么办呢?
分析!分析!再分析!!
首先,我们可打开并预览到DroidSansFallback.ttf字体文件中所显示的字体名称为 Droid Sans Fallback。

基于大胆猜测、小心求证的科研精神(哈哈,貌似不需要啥胆量O(∩_∩)O~),我们就先预设这一属性值即为离线geodatabase创建过程中所获取的实际值。那么,接下来的步骤当然就是修改这一属性值。
启动FontCreator工具,打开DroidSansFallback.ttf文件。

依次点击Font>Properties打开Font Properties对话框,在Identification选项卡下,将Font Family的值由Droid Sans Fallback修改为DroidSansFallback.ttf,点击确定。

点击File>Export Font>Export As TrueType/OpenType Font保存为DroidSansFallback.ttf文件。

双击以安装这一导出的新的字体文件。

打开ArcMap,对要标注的图层选择并设置新增加的字体DroidSansFallback.ttf。

导出geodatabase,打开进行查看以验证FontFamily的值。这里的值已按照需要正确显示。

按照上述方法,我们就无需再手动修改geodatabase表中的字段属性值了。是不是方便了很多呢?
而且,更为重要且可以说至为关紧的是,当您在ArcGIS for Server所在的机器上安装了这一字体且通过重启机器确保字体生效后,以服务模式下载所获取的geodatabase不经任何修改即可正确显示中文标注了。自己给自己点个赞吧。

注:在加载FeatureLayer的时候,一定要调用setEnableLabels (true)方法实现标注信息的显示。
文章来源:http://blog.csdn.net/zssai2015/article/details/50086383

0 个评论

要回复文章请先登录注册