Font PBF(Glyph PBF)を作る

PBFとは’Protocol Buffer Format’のことでバイナリ形式を使ったデータ構造のこと。

WEB GISではベクトルタイルの配信で広く利用されておりますが、
フォントでも同様にPBFを使い効率よく配信することができます。
Mapbox GL JSでは地図上に文字を表示する場合このPBF形式のフォントが必要となります。

ありがたいことに「Open Font Glyphs for GL Styles」で誰でもFont PBFが使えるように情報がまとめております。

GitHub - openmaptiles/fonts: Font glyphs for GL Styles with open fonts
Font glyphs for GL Styles with open fonts . Contribute to openmaptiles/fonts development by creating an account on GitHub.

ReadMeを読むと 「npm install」 のあと 「node ./generate.js」を実行することで 「_output」ディレクトリが生成され、PBFファイルが格納されると説明がありますが自分の環境(WindowsとMac両方)ではうまくいかなかったためDockerを使い実行しました。
以下のコマンドをメモしておきます。
※ https://github.com/openmaptiles/fonts をCloneして fonts フォルダにて実行

PowerShell
> docker run --rm -it `
>>   -v ${PWD}:/app `
>>   -w /app `
>>   node:18-bullseye `
>>   bash -lc "apt-get update && apt-get install -y python3 make g++ && npm install --verbose"
> docker run --rm -it `
>>   -v ${PWD}:/app `
>>   -w /app `
>>   node:18-bullseye `
>>   bash -lc "node ./generate.js"            

これで -outputフォルダが生成されフォント名ごとのフォルダの中にpbfファイルが格納されます。

コメント

タイトルとURLをコピーしました