再談ArcGIS Runtime SDK for Android中文標註無法顯示的問題

      關於離線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文件。

FontCreator中打開

      依次點擊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中字體

      按照上述方法,我們就無需再手動修改geodatabase表中的字段屬性值了。是不是方便了很多呢?

      而且,更爲重要且可以說至爲關緊的是,當您在ArcGIS for Server所在的機器上安裝了這一字體且通過重啓機器確保字體生效後,以服務模式下載所獲取的geodatabase不經任何修改即可正確顯示中文標註了。自己給自己點個贊吧。


      注:在加載FeatureLayer的時候,一定要調用setEnableLabels (true)方法實現標註信息的顯示。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章