新闻详情

新闻详情

首页 / 资讯中心 / 详情

【ArcGIS】ArcGIS JavaScript 使用本地字体库

发布时间:2026/9/30 6:42:51来源:尧图网络
【ArcGIS】ArcGIS JavaScript 使用本地字体库
摘要本文旨在解决 ArcGIS JS API 在离线环境下字体库失效的问题。通过搭建 genfontgl 工具将本地字体转换为 .pbf 格式并部署从而保证地图渲染的 label 和 text 类型 symbol 在无网络时也能正常显示。为什么要有一套本地字体库ArcGIS JavaScript 默认使用的是他们域名里的字体库https://static.arcgis.com/fonts。如果在没有互联网的情况下有可能会导致访问字体库失败如下图。这样我们地图渲染的 label 或者 text 类型的 symbol 都会失效。所以我们需要有一套自己的字体库。ArcGIS 使用的字体格式不是 window 系统常用的 .ttf使用的是.pbf。查询了一番资料关于 .pbf 格式的字体很少有直接下载的网站。有一个转换的工具但是有系统限制只能使用 linux64 位或者 Mac OS X 环境。所以可能需要一台虚拟机搭建必要的环境。搭建genfontgl工具genfontgl 的后台是使用的 fontnik 这个库。注意 Fontnik 有对应的系统要求和 node 版本要求安装的 node 压缩包要注意匹配版本。首先默认存在 64 位 linux 系统的情况下直接可以按以下步骤安装 genfontgl 工具。1linux 安装 node 环境首先需要下载 linux 版本的 node 安装包使用 WinSCP 工具将安装包移入 root 目录也可以使用 wget 远程下载。wget https://npm.taobao.org/mirrors/node/v6.9.0/node-v6.9.0-linux-x64.tar.gz下载地址:CNPM Binaries Mirror这里可以新建一个文件夹存放压缩包根据个人习惯。WinSCP:Linux 控制台:解压到 /root 路径。-C 后面指定解压路径[rootlocalhost ysb]# tar -zxvf node-v6.9.0-linux-x64.tar.gz -C /root回到默认主目录 /root[rootlocalhost ysb]# cd ~重命名非必须[rootlocalhost ~]# mv node-v6.9.0-linux-x64/ node将npm以及node建立为全局命令[rootlocalhost ~]# ln -s /root/node/bin/node /usr/local/bin/node[rootlocalhost ~]# ln -s /root/node/bin/npm /usr/local/bin/npm查看[rootlocalhost ~]# cd /usr/local/bin[rootlocalhost bin]# ls将/root/node/bin配置到用户环境变量中[rootlocalhost bin]# cd ~[rootlocalhost ~]# vi .bash_profile更改下图红色区域路径为下图显示的路径立即执行修改使修改立即生效测试成功显示安装的版本号2安装升级GCC检查linux的当前gcc版本strings /usr/lib64/libstdc.so.6 | grep GLIBC如果没有下图红框的版本需要进行GCC升级安装所需工具[rootlocalhost ~]# clear[rootlocalhost ~]# yum groupinstall Development Tools[rootlocalhost ~]# yum install glibc-static libstdc-static下载gcc安装包下载地址:Index of /software/gcc/releases/远程下载wgethttp://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-5.4.0/gcc-5.4.0.tar.gz编译安装gcc-5.4.0:[rootlocalhost ysb]# tar -xvf gcc-5.4.0.tar.bz2[rootlocalhost ysb]# cd gcc-5.4.0[rootlocalhost gcc-5.4.0]# ./contrib/download_prerequisites[rootlocalhost gcc-5.4.0]# mkdir build[rootlocalhost gcc-5.4.0]# cd build[rootlocalhost build]#../configure --enable-checkingrelease --enable-languagesc,c --disable-multilib[rootlocalhost build]# make make install本人台式8G、3.2主频电脑配置编译完大概需要1个多小时安装完成后重启一下机器[rootlocalhost build]#reboot此时有libstdc.so.6.0.21[rootlocalhost ~]# find / -name libstdc.so*将上面的最新动态库libstdc.so.6.0.21复制到/usr/lib64目录下[rootlocalhost ~]# cp /usr/local/src/gcc-build-5.4.0/prev-x86_64-unknown-linux-gnu/libstdc-v3/src/.libs/libstdc.so.6.0.21 /usr/lib64删除之前的软连接并指向最新的动态库[rootlocalhost ~]# cd /usr/lib64[rootlocalhost lib64]# rm -rf libstdc.so.6libstdc.so.6 libstdc.so.6.0.19 libstdc.so.6.0.21[rootlocalhost lib64]# rm -rf libstdc.so.6[rootlocalhost lib64]# ln -s libstdc.so.6.0.21 libstdc.so.6查看[rootlocalhost lib64]# strings /lib64/libstdc.so.6 | grep GLIBC成功安装genfontgl转换字体以免费商用的阿里巴巴字体为例从网上下载阿里巴巴字体点击下面超链接也可下载http://aifont.oss-cn-beijing.aliyuncs.com/Alibaba%20PuHuiTi/Alibaba%20PuHuiTi_AlibabaSans.zip解压后找到字体文件使用WinSCP工具上传这里可以根据需要将字体上传。以Alibaba-PuHuiTi-Regular.otf为例。转换之前可以新建一个目录存放转换后的字体否则将默认转换至当前目录。[rootlocalhost ~]# mkdir ali-pbf-fonts转换[rootlocalhost ~]# cd ali-ttf-fonts/阿里巴巴普惠体/[rootlocalhost 阿里巴巴普惠体]# genfontgl Alibaba-PuHuiTi-Regular.otf /root/ali-pbf-fonts/查看修改命名格式修改为符合esri的命名格式。也可以直接通过winSCP工具修改或者先拉出来修改Esri的命令规范大致是:以下的weight和style是对于arcgis js api设置font属性而言的。不同的设置有不同的格式要求字体weightstyle格式(字母全部变为小写,空格用-单横线代替)Alibaba Pu Hui Ti-Regularnormalnormalalibaba-puhuiti-regularAlibaba Pu Hui Ti-Boldboldnormalalibaba-puhuiti-boldAlibaba Sans Italicnormalitalicalibaba-sans-italicAlibaba Sans Bold Italicbolditalicalibaba-sans-bold-italicArcgis JavaScript API加载本地字体1引入esri/config模块2设置fontsUrl这里路径是相对于你项目中当前文件的路径。我项目结构如下路径设置:3应用应用到text Symbol中测试图arial-unicode-ms阿里普惠体隶书
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

