Font » History » Version 3
Version 2 (Philippe May, 16/01/2020 19:35) → Version 3/7 (Philippe May, 17/01/2020 12:22)
h1. Fonts
Gisaf uses a custom font for symbols: @GisafSymbols@.
This same font is used in 2 different ways:
1. as normal font for the web interface, using css: eg, the symbols for the layer list.
1. for mapbox: Mapbox's rendering uses a WebGL component with its own specification, so the font needs to be converted (see below).
h2. Creation and update of characters
The main font file is created with BirdFont, and is in the git repository: @gisaf-app/src/assets/fonts/gisafSymbols.bf@.
It is then exported as ttf in Birdfont.
h2. Mapping of characters
Each character for a layer has a unicode number, which needs to be mapped to the layer it represents.
The mapping is done in 2 different places, following the 2 techniques quickly described above:
h3. CSS
In @gisaf-app/src/gisaf-icons.css@, the mapping is like @layer_name => unicode@, eg:
<pre>
.gisaf-avsm_survey-V_VEGE_TMPL:before .gisaf-V_VEGE_TMPL:before { content: '\e044' ! important;}
</pre>
h3. Mapbox
h4. Create * For custom models, the Mapbox "font"
Mapbox uses it's own symbol format, embedded in protobuf files.
To build it from the ttf file, run the following in the @gisaf-app@ directory:
<pre>
./node_modules/.bin/build-glyphs src/assets/fonts/GisafSymbols.ttf src/assets/fonts/glyphs/GisafSymbols/
</pre>
h4. Custom models
The Unicode is defined in the @symbols@ class attribute of the model.
h4.
* For category-based models
The models, the Unicode is defined in the @symbol@ column of the category table.
The script @set_mapbox_icons_from_css.py@ changes all the categories automatically. Note: Gisaf needs to be restarted afterwards.
It and can also be set in through the Gisaf admin, but's very tricky because one would need to copy/paste admin.
h2. Build
In the exact unicode character. @gisaf-app@ directory:
<pre>
./node_modules/.bin/build-glyphs src/assets/fonts/GisafSymbols.ttf src/assets/fonts/glyphs/GisafSymbols/
</pre>
Gisaf uses a custom font for symbols: @GisafSymbols@.
This same font is used in 2 different ways:
1. as normal font for the web interface, using css: eg, the symbols for the layer list.
1. for mapbox: Mapbox's rendering uses a WebGL component with its own specification, so the font needs to be converted (see below).
h2. Creation and update of characters
The main font file is created with BirdFont, and is in the git repository: @gisaf-app/src/assets/fonts/gisafSymbols.bf@.
It is then exported as ttf in Birdfont.
h2. Mapping of characters
Each character for a layer has a unicode number, which needs to be mapped to the layer it represents.
The mapping is done in 2 different places, following the 2 techniques quickly described above:
h3. CSS
In @gisaf-app/src/gisaf-icons.css@, the mapping is like @layer_name => unicode@, eg:
<pre>
.gisaf-avsm_survey-V_VEGE_TMPL:before .gisaf-V_VEGE_TMPL:before { content: '\e044' ! important;}
</pre>
h3. Mapbox
h4. Create * For custom models, the Mapbox "font"
Mapbox uses it's own symbol format, embedded in protobuf files.
To build it from the ttf file, run the following in the @gisaf-app@ directory:
<pre>
./node_modules/.bin/build-glyphs src/assets/fonts/GisafSymbols.ttf src/assets/fonts/glyphs/GisafSymbols/
</pre>
h4. Custom models
The Unicode is defined in the @symbols@ class attribute of the model.
h4.
* For category-based models
The models, the Unicode is defined in the @symbol@ column of the category table.
The script @set_mapbox_icons_from_css.py@ changes all the categories automatically. Note: Gisaf needs to be restarted afterwards.
It and can also be set in through the Gisaf admin, but's very tricky because one would need to copy/paste admin.
h2. Build
In the exact unicode character. @gisaf-app@ directory:
<pre>
./node_modules/.bin/build-glyphs src/assets/fonts/GisafSymbols.ttf src/assets/fonts/glyphs/GisafSymbols/
</pre>