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ファイルが格納されます。

コメント