上海 PE 收缩膜源头工厂推荐:上海睿越塑料,深耕长三角多行业包装 2026/9/30 11:02:27

上海 PE 收缩膜源头工厂推荐:上海睿越塑料,深耕长三角多行业包装

长三角地区水饮、食品、家具、日化等产业密集,PE 收缩膜作为外包装刚需,采购时优先选择本地源头工厂,既能保障交付时效、降低物流成本,又能方便上门验厂、及时响应产线调试需求。在上海众多塑料包装生产企业中,上海睿越…

阅读更多 →
TVA类人智眼实操指南(10):小样本学习与现场“自我进化” 2026/9/30 11:02:26

TVA类人智眼实操指南(10):小样本学习与现场“自我进化”

前沿技术探索:TVA智能体(简称TVA)TVA智能体(亦称“AI智能体视觉”)是依托Transformer架构与“因式智能体”理论构建的新型工业视觉系统,也是当前最具代表性的具身视觉技术之一。它有机融合深度强化学习&…

阅读更多 →
TVA类人智眼实操指南(18):为什么不用几万块的显卡也能跑得飞快? 2026/9/30 11:02:26

TVA类人智眼实操指南(18):为什么不用几万块的显卡也能跑得飞快?

前沿技术探索:TVA智能体(简称TVA)TVA智能体(亦称“AI智能体视觉”)是依托Transformer架构与“因式智能体”理论构建的新型工业视觉系统,也是当前最具代表性的具身视觉技术之一。它有机融合深度强化学习&…

阅读更多 →
人永远都不够用,事永远都没人做!二三十人的公司,都开始转不动... 2026/9/30 11:02:19

人永远都不够用,事永远都没人做!二三十人的公司,都开始转不动...

你是不是也有这种体会:招聘从来没停,但总感觉缺人手。三十来个员工,人人都喊忙,新增任务根本派不下去。客户消息积压无人回应,周报反复催促才能收齐,一份报价单流转四人依旧没人拍板;新人入职三…

阅读更多 →
VMware 仅主机(Host-Only)模式:虚拟机 ↔ 物理机互通完整教程 2026/9/30 11:02:12

VMware 仅主机(Host-Only)模式:虚拟机 ↔ 物理机互通完整教程

文章目录一、前置检查(Windows宿主机)二、配置IP,保证同网段方式1:DHCP自动获取(最简单)方式2:静态IP(推荐,IP固定,适合端口映射/文件共享)三、连…

阅读更多 →
SUAPP AI 是出图工具还是建模工具:按官方资料和一次同场实测把它拆开记 2026/9/30 11:01:52

SUAPP AI 是出图工具还是建模工具:按官方资料和一次同场实测把它拆开记

记录日期:2026年9月29日。实测数据来自 2026年9月23日的一次非盲测、单轮测试。本文不构成产品排名、购买建议或性能承诺。在建筑 AI 工具的讨论里,SUAPP AI 经常被归进"出图/渲染"那一类。这个归类不算错,但它只覆盖了一半&#x…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